{"version":3,"sources":["webpack:///$_lazy_route_resource lazy namespace object","webpack:///src/app/Contracting/client-business-extract/client-business-extract.service.ts","webpack:///src/app/Contracting/client-business-extract/components/all-client-business-extracts/all-client-business-extracts.component.ts","webpack:///src/app/Contracting/client-business-extract/components/all-client-business-extracts/all-client-business-extracts.component.html","webpack:///src/app/Contracting/client-business-extract/components/create-client-business-extract/create-client-business-extract.component.ts","webpack:///src/app/Contracting/client-business-extract/components/create-client-business-extract/create-client-business-extract.component.html","webpack:///src/app/Contracting/client-business-extract/models/client-business-extract-details.model.ts","webpack:///src/app/Contracting/client-business-extract/models/client-business-extract.model.ts","webpack:///src/app/Contracting/constructionportal/constructionportal.component.ts","webpack:///src/app/Contracting/constructionportal/constructionportal.component.html","webpack:///src/app/Contracting/contractor-business-extract/components/all-contractor-business-extract/all-contractor-business-extract.component.ts","webpack:///src/app/Contracting/contractor-business-extract/components/all-contractor-business-extract/all-contractor-business-extract.component.html","webpack:///src/app/Contracting/contractor-business-extract/components/create-contractor-business-extract/create-contractor-business-extract.component.ts","webpack:///src/app/Contracting/contractor-business-extract/components/create-contractor-business-extract/create-contractor-business-extract.component.html","webpack:///src/app/Contracting/contractor-business-extract/contractor-business-extract.service.ts","webpack:///src/app/Contracting/contractor-business-extract/models/contractor-business-extract-details.model.ts","webpack:///src/app/Contracting/contractor-business-extract/models/contractor-business-extract.model.ts","webpack:///src/app/Contracting/contractors/ContractorModel.ts","webpack:///src/app/Contracting/contractors/ContractorService.ts","webpack:///src/app/Contracting/contractors/ContractorWorkItemModel.ts","webpack:///src/app/Contracting/contractors/ContractorWorkItemService.ts","webpack:///src/app/Contracting/contractors/contractors.component.ts","webpack:///src/app/Contracting/contractors/contractors.component.html","webpack:///src/app/Contracting/projects/components/all-projects/all-projects.component.ts","webpack:///src/app/Contracting/projects/components/all-projects/all-projects.component.html","webpack:///src/app/Contracting/projects/components/create-project/create-project.component.ts","webpack:///src/app/Contracting/projects/components/create-project/create-project.component.html","webpack:///src/app/Contracting/projects/models/contractor.model.ts","webpack:///src/app/Contracting/projects/models/project.model.ts","webpack:///src/app/Contracting/projects/projects.service.ts","webpack:///src/app/Contracting/workitems/WorkItemModel.ts","webpack:///src/app/Contracting/workitems/WorkItemService.ts","webpack:///src/app/Contracting/workitems/workitems.component.ts","webpack:///src/app/Contracting/workitems/workitems.component.html","webpack:///src/app/Council-and-members-affairs/Council-And-Members-Affairs.module.ts","webpack:///src/app/Council-and-members-affairs/Council-And-Members-Affairs.routing.ts","webpack:///src/app/Council-and-members-affairs/components/add-board-of-director/add-board-of-director.component.ts","webpack:///src/app/Council-and-members-affairs/components/add-board-of-director/add-board-of-director.component.html","webpack:///src/app/Council-and-members-affairs/components/add-council-affairs/add-council-affairs.component.ts","webpack:///src/app/Council-and-members-affairs/components/add-council-affairs/add-council-affairs.component.html","webpack:///src/app/Council-and-members-affairs/components/add-third-party/add-third-party.component.ts","webpack:///src/app/Council-and-members-affairs/components/add-third-party/add-third-party.component.html","webpack:///src/app/Council-and-members-affairs/components/all-boards-of-directors/all-boards-of-directors.component.ts","webpack:///src/app/Council-and-members-affairs/components/all-boards-of-directors/all-boards-of-directors.component.html","webpack:///src/app/Council-and-members-affairs/components/all-council-affairs/all-council-affairs.component.ts","webpack:///src/app/Council-and-members-affairs/components/all-council-affairs/all-council-affairs.component.html","webpack:///src/app/Council-and-members-affairs/components/all-positions-of-council-members/all-positions-of-council-members.component.ts","webpack:///src/app/Council-and-members-affairs/components/all-positions-of-council-members/all-positions-of-council-members.component.html","webpack:///src/app/Council-and-members-affairs/components/all-third-party/all-third-party.component.ts","webpack:///src/app/Council-and-members-affairs/components/all-third-party/all-third-party.component.html","webpack:///src/app/Council-and-members-affairs/components/council-member/council-member.component.ts","webpack:///src/app/Council-and-members-affairs/components/types-of-topics/types-of-topics.component.ts","webpack:///src/app/Council-and-members-affairs/components/types-of-topics/types-of-topics.component.html","webpack:///src/app/Council-and-members-affairs/models/PositionsOfCouncil.model.ts","webpack:///src/app/Council-and-members-affairs/models/boards-of-directors.model.ts","webpack:///src/app/Council-and-members-affairs/models/council-and-members-affairs.model.ts","webpack:///src/app/Council-and-members-affairs/models/third-party.model.ts","webpack:///src/app/Council-and-members-affairs/models/types-of-topics.model.ts","webpack:///src/app/HR/Attendance/Vacations/Vacation/components/vacations/vacations.component.ts","webpack:///src/app/HR/Attendance/Vacations/Vacation/components/vacations/vacations.component.html","webpack:///src/app/HR/Attendance/Vacations/Vacation/models/vacation.model.ts","webpack:///src/app/HR/Attendance/Vacations/Vacation/vacation.service.ts","webpack:///src/app/HR/Attendance/Vacations/VacationsTypes/components/vacations-types/vacations-types.component.ts","webpack:///src/app/HR/Attendance/Vacations/VacationsTypes/components/vacations-types/vacations-types.component.html","webpack:///src/app/HR/Attendance/Vacations/VacationsTypes/models/vacations-types.model.ts","webpack:///src/app/HR/Attendance/Vacations/VacationsTypes/vacations-types.service.ts","webpack:///src/app/HR/Attendance/attendance-session/attendance-session.service.ts","webpack:///src/app/HR/Attendance/attendance-session/components/all-sessions/all-sessions.component.ts","webpack:///src/app/HR/Attendance/attendance-session/components/all-sessions/all-sessions.component.html","webpack:///src/app/HR/Attendance/attendance-session/components/ngx-countdown/ngx-countdown.component.ts","webpack:///src/app/HR/Attendance/attendance-session/components/ngx-countdown/ngx-countdown.component.html","webpack:///src/app/HR/Attendance/attendance-session/components/view-session/view-session.component.ts","webpack:///src/app/HR/Attendance/attendance-session/components/view-session/view-session.component.html","webpack:///src/app/HR/Attendance/attendance-session/models/attendance-session.model.ts","webpack:///src/app/HR/Attendance/attendance-session/models/session-logs.model.ts","webpack:///src/app/HR/Attendance/holidays/components/create-holiday/create-holiday.component.ts","webpack:///src/app/HR/Attendance/holidays/components/holidays/holidays.component.ts","webpack:///src/app/HR/Attendance/holidays/components/holidays/holidays.component.html","webpack:///src/app/HR/Attendance/holidays/holidays.service.ts","webpack:///src/app/HR/Attendance/holidays/models/holidays-details.model.ts","webpack:///src/app/HR/Attendance/holidays/models/holidays.model.ts","webpack:///src/app/HR/Attendance/shifts/components/shifts/shifts.component.ts","webpack:///src/app/HR/Attendance/shifts/components/shifts/shifts.component.html","webpack:///src/app/HR/Attendance/shifts/models/shift-details.model.ts","webpack:///src/app/HR/Attendance/shifts/models/shift.model.ts","webpack:///src/app/HR/Attendance/shifts/shift.service.ts","webpack:///src/app/HR/Employees/EmployeesManagement/Actions-and-Notes/ActionStatusModel.ts","webpack:///src/app/HR/Employees/EmployeesManagement/Actions-and-Notes/ActionsModel.ts","webpack:///src/app/HR/Employees/EmployeesManagement/Actions-and-Notes/NotesAndAttachmentModel.ts","webpack:///src/app/HR/Employees/EmployeesManagement/Actions-and-Notes/action-status.service.ts","webpack:///src/app/HR/Employees/EmployeesManagement/Actions-and-Notes/action-status/action-status.component.ts","webpack:///src/app/HR/Employees/EmployeesManagement/Actions-and-Notes/action-status/action-status.component.html","webpack:///src/app/HR/Employees/EmployeesManagement/Actions-and-Notes/action.service.ts","webpack:///src/app/HR/Employees/EmployeesManagement/Actions-and-Notes/add-actions/add-actions.component.ts","webpack:///src/app/HR/Employees/EmployeesManagement/Actions-and-Notes/add-actions/add-actions.component.html","webpack:///src/app/HR/Employees/EmployeesManagement/Actions-and-Notes/notes-and-attachment.service.ts","webpack:///src/app/HR/Employees/EmployeesManagement/Actions-and-Notes/notes-and-attachment/notes-and-attachment.component.ts","webpack:///src/app/HR/Employees/EmployeesManagement/Actions-and-Notes/notes-and-attachment/notes-and-attachment.component.html","webpack:///src/app/HR/Employees/EmployeesManagement/EmployeesManagementModel.ts","webpack:///src/app/HR/Employees/EmployeesManagement/add-employees-management/add-employees-management.component.ts","webpack:///src/app/HR/Employees/EmployeesManagement/add-employees-management/add-employees-management.component.html","webpack:///src/app/HR/Employees/EmployeesManagement/branches.service.ts","webpack:///src/app/HR/Employees/EmployeesManagement/country.service.ts","webpack:///src/app/HR/Employees/EmployeesManagement/employees-management.service.ts","webpack:///src/app/HR/Employees/EmployeesManagement/info-employees-management/info-employees-management.component.ts","webpack:///src/app/HR/Employees/EmployeesManagement/info-employees-management/info-employees-management.component.html","webpack:///src/app/HR/Employees/EmployeesManagement/list-employees-management/list-employees-management.component.ts","webpack:///src/app/HR/Employees/EmployeesManagement/list-employees-management/list-employees-management.component.html","webpack:///src/app/HR/Employees/Users/add-users/add-users.component.ts","webpack:///src/app/HR/Employees/Users/add-users/add-users.component.html","webpack:///src/app/HR/Employees/Users/info-users/info-users.component.ts","webpack:///src/app/HR/Employees/Users/info-users/info-users.component.html","webpack:///src/app/HR/Employees/Users/users.service.ts","webpack:///src/app/HR/HR.routing.ts","webpack:///src/app/HR/Organization_Structure/Department_components/DepartmentModel.ts","webpack:///src/app/HR/Organization_Structure/Department_components/department.service.ts","webpack:///src/app/HR/Organization_Structure/Department_components/info-department/info-department.component.ts","webpack:///src/app/HR/Organization_Structure/Department_components/info-department/info-department.component.html","webpack:///src/app/HR/Organization_Structure/Department_components/list-department/list-department.component.ts","webpack:///src/app/HR/Organization_Structure/Department_components/list-department/list-department.component.html","webpack:///src/app/HR/Organization_Structure/JobLevelsComponentes/JobLevelsModel.ts","webpack:///src/app/HR/Organization_Structure/JobLevelsComponentes/info-job-levels/info-job-levels.component.ts","webpack:///src/app/HR/Organization_Structure/JobLevelsComponentes/info-job-levels/info-job-levels.component.html","webpack:///src/app/HR/Organization_Structure/JobLevelsComponentes/job-levels.service.ts","webpack:///src/app/HR/Organization_Structure/JobLevelsComponentes/list-job-levels/list-job-levels.component.ts","webpack:///src/app/HR/Organization_Structure/JobLevelsComponentes/list-job-levels/list-job-levels.component.html","webpack:///src/app/HR/Organization_Structure/JobTitels_Componentes/JobTitlesModel.ts","webpack:///src/app/HR/Organization_Structure/JobTitels_Componentes/info-job-titles/info-job-titles.component.ts","webpack:///src/app/HR/Organization_Structure/JobTitels_Componentes/info-job-titles/info-job-titles.component.html","webpack:///src/app/HR/Organization_Structure/JobTitels_Componentes/job-titles.service.ts","webpack:///src/app/HR/Organization_Structure/JobTitels_Componentes/list-job-titles/list-job-titles.component.ts","webpack:///src/app/HR/Organization_Structure/JobTitels_Componentes/list-job-titles/list-job-titles.component.html","webpack:///src/app/HR/Organization_Structure/JobTypesComponentes/JobTypesModel.ts","webpack:///src/app/HR/Organization_Structure/JobTypesComponentes/info-job-types/info-job-types.component.ts","webpack:///src/app/HR/Organization_Structure/JobTypesComponentes/info-job-types/info-job-types.component.html","webpack:///src/app/HR/Organization_Structure/JobTypesComponentes/job-types.service.ts","webpack:///src/app/HR/Organization_Structure/JobTypesComponentes/list-job-types/list-job-types.component.ts","webpack:///src/app/HR/Organization_Structure/JobTypesComponentes/list-job-types/list-job-types.component.html","webpack:///src/app/HR/Predecessor/components/predecessor/predecessor.component.ts","webpack:///src/app/HR/Predecessor/components/predecessor/predecessor.component.html","webpack:///src/app/HR/Predecessor/models/predecessor.model.ts","webpack:///src/app/HR/Predecessor/predecessor.service.ts","webpack:///src/app/HR/Salaries/add-salaries-manager/EmployeesChoiceModel.ts","webpack:///src/app/HR/Salaries/add-salaries-manager/EmployeesExcludedModel.ts","webpack:///src/app/HR/Salaries/add-salaries-manager/SalariesManagerModel.ts","webpack:///src/app/HR/Salaries/add-salaries-manager/add-salaries-manager.component.ts","webpack:///src/app/HR/Salaries/add-salaries-manager/add-salaries-manager.component.html","webpack:///src/app/HR/Salaries/add-salaries-payment/SalariesManagerPayment.ts","webpack:///src/app/HR/Salaries/add-salaries-payment/SalariesPaymentModel.ts","webpack:///src/app/HR/Salaries/add-salaries-payment/add-salaries-payment.component.ts","webpack:///src/app/HR/Salaries/add-salaries-payment/add-salaries-payment.component.html","webpack:///src/app/HR/Salaries/add-salaries-payment/salaries-payment.service.ts","webpack:///src/app/HR/Salaries/add-salary-slip/SalarySlipDeductionModel.ts","webpack:///src/app/HR/Salaries/add-salary-slip/SalarySlipDueModel.ts","webpack:///src/app/HR/Salaries/add-salary-slip/SalarySlipModel.ts","webpack:///src/app/HR/Salaries/add-salary-slip/add-salary-slip.component.ts","webpack:///src/app/HR/Salaries/add-salary-slip/add-salary-slip.component.html","webpack:///src/app/HR/Salaries/add-salary-slip/salary-items.service.ts","webpack:///src/app/HR/Salaries/add-salary-slip/salary-slip.service.ts","webpack:///src/app/HR/Salaries/contract/components/contracts/contracts.component.ts","webpack:///src/app/HR/Salaries/contract/components/contracts/contracts.component.html","webpack:///src/app/HR/Salaries/contract/components/upload-contract-file/upload-contract-file.component.ts","webpack:///src/app/HR/Salaries/contract/components/upload-contract-file/upload-contract-file.component.html","webpack:///src/app/HR/Salaries/contract/contract.service.ts","webpack:///src/app/HR/Salaries/contract/models/contract-files.model.ts","webpack:///src/app/HR/Salaries/contract/models/contract.model.ts","webpack:///src/app/HR/Salaries/contract/models/salary-deductions.model.ts","webpack:///src/app/HR/Salaries/contract/models/salary-dues.model.ts","webpack:///src/app/HR/Salaries/info-salaries-manager/info-salaries-manager.component.ts","webpack:///src/app/HR/Salaries/info-salaries-manager/info-salaries-manager.component.html","webpack:///src/app/HR/Salaries/list-salaries-manager/list-salaries-manager.component.ts","webpack:///src/app/HR/Salaries/list-salaries-manager/list-salaries-manager.component.html","webpack:///src/app/HR/Salaries/list-salary-slip/list-salary-slip.component.ts","webpack:///src/app/HR/Salaries/list-salary-slip/list-salary-slip.component.html","webpack:///src/app/HR/Salaries/salaries-manager.service.ts","webpack:///src/app/HR/Salaries/salary-items/components/salary-items/salary-items.component.ts","webpack:///src/app/HR/Salaries/salary-items/components/salary-items/salary-items.component.html","webpack:///src/app/HR/Salaries/salary-items/models/salary-items.model.ts","webpack:///src/app/HR/Salaries/salary-items/salary-items.service.ts","webpack:///src/app/HR/hr-dashboard/hr-dashboard.component.ts","webpack:///src/app/HR/hr-dashboard/hr-dashboard.component.html","webpack:///src/app/HR/hr.module.ts","webpack:///src/app/Inventory/components/Balance-Name/balance-name/balance-name-model.ts","webpack:///src/app/Inventory/components/Balance-Name/balance-name/balance-name.component.ts","webpack:///src/app/Inventory/components/Balance-Name/balance-name/balance-name.component.html","webpack:///src/app/Inventory/components/Balance-Name/balance-name/balance-name.service.ts","webpack:///src/app/Inventory/components/addition-adjustment/AdditionAdjustmentModel.ts","webpack:///src/app/Inventory/components/addition-adjustment/addition-adjustment.component.ts","webpack:///src/app/Inventory/components/addition-adjustment/addition-adjustment.component.html","webpack:///src/app/Inventory/components/addition-adjustment/addition-adjustment.service.ts","webpack:///src/app/Inventory/components/item-balance/Add-Item/add-item-balance/add-item-balance.component.ts","webpack:///src/app/Inventory/components/item-balance/Add-Item/add-item-balance/add-item-balance.component.html","webpack:///src/app/Inventory/components/item-balance/list-item-balance/list-item-balance.component.ts","webpack:///src/app/Inventory/components/item-balance/list-item-balance/list-item-balance.component.html","webpack:///src/app/Inventory/components/item-balance/shared/Models/FooterModel.ts","webpack:///src/app/Inventory/components/item-balance/shared/Models/ItemBalanceModel.ts","webpack:///src/app/Inventory/components/item-balance/shared/Models/ItemsModel.ts","webpack:///src/app/Inventory/components/item-balance/shared/footer.service.ts","webpack:///src/app/Inventory/components/item-balance/shared/item-balance.service.ts","webpack:///src/app/Inventory/components/store-data/Helper/CountryCodeModel.ts","webpack:///src/app/Inventory/components/store-data/Helper/GovernorateCodeModel.ts","webpack:///src/app/Inventory/components/store-data/Helper/Service/city-code.service.ts","webpack:///src/app/Inventory/components/store-data/Helper/Service/country-code.service.ts","webpack:///src/app/Inventory/components/store-data/Helper/Service/governorate-code.service.ts","webpack:///src/app/Inventory/components/store-data/StoreDataModel.ts","webpack:///src/app/Inventory/components/store-data/store-data.component.ts","webpack:///src/app/Inventory/components/store-data/store-data.component.html","webpack:///src/app/Inventory/components/store-data/store-data.service.ts","webpack:///src/app/Invintory/Category-And-Brand/brand/brand.component.ts","webpack:///src/app/Invintory/Category-And-Brand/brand/brand.component.html","webpack:///src/app/Invintory/Category-And-Brand/category/category.component.ts","webpack:///src/app/Invintory/Category-And-Brand/category/category.component.html","webpack:///src/app/Invintory/InventoryManagement/add-inventory-management/add-inventory-management.component.ts","webpack:///src/app/Invintory/InventoryManagement/add-inventory-management/add-inventory-management.component.html","webpack:///src/app/Invintory/InventoryManagement/info-inventory-management/info-inventory-management.component.ts","webpack:///src/app/Invintory/InventoryManagement/info-inventory-management/info-inventory-management.component.html","webpack:///src/app/Invintory/InventoryManagement/inventory-management.service.ts","webpack:///src/app/Invintory/InventoryManagement/inventory-sheet/inventory-sheet.component.ts","webpack:///src/app/Invintory/InventoryManagement/inventory-sheet/inventory-sheet.component.html","webpack:///src/app/Invintory/InventoryManagement/list-inventory-management/list-inventory-management.component.ts","webpack:///src/app/Invintory/InventoryManagement/list-inventory-management/list-inventory-management.component.html","webpack:///src/app/Invintory/Price List/add-price-list/add-price-list.component.ts","webpack:///src/app/Invintory/Price List/add-price-list/add-price-list.component.html","webpack:///src/app/Invintory/Price List/info-price-list/info-price-list.component.ts","webpack:///src/app/Invintory/Price List/info-price-list/info-price-list.component.html","webpack:///src/app/Invintory/Price List/price-list/price-list.component.ts","webpack:///src/app/Invintory/Price List/price-list/price-list.component.html","webpack:///src/app/Invintory/Price List/price-list/price-list.service.ts","webpack:///src/app/Invintory/ProductesAndServices/ServicesComponents/add-services/add-services.component.ts","webpack:///src/app/Invintory/ProductesAndServices/ServicesComponents/add-services/add-services.component.html","webpack:///src/app/Invintory/ProductesAndServices/ServicesComponents/info-service/info-service.component.ts","webpack:///src/app/Invintory/ProductesAndServices/ServicesComponents/info-service/info-service.component.html","webpack:///src/app/Invintory/ProductesAndServices/ServicesComponents/list-all-services/list-all-services.component.ts","webpack:///src/app/Invintory/ProductesAndServices/ServicesComponents/list-all-services/list-all-services.component.html","webpack:///src/app/Invintory/ProductesAndServices/ServicesComponents/service.service.ts","webpack:///src/app/Invintory/ProductesAndServices/add-productes/add-productes.component.ts","webpack:///src/app/Invintory/ProductesAndServices/add-productes/add-productes.component.html","webpack:///src/app/Invintory/ProductesAndServices/info-productes/info-productes.component.ts","webpack:///src/app/Invintory/ProductesAndServices/info-productes/info-productes.component.html","webpack:///src/app/Invintory/ProductesAndServices/list-all-productes/list-all-productes.component.ts","webpack:///src/app/Invintory/ProductesAndServices/list-all-productes/list-all-productes.component.html","webpack:///src/app/Invintory/ProductesAndServices/productes.service.ts","webpack:///src/app/Invintory/ProductesAndServices/stock-adjustment/Add-stock-adjustment.service.ts","webpack:///src/app/Invintory/ProductesAndServices/stock-adjustment/operation-type.service.ts","webpack:///src/app/Invintory/ProductesAndServices/stock-adjustment/stock-adjustment.component.ts","webpack:///src/app/Invintory/ProductesAndServices/stock-adjustment/stock-adjustment.component.html","webpack:///src/app/Invintory/ProductesAndServices/stock-adjustment/subtract-stock-adjustment.service.ts","webpack:///src/app/Invintory/Stores-Bells/Add-store-bill.service.ts","webpack:///src/app/Invintory/Stores-Bells/add-store-bell/add-store-bell.component.ts","webpack:///src/app/Invintory/Stores-Bells/add-store-bell/add-store-bell.component.html","webpack:///src/app/Invintory/Stores-Bells/info-store-bell/info-store-bell.component.ts","webpack:///src/app/Invintory/Stores-Bells/info-store-bell/info-store-bell.component.html","webpack:///src/app/Invintory/Stores-Bells/info-subtruct-bill/info-subtruct-bill.component.ts","webpack:///src/app/Invintory/Stores-Bells/info-subtruct-bill/info-subtruct-bill.component.html","webpack:///src/app/Invintory/Stores-Bells/info-transfer-bill/info-transfer-bill.component.ts","webpack:///src/app/Invintory/Stores-Bells/info-transfer-bill/info-transfer-bill.component.html","webpack:///src/app/Invintory/Stores-Bells/list-store-bell/list-store-bell.component.ts","webpack:///src/app/Invintory/Stores-Bells/list-store-bell/list-store-bell.component.html","webpack:///src/app/Invintory/Stores-Bells/subtract-store-bill.service.ts","webpack:///src/app/Invintory/Stores-Bells/subtract-store-bill/subtract-store-bill.component.ts","webpack:///src/app/Invintory/Stores-Bells/subtract-store-bill/subtract-store-bill.component.html","webpack:///src/app/Invintory/Stores-Bells/transfare-bill.service.ts","webpack:///src/app/Invintory/Stores-Bells/transfer-store-bill/transfer-store-bill.component.ts","webpack:///src/app/Invintory/Stores-Bells/transfer-store-bill/transfer-store-bill.component.html","webpack:///src/app/Invintory/invintory-dashbord/invintory-dashbord.component.ts","webpack:///src/app/Invintory/invintory-dashbord/invintory-dashbord.component.html","webpack:///src/app/Invintory/models/AdjustmentOperationModel.ts","webpack:///src/app/Invintory/models/BrandItemsModel.ts","webpack:///src/app/Invintory/models/BrandModel.ts","webpack:///src/app/Invintory/models/CategoryItemsMosel.ts","webpack:///src/app/Invintory/models/CategoryModel.ts","webpack:///src/app/Invintory/models/InventoryItemsModel.ts","webpack:///src/app/Invintory/models/InventoryManagementModel.ts","webpack:///src/app/Invintory/models/ItemsPriceListModel.ts","webpack:///src/app/Invintory/models/ItemsStoreBillModel.ts","webpack:///src/app/Invintory/models/PriceListModel.ts","webpack:///src/app/Invintory/models/ServiceCategoryModel.ts","webpack:///src/app/Invintory/models/ServiceModel.ts","webpack:///src/app/Invintory/models/StockAdjustmentModel.ts","webpack:///src/app/Invintory/models/StoreBillModel.ts","webpack:///src/app/Invintory/models/StoreItemsModel.ts","webpack:///src/app/Invintory/models/WarehousBranches.ts","webpack:///src/app/Invintory/models/WarehousEmployees.ts","webpack:///src/app/Invintory/models/WarehousJobRoles.ts","webpack:///src/app/Invintory/models/WarehouseItem.ts","webpack:///src/app/Invintory/models/WarehouseModel.ts","webpack:///src/app/Invintory/models/WarehouseValidityModel.ts","webpack:///src/app/Invintory/reports/detailed-movement-of-inventory/components/detailed-movement-of-inventory/detailed-movement-of-inventory.component.ts","webpack:///src/app/Invintory/reports/detailed-movement-of-inventory/components/detailed-movement-of-inventory/detailed-movement-of-inventory.component.html","webpack:///src/app/Invintory/reports/detailed-movement-of-inventory/detailed-movement-of-inventory.service.ts","webpack:///src/app/Invintory/reports/estimatedinventory-value/components/estimatedinventory-value/estimatedinventory-value.component.ts","webpack:///src/app/Invintory/reports/estimatedinventory-value/components/estimatedinventory-value/estimatedinventory-value.component.html","webpack:///src/app/Invintory/reports/estimatedinventory-value/estimatedinventory-value.service.ts","webpack:///src/app/Invintory/reports/inventory-sheet/components/inventory-sheet-report/inventory-sheet-report.component.ts","webpack:///src/app/Invintory/reports/inventory-sheet/components/inventory-sheet-report/inventory-sheet-report.component.html","webpack:///src/app/Invintory/reports/inventory-sheet/inventory-sheet.service.ts","webpack:///src/app/Invintory/reports/store-balance-summary/components/store-balance-summary/store-balance-summary.component.ts","webpack:///src/app/Invintory/reports/store-balance-summary/components/store-balance-summary/store-balance-summary.component.html","webpack:///src/app/Invintory/reports/store-balance-summary/store-balance-summary.service.ts","webpack:///src/app/Invintory/reports/summary-of-inventory-operations/components/summary-of-inventory-operations/summary-of-inventory-operations.component.ts","webpack:///src/app/Invintory/reports/summary-of-inventory-operations/components/summary-of-inventory-operations/summary-of-inventory-operations.component.html","webpack:///src/app/Invintory/reports/summary-of-inventory-operations/summary-of-inventory-operations.service.ts","webpack:///src/app/Invintory/store-items-service.service.ts","webpack:///src/app/Invintory/unit-type.service.ts","webpack:///src/app/Invintory/warehouses/Info-Warehouse/info-warehouse/info-warehouse.component.ts","webpack:///src/app/Invintory/warehouses/Info-Warehouse/info-warehouse/info-warehouse.component.html","webpack:///src/app/Invintory/warehouses/add-warehouse/add-warehouse.component.ts","webpack:///src/app/Invintory/warehouses/add-warehouse/add-warehouse.component.html","webpack:///src/app/Invintory/warehouses/brand-service.service.ts","webpack:///src/app/Invintory/warehouses/category-service.service.ts","webpack:///src/app/Invintory/warehouses/list-all-warehouse/list-all-warehouse.component.ts","webpack:///src/app/Invintory/warehouses/list-all-warehouse/list-all-warehouse.component.html","webpack:///src/app/Invintory/warehouses/validity.service.ts","webpack:///src/app/Invintory/warehouses/warehouse-service.service.ts","webpack:///src/app/Subscriptions/packages/components/all-packages/all-packages.component.ts","webpack:///src/app/Subscriptions/packages/components/all-packages/all-packages.component.html","webpack:///src/app/Subscriptions/packages/models/package.model.ts","webpack:///src/app/Subscriptions/subscription.module.ts","webpack:///src/app/Subscriptions/subscription.routing.ts","webpack:///src/app/app.component.ts","webpack:///src/app/app.component.html","webpack:///src/app/app.module.ts","webpack:///src/app/app.routing.ts","webpack:///src/app/components/bootstrap/bootstrap.module.ts","webpack:///src/app/components/cards/components.cards.module.ts","webpack:///src/app/components/cards/gradient-card/gradient-card.component.ts","webpack:///src/app/components/cards/gradient-card/gradient-card.component.html","webpack:///src/app/components/cards/gradient-with-radial-progress-card/gradient-with-radial-progress-card.component.ts","webpack:///src/app/components/cards/gradient-with-radial-progress-card/gradient-with-radial-progress-card.component.html","webpack:///src/app/components/cards/post-card/post-card.component.ts","webpack:///src/app/components/cards/post-card/post-card.component.html","webpack:///src/app/components/cards/price-card/price-card.component.ts","webpack:///src/app/components/cards/price-card/price-card.component.html","webpack:///src/app/components/cards/radial-process-card/radial-process-card.component.ts","webpack:///src/app/components/cards/radial-process-card/radial-process-card.component.html","webpack:///src/app/components/carousel/components.carousel.module.ts","webpack:///src/app/components/carousel/glide-thumbs/glide-thumbs.component.ts","webpack:///src/app/components/carousel/glide-thumbs/glide-thumbs.component.html","webpack:///src/app/components/carousel/glide/glide.component.ts","webpack:///src/app/components/carousel/glide/glide.component.html","webpack:///src/app/components/pages/components.pages.module.ts","webpack:///src/app/components/pages/post/post.component.ts","webpack:///src/app/components/pages/post/post.component.html","webpack:///src/app/components/pages/recent-post/recent-post.component.ts","webpack:///src/app/components/pages/recent-post/recent-post.component.html","webpack:///src/app/components/pages/user-follow/user-follow.component.ts","webpack:///src/app/components/pages/user-follow/user-follow.component.html","webpack:///src/app/components/player/components.player.module.ts","webpack:///src/app/components/player/player.component.ts","webpack:///src/app/components/player/player.component.html","webpack:///src/app/constants/menu.ts","webpack:///src/app/containers/layout/application-menu/application-menu.component.ts","webpack:///src/app/containers/layout/application-menu/application-menu.component.html","webpack:///src/app/containers/layout/breadcrumb/breadcrumb.component.ts","webpack:///src/app/containers/layout/breadcrumb/breadcrumb.component.html","webpack:///src/app/containers/layout/color-switcher/color-switcher.component.ts","webpack:///src/app/containers/layout/color-switcher/color-switcher.component.html","webpack:///src/app/containers/layout/footer/footer.component.ts","webpack:///src/app/containers/layout/footer/footer.component.html","webpack:///src/app/containers/layout/heading/heading.component.ts","webpack:///src/app/containers/layout/heading/heading.component.html","webpack:///src/app/containers/layout/layout.containers.module.ts","webpack:///src/app/containers/layout/sidebar/sidebar.component.html","webpack:///src/app/containers/layout/sidebar/sidebar.component.ts","webpack:///src/app/containers/layout/sidebar/sidebar.service.ts","webpack:///src/app/containers/layout/topnav/topnav.component.html","webpack:///src/app/containers/layout/topnav/topnav.component.ts","webpack:///src/app/containers/pages/add-new-product-modal/add-new-product-modal.component.ts","webpack:///src/app/containers/pages/add-new-product-modal/add-new-product-modal.component.html","webpack:///src/app/containers/pages/blog-categories/blog-categories.component.ts","webpack:///src/app/containers/pages/blog-categories/blog-categories.component.html","webpack:///src/app/containers/pages/blog-content/blog-content.component.ts","webpack:///src/app/containers/pages/blog-content/blog-content.component.html","webpack:///src/app/containers/pages/blog-side-video/blog-side-video.component.ts","webpack:///src/app/containers/pages/blog-side-video/blog-side-video.component.html","webpack:///src/app/containers/pages/feature-comparison/feature-comparison.component.ts","webpack:///src/app/containers/pages/feature-comparison/feature-comparison.component.html","webpack:///src/app/containers/pages/list-page-header/list-page-header.component.ts","webpack:///src/app/containers/pages/list-page-header/list-page-header.component.html","webpack:///src/app/containers/pages/pages.containers.module.ts","webpack:///src/app/containers/pages/product-detail-comments/product-detail-comments.component.ts","webpack:///src/app/containers/pages/product-detail-comments/product-detail-comments.component.html","webpack:///src/app/containers/pages/product-detail-info-alt/product-detail-info-alt.component.ts","webpack:///src/app/containers/pages/product-detail-info-alt/product-detail-info-alt.component.html","webpack:///src/app/containers/pages/product-detail-info/product-detail-info.component.ts","webpack:///src/app/containers/pages/product-detail-info/product-detail-info.component.html","webpack:///src/app/containers/pages/product-detail-orders/product-detail-orders.component.ts","webpack:///src/app/containers/pages/product-detail-orders/product-detail-orders.component.html","webpack:///src/app/containers/pages/product-detail-tabs/product-detail-tabs.component.ts","webpack:///src/app/containers/pages/product-detail-tabs/product-detail-tabs.component.html","webpack:///src/app/containers/pages/profile-friends/profile-friends.component.ts","webpack:///src/app/containers/pages/profile-friends/profile-friends.component.html","webpack:///src/app/containers/pages/profile-gallery/profile-gallery.component.ts","webpack:///src/app/containers/pages/profile-gallery/profile-gallery.component.html","webpack:///src/app/containers/pages/profile-photos/profile-photos.component.ts","webpack:///src/app/containers/pages/profile-photos/profile-photos.component.html","webpack:///src/app/containers/pages/profile-portfolio-items/profile-portfolio-items.component.ts","webpack:///src/app/containers/pages/profile-portfolio-items/profile-portfolio-items.component.html","webpack:///src/app/containers/pages/profile-posts/profile-posts.component.ts","webpack:///src/app/containers/pages/profile-posts/profile-posts.component.html","webpack:///src/app/containers/pages/profile-process/profile-process.component.ts","webpack:///src/app/containers/pages/profile-process/profile-process.component.html","webpack:///src/app/containers/pages/profile-recent-posts/profile-recent-posts.component.ts","webpack:///src/app/containers/pages/profile-recent-posts/profile-recent-posts.component.html","webpack:///src/app/containers/pages/profile-user-portfolio/profile-user-portfolio.component.ts","webpack:///src/app/containers/pages/profile-user-portfolio/profile-user-portfolio.component.html","webpack:///src/app/containers/pages/profile-user-social/profile-user-social.component.ts","webpack:///src/app/containers/pages/profile-user-social/profile-user-social.component.html","webpack:///src/app/containers/pages/profile-who-to-follow/profile-who-to-follow.component.ts","webpack:///src/app/containers/pages/profile-who-to-follow/profile-who-to-follow.component.html","webpack:///src/app/data/blog.ts","webpack:///src/app/data/comments.ts","webpack:///src/app/data/follow.ts","webpack:///src/app/data/orders.ts","webpack:///src/app/data/posts.ts","webpack:///src/app/data/products.ts","webpack:///src/app/data/questions.ts","webpack:///src/app/data/recent-posts.ts","webpack:///src/app/health-care/doctors/components/all-doctors/all-doctors.component.ts","webpack:///src/app/health-care/doctors/components/all-doctors/all-doctors.component.html","webpack:///src/app/health-care/doctors/components/create-doctor/create-doctor.component.ts","webpack:///src/app/health-care/doctors/components/create-doctor/create-doctor.component.html","webpack:///src/app/health-care/doctors/components/upload-doctor-profile-image/upload-doctor-profile-image.component.ts","webpack:///src/app/health-care/doctors/components/upload-doctor-profile-image/upload-doctor-profile-image.component.html","webpack:///src/app/health-care/doctors/components/upload-graduation-document-for-doctor/upload-graduation-document-for-doctor.component.ts","webpack:///src/app/health-care/doctors/components/upload-graduation-document-for-doctor/upload-graduation-document-for-doctor.component.html","webpack:///src/app/health-care/doctors/components/upload-nationalid-image-for-doctor/upload-nationalid-image-for-doctor.component.ts","webpack:///src/app/health-care/doctors/components/upload-nationalid-image-for-doctor/upload-nationalid-image-for-doctor.component.html","webpack:///src/app/health-care/health-care-packages/components/all-health-care-packages/all-health-care-packages.component.ts","webpack:///src/app/health-care/health-care-packages/components/all-health-care-packages/all-health-care-packages.component.html","webpack:///src/app/health-care/health-care-packages/models/health-care-package.model.ts","webpack:///src/app/health-care/health-care.module.ts","webpack:///src/app/health-care/health-care.routing.ts","webpack:///src/app/health-care/health-care/health-care.component.ts","webpack:///src/app/health-care/subscriptions/components/all-health-care-subscriptions/all-health-care-subscriptions.component.ts","webpack:///src/app/health-care/subscriptions/components/all-health-care-subscriptions/all-health-care-subscriptions.component.html","webpack:///src/app/health-care/subscriptions/components/creatr-health-care-subscription/creatr-health-care-subscription.component.ts","webpack:///src/app/health-care/subscriptions/components/creatr-health-care-subscription/creatr-health-care-subscription.component.html","webpack:///src/app/health-care/subscriptions/models/subscription.model.ts","webpack:///src/app/invoices/Reports/client-invoices/client-invoices.service.ts","webpack:///src/app/invoices/Reports/client-invoices/components/client-invoices/client-invoices.component.ts","webpack:///src/app/invoices/Reports/client-invoices/components/client-invoices/client-invoices.component.html","webpack:///src/app/invoices/Reports/components/invoice-report/invoice-report.component.ts","webpack:///src/app/invoices/Reports/components/invoice-report/invoice-report.component.html","webpack:///src/app/invoices/Reports/components/purshases-report/purshases-report.component.ts","webpack:///src/app/invoices/Reports/components/purshases-report/purshases-report.component.html","webpack:///src/app/invoices/Reports/customer-account-statement/components/customer-account-statement/customer-account-statement.component.ts","webpack:///src/app/invoices/Reports/customer-account-statement/components/customer-account-statement/customer-account-statement.component.html","webpack:///src/app/invoices/Reports/customer-account-statement/customer-account-statement.service.ts","webpack:///src/app/invoices/Reports/customer-balances/components/customer-balances/customer-balances.component.ts","webpack:///src/app/invoices/Reports/customer-balances/components/customer-balances/customer-balances.component.html","webpack:///src/app/invoices/Reports/customer-balances/customer-balances.service.ts","webpack:///src/app/invoices/Reports/customer-payments/components/customer-payments/customer-payments.component.ts","webpack:///src/app/invoices/Reports/customer-payments/components/customer-payments/customer-payments.component.html","webpack:///src/app/invoices/Reports/customer-payments/customer-payments.service.ts","webpack:///src/app/invoices/Reports/customer-sales/components/customer-sales/customer-sales.component.ts","webpack:///src/app/invoices/Reports/customer-sales/components/customer-sales/customer-sales.component.html","webpack:///src/app/invoices/Reports/customer-sales/customer-sales.service.ts","webpack:///src/app/invoices/Reports/daily-invoices/components/daily-invoices/daily-invoices.component.ts","webpack:///src/app/invoices/Reports/daily-invoices/components/daily-invoices/daily-invoices.component.html","webpack:///src/app/invoices/Reports/daily-invoices/daily-invoices.service.ts","webpack:///src/app/invoices/Reports/debt-reconstruction/components/debt-reconstruction/debt-reconstruction.component.ts","webpack:///src/app/invoices/Reports/debt-reconstruction/components/debt-reconstruction/debt-reconstruction.component.html","webpack:///src/app/invoices/Reports/debt-reconstruction/debt-reconstruction.service.ts","webpack:///src/app/invoices/Reports/models/search.model.ts","webpack:///src/app/invoices/Reports/services/invoice-report.service.ts","webpack:///src/app/invoices/TableEngine.ts","webpack:///src/app/invoices/branches/BranchModel.ts","webpack:///src/app/invoices/branches/BranchService.ts","webpack:///src/app/invoices/branches/branches.component.ts","webpack:///src/app/invoices/branches/branches.component.html","webpack:///src/app/invoices/clients/ClientModel.ts","webpack:///src/app/invoices/clients/ClientService.ts","webpack:///src/app/invoices/clients/clients.component.ts","webpack:///src/app/invoices/clients/clients.component.html","webpack:///src/app/invoices/coding-units/CodingUnitModel.ts","webpack:///src/app/invoices/coding-units/CodingUnitService.ts","webpack:///src/app/invoices/coding-units/coding-units.component.ts","webpack:///src/app/invoices/coding-units/coding-units.component.html","webpack:///src/app/invoices/company-api/CompanyApiModel.ts","webpack:///src/app/invoices/company-api/CompanyApiService.ts","webpack:///src/app/invoices/company-api/company-api.component.ts","webpack:///src/app/invoices/company-api/company-api.component.html","webpack:///src/app/invoices/create-invoice/create-invoice.component.ts","webpack:///src/app/invoices/create-invoice/create-invoice.component.html","webpack:///src/app/invoices/create-invoice/helper/model/Item_post_model.ts","webpack:///src/app/invoices/create-invoice/helper/model/get_branch.model.ts","webpack:///src/app/invoices/create-invoice/helper/model/invoice-item.model.ts","webpack:///src/app/invoices/create-invoice/helper/model/invoive.model.ts","webpack:///src/app/invoices/create-invoice/helper/model/taxModel.ts","webpack:///src/app/invoices/create-invoice/helper/serves/get_branch_serves.ts","webpack:///src/app/invoices/create-invoice/helper/serves/get_client_server.ts","webpack:///src/app/invoices/create-invoice/helper/serves/get_item_serves.ts","webpack:///src/app/invoices/create-invoice/helper/serves/post_invoice_serves.ts","webpack:///src/app/invoices/currencies/CurrencyModel.ts","webpack:///src/app/invoices/currencies/CurrencyService.ts","webpack:///src/app/invoices/currencies/currencies.component.ts","webpack:///src/app/invoices/currencies/currencies.component.html","webpack:///src/app/invoices/invoice.component.ts","webpack:///src/app/invoices/invoice.component.html","webpack:///src/app/invoices/invoices.module.ts","webpack:///src/app/invoices/invoices.routing.ts","webpack:///src/app/invoices/invoices/InvoiceModel.ts","webpack:///src/app/invoices/invoices/InvoiceService.ts","webpack:///src/app/invoices/invoices/invoices.component.ts","webpack:///src/app/invoices/invoices/invoices.component.html","webpack:///src/app/invoices/items/ItemModel.ts","webpack:///src/app/invoices/items/ItemService.ts","webpack:///src/app/invoices/items/items.component.ts","webpack:///src/app/invoices/items/items.component.html","webpack:///src/app/invoices/product-types/ProductTypeModel.ts","webpack:///src/app/invoices/product-types/ProductTypeService.ts","webpack:///src/app/invoices/product-types/product-types.component.ts","webpack:///src/app/invoices/product-types/product-types.component.html","webpack:///src/app/invoices/projects/ProjectModel.ts","webpack:///src/app/invoices/projects/ProjectService.ts","webpack:///src/app/invoices/projects/projects.component.ts","webpack:///src/app/invoices/projects/projects.component.html","webpack:///src/app/invoices/purchases/purchases.component.ts","webpack:///src/app/invoices/purchases/purchases.component.html","webpack:///src/app/invoices/staff/StaffModel.ts","webpack:///src/app/invoices/staff/StaffService.ts","webpack:///src/app/invoices/staff/staff.component.ts","webpack:///src/app/invoices/staff/staff.component.html","webpack:///src/app/invoices/suppliers/add-expenses-and-purchases/add-expenses-and-purchases.component.ts","webpack:///src/app/invoices/suppliers/add-expenses-and-purchases/add-expenses-and-purchases.component.html","webpack:///src/app/invoices/suppliers/add-suppliers/add-suppliers.component.ts","webpack:///src/app/invoices/suppliers/add-suppliers/add-suppliers.component.html","webpack:///src/app/invoices/suppliers/expens-category/expens-category.component.ts","webpack:///src/app/invoices/suppliers/expens-category/expens-category.component.html","webpack:///src/app/invoices/suppliers/expenses-and-purchases/expenses-and-purchases.component.ts","webpack:///src/app/invoices/suppliers/expenses-and-purchases/expenses-and-purchases.component.html","webpack:///src/app/invoices/suppliers/model/expensesItemModel.ts","webpack:///src/app/invoices/suppliers/model/projectModel.ts","webpack:///src/app/invoices/suppliers/model/suppliersModel.ts","webpack:///src/app/invoices/suppliers/project/project-view/project-view.component.ts","webpack:///src/app/invoices/suppliers/project/project-view/project-view.component.html","webpack:///src/app/invoices/suppliers/serves/cityServes.ts","webpack:///src/app/invoices/suppliers/serves/countryServes.ts","webpack:///src/app/invoices/suppliers/serves/expensesCategory.ts","webpack:///src/app/invoices/suppliers/serves/expenses_item_serves.ts","webpack:///src/app/invoices/suppliers/serves/project_serves.ts","webpack:///src/app/invoices/suppliers/serves/suppliers_serves.ts","webpack:///src/app/invoices/suppliers/show-suppliers/show-suppliers.component.ts","webpack:///src/app/invoices/suppliers/show-suppliers/show-suppliers.component.html","webpack:///src/app/invoices/tax-types/TaxTypesModel.ts","webpack:///src/app/invoices/tax-types/TaxTypesService.ts","webpack:///src/app/invoices/tax-types/tax-types.component.ts","webpack:///src/app/invoices/tax-types/tax-types.component.html","webpack:///src/app/invoices/view-invoice/view-invoice.component.ts","webpack:///src/app/invoices/view-invoice/view-invoice.component.html","webpack:///src/app/memberships/components/all-memberships/all-memberships.component.ts","webpack:///src/app/memberships/components/all-memberships/all-memberships.component.html","webpack:///src/app/memberships/components/create-membership/create-membership.component.ts","webpack:///src/app/memberships/components/create-membership/create-membership.component.html","webpack:///src/app/memberships/components/membership-profile/membership-profile.component.ts","webpack:///src/app/memberships/components/membership-profile/membership-profile.component.html","webpack:///src/app/memberships/components/upload-graduation-document/upload-graduation-document.component.ts","webpack:///src/app/memberships/components/upload-graduation-document/upload-graduation-document.component.html","webpack:///src/app/memberships/components/upload-membership-profile/upload-membership-profile.component.ts","webpack:///src/app/memberships/components/upload-membership-profile/upload-membership-profile.component.html","webpack:///src/app/memberships/components/upload-nationalid-image/upload-nationalid-image.component.ts","webpack:///src/app/memberships/components/upload-nationalid-image/upload-nationalid-image.component.html","webpack:///src/app/memberships/components/view-membership/view-membership.component.ts","webpack:///src/app/memberships/components/view-membership/view-membership.component.html","webpack:///src/app/memberships/membership.module.ts","webpack:///src/app/memberships/membership.routing.ts","webpack:///src/app/memberships/membership.service.ts","webpack:///src/app/memberships/models/membership.model.ts","webpack:///src/app/my-pharmacy/my-pharmacy-packages/components/my-pharmacy-packages/my-pharmacy-packages.component.ts","webpack:///src/app/my-pharmacy/my-pharmacy-packages/components/my-pharmacy-packages/my-pharmacy-packages.component.html","webpack:///src/app/my-pharmacy/my-pharmacy-packages/models/my-pharmacy-package.model.ts","webpack:///src/app/my-pharmacy/my-pharmacy-subscription/components/create-my-pharmacy-subscription/create-my-pharmacy-subscription.component.ts","webpack:///src/app/my-pharmacy/my-pharmacy-subscription/components/create-my-pharmacy-subscription/create-my-pharmacy-subscription.component.html","webpack:///src/app/my-pharmacy/my-pharmacy-subscription/components/my-pharmacy-subscription/my-pharmacy-subscription.component.ts","webpack:///src/app/my-pharmacy/my-pharmacy-subscription/components/my-pharmacy-subscription/my-pharmacy-subscription.component.html","webpack:///src/app/my-pharmacy/my-pharmacy-subscription/models/my-pharmacy-subscription.model.ts","webpack:///src/app/my-pharmacy/my-pharmacy.module.ts","webpack:///src/app/my-pharmacy/my-pharmacy.routing.ts","webpack:///src/app/my-pharmacy/my-pharmacy/my-pharmacy.component.ts","webpack:///src/app/pipes/search-pipe.pipe.ts","webpack:///src/app/pipes/table-filter.pipe.ts","webpack:///src/app/shared/auth.roles.ts","webpack:///src/app/shared/auth.service.ts","webpack:///src/app/shared/lang.service.ts","webpack:///src/app/shared/shared.module.ts","webpack:///src/app/utils/util.js","webpack:///src/app/views/app/aio/acounting_components/Expenses/components/create-expenses/create-expenses.component.ts","webpack:///src/app/views/app/aio/acounting_components/Expenses/components/create-expenses/create-expenses.component.html","webpack:///src/app/views/app/aio/acounting_components/Expenses/components/expenses/expenses.component.ts","webpack:///src/app/views/app/aio/acounting_components/Expenses/components/expenses/expenses.component.html","webpack:///src/app/views/app/aio/acounting_components/Expenses/components/upload-expenses-file/upload-expenses-file.component.ts","webpack:///src/app/views/app/aio/acounting_components/Expenses/components/upload-expenses-file/upload-expenses-file.component.html","webpack:///src/app/views/app/aio/acounting_components/Expenses/models/expenses-accounts.model.ts","webpack:///src/app/views/app/aio/acounting_components/Expenses/models/expenses-cost-centers.model.ts","webpack:///src/app/views/app/aio/acounting_components/Expenses/models/expenses-files.model.ts","webpack:///src/app/views/app/aio/acounting_components/Expenses/models/expenses.model.ts","webpack:///src/app/views/app/aio/acounting_components/Expenses/services/expenses.service.ts","webpack:///src/app/views/app/aio/acounting_components/account-balance/AccountBalanceModel.ts","webpack:///src/app/views/app/aio/acounting_components/account-balance/AccountBalanceService.ts","webpack:///src/app/views/app/aio/acounting_components/account-balance/account-balance.component.ts","webpack:///src/app/views/app/aio/acounting_components/account-balance/account-balance.component.html","webpack:///src/app/views/app/aio/acounting_components/account-fication-cost-type/account-fication-cost-type.component.ts","webpack:///src/app/views/app/aio/acounting_components/account-fication-cost-type/account-fication-cost-type.component.html","webpack:///src/app/views/app/aio/acounting_components/account-fication-cost-type/helper/model.ts","webpack:///src/app/views/app/aio/acounting_components/account-fication-cost-type/helper/serves.ts","webpack:///src/app/views/app/aio/acounting_components/account-fications/account-fications.component.ts","webpack:///src/app/views/app/aio/acounting_components/account-fications/account-fications.component.html","webpack:///src/app/views/app/aio/acounting_components/account-fications/helper/model.ts","webpack:///src/app/views/app/aio/acounting_components/account-fications/helper/serves.ts","webpack:///src/app/views/app/aio/acounting_components/account-menu/account-menu.component.ts","webpack:///src/app/views/app/aio/acounting_components/account-menu/account-menu.component.html","webpack:///src/app/views/app/aio/acounting_components/account-menu/helper/model.ts","webpack:///src/app/views/app/aio/acounting_components/account-menu/helper/serves.ts","webpack:///src/app/views/app/aio/acounting_components/account-name/AccountNameModel.ts","webpack:///src/app/views/app/aio/acounting_components/account-name/AccountNameService.ts","webpack:///src/app/views/app/aio/acounting_components/account-name/account-name-actions/account-name-actions.component.ts","webpack:///src/app/views/app/aio/acounting_components/account-name/account-name-actions/account-name-actions.component.html","webpack:///src/app/views/app/aio/acounting_components/account-name/account-name.component.ts","webpack:///src/app/views/app/aio/acounting_components/account-name/account-name.component.html","webpack:///src/app/views/app/aio/acounting_components/account-natures/account-natures.component.ts","webpack:///src/app/views/app/aio/acounting_components/account-natures/account-natures.component.html","webpack:///src/app/views/app/aio/acounting_components/account-natures/helper/model.ts","webpack:///src/app/views/app/aio/acounting_components/account-natures/helper/serves.ts","webpack:///src/app/views/app/aio/acounting_components/account-type/account-type.component.ts","webpack:///src/app/views/app/aio/acounting_components/account-type/account-type.component.html","webpack:///src/app/views/app/aio/acounting_components/account-type/helper/model.ts","webpack:///src/app/views/app/aio/acounting_components/account-type/helper/serves.ts","webpack:///src/app/views/app/aio/acounting_components/account_manual_section/account-power/account-power.component.ts","webpack:///src/app/views/app/aio/acounting_components/account_manual_section/account-power/account-power.component.html","webpack:///src/app/views/app/aio/acounting_components/account_manual_section/accounting-manual/accounting-manual.component.ts","webpack:///src/app/views/app/aio/acounting_components/account_manual_section/accounting-manual/accounting-manual.component.html","webpack:///src/app/views/app/aio/acounting_components/accounting-dashboard/accounting-dashboard.component.ts","webpack:///src/app/views/app/aio/acounting_components/accounting-dashboard/accounting-dashboard.component.html","webpack:///src/app/views/app/aio/acounting_components/accounting-reports/assets-report/assets-report.service.ts","webpack:///src/app/views/app/aio/acounting_components/accounting-reports/assets-report/components/assets-report/assets-report.component.ts","webpack:///src/app/views/app/aio/acounting_components/accounting-reports/assets-report/components/assets-report/assets-report.component.html","webpack:///src/app/views/app/aio/acounting_components/accounting-reports/balance-sheet/balance-sheet.service.ts","webpack:///src/app/views/app/aio/acounting_components/accounting-reports/balance-sheet/components/balance-sheet/balance-sheet.component.ts","webpack:///src/app/views/app/aio/acounting_components/accounting-reports/balance-sheet/components/balance-sheet/balance-sheet.component.html","webpack:///src/app/views/app/aio/acounting_components/accounting-reports/cash-flows/cash-flows.component.ts","webpack:///src/app/views/app/aio/acounting_components/accounting-reports/cash-flows/cash-flows.component.html","webpack:///src/app/views/app/aio/acounting_components/accounting-reports/cash-flows/models/cash-flows.model.ts","webpack:///src/app/views/app/aio/acounting_components/accounting-reports/cost-center-report/components/cost-center-report/cost-center-report.component.ts","webpack:///src/app/views/app/aio/acounting_components/accounting-reports/cost-center-report/components/cost-center-report/cost-center-report.component.html","webpack:///src/app/views/app/aio/acounting_components/accounting-reports/cost-center-report/cost-center-report.service.ts","webpack:///src/app/views/app/aio/acounting_components/accounting-reports/daily-restrictions-report/components/daily-restrictions-report/daily-restrictions-report.component.ts","webpack:///src/app/views/app/aio/acounting_components/accounting-reports/daily-restrictions-report/components/daily-restrictions-report/daily-restrictions-report.component.html","webpack:///src/app/views/app/aio/acounting_components/accounting-reports/daily-restrictions-report/daily-restrictions-report.service.ts","webpack:///src/app/views/app/aio/acounting_components/accounting-reports/income-list/components/income-list/income-list.component.ts","webpack:///src/app/views/app/aio/acounting_components/accounting-reports/income-list/components/income-list/income-list.component.html","webpack:///src/app/views/app/aio/acounting_components/accounting-reports/income-list/income-list.service.ts","webpack:///src/app/views/app/aio/acounting_components/accounting-reports/ledger-account/components/ledger-account/ledger-account.component.ts","webpack:///src/app/views/app/aio/acounting_components/accounting-reports/ledger-account/components/ledger-account/ledger-account.component.html","webpack:///src/app/views/app/aio/acounting_components/accounting-reports/ledger-account/ledger-account.service.ts","webpack:///src/app/views/app/aio/acounting_components/accounting-reports/tax-report/components/tax-report/tax-report.component.ts","webpack:///src/app/views/app/aio/acounting_components/accounting-reports/tax-report/components/tax-report/tax-report.component.html","webpack:///src/app/views/app/aio/acounting_components/accounting-reports/tax-report/tax-report.service.ts","webpack:///src/app/views/app/aio/acounting_components/accounting-reports/tax-return-report/components/tax-return-report/tax-return-report.component.ts","webpack:///src/app/views/app/aio/acounting_components/accounting-reports/tax-return-report/components/tax-return-report/tax-return-report.component.html","webpack:///src/app/views/app/aio/acounting_components/accounting-reports/tax-return-report/tax-return-report.service.ts","webpack:///src/app/views/app/aio/acounting_components/accounting-reports/trial-balance-balances/components/trial-balance-balances/trial-balance-balances.component.ts","webpack:///src/app/views/app/aio/acounting_components/accounting-reports/trial-balance-balances/components/trial-balance-balances/trial-balance-balances.component.html","webpack:///src/app/views/app/aio/acounting_components/accounting-reports/trial-balance-balances/trial-balance-balances.service.ts","webpack:///src/app/views/app/aio/acounting_components/accounting.module.ts","webpack:///src/app/views/app/aio/acounting_components/accounting.routing.ts","webpack:///src/app/views/app/aio/acounting_components/accounts/accounts.component.ts","webpack:///src/app/views/app/aio/acounting_components/accounts/accounts.component.html","webpack:///src/app/views/app/aio/acounting_components/acounting-base-data/acounting-base-data.component.ts","webpack:///src/app/views/app/aio/acounting_components/acounting-base-data/acounting-base-data.component.html","webpack:///src/app/views/app/aio/acounting_components/add-payment-mode/add-payment-mode.component.ts","webpack:///src/app/views/app/aio/acounting_components/add-payment-mode/add-payment-mode.component.html","webpack:///src/app/views/app/aio/acounting_components/add-payment-mode/helper/model.ts","webpack:///src/app/views/app/aio/acounting_components/add-payment-mode/helper/serves.ts","webpack:///src/app/views/app/aio/acounting_components/all-dailyrestrictions/all-dailyrestrictions.component.ts","webpack:///src/app/views/app/aio/acounting_components/all-dailyrestrictions/all-dailyrestrictions.component.html","webpack:///src/app/views/app/aio/acounting_components/assets/assets.service.ts","webpack:///src/app/views/app/aio/acounting_components/assets/components/all-assets/all-assets.component.ts","webpack:///src/app/views/app/aio/acounting_components/assets/components/all-assets/all-assets.component.html","webpack:///src/app/views/app/aio/acounting_components/assets/components/upload-assets-file/upload-assets-file.component.ts","webpack:///src/app/views/app/aio/acounting_components/assets/components/upload-assets-file/upload-assets-file.component.html","webpack:///src/app/views/app/aio/acounting_components/assets/components/view-asset/view-asset.component.ts","webpack:///src/app/views/app/aio/acounting_components/assets/components/view-asset/view-asset.component.html","webpack:///src/app/views/app/aio/acounting_components/assets/models/assets-files.model.ts","webpack:///src/app/views/app/aio/acounting_components/assets/models/assets.model.ts","webpack:///src/app/views/app/aio/acounting_components/assets/models/depreciation-of-assets.model.ts","webpack:///src/app/views/app/aio/acounting_components/assign-cost-centers/assign-cost-centers.component.ts","webpack:///src/app/views/app/aio/acounting_components/assign-cost-centers/assign-cost-centers.component.html","webpack:///src/app/views/app/aio/acounting_components/assign-cost-centers/models/account-cost-center.model.ts","webpack:///src/app/views/app/aio/acounting_components/assign-cost-centers/services/account-cost-center.service.ts","webpack:///src/app/views/app/aio/acounting_components/bank-code/bank-code.component.ts","webpack:///src/app/views/app/aio/acounting_components/bank-code/bank-code.component.html","webpack:///src/app/views/app/aio/acounting_components/bank-code/bank_code_model.ts","webpack:///src/app/views/app/aio/acounting_components/bank-code/serves.ts","webpack:///src/app/views/app/aio/acounting_components/budget/budget-report/budget-report.service.ts","webpack:///src/app/views/app/aio/acounting_components/budget/budget-report/components/budget-report/budget-report.component.ts","webpack:///src/app/views/app/aio/acounting_components/budget/budget-report/components/budget-report/budget-report.component.html","webpack:///src/app/views/app/aio/acounting_components/budget/budget.service.ts","webpack:///src/app/views/app/aio/acounting_components/budget/components/all-budget/all-budget.component.ts","webpack:///src/app/views/app/aio/acounting_components/budget/components/all-budget/all-budget.component.html","webpack:///src/app/views/app/aio/acounting_components/budget/components/create-budget/create-budget.component.ts","webpack:///src/app/views/app/aio/acounting_components/budget/components/create-budget/create-budget.component.html","webpack:///src/app/views/app/aio/acounting_components/budget/models/budget-accounts.model.ts","webpack:///src/app/views/app/aio/acounting_components/budget/models/budget.model.ts","webpack:///src/app/views/app/aio/acounting_components/budget/monthly-distribution/components/all-monthly-distribution/all-monthly-distribution.component.ts","webpack:///src/app/views/app/aio/acounting_components/budget/monthly-distribution/components/all-monthly-distribution/all-monthly-distribution.component.html","webpack:///src/app/views/app/aio/acounting_components/budget/monthly-distribution/components/create-monthly-distribution/create-monthly-distribution.component.ts","webpack:///src/app/views/app/aio/acounting_components/budget/monthly-distribution/components/create-monthly-distribution/create-monthly-distribution.component.html","webpack:///src/app/views/app/aio/acounting_components/budget/monthly-distribution/models/monthly-distribution.model.ts","webpack:///src/app/views/app/aio/acounting_components/budget/monthly-distribution/monthly-distribution.service.ts","webpack:///src/app/views/app/aio/acounting_components/catch-receipt-category/catch-receipt-category.component.ts","webpack:///src/app/views/app/aio/acounting_components/catch-receipt-category/catch-receipt-category.component.html","webpack:///src/app/views/app/aio/acounting_components/catch-receipt-category/models/catch-receipt-category.model.ts","webpack:///src/app/views/app/aio/acounting_components/catch-receipt-category/services/catch-receipt-category.service.ts","webpack:///src/app/views/app/aio/acounting_components/catch-receipt/catch-receipt.component.ts","webpack:///src/app/views/app/aio/acounting_components/catch-receipt/catch-receipt.component.html","webpack:///src/app/views/app/aio/acounting_components/catch-receipt/create-catch-receipt/create-catch-receipt.component.ts","webpack:///src/app/views/app/aio/acounting_components/catch-receipt/create-catch-receipt/create-catch-receipt.component.html","webpack:///src/app/views/app/aio/acounting_components/catch-receipt/models/catch-receipt-accounts.model.ts","webpack:///src/app/views/app/aio/acounting_components/catch-receipt/models/catch-receipt-cost-center.model.ts","webpack:///src/app/views/app/aio/acounting_components/catch-receipt/models/catch-receipt-files.model.ts","webpack:///src/app/views/app/aio/acounting_components/catch-receipt/models/catch-receipt.model.ts","webpack:///src/app/views/app/aio/acounting_components/catch-receipt/services/catch-receipt.service.ts","webpack:///src/app/views/app/aio/acounting_components/catch-receipt/upload-image/upload-image.component.ts","webpack:///src/app/views/app/aio/acounting_components/catch-receipt/upload-image/upload-image.component.html","webpack:///src/app/views/app/aio/acounting_components/check-statuses/check-statuses.component.ts","webpack:///src/app/views/app/aio/acounting_components/check-statuses/check-statuses.component.html","webpack:///src/app/views/app/aio/acounting_components/check-statuses/helper/model.ts","webpack:///src/app/views/app/aio/acounting_components/check-statuses/helper/serves.ts","webpack:///src/app/views/app/aio/acounting_components/check-types/check-types.component.ts","webpack:///src/app/views/app/aio/acounting_components/check-types/check-types.component.html","webpack:///src/app/views/app/aio/acounting_components/check-types/helper/model.ts","webpack:///src/app/views/app/aio/acounting_components/check-types/helper/serves.ts","webpack:///src/app/views/app/aio/acounting_components/checks/check-book/check-book.service.ts","webpack:///src/app/views/app/aio/acounting_components/checks/check-book/components/check-books/check-books.component.ts","webpack:///src/app/views/app/aio/acounting_components/checks/check-book/components/check-books/check-books.component.html","webpack:///src/app/views/app/aio/acounting_components/checks/check-book/models/check-book.model.ts","webpack:///src/app/views/app/aio/acounting_components/checks/checks-received/checks-received.service.ts","webpack:///src/app/views/app/aio/acounting_components/checks/checks-received/components/checks-received/checks-received.component.ts","webpack:///src/app/views/app/aio/acounting_components/checks/checks-received/components/checks-received/checks-received.component.html","webpack:///src/app/views/app/aio/acounting_components/checks/checks-received/components/create-checks-received/create-checks-received.component.ts","webpack:///src/app/views/app/aio/acounting_components/checks/checks-received/components/create-checks-received/create-checks-received.component.html","webpack:///src/app/views/app/aio/acounting_components/checks/checks-received/components/upload-checks-recieved-file/upload-checks-recieved-file.component.ts","webpack:///src/app/views/app/aio/acounting_components/checks/checks-received/components/upload-checks-recieved-file/upload-checks-recieved-file.component.html","webpack:///src/app/views/app/aio/acounting_components/checks/checks-received/components/view-checks-recieved/view-checks-recieved.component.ts","webpack:///src/app/views/app/aio/acounting_components/checks/checks-received/components/view-checks-recieved/view-checks-recieved.component.html","webpack:///src/app/views/app/aio/acounting_components/checks/checks-received/models/checks-received.model.ts","webpack:///src/app/views/app/aio/acounting_components/checks/paid-checks/components/create-paid-checks/create-paid-checks.component.ts","webpack:///src/app/views/app/aio/acounting_components/checks/paid-checks/components/create-paid-checks/create-paid-checks.component.html","webpack:///src/app/views/app/aio/acounting_components/checks/paid-checks/components/paid-checks/paid-checks.component.ts","webpack:///src/app/views/app/aio/acounting_components/checks/paid-checks/components/paid-checks/paid-checks.component.html","webpack:///src/app/views/app/aio/acounting_components/checks/paid-checks/components/upload-paid-checks-file/upload-paid-checks-file.component.ts","webpack:///src/app/views/app/aio/acounting_components/checks/paid-checks/components/upload-paid-checks-file/upload-paid-checks-file.component.html","webpack:///src/app/views/app/aio/acounting_components/checks/paid-checks/components/view-paid-checks/view-paid-checks.component.ts","webpack:///src/app/views/app/aio/acounting_components/checks/paid-checks/components/view-paid-checks/view-paid-checks.component.html","webpack:///src/app/views/app/aio/acounting_components/checks/paid-checks/models/paid-checks.model.ts","webpack:///src/app/views/app/aio/acounting_components/checks/paid-checks/paid-checks.service.ts","webpack:///src/app/views/app/aio/acounting_components/city-code/city-code.component.ts","webpack:///src/app/views/app/aio/acounting_components/city-code/city-code.component.html","webpack:///src/app/views/app/aio/acounting_components/city-code/helper/model.ts","webpack:///src/app/views/app/aio/acounting_components/city-code/helper/serves.ts","webpack:///src/app/views/app/aio/acounting_components/cost-center/cost-center.component.ts","webpack:///src/app/views/app/aio/acounting_components/cost-center/cost-center.component.html","webpack:///src/app/views/app/aio/acounting_components/cost-center/models/cost-center.model.ts","webpack:///src/app/views/app/aio/acounting_components/cost-center/services/cost-center.service.ts","webpack:///src/app/views/app/aio/acounting_components/creat-country/creat-country.component.ts","webpack:///src/app/views/app/aio/acounting_components/creat-country/creat-country.component.html","webpack:///src/app/views/app/aio/acounting_components/creat-country/helper/model.ts","webpack:///src/app/views/app/aio/acounting_components/creat-country/helper/serves.ts","webpack:///src/app/views/app/aio/acounting_components/creat-governorate/creat-governorate.component.ts","webpack:///src/app/views/app/aio/acounting_components/creat-governorate/creat-governorate.component.html","webpack:///src/app/views/app/aio/acounting_components/creat-governorate/helper/model.ts","webpack:///src/app/views/app/aio/acounting_components/creat-governorate/helper/serves.ts","webpack:///src/app/views/app/aio/acounting_components/dailyrestrictions/DailyrestrictionsModel.ts","webpack:///src/app/views/app/aio/acounting_components/dailyrestrictions/DailyrestrictionsService.ts","webpack:///src/app/views/app/aio/acounting_components/dailyrestrictions/dailyrestrictions.component.ts","webpack:///src/app/views/app/aio/acounting_components/dailyrestrictions/dailyrestrictions.component.html","webpack:///src/app/views/app/aio/acounting_components/dailyrestrictions/journal-file.model.ts","webpack:///src/app/views/app/aio/acounting_components/dailyrestrictions/journal-footer-cost-center.model.ts","webpack:///src/app/views/app/aio/acounting_components/dailyrestrictions/upload-journal-file/upload-journal-file.component.ts","webpack:///src/app/views/app/aio/acounting_components/dailyrestrictions/upload-journal-file/upload-journal-file.component.html","webpack:///src/app/views/app/aio/acounting_components/expense-codes/expense-codes.component.ts","webpack:///src/app/views/app/aio/acounting_components/expense-codes/expense-codes.component.html","webpack:///src/app/views/app/aio/acounting_components/expense-codes/expense-codesModel.ts","webpack:///src/app/views/app/aio/acounting_components/expense-definition/expense-definition.component.ts","webpack:///src/app/views/app/aio/acounting_components/expense-definition/expense-definition.component.html","webpack:///src/app/views/app/aio/acounting_components/expense-definition/products.ts","webpack:///src/app/views/app/aio/acounting_components/expensess-type/expensess-type.component.ts","webpack:///src/app/views/app/aio/acounting_components/expensess-type/expensess-type.component.html","webpack:///src/app/views/app/aio/acounting_components/expensess-type/helper/model.ts","webpack:///src/app/views/app/aio/acounting_components/expensess-type/helper/serves.ts","webpack:///src/app/views/app/aio/acounting_components/fiscal-years/components/fiscal-year/fiscal-year.component.ts","webpack:///src/app/views/app/aio/acounting_components/fiscal-years/components/fiscal-year/fiscal-year.component.html","webpack:///src/app/views/app/aio/acounting_components/fiscal-years/fiscal-year.service.ts","webpack:///src/app/views/app/aio/acounting_components/fiscal-years/models/fiscal-year.model.ts","webpack:///src/app/views/app/aio/acounting_components/general-account/DailyrestrictionsModel.ts","webpack:///src/app/views/app/aio/acounting_components/general-account/DailyrestrictionsService.ts","webpack:///src/app/views/app/aio/acounting_components/general-account/general-account.component.ts","webpack:///src/app/views/app/aio/acounting_components/general-account/general-account.component.html","webpack:///src/app/views/app/aio/acounting_components/generate-account-type/generate-account-type.component.ts","webpack:///src/app/views/app/aio/acounting_components/generate-account-type/generate-account-type.component.html","webpack:///src/app/views/app/aio/acounting_components/generate-account-type/helper/model.ts","webpack:///src/app/views/app/aio/acounting_components/generate-account-type/helper/serves.ts","webpack:///src/app/views/app/aio/acounting_components/icons/icons.component.ts","webpack:///src/app/views/app/aio/acounting_components/icons/icons.component.html","webpack:///src/app/views/app/aio/acounting_components/icons/icons.service.ts","webpack:///src/app/views/app/aio/acounting_components/journal-entries-type/helper/model.ts","webpack:///src/app/views/app/aio/acounting_components/journal-entries-type/helper/serves.ts","webpack:///src/app/views/app/aio/acounting_components/journal-entries-type/journal-entries-type.component.ts","webpack:///src/app/views/app/aio/acounting_components/journal-entries-type/journal-entries-type.component.html","webpack:///src/app/views/app/aio/acounting_components/locker-data/helper/model.ts","webpack:///src/app/views/app/aio/acounting_components/locker-data/helper/serves.ts","webpack:///src/app/views/app/aio/acounting_components/locker-data/locker-data.component.ts","webpack:///src/app/views/app/aio/acounting_components/locker-data/locker-data.component.html","webpack:///src/app/views/app/aio/acounting_components/payment-plan/components/payment-plan/payment-plan.component.ts","webpack:///src/app/views/app/aio/acounting_components/payment-plan/components/payment-plan/payment-plan.component.html","webpack:///src/app/views/app/aio/acounting_components/payment-plan/models/payment-plan.model.ts","webpack:///src/app/views/app/aio/acounting_components/payment-plan/payment-plan.service.ts","webpack:///src/app/views/app/aio/acounting_components/project-info/project-info.component.ts","webpack:///src/app/views/app/aio/acounting_components/project-info/project-info.component.html","webpack:///src/app/views/app/aio/acounting_components/revenue-codes/RevenueCodesModel.ts","webpack:///src/app/views/app/aio/acounting_components/revenue-codes/revenue-codes.component.ts","webpack:///src/app/views/app/aio/acounting_components/revenue-codes/revenue-codes.component.html","webpack:///src/app/views/app/aio/acounting_components/select-cost-center/select-cost-center.component.ts","webpack:///src/app/views/app/aio/acounting_components/treasury-and-bank-accounts/components/treasury-and-bank-accounts/treasury-and-bank-accounts.component.ts","webpack:///src/app/views/app/aio/acounting_components/treasury-and-bank-accounts/components/treasury-and-bank-accounts/treasury-and-bank-accounts.component.html","webpack:///src/app/views/app/aio/acounting_components/treasury-and-bank-accounts/model/credit-treasury-and-bank-roles-branches-model.ts","webpack:///src/app/views/app/aio/acounting_components/treasury-and-bank-accounts/model/credit-treasury-and-bank-roles-employees.ts","webpack:///src/app/views/app/aio/acounting_components/treasury-and-bank-accounts/model/credit-treasury-and-bank-roles-functional-roles-model.ts","webpack:///src/app/views/app/aio/acounting_components/treasury-and-bank-accounts/model/deposit-treasury-and-bank-roles-branches-model.ts","webpack:///src/app/views/app/aio/acounting_components/treasury-and-bank-accounts/model/deposit-treasury-and-bank-roles-employees-model.ts","webpack:///src/app/views/app/aio/acounting_components/treasury-and-bank-accounts/model/deposit-treasury-and-bank-roles-functional-roles-model.ts","webpack:///src/app/views/app/aio/acounting_components/treasury-and-bank-accounts/model/treasury-and-bank-accounts-model.ts","webpack:///src/app/views/app/aio/acounting_components/treasury-and-bank-accounts/treasury-and-bank-accounts.service.ts","webpack:///src/app/views/app/aio/acounting_components/view-daily-restriction/view-daily-restriction.component.ts","webpack:///src/app/views/app/aio/acounting_components/view-daily-restriction/view-daily-restriction.component.html","webpack:///src/app/views/app/aio/shared/DataFilterer.ts","webpack:///src/app/views/app/aio/shared/DataPaginator.ts","webpack:///src/app/views/app/aio/shared/DataSorter.ts","webpack:///src/app/views/app/aio/shared/Shared Objects/cityServes.ts","webpack:///src/app/views/app/aio/shared/Shared Objects/countryServes.ts","webpack:///src/app/views/app/aio/shared/Shared Objects/countrymodel.ts","webpack:///src/app/views/app/aio/shared/TableEngine.ts","webpack:///src/app/views/companies/CompanyModel.ts","webpack:///src/app/views/companies/CompanyService.ts","webpack:///src/app/views/companies/companies.component.ts","webpack:///src/app/views/companies/companies.component.html","webpack:///src/app/views/error/error.component.ts","webpack:///src/app/views/error/error.component.html","webpack:///src/app/views/invoice/shared/DataFilterer.ts","webpack:///src/app/views/invoice/shared/DataPaginator.ts","webpack:///src/app/views/invoice/shared/DataSorter.ts","webpack:///src/app/views/invoice/side-popup/side-popup.component.ts","webpack:///src/app/views/invoice/side-popup/side-popup.component.html","webpack:///src/app/views/points-of-sales/cashier-machines/CashRegisterModel.ts","webpack:///src/app/views/points-of-sales/cashier-machines/CashRegisterService.ts","webpack:///src/app/views/points-of-sales/cashier-machines/cashier-machines.component.ts","webpack:///src/app/views/points-of-sales/cashier-machines/cashier-machines.component.html","webpack:///src/app/views/points-of-sales/cashier-orders/CashierOrderItemModel.ts","webpack:///src/app/views/points-of-sales/cashier-orders/CashierOrderItemService.ts","webpack:///src/app/views/points-of-sales/cashier-orders/CashierOrderModel.ts","webpack:///src/app/views/points-of-sales/cashier-orders/CashierOrderService.ts","webpack:///src/app/views/points-of-sales/cashier-orders/cashier-orders.component.ts","webpack:///src/app/views/points-of-sales/cashier-orders/cashier-orders.component.html","webpack:///src/app/views/points-of-sales/cashier-sessions/CashierSessionModel.ts","webpack:///src/app/views/points-of-sales/cashier-sessions/CashierSessionService.ts","webpack:///src/app/views/points-of-sales/cashier-sessions/cashier-sessions.component.ts","webpack:///src/app/views/points-of-sales/cashier-sessions/cashier-sessions.component.html","webpack:///src/app/views/points-of-sales/cashier-staff/CashierStaffModel.ts","webpack:///src/app/views/points-of-sales/cashier-staff/CashierStaffService.ts","webpack:///src/app/views/points-of-sales/cashier-staff/cashier-staff.component.ts","webpack:///src/app/views/points-of-sales/cashier-staff/cashier-staff.component.html","webpack:///src/app/views/points-of-sales/cashier-work-shifts/CashierWorkShiftModel.ts","webpack:///src/app/views/points-of-sales/cashier-work-shifts/CashierWorkShiftService.ts","webpack:///src/app/views/points-of-sales/cashier-work-shifts/cashier-work-shifts.component.ts","webpack:///src/app/views/points-of-sales/cashier-work-shifts/cashier-work-shifts.component.html","webpack:///src/app/views/points-of-sales/cashier/cashier.component.ts","webpack:///src/app/views/points-of-sales/cashier/cashier.component.html","webpack:///src/app/views/points-of-sales/config-pos-general/ConfigPoSModel.ts","webpack:///src/app/views/points-of-sales/config-pos-general/ConfigPoSService.ts","webpack:///src/app/views/points-of-sales/config-pos-general/config-pos-general.component.ts","webpack:///src/app/views/points-of-sales/config-pos-general/config-pos-general.component.html","webpack:///src/app/views/points-of-sales/config-pos/config-pos.component.ts","webpack:///src/app/views/points-of-sales/config-pos/config-pos.component.html","webpack:///src/app/views/points-of-sales/pos-portal/pos-portal.component.ts","webpack:///src/app/views/points-of-sales/pos-portal/pos-portal.component.html","webpack:///src/app/views/purchases/config-purchases/ConfigPurchasesModel.ts","webpack:///src/app/views/purchases/config-purchases/ConfigPurchasesService.ts","webpack:///src/app/views/purchases/config-purchases/config-purchases.component.ts","webpack:///src/app/views/purchases/config-purchases/config-purchases.component.html","webpack:///src/app/views/purchases/invoice-purchase/PaymentMethodService.ts","webpack:///src/app/views/purchases/invoice-purchase/PurchaseInvoiceItemModel.ts","webpack:///src/app/views/purchases/invoice-purchase/PurchaseInvoiceModel.ts","webpack:///src/app/views/purchases/invoice-purchase/PurchaseInvoiceService.ts","webpack:///src/app/views/purchases/invoice-purchase/invoice-purchase.component.ts","webpack:///src/app/views/purchases/invoice-purchase/invoice-purchase.component.html","webpack:///src/app/views/purchases/purchase-orders/PaymentMethodService.ts","webpack:///src/app/views/purchases/purchase-orders/PurchaseOrderItemModel.ts","webpack:///src/app/views/purchases/purchase-orders/PurchaseOrderModel.ts","webpack:///src/app/views/purchases/purchase-orders/PurchaseOrderService.ts","webpack:///src/app/views/purchases/purchase-orders/StoreDataService.ts","webpack:///src/app/views/purchases/purchase-orders/SupplierService.ts","webpack:///src/app/views/purchases/purchase-orders/purchase-orders.component.ts","webpack:///src/app/views/purchases/purchase-orders/purchase-orders.component.html","webpack:///src/app/views/purchases/purchase-quotations/PurchaseQuotationDetailsModel.ts","webpack:///src/app/views/purchases/purchase-quotations/PurchaseQuotationFileModel.ts","webpack:///src/app/views/purchases/purchase-quotations/PurchaseQuotationItemModel.ts","webpack:///src/app/views/purchases/purchase-quotations/PurchaseQuotationItemTaxModel.ts","webpack:///src/app/views/purchases/purchase-quotations/PurchaseQuotationService.ts","webpack:///src/app/views/purchases/purchase-quotations/PurchaseQuotationServiceModel.ts","webpack:///src/app/views/purchases/purchase-quotations/purchase-quotations.component.ts","webpack:///src/app/views/purchases/purchase-quotations/purchase-quotations.component.html","webpack:///src/app/views/purchases/purchases-portal/purchases-portal.component.ts","webpack:///src/app/views/purchases/purchases-portal/purchases-portal.component.html","webpack:///src/app/views/purchases/quotation-requests/QuotationRequestItemModel.ts","webpack:///src/app/views/purchases/quotation-requests/QuotationRequestModel.ts","webpack:///src/app/views/purchases/quotation-requests/QuotationRequestService.ts","webpack:///src/app/views/purchases/quotation-requests/quotation-requests.component.ts","webpack:///src/app/views/purchases/quotation-requests/quotation-requests.component.html","webpack:///src/app/views/purchases/reports/product-purchases/components/product-purchases/product-purchases.component.ts","webpack:///src/app/views/purchases/reports/product-purchases/components/product-purchases/product-purchases.component.html","webpack:///src/app/views/purchases/reports/product-purchases/product-purchases.service.ts","webpack:///src/app/views/purchases/reports/purchases-by-supplier/components/purchases-by-supplier/purchases-by-supplier.component.ts","webpack:///src/app/views/purchases/reports/purchases-by-supplier/components/purchases-by-supplier/purchases-by-supplier.component.html","webpack:///src/app/views/purchases/reports/purchases-by-supplier/purchases-by-supplier.service.ts","webpack:///src/app/views/purchases/reports/supplier-balances/components/supplier-balances/supplier-balances.component.ts","webpack:///src/app/views/purchases/reports/supplier-balances/components/supplier-balances/supplier-balances.component.html","webpack:///src/app/views/purchases/reports/supplier-balances/supplier-balances.service.ts","webpack:///src/app/views/purchases/reports/suppliers-directory/components/suppliers-directory/suppliers-directory.component.ts","webpack:///src/app/views/purchases/reports/suppliers-directory/components/suppliers-directory/suppliers-directory.component.html","webpack:///src/app/views/purchases/reports/suppliers-directory/suppliers-directory.service.ts","webpack:///src/app/views/purchases/request-receipt/RequestReceiptItemModel.ts","webpack:///src/app/views/purchases/request-receipt/RequestReceiptModel.ts","webpack:///src/app/views/purchases/request-receipt/RequestReceiptService.ts","webpack:///src/app/views/purchases/request-receipt/request-receipt.component.ts","webpack:///src/app/views/purchases/request-receipt/request-receipt.component.html","webpack:///src/app/views/purchases/return-purchases/ReturnPurchaseItemModel.ts","webpack:///src/app/views/purchases/return-purchases/ReturnPurchaseModel.ts","webpack:///src/app/views/purchases/return-purchases/ReturnPurchaseService.ts","webpack:///src/app/views/purchases/return-purchases/return-purchases.component.ts","webpack:///src/app/views/purchases/return-purchases/return-purchases.component.html","webpack:///src/app/views/purchases/upload-invoice-purchase-file/upload-invoice-purchase-file.component.ts","webpack:///src/app/views/purchases/upload-invoice-purchase-file/upload-invoice-purchase-file.component.html","webpack:///src/app/views/purchases/view-purchase-invoice/view-purchase-invoice.component.ts","webpack:///src/app/views/purchases/view-purchase-invoice/view-purchase-invoice.component.html","webpack:///src/app/views/restaurants/cashier-machines/CashRegisterModel.ts","webpack:///src/app/views/restaurants/cashier-machines/CashRegisterService.ts","webpack:///src/app/views/restaurants/cashier-machines/cashier-machines.component.ts","webpack:///src/app/views/restaurants/cashier-machines/cashier-machines.component.html","webpack:///src/app/views/restaurants/cashier-orders/CashierOrderItemModel.ts","webpack:///src/app/views/restaurants/cashier-orders/CashierOrderItemService.ts","webpack:///src/app/views/restaurants/cashier-orders/CashierOrderModel.ts","webpack:///src/app/views/restaurants/cashier-orders/CashierOrderService.ts","webpack:///src/app/views/restaurants/cashier-orders/cashier-orders.component.ts","webpack:///src/app/views/restaurants/cashier-orders/cashier-orders.component.html","webpack:///src/app/views/restaurants/cashier-sessions/CashierSessionModel.ts","webpack:///src/app/views/restaurants/cashier-sessions/CashierSessionService.ts","webpack:///src/app/views/restaurants/cashier-sessions/cashier-sessions.component.ts","webpack:///src/app/views/restaurants/cashier-sessions/cashier-sessions.component.html","webpack:///src/app/views/restaurants/cashier-staff/CashierStaffModel.ts","webpack:///src/app/views/restaurants/cashier-staff/CashierStaffService.ts","webpack:///src/app/views/restaurants/cashier-staff/cashier-staff.component.ts","webpack:///src/app/views/restaurants/cashier-staff/cashier-staff.component.html","webpack:///src/app/views/restaurants/cashier-work-shifts/CashierWorkShiftModel.ts","webpack:///src/app/views/restaurants/cashier-work-shifts/CashierWorkShiftService.ts","webpack:///src/app/views/restaurants/cashier-work-shifts/cashier-work-shifts.component.ts","webpack:///src/app/views/restaurants/cashier-work-shifts/cashier-work-shifts.component.html","webpack:///src/app/views/restaurants/cashier/cashier.component.ts","webpack:///src/app/views/restaurants/cashier/cashier.component.html","webpack:///src/app/views/restaurants/config-pos-general/ConfigPoSModel.ts","webpack:///src/app/views/restaurants/config-pos-general/ConfigPoSService.ts","webpack:///src/app/views/restaurants/config-pos-general/config-pos-general.component.ts","webpack:///src/app/views/restaurants/config-pos-general/config-pos-general.component.html","webpack:///src/app/views/restaurants/config-pos/config-pos.component.ts","webpack:///src/app/views/restaurants/config-pos/config-pos.component.html","webpack:///src/app/views/restaurants/pos-portal/pos-portal.component.ts","webpack:///src/app/views/restaurants/pos-portal/pos-portal.component.html","webpack:///src/app/views/restaurants/restaurant-category/RestaurantCategoryModel.ts","webpack:///src/app/views/restaurants/restaurant-category/RestaurantCategoryService.ts","webpack:///src/app/views/restaurants/restaurant-category/restaurant-category.component.ts","webpack:///src/app/views/restaurants/restaurant-category/restaurant-category.component.html","webpack:///src/app/views/restaurants/restaurant-menu-item/RestaurantMenuItemModel.ts","webpack:///src/app/views/restaurants/restaurant-menu-item/RestaurantMenuItemService.ts","webpack:///src/app/views/restaurants/restaurant-menu-item/restaurant-menu-item.component.ts","webpack:///src/app/views/restaurants/restaurant-menu-item/restaurant-menu-item.component.html","webpack:///src/app/views/restaurants/upload-image/upload-image.component.ts","webpack:///src/app/views/restaurants/upload-image/upload-image.component.html","webpack:///src/app/views/sales/quotations/QuotationDetailsModel.ts","webpack:///src/app/views/sales/quotations/QuotationFileModel.ts","webpack:///src/app/views/sales/quotations/QuotationItemModel.ts","webpack:///src/app/views/sales/quotations/QuotationItemTaxModel.ts","webpack:///src/app/views/sales/quotations/QuotationService.ts","webpack:///src/app/views/sales/quotations/QuotationServiceModel.ts","webpack:///src/app/views/sales/quotations/quotations.component.ts","webpack:///src/app/views/sales/quotations/quotations.component.html","webpack:///src/app/views/sales/sales-portal/sales-portal.component.ts","webpack:///src/app/views/sales/sales-portal/sales-portal.component.html","webpack:///src/app/views/tax-types/TaxTypesService.ts","webpack:///src/app/views/unauthorized/unauthorized.component.ts","webpack:///src/app/views/unauthorized/unauthorized.component.html","webpack:///src/assets/css/sass/themes lazy ^\\.\\/aio\\..*\\.scss$ namespace object","webpack:///src/environments/environment.ts","webpack:///src/main.ts","webpack:///min-document (ignored)"],"names":["webpackEmptyAsyncContext","req","Promise","resolve","then","e","Error","code","keys","module","exports","id","ClientBusinessExtractService","http","baseUrl","baseApiUrl","token","localStorage","getItem","httpOptions","headers","get","pipe","error","projectId","contractorId","workItem","payload","post","Id","JSON","stringify","providedIn","AllClientBusinessExtractsComponent","formBuilder","modelService","renderer","notifications","translate","router","currentScreen","translationName","sortableKeys","searchableKeys","modelObject","ogData","mainForm","NameEn","Deductions","currentFormMode","currentAction","filteredData","sortedData","paginatedData","lastId","length","SelectAllBox","itemsPerPage","itemOptionsPerPage","selected","selectAllState","orderAsc","currentPage","savedPage","dataFilterer","dataSorter","dataPaginator","deletionList","SearchTerm","lang","itemOrder","label","property","loadData","executeDeleteObject","deleteList","subscribe","result","finalizeDeletion","toastError","instant","getAll","data","sortData","loadSearch","filterData","slice","reverse","paginateData","Math","ceil","newItemsPerPage","newCurrentPage","newSort","oldPage","reverseSortData","find","i","event","page","$event","target","checked","setSelectAllState","p","findIndex","x","item","isSelected","filter","push","list","Code","navigate","delModal","show","toastSuccess","hide","toastHeader","toastBody","create","Success","timeOut","showProgressBar","prevSearch","setTimeout","deleteObject","selector","templateUrl","styleUrls","CreateClientBusinessExtractComponent","fb","clientService","projectService","contractorBusinessExtractService","route","ClientBusinessExtract","clients","projects","workItems","detail","snapshot","paramMap","group","BusinessInsurance","ClientId","Date","ProjectId","Total","Details","ClientBusinessExtractId","Current","ExcutionPercentage","Previous","PreviousAndCurrentTotal","Price","TheTotalValue","ProjectWorkItemId","GetWorkItemsWithProjectId","Form","value","GetPreviousDetails","DetailsForm","itemWorkIndex","price","Cost","createDetailsForm","getById","chooseClient","createForm","GetLastCode","getRawValue","sideModalRef","itemNameAr","NameAr","itemNameEn","modalRef","discount","discountValue","insert","update","descount","decountValue","ClientBusinessExtractDetailsModel","Statement","ClientBusinessExtractModel","ConstructionportalComponent","AllContractorBusinessExtractComponent","CreateContractorBusinessExtractComponent","ContractingBusinessExtract","Contractors","contractor","ContractorId","ContractingBusinessExtractId","ProjectContractorsItemsId","GetContractorsWithProjectId","SelectedContractorWorkItems","getContractors","ContractingBusinessExtractService","ContractingBusinessExtractDetailsModel","ContractingBusinessExtractModel","ContractorModel","obj","IdNumber","TaxCard","CommercialRegister","Nationality","BankAccount","Phone","Description","CountryId","CountryAr","CountryEn","CityId","CityAr","CityEn","Governorate","Landmark","Street","BuildingNumber","Floor","Room","ZipCode","ContractorWorkItems","ContractorService","ContractorWorkItemModel","ContractorAr","ContractorEn","WorkItemId","ParentId","ParentAr","ParentEn","Level","ContractorWorkItemService","tableEngine","ContractorsComponent","cityService","countryService","workItemService","contractorWorkItemService","codingUnitService","tableView","smallModal","prevAction","cityList","countryList","workItemList","codingUnitList","contractorWorkItemList","addedItemList","subItemList","contractorWorkItemForm","contractorWorkItemObject","newWorkItem","newWorkItemId","newWorkItemParentId","newItemInternalId","loadServices","loadTableEngine","action","showAddNewModalRef","tempItem","index","showEditModalRef","showInfoModalRef","compose","required","pattern","minLength","tempList","executeAddObject","undefined","addeditem","tempObj","executeEditObject","Object","addObject","showModal","countryData","cityData","codingUnitData","workItemData","contractorWorkItemData","concat","parent","getWorkItemById","sub","temp","splice","sortKey","changeSort","getSort","AllProjectsComponent","ProjectAmount","StartDate","EndDate","CreateProjectComponent","project","questions","selectedWorkItems","openGrid","SelectedContractors","columnDefs","field","rowData","selectedBusinessItemId","selectedContractorId","selectedContractorBusinessItemId","getAllContractors","forEach","element","getAllWorkItem","UnitAr","WorkItems","Contractor","selectContractor","selectWorkItem","ProjectModel","ProjectService","WorkItemModel","UnitId","UnitEn","WorkItemService","WorkitemsComponent","CodingUnitService","parentList","CouncilAndMembersAffairsModule","initializeApp","firebase","forRoot","imports","declarations","providers","routes","path","component","CouncilAndMembersAffairsRoutingModule","forChild","AddBoardOfDirectorComponent","showCard","ItemHolderList","famly","Name","editEnabled","picurl","NationalIdEditEnabled","NationalIdPicurl","graduationEditEnabled","graduationPicurl","ArabicName","EnglishName","Nots","File","MemberId","IsBlocked","UserId","CreateBy","CreateDate","ModifiedBy","ModifiedDate","IsDeleted","DeletedBy","DeletedDate","goBack","Save","AddCouncilAffairsComponent","FirstArabicName","SecondArabicName","LastArabicName","Email","Gender","IsEgyptian","NationalID","PassportNumber","BranchNameEn","BranchNameAr","NationaltyID","City","GovernorateId","EmergencyContactNumber","BirthDate","ImageURL","PWS","IsActive","Address","TeamId","BranchId","RoleId","IsStudent","FieldsStudyOrWorkId","SubFieldsStudyOrWorkId","CollegeId","SchoolId","AcademicYear","VolunteerItherFiled","CurrentPosition","Employer","IsHaveExpereanceInVolunteerFildes","HowDidYouKnowAboutUs","IsMembershipExpered","IsDisability","DisabilityType","GovernorateNameEn","GovernorateNameAr","CityNameEn","CityNameAr","SectorNameAr","SectorNameEn","FieldNameAr","FieldNameEn","HasWork","PositionId","StudentType","CollegeNameAr","CollegeNameEn","SchoolNameAr","SchoolNameEn","VolunteerNumber","UniversityNameAr","UniversityNameEn","InstituteNameAr","InstituteNameEn","EventsCount","ActivitiesCount","NumberOfActivityPoints","NumberOfActivityHours","EndMembershipDate","MembershipIsIsEnded","Latitude","Langitude","Zoom","EndMembershipRequest","TransferMembershipRequest","RenewMembershipRequest","HasOtherExperinceField","OtherExperinceField","OtherNationalty","IsAccepted","IsObsolete","IsRejected","PrefierdInterview","SocialStatus","GraduationYear","EducationalQualification","AddThirdPartyComponent","AllBoardsOfDirectorsComponent","console","log","AllCouncilAffairsComponent","AllPositionsOfCouncilMembersComponent","func","AllThirdPartyComponent","CouncilMemberComponent","TypesOfTopicsComponent","PositionsOfCouncilModel","BoardsOfDirectorsModel","CouncilAndMembersAffairsModel","ThirdPartyModel","Cause","TypesOfTopicsModel","VacationsComponent","employeeService","vacationTypeService","employees","VactionsTypes","EmployeeId","From","To","SubmissionDate","VactionTypeId","VacationModel","EmployeeName","VactionTypeName","VacationService","VacationsTypesComponent","MaxNumberInYear","Color","MaximumConsecutiveDays","NeedPermission","VacationsTypesModel","VacationsTypesService","AttendanceSessionService","formData","append","AllSessionsComponent","SessionList","debugMode","SearchFrom","SearchTo","displayMode","dateSearch","SearchKey","AddEnabled","openSession","IsOpen","OpenNewSession","dateString","splitDate","toString","split","mode","perPage","FormData","selectedFile","files","UploadExcel","filterDataByDateRange","showDelModal","uploadFile","NgxCountdownComponent","onComplete","countdown","getTime","countdownObservable","val","manipulateInterval","interval","countdownCompleted","abs","completed","hours","floor","minutes","seconds","padStart","emit","ViewSessionComponent","AttendanceSession","SessionLogsModel","count","Record","AttendanceSessionId","CheckIn","IsAttenance","Status","RecordEmployee","SessionLogs","CheckInDate","days","getDay","getHours","Minutes","getMinutes","Seconds","getSeconds","now","nowDay","nowhours","nowMinutes","nowSeconds","dt2","dt1","diff","round","CloseSession","SelectEmployee","SaveRecord","AttendanceSessionModel","SessionTime","CloseTime","NumberOfRecords","AttendanceSourceId","AttendanceSourceNameAr","AttendanceSourceNameEn","EmployeName","EmployeCode","CheckOut","IsInVacation","AttendanceSourceName","CheckInAttendanceSourceId","CheckOutAttendanceSourceId","CreateHolidayComponent","HolidaysComponent","addHolidayDetailsModel","DetalsName","DetalsDate","detailsForm","deletedIndex","indexOf","HolidayId","HolidaysService","HolidayDetailsModel","HolidaysModel","ShiftsComponent","weekDays","addShiftDetailsModel","ShiftName","getAllWeekDays","detal","DayId","WeekDay","DayNameAr","DayNameEn","ShiftDetailsModel","ShiftId","StartTime","EndTime","AttendaceTimeFrom","AttendaceTimeTo","BeginningTimeFrom","BeginningTimeTo","AllowableDelayTime","ShiftModel","ShiftService","ActionStatusModel","ActionsModel","NotesAndAttachmentModel","Time","Notes","ActionId","ActionStatusId","ActionStatusName","ActionName","ActionStatusService","ActionStatusComponent","ActionService","AddActionsComponent","NotesAndAttachmentService","NotesAndAttachmentComponent","ActionsService","actionStatusObject","actionStatusOgData","ActionStatusForm","ActionsObject","ActionsOgData","ActionForm","addToListId","ItemsBalanceHeaderId","ItemBalanceId","smallModalActions","ActionList","ActionStatusList","type","visable","visable2","visable3","loadActionsStatuseData","loadActionsData","SavedObj","UpdateList","loadActionStatusData","createActionStatusForm","createActionsForm","obj2","showAddNewActionModalRef","showAddNewActionStatuseModalRef","SaveActionStatuse","SaveActions","EmployeesManagementModel","Nickname","MiddleName","EmployeeType","EMail","Type","MobileNumber","GroundPhoneNumber","PersonalEmail","FirstAddress","SecondAddress","PostalCode","FirstPermanentAddress","SecondPermanentAddress","PermanentCity","PermanentGovernorate","PermanentPostalCode","JobTitelId","DepartmentId","JobLevelId","JoiningDate","LanguageId","JobRoleId","Day","AttendanceShiftId","VacationPolicyId","AttendanceDeterminantsId","IsAccessToTheSystem","SendLoginDataByMail","JobLevelName","JobTypeName","DepartmentName","JobTitelName","BranchName","CountryNameAr","CountryNameEn","JobTypeId","IsDefaultFiscalDate","AddEmployeesManagementComponent","CountryService","JobLevelsService","JobTitlesService","JobTypesService","BranchesService","DepartmentService","showItemIndex","isLastOpen","AlertMessage","Month","CountryList","JobTitelList","JobLevelList","JobTypeList","BranchList","DepartmentList","locales","format","year","getFullYear","monthList","Array","formatter","Intl","DateTimeFormat","month","getMonthName","monthIndex","map","CompanyId","EmployeesManagementService","InfoEmployeesManagementComponent","NotesService","NotesList","Country","NotesObject","ogNotesData","NotesForm","Attachments","GetAllEmployeeId","ListEmployeesManagementComponent","ProducteList","JobName","AddUsersComponent","InfoUsersComponent","UsersService","HRRoutingModule","DepartmentModel","ManagerId","limitation","InfoDepartmentComponent","ListDepartmentComponent","JobLevelsModel","InfoJobLevelsComponent","ListJobLevelsComponent","JobTitlesModel","InfoJobTitlesComponent","ListJobTitlesComponent","JobTypesModel","InfoJobTypesComponent","ListJobTypesComponent","PredecessorComponent","CurrencyService","treasuryService","currencies","Treasuries","Installments","toISOString","Amount","InstallmentAmount","CurrencyId","InstallmentNumber","ReimbursementRate","StartDateOfTheInstallments","TreasuryId","PaymentFromSalarySlip","controls","setValue","amount","PredecessorModel","PredecessorService","EmployeesChoiceModel","SalariesManagerId","EmployeesName","EmployeesExcludedModel","SalariesManagerModel","CheckAttendance","GrammarChoose","EmployeesChoose","JobTitletId","ArrestCycleId","dateOfRegistration","StartingDate","EmployeesChoice","EmployeesExcluded","AcceptAll","IsPayment","AddSalariesManagerComponent","EmployeesService","JobTitleService","SelectedEmployeesChoice","SelectedEmployeesExcluded","EmployeesList","BranchesList","JobTitletList","getLastNumber","EmployeesChoiceList","cat","ReverseEmployeesChoose","onMaterialGroupEmployeesExcluded","ReverseGrammarChoose","onMaterialGroupChangeEmployeesChoise","SalariesManagerPayment","SalariesPaymentId","SalariesPaymentModel","PaymentDate","BankAccountId","PaymentOfApproved","PaymentOfSelected","AddSalariesPaymentComponent","SalariesManagerService","TreasuryAndBankAccountsService","SelectedSalariceManager","SalariesManagerList","BankAccountList","ReversePaymentOfSelected","ReversePaymentOfApproved","onMaterialGroupChangeSalariesManager","SalariesPaymentService","SalarySlipDeductionModel","SalaryItemsId","SalaryItemName","SalarySlipDueModel","SalarySlipId","SalarySlipModel","TotalSalary","TotalDiscount","NetSalary","SalarySlipDeductionList","SalarySlipDueList","Statuse","AddSalarySlipComponent","salaryItemsService","salaryItems","duesItems","deducationsItems","addedDuesList","salaryDueModel","addedDeductionsList","salaryDeductionsModel","CurrencyList","currentTotal","SalaryItemTypeNameEn","executeEdit","executeAdd","Sub","model","ContractId","SalaryItemId","DeductionsForm","itemIndex","ItemName","createDueForm","dueForm","SalaryItemsService","SalarySlipService","ContractsComponent","JobLevels","JobTitles","ContractName","BasicSalary","ContractCode","JobTitleName","JobTitleId","TestEndDate","TheDateOfSigningTheContract","Duration","DurationType","ArrestCycle","SalaryDues","SalaryDeductions","ContractFiles","endType","file","FileUrl","UploadContractFileComponent","hasDragOver","editmode","url","urlChange","NationalIDImage","disableMultipart","autoUpload","response","res","apiUrl","parse","ContractService","ContractFilesModel","ContractModel","SalaryDeductionsModel","SalaryDuesModel","InfoSalariesManagerComponent","EmployeesExcludedList","SalariesPaymentList","SalarySlipList","GetAllBySalariesId","ListSalariesManagerComponent","ListSalarySlipComponent","SalaryItemsComponent","ItemTypeId","ItemValueByAmount","ItemValueByPercent","getAllSalaryItemType","types","SalaryItemsModel","SalaryItemTypeNameAr","HrDashboardComponent","HRModule","BalanceNameModel","BalanceNameComponent","BalanceNameService","put","AdditionAdjustmentModel","CompanyDataId","BranchesDataId","StoreDataId","ItemsHeaderId","UnitTypeId","UnitPrice","Quantity","TotalValue","AdditionAdjustmentComponent","StoreDataService","StoreDataList","ItemsList","getTotal","Data","getAllItems","CodingUnitsId","getPrice","AdditionAdjustmentService","AddItemBalanceComponent","FooterService","ItemBalance","FooterModel","FModel","BalanceDataList","ItemBalanceModel","TotalQuantity","ItemValueDetails","TValue","BalanceNameAr","BalanceNameEn","BalanceNameId","StoreAr","StoreEn","Year","IsPosted","Footer","AddonClick","FooterModelDet","ItemsUnitId","ItemQuantity","ItemPrice","ItemValue","Items","total","Item","calculateTotalItemValue","ListItemBalanceComponent","ItemBalanceList","Footers","ItemsModel","TaxApiCode","Stock","CodingType","ProductTypeAr","ProductTypeEn","ProductTypeId","MeasurCode","catchError","arg0","ItemBalanceService","CountryCodeModel","CodeTaxTabel","GovernorateCodeModel","CountryCodeId","GovernorateNameL1","GovernorateNameL2","CityCodeService","CountryCodeService","GovernorateCodeService","StoreDataModel","GovernorateCodeId","CityCodeId","StoreAddress","StoreMobil","StorePhone","StoreFax","StoreWhatsapp","StoreEmail","StoreManager","StoreDataComponent","cityCodeService","governorateCodeService","CountryCodeList","cityCodeList","GovernorateCodeList","getAllCountryCode","governorateData","CityData","BrandComponent","Image","CategoryComponent","CategoryId","AddInventoryManagementComponent","WarehouseService","ProductesService","InventoryNumber","WarehouseId","IsSettlement","WarehouseList","InventoryItemsList","InventoryItems","bell","ItemId","SalePrice","QuantityNumberInStock","QuantityNumberInProgram","InventoryList","InventoryId","calculateQuantity","InfoInventoryManagementComponent","total2","totalQuantity","InventoryManagementService","InventorySheetComponent","InventoryItemObject","mainItemForm","GetAllByInventoryId","createItemForm","Inventory","executeAddeObject","WarehouseName","AddObject","ListInventoryManagementComponent","Message","WarehouseData","AddPriceListComponent","StoreItemsService","itemsData","PriceList","ItemsPriceList","PriceListId","InfoPriceListComponent","PriceListComponent","PriceListService","AddServicesComponent","CategorySevice","StoreItemsModel","ServiceCode","PurchasingPrice","FirstTaxId","SecondTaxId","LowestSellingPrice","Discount","ProfitPercentage","Tags","IsDisable","AvailableOnline","FeaturedProduct","FirstTaxesList","SecondTaxesList","CategoryList","SelectedCategoryList","CategoryItemList","getAllTaxes","ServicePriceList","ServiceCategory","pre","ServiceId","onMaterialGroupChange","calcProfitPrice","calcSalePrice","InfoServiceComponent","ListAllServicesComponent","SkuNumber","ServiceService","AddProductesComponent","UnitTypeService","BrandService","Alert","Barcode","DiscountType","UnitList","BrandList","ItemsPriceList2","WarehouseList2","WarehouseDataId","SelectedBrandList","ItemPriceList","ItemBrand","ItemCategory","WarhouseItem","items","allSelect","BrandId","onMaterialGroupChangeCategory","onMaterialGroupChangeBrand","InfoProductesComponent","CategoryService","StockAdjustmentService","TotalQuantitySoled","Last28DayesQuantitySoled","Last7DayesQuantitySoled","AverageUnitPrice","StockAdjustmentList","getByItemId","ListAllProductesComponent","WarehouseItemList","element2","OperationTypeService","StockAdjustmentComponent","SubtractService","StockAdjustmentModel","MovementNumber","QuantityEditType","OperationTypeId","SubAccountId","InventoryBeforeQuantity","InventoryAfterQuantity","AccountesList","OperationList","selectedWarehouse","GetAllSubAccountes","getLastMoveNumber","MoveNumber","StockAdjustmentId","OperationType","QuantityAfter","QuantityBefour","SubtractStockAdjustmentService","StoreBillService","AddStoreBellComponent","MessagChoice","BillType","IsApproval","SecondWarehouseId","ItemsStoreBell","StoreBillId","AdjustedQuantity","ItemsStoreBillList","setQiantity","setQuantityByWarehouse","itemId","calculateTotalQuantity","ItemStoreList","InfoStoreBellComponent","SubAccountName","InfoSubtructBillComponent","InfoTransferBillComponent","SecondWarehouseName","ListStoreBellComponent","constructor","name","BellType","searchUsingKeys","SubtractStoreBillService","SubtractStoreBillComponent","TransfareBillService","TransferStoreBillComponent","InvintoryDashbordComponent","AdjustmentOperationModel","BrandItemsModel","BrandModel","CategoryItemsModel","CategoryName","CategoryModel","InventoryItemsModel","InventoryManagementModel","tooltip","ItemsPriceListModel","PriceListNameAr","PriceListNameEn","ItemsStoreBellModel","PriceListModel","ServiceCategoryModel","ServiceModel","StoreBillModel","WarehouseBrancheModel","WarehouseEmployeesModel","WarehouseJobRoleModel","WarehouseItemModel","WarehouseModel","Mobil","Fax","IsPrime","WarehouseValidityList","Employees","Branches","JobRoles","WarehouseValidityModel","DetailedMovementOfInventoryComponent","DetailedMovementOfInventoryService","warehouseService","today","liabilities","PropertyRights","nodeList","categories","brnads","warehouses","TotalAssets","Totalliabilities","TotalPropertyRights","assets","search","document","getElementById","style","display","canvas","imgWidth","pageHeight","imgHeight","height","width","heightLeft","contentDataURL","toDataURL","pdf","position","addImage","save","printContents","popupWin","innerHTML","window","open","print","Search","exportTable","EstimatedinventoryValueComponent","EstimatedinventoryValueService","categoryService","brandService","brands","InventorySheetReportComponent","InventorySheetService","StoreBalanceSummaryComponent","StoreBalanceSummaryService","SummaryOfInventoryOperationsComponent","SummaryOfInventoryOperationsService","InfoWarehouseComponent","ValidityService","EmployeesData","BranchesData","JobRoleData","getAllWarehouseValidity","getAllBranches","getAllEmployees","getAllJobRoles","BrancheList","JobRoleList","AddWarehouseComponent","BrandServiceService","CategoryServiceService","ListAllWarehouseComponent","AllPackagesComponent","PeriodValue","PeriodType","PackageModel","SubscriptionModule","SubscriptionRoutingModule","AppComponent","langService","isMultiColorActive","init","addClass","body","AppModule","entryComponents","bootstrap","loadChildren","m","ViewsModule","AppRoutingModule","BootstrapModule","ComponentsCardsModule","GradientCardComponent","GradientWithRadialProgressCardComponent","icon","title","progressText","percent","PostCardComponent","PriceCardComponent","RadialProcessCardComponent","isSortable","ComponentsCarouselModule","GlideThumbsComponent","sidebarService","glideThumbCountMax","glideCount","renderArrows","activeIndex","sidebarSubscription","getSidebar","sidebar","containerClassnames","err","message","thumbBreakpoints","settingsThumbs","breakpoints","newBreakpoints","prop","perView","min","glideSlides","nativeElement","childNodes","fill","updateThumbBreakpoints","glideCarouselImages","glideRef","settingsImages","direction","glideCarouselThumbs","glideThumbsRef","on","thumbsResize","imagesSwipeEnd","mount","settings","thumbsPerView","go","gap","clearTimeout","updateTimeout","destroy","unsubscribe","GlideComponent","glideCarousel","createEvent","initEvent","dispatchEvent","bulletIndex","ComponentsPagesModule","PostComponent","lightbox","src","thumb","centerVertically","positionFromTop","disableScrolling","wrapAround","RecentPostComponent","UserFollowComponent","ComponentsPlayerModule","PlayerComponent","options","player","videoPlayer","onPlayerReady","dispose","adminRoot","basePath","invoicesPath","AccountingPath","accountPath","InventoryPath","membershipsPath","healthCarePath","myPharmacyPath","myCouncilAndMembers","HRPath","hrPath","imgurl","to","subs","ApplicationMenuComponent","isOpen","toggle","stopPropagation","menuClick","BreadcrumbComponent","activatedRoute","menuItems","pathArr","getUrl","events","firstChild","paramtersLen","params","foundedMenuItem","menu","deepSub","ColorSwitcherComponent","colors","selectedColor","isOpenSwitcher","toggleClass","radius","changeRadius","color","location","reload","removeClass","toggleSwitcher","FooterComponent","datePipe","myDate","transform","HeadingComponent","LayoutContainersModule","SidebarComponent","authService","selectedParentMenu","viewingParentMenu","closedCollapseList","currentUser","getUser","user","subscription","currentUrl","join","selectMenu","setContainerClassnames","selectedMenuHasSubItems","scrollTo","nextClasses","getMenuClassesForResize","isCurrentMenuHasSubItem","findParentInPath","menuItem","parentMenu","changeSelectedMenuHasSubItems","menuClickCount","selectedParent","hasSubMenu","currentClasses","includes","addContainerClassname","classes","windowWidth","innerWidth","menuHiddenBreakpoint","subHiddenBreakpoint","isTrusted","lable","roles","role","menuClicked","SidebarService","initialSidebar","defaultMenuType","clickOnMobileMenu","strCurrentClasses","before","getValue","next","asObservable","str","clickIndex","classname","newClasses","TopnavComponent","displayName","isFullScreen","isDarkModeActive","searchKey","menuButtonClick","mobileMenuButtonClick","languages","supportedLanguages","currentLanguage","languageShorthand","isSingleLang","replace","fullscreenElement","exitFullscreen","documentElement","requestFullscreen","language","signOut","key","input","querySelector","classList","remove","elem","contains","parentElement","add","queryParams","toLowerCase","trim","searchAreaClick","searchKeyUp","searchClick","onDarkModeChange","fullScreenClick","AddNewProductModalComponent","modalService","config","backdrop","ignoreBackdropClick","template","styles","BlogCategoriesComponent","BlogContentComponent","openLightbox","BlogSideVideoComponent","FeatureComparisonComponent","ListPageHeaderComponent","displayOptionsCollapsed","showOrderBy","showSearch","showItemsPerPage","showDisplayMode","itemOptionsOrders","changeDisplayMode","addNewItem","selectAllChange","itemsPerPageChange","changeOrderBy","PagesContainersModule","ProductDetailCommentsComponent","comments","ProductDetailInfoAltComponent","rate","ProductDetailInfoComponent","ProductDetailOrdersComponent","orders","ProductDetailTabsComponent","ProfileFriendsComponent","ProfileGalleryComponent","gallerySmall","galleryXlarge","galleryLarge","gallery","ProfilePhotosComponent","album","close","ProfilePortfolioItemsComponent","ProfilePostsComponent","ProfileProcessComponent","ProfileRecentPostsComponent","ProfileUserPortfolioComponent","ProfileUserSocialComponent","ProfileWhoToFollowComponent","blogData","description","badge","blogCategories","link","status","large","address","date","statusColor","posts","profilePic","image","video","likeCount","commentCount","likes","img","category","sales","stock","question","answer","AllDoctorsComponent","CreateDoctorComponent","membership","GraduationDocument","MembershipService","UploadDoctorProfileImageComponent","MembershipProfile","UploadGraduationDocumentForDoctorComponent","UploadNationalidImageForDoctorComponent","AllHealthCarePackagesComponent","HealthCarePackageModel","HealthCareModule","HealthCareRoutingModule","HealthCareComponent","AllHealthCareSubscriptionsComponent","MmemberName","PackageName","PackagePrice","CreatrHealthCareSubscriptionComponent","Age","DegreeOfKinship","members","packages","FamlyForm","createFamlyForm","PackageId","HealthCareSubscriptionModel","ClientInvoicesService","ClientInvoicesComponent","InvoiceReportComponent","companyNameAr","companyNameEn","openForExport","printInvoice","PurshasesReportComponent","GetPurshasesForReport","CustomerAccountStatementComponent","CustomerAccountStatementService","branchService","accountService","accounts","branches","CustomerBalancesComponent","CustomerBalancesService","CustomerPaymentsComponent","CustomerPaymentsService","CustomerSalesComponent","CustomerSalesService","currencyService","DailyInvoicesComponent","DailyInvoicesService","DebtReconstructionComponent","DebtReconstructionService","SearchModel","InvoiceReportService","TableEngine","BranchModel","CountryCode","CityName","BuildingNo","NotableMark","BranchService","BranchesComponent","ClientModel","TaxNumber","ClientService","ClientsComponent","matchTaxNumberWithClientType","control","taxNumber","clientType","taxMatch","match","CodingUnitModel","UnitInTheTaxSystem","UnitInTheCompanySystem","AcceptFromTaxs","CodingUnitsComponent","UnitTypesJson","CompanyApiModel","ApisURL","Token","RegistrationNumber","RegistratioName","client_id","client_secret","client_secret2","ActivityCode","CompanyApiService","CompanyApiComponent","service","currentCompany","companyApiList","loadAllData","removeItem","setItem","comany","CreateInvoiceComponent","getItemServes","TaxTypesService","getBranchServes","getClientServes","postInvoiceServes","PaymentPlanService","costCenterService","SelectedItemList","BranchHolderList","ItemModelList","ClientHolderList","FinalListItemPost","totalSalesAmount","totalTax","totalDiscountAmount","valueAddedTax","amountAfterDiscount","totalAfterTax","selectedCompanies","companies","companiesNames","paymentPlans","centers","units","lastCode","selectedCostCenters","costCenterId","itemtemplate","currency","BankName","postInvocemodel","BankAddress","BankAccountNo","BankAccountIBAN","SwiftCode","Approach","Packaging","DateValidity","ExportPort","CountryOfOrigin","GrossWeight","NetWeight","getDataForAddItem","getLastCode","last","PaymentForm","createPaymentForm","DelivaryForm","createDelivaryForm","popupTax","taxItemSelected","InvoiceForm","InvoiceNumber","TaxActivityCode","ReleaseDate","DueDate","salesorder","Initialinvoicenumber","PurchaseOrder","BranchDropdwon","TypeDropdwon","company","Currency","PaymentPlanId","ItemForm","quantity","TaxItemSelected","TaxHeaderName","taxs","branchID","test","selectedItem","totalPrice","totalAfterDiscount","TotalPriceAfterTax","InvoiceSummary","sel","OnChangePriceSelectedItemTax","ClientID","ClientType","TotalTax","invoiceForm","Lang","PurchaseDate","SalesOrder","TotalPrice","paymentData","delivaryData","CostCenters","extraDiscountAmount","InvoiceId","AmountEGP","AmountSold","SsalesTotal","DiscountAmount","DiscountRate","NetTotal","TotalTaxableFees","Rate","ItemsDiscount","CurrencySold","Taxes","totalItemsDiscountAmount","Percentage","netAmount","totalAmount","postData","addItem","taxlist","indexselectedCompanies","TaxId","ItemID","paymentPlanId","manth","getUTCMonth","day","getDate","setFullYear","setUTCMonth","setDate","NumberOfDays","CostCenterId","JournalFooterId","Percent","cost","totalPercent","openModalWithClass","assign","OnClickClientItem","ItemPostModel","ValueDifference","CurrencyExchangeRate","BranchItemModel","ItemModel","PostInvoiceModel","SupplierId","Terms","TaxModel","IsRate","TaxType","SubType","GetBranch","GetClient","GetItem","PostInvoiceServes","CurrencyModel","Value","IsMain","CurrenciesComponent","countries","currencyList","InvoiceComponent","InvoicesModule","InvoicesRoutingModule","InvoiceModel","uuid","InvoiceService","TokenPin","InvoicesComponent","pdfSrc","SendId","Send","printFromBackEnd","CodingUnitId","IsSendToTaxes","ItemService","ItemsComponent","SendToTaxes","ProductTypeModel","ProductTypeService","ProductTypesComponent","ProjectsComponent","PurchasesComponent","GetPurchases","printInvoicePurshases","StaffModel","Role","StaffService","StaffComponent","email","AddExpensesAndPurchasesComponent","supplierServes","expensesCategoryServes","getProjectServes","postExpenses","expensesTypeList","projectList","SuppliersList","expensesList","titleButton","modelState","expensesItem","LoadCase","EditForm","ShowForm","AddForm","ExpensesForm","NameArInputForm","NameEnInputForm","QuantityInputForm","PriceInputForm","checkboxInputForm","DescriptionArInputForm","DescriptionEnInputForm","DateInputForm","expensesTypeDropdwon","projectDropdwon","SuppliersDropdwon","datepipe","formattedDate","CostOfMerchandise","DescriptionAr","DescriptionEn","disabled","Update","onWarning","expensesForm","invoceExpensesModel","onSuccess","onError","Warn","AddSuppliersComponent","cityServes","countryServes","GetSupplier","supplierTypeModel","CityList","SuppliersItem","AddressInputForm","PhoneInputForm","PostalCodeInputForm","CountryIdDropdwon","CitiyNameDropdwon","SupplierTypeDropdwon","SupplierType","suppliModel","CitiyName","ExpensCategoryComponent","changeFilter","selectAll","changePage","ExpensesAndPurchasesComponent","GetSupplierServes","SupplierName","findByCode","ProjectName","ExpensesCategoryName","onClick","InvoceExpensesModel","SuppliersModel","ProjectViewComponent","projectModel","ProjectForm","ArName","addModal","inputValue","english","arabic","showAddModal","showEditModal","hideAddModal","CityServes","CountryServes","GetExpensesCategory","PostExpensesItemServes","GetProject","ShowSuppliersComponent","state","fileInput","TaxTypesModel","AccountId","TaxableTypeCode","TaxableSubTypeCode","ISMain","TaxTypesComponent","countriesList","taxTypesJson","nonTaxableTaxTypesJson","taxSubtypesJson","allTaxTypes","fixedTypes","Desc_en","Desc_ar","ViewInvoiceComponent","invoiceService","invoice","AllMembershipsComponent","CreateMembershipComponent","MembershipProfileComponent","UploadGraduationDocumentComponent","UploadMembershipProfileComponent","UploadNationalidImageComponent","ViewMembershipComponent","MembershipModule","MembershipRoutingModule","MembershipModel","MyPharmacyPackagesComponent","MyPharmacyPackageModel","CreateMyPharmacySubscriptionComponent","MyPharmacySubscriptionComponent","MyPharmacySubscriptionModel","MyPharmacyModule","MyPharmacyRoutingModule","MyPharmacyComponent","SearchPipePipe","TableFilterPipe","UserRole","AuthService","auth","credentials","signInWithEmailAndPassword","password","createUserWithEmailAndPassword","updateProfile","updateCurrentUser","sendPasswordResetEmail","confirmPasswordReset","newPassword","u","languageKey","LangService","rendererFactory","defaultLanguage","shorthand","createRenderer","setTranslation","setDefaultLang","use","setAttribute","isSupportedLanguage","checkForDirectionChange","currentLang","Language","SharedModule","getThemeColor","defaultColor","themeColorStorageKey","setThemeColor","getThemeRadius","themeRadiusStorageKey","setThemeRadius","getThemeLang","setThemeLang","getUserRole","defaultRole","setUserRole","CreateExpensesComponent","accountsNameService","ExpensesService","ExpensesCategoryService","LockersDataService","BankCodeService","taxService","PurchaseInvoiceService","expenses","buttonName","curenncies","users","SelectedAccount","ExpensesId","SelectedCostCenters","LockersData","AccountsNameModel","PackUpAccounts","Banks","taxes","invoices","centersLoaded","TreasuriesLoaded","taxesLoaded","AccountsLoaded","categoriesLoaded","curennciesLoaded","maxAmount","GetAllNotPayed","cstegorie","cosetCenters","Accounts","Files","TheRecipient","TaxValue","IsMulti","WithCostCenters","IsFrequent","FrequentType","ExpiryDate","Treasury","TreasuryType","PurchaseInvoiceId","changeAccountAmount","selectedDailyrestrictionsFooterModel","GetPayedAmount","invoiceIndex","TotalItemGrossPrices","ExpensesComponent","listHeader","currentDate","codeWasChecked","newExpensesItemInternalId","selectedCurrency","enableDebugOnAllServices","prepChangeSort","UploadExpensesFileComponent","ExpensesAccountsModel","ExpensesCostCenterModel","ExpensesFilesModel","ExpensesModel","AccountBalanceModel","Totaldebit","TotalCredit","Totalbalance","accountBalanceFooterList","AccountBalanceFooterModel","Accountsnameid","Debit","Credit","SelectedAccountBalanceFooterModel","AccountsBalancService","AccountBalanceComponent","accountsTypeService","accountsTypeModel","TotalCreditor","TotalDebtor","HeaderFormGroup","BalanceNameDropdwon","startDate","indexselected","valid","subAccountBalanceFooterModel","AccountFicationCostTypeComponent","BasicModel","AccountFicationCostTypeService","AccountFicationsComponent","AccountFicationService","AccountMenuComponent","AccountMenuService","AccountNameModel","ParentName","AccountNumber","Parentcode","Levelcode","AccounExpensesTypeId","AccountFicationId","AccountFicationType","AccountMenuId","AccountType","AccountNature","IsNotMenu","IsCurrencyEvaluation","ItIsLinkedToAcostCenter","AccountsNameService","AccountNameActionsComponent","accountNatureService","accountMenuService","accountFicationService","accountFicationCostTypeService","accountExpensesTypeService","accountFicationList","accountFicationCostTypeList","accountExpensesTypeList","accountsTypeList","accountMenuList","AccountNatureList","AccountsNameList","IsMainAccountcheck","formLoaded","AccountNameActionsFormGroup","AccountExpenses","AccountFication","AccountFicationcost","AccountMenu","MainAccount","IsMainAccount","NameArControl","NameEnControl","LevelCode","NotMenu","IsNotActive","accountNameActionsFormGroup","accountNameModel","AccountNameComponent","ExpensesTypes","accountMenus","accountsTypes","accountFications","accountFicationCostType","accountExpensesTypes","Children","accountModel","SetCostCenters","LastAccountNumber","formCreated","openProjects","nodeCount","levelLimit","treeControl","node","dataSource","hasChild","_","lodingNature","lodingMenu","lodingaccountsType","lodingaccountFications","lodingaccountFicationCostType","lodingaccountExpensesTypes","getDataNodes","getData","GetLastAccountCode","accountNumber","child","drawTreeFromTop","currentlevelList","nextLevelList","childNode","tempNode","AssignCostCentersComponent","saveCostCenters","AddNewCostCenter","AccountNaturesComponent","AccountNatureService","AccountTypeComponent","AccountsTypeService","AccountPowerComponent","AccountingManualComponent","AccountingDashboardComponent","AssetsReportService","AssetsReportComponent","TotalDevastations","BalanceOfPreviousDepreciations","PeriodicDevastations","CurrentAmount","BalanceSheetService","BalanceSheetComponent","balanceSheetService","Assets","Liabilities","CapitalAndPropertyRights","KeyEn","CashFlowsComponent","totalCashFlowFromOperations","totalCashFlowFromInvestments","totalCashFlowFromFinancing","changeType","details","KeyAr","CashFlowFromOperations","DepreciationExpense","IncreaseInAccountsPayable","IncreaseInCustomerAccountsReceivable","IncreaseInInventory","CashReceivedFromTheSaleOfAssets","CashFlowFromInvestments","CashSpentToPurchaseAssets","IncreaseInCommonStock","CashFlowFromFinancing","CashFlowsDataModel","CashFlowsDetailsModel","CostCenterReportComponent","CostCenterReportService","mainCenters","subCenters","BackUpmainCenters","BackUpsubCenters","CenterType","MainCostCenterId","DailyRestrictionsReportComponent","DailyRestrictionsReportService","sources","IncomeListComponent","IncomeListService","totalIncomes","totalOutComes","Incomes","Expenses","LedgerAccountComponent","LedgerAccountService","TaxReportComponent","TaxReportService","TaxReturnReportComponent","TaxReturnReportService","totalAmountAdjustments","totalTaxDue","AmountAdjustments","TaxDue","tabletreeControl","TrialBalanceBalancesComponent","TrialBalanceBalancesService","groupedByData","displayedColumns","transformer","expandable","treeFlattener","tablehasChild","groupByKey","getDataNodes2","reduce","rv","AccountingModule","AccountingRoutingModule","AccountsComponent","openIsCurrencyEvaluation","openItIsLinkedToAcostCenter","viewData","level","ngOnInit","AcountingBaseDataComponent","AddPaymentModeComponent","CheckTypeService","AllDailyrestrictionsComponent","FiscalYearService","dailyRestrictionsService","dailyRestrictions","AccountNameId","loadDataAndReverse","Info","AssetsService","AllAssetsComponent","mainAccounts","subAccounts","ServiceStartDate","MainAccountId","PlaceId","ProductiveAge","PurchaseAmount","CashAccountId","Tax1Id","Tax2Id","ScrapValue","ScrapType","FixedDepreciationValue","PeriodDepreciation","PricePerUnit","TheNameOfTheLargestUnit","TotalParentUnits","AssetsItemForm","UnitCost","newAssetsItemInternalId","fileUrl","GetAllFixedAssets","checkCode","detailedObject","targetIndex","TheEndDateOfDepreciation","AssetsItemObject","accountId","AssetId","UploadAssetsFileComponent","assetsFile","ViewAssetComponent","DepreciationModel","IsAuto","IsPayed","DepreciationForm","createDepreciationForm","Depreciation","DepreciationOfAssets","DepreciationList","showDepreciationModal","SaveDepreciation","AssetsFileModel","AssetsModel","EpreciationExpenseAccountId","AccumulatedDepreciationAccountId","DepreciationOfAssetsModel","selectedCenters","columns","GetByAccountId","Auto","rows","GetAllSub","r","AddNewCost","AccountsCostCentersModel","AccountNameAr","AccountNameEn","AccountsCostCentersService","BankCodeComponent","BankCodeModel","BudgetReportService","BudgetReportComponent","BudgetService","AllBudgetComponent","newBudgetItemInternalId","CreateBudgetComponent","monthlyDistributionService","Budget","BudgetId","MonthlyDistributions","costId","GetByCostCenterId","BudgetAccounts","BudgetAgainst","MonthlyDistributionId","CostCenterNameAr","CostCenterNameEn","FiscalYearId","ApplicableOnMaterialRequest","ApplicableOnBookingActualExpenses","ApplicableOnPurchaseOrder","ActionIfAnnualBudgetExceededOnMR","ActionIfAnnualBudgetExceededOnPO","ActionIfAccumulatedMonthlyBudgetExceededOnMR","ActionIfAccumulatedMonthlyBudgetExceededOnPO","ActionIfAnnualBudgetExceededOnActual","ActionIfAccumulatedMonthlyBudgetExceededOnActual","TotalAmount","BudgetAccountsModel","BudgetModel","AllMonthlyDistributionComponent","newMonthlyDistributionItemInternalId","CreateMonthlyDistributionComponent","MonthlyDistributionService","MonthlyDistribution","monthes","MonthlyNameAr","MonthlyNameEn","MonthlyDistributionPercentages","FiscalYear","MonthlyDistributionModel","CatchReceiptCategoryComponent","CatchReceiptCategoryModel","CatchReceiptCategoryService","CatchReceiptComponent","newCatchReceiptItemInternalId","CreateCatchReceiptComponent","catchReceiptService","catchReceiptCategoryService","catchReceit","CatchReceiptId","CatchReceiptAccountsModel","CatchReceiptCostCenterModel","CatchReceiptFilesModel","CatchReceiptModel","CatchReceiptService","UploadImageComponent","CheckStatusesComponent","CheckStatusService","CheckTypesComponent","CheckBookService","CheckBooksComponent","banckAccounts","currences","BankId","CheckBookNumber","TheFirstSerialNumber","TheLastSerialNumber","GetAllBankAccounts","CheckBookModel","ChecksReceivedService","ChecksReceivedComponent","newChecksReceivedItemInternalId","CreateChecksReceivedComponent","ChecksReceived","DueDateString","ReleaseDateString","CheckNumber","AccountReceivedId","TheCollectionAccount","TheNameIsOnTheCheck","IdEndorsement","EndorsementName","IsCollection","CollectionDate","CollectionDescription","CollectionBy","IsDeposit","DepositDate","DepositDescription","DepositAccountId","DepositBy","RejectedDate","RejectedDescription","RejectedBy","UploadChecksRecievedFileComponent","ViewChecksRecievedComponent","collectionForm","createcollectionForm","depositForm","createdepositForm","rejectForm","createrejectForm","DepositFees","deposit","reject","collection","Collection","Deposit","Reject","account","showcollectionModal","showdepositModal","showrejectModal","ChecksReceivedModel","CreatePaidChecksComponent","PaidChecksService","PaidChecks","checks","CheckBookId","BanckId","banckBook","banck","PaidChecksComponent","newPaidChecksItemInternalId","UploadPaidChecksFileComponent","ViewPaidChecksComponent","PaidChecksModel","CityCodeComponent","countryCodeService","countryBasicModel","onChangeCountryDropdown","CostCenterComponent","Acronym","CenterRating","CostCenterNumber","Stop","costCenter","formView","CenterRatingChanged","CostCenterModel","CostCenterService","CreatCountryComponent","CountryBasicModel","CreatGovernorateComponent","DailyrestrictionsModel","PeriodicType","NotebookReference","BankCodeId","Totalcredit","PeriodicEntry","DailyrestrictionsFooterModel","SelectedDailyrestrictionsFooterModel","CostCenterId1","CostCenterId2","addCostCenters","DailyrestrictionsService","DailyrestrictionsComponent","BankService","accountCostCenter","TaxService","HeaderAccountNameList","FooterAccountNameList","BankList","SelectedDailyrestrictionsFooterModelForModal","costCenters1","costCenters2","taxModal","selectedFooterForTax","reault","GetAllByAccountId","HeaderAccountNameDropdwon","HeaderBankCodeDropdwon","HeaderCurrencyDropdwon","HeaderDescription","GetCode","ChckCode","setErrors","openYear","selectedIndex","onInfo","tax","footer","accountIndex","changeCreditAfterTax","changeDebtorAfterTax","JournalHeaderId","setFileToList","JournalFileModel","JournalFooterCostCenterModel","UploadJournalFileComponent","JournalFile","ExpenseCodesComponent","ExpenseNumber","descriptionEn","descriptionAr","DebitAccount","DebitAccountId","DocumentaryCredits","DebitList","expenseCodeModel","table","ExpenseDefinitionComponent","expanded","expensesNumber","LinkedAccountDebit","distributionMethod","isClearance","ColumnMode","templateshow","row","rowDetail","toggleExpandRow","offset","updateFilter","onPage","onDetailToggle","ExpensessTypeComponent","AccountExpensesTypeService","FiscalYearComponent","Period","end","setUTCFullYear","getMonth","changePeriod","GetOpenFiscalYear","FiscalYearModel","dailyrestrictionsFooterList","GeneralAccountComponent","BankCodeList","GenerateAccountTypeComponent","GenerateAccountTypeService","IconsComponent","iconsService","simpleLineIcons","simplelineicons","iconsMind","iconsmind","IconsService","_simplelineicons","_iconsmind","icons","JournalEntriesTypesService","JournalEntriesTypeComponent","LockerBasicModel","LockerDataComponent","accountsNameList","AccountNameDropdwon","PaymentPlanComponent","PaymentPlanModel","ProjectInfoComponent","RevenueCodesModule","RevenueCode","RevenueEn","RevenueAr","CreditorAccountNumber","CreditorAccountNumberId","RevenueCodesComponent","SelectCostCenterComponent","TreasuryAndBankAccountsComponent","AccountName","DepositRolesType","CreditRolesType","DepositTreasuryAndBankRolesBranchesList","DepositTreasuryAndBankRolesEmployeesList","DepositTreasuryAndBankRolesFunctionalRolesList","CreditTreasuryAndBankRolesBranchesList","CreditTreasuryAndBankRolesEmployeesList","CreditTreasuryAndBankRolesFunctionalRolesList","SelectedDepositTreasuryAndBankRolesBranchesList","SelectedDepositTreasuryAndBankRolesEmployeesList","SelectedDepositTreasuryAndBankRolesFunctionalRolesList","SelectedCreditTreasuryAndBankRolesBranchesList","SelectedCreditTreasuryAndBankRolesEmployeesList","SelectedCreditTreasuryAndBankRolesFunctionalRolesList","TreasuryAndBankAccountsItemForm","newTreasuryAndBankAccountsItemInternalId","showAddNewWithModelObjectModalRef","TreasuryAndBankAccountId","addAccountBanck","TreasuryAndBankAccountsItemObject","CreditTreasuryAndBankRolesBranchesModel","CreditTreasuryAndBankRolesEmployeesModel","CreditTreasuryAndBankRolesFunctionalRolesModel","DepositTreasuryAndBankRolesBranchesModel","DepositTreasuryAndBankRolesEmployeesModel","DepositTreasuryAndBankRolesFunctionalRolesModel","TreasuryAndBankAccountsModel","ViewDailyRestrictionComponent","DataFilterer","searchTerm","searchKeys","objectKeys","dataIndex","keyIndex","dateKeyName","fromDate","toDate","object","DataPaginator","itemsperPage","DataSorter","objKey","sort","n1","n2","CountryModel","DateSearch","filterByDateRange","CompanyModel","Api","AuthorizedPerson","Landline","CompanyService","CompaniesComponent","companyService","searchPipe","currentData","endOfTheList","totalItem","totalPage","CompanyForm","sidepopupOrientation","functionItemsPerPage","functionCurrentPage","companyModalRef","removeAttribute","makeToast","tempCompany","maxLength","deleteCompany","ErrorComponent","SidePopupComponent","CashRegisterModel","Sessions","LastDailyRevenue","LastMonthlyRevenue","LastAnnualRevenue","TotalRevenue","LastActivityDate","LastUserId","LastUserNameAr","LastUserNameEn","CashRegisterService","debugData","CashRegistersComponent","cashierStaffService","configPoSService","currentExpirationDate","configPoS","branchList","cashierStaffList","checkCashierCode","StartingCodeCashRegisiters","branch","getBranchById","getFirst","configPoSData","branchData","cashierStaffData","CashierOrderItemModel","CashierOrderId","CashierOrderCode","ItemNameAr","ItemNameEn","UnitNameAr","UnitNameEn","DiscountValue","DiscountIsRate","NetPrice","AddedValueTax","GrossPrice","Note","CashierOrderItemService","CashierOrderModel","SessionId","SessionCode","CashRegisterId","CashRegisterCode","CashRegisterBranchId","CashRegisterBranchNameAr","CashRegisterBranchNameEn","CashierId","CashierNameAr","CashierNameEn","ClientNameAr","ClientNameEn","IsRefund","ItemTotalPrices","ItemTotalDiscounts","ItemTotalNetPrices","ItemTotalTaxes","ItemTotalGrossPrices","OrderDiscountValue","OrderDiscountIsRate","PaymentMethodId","PaymentMethodAr","PaymentMethodEn","CounterCashBeforeCheckout","CounterCashAfterCheckout","PaidAmount","ChangeGiven","CashierOrderService","CashierOrdersComponent","printing","printingDate","align","textAlign","CashierSessionModel","Active","StartingCash","StartingNote","Orders","OrderCount","RefundCount","SessionTotal","LeaveCash","LeaveNote","LeaveBill025","LeaveBill05","LeaveBill1","LeaveBill5","LeaveBill10","LeaveBill20","LeaveBill50","LeaveBill100","LeaveBill200","HasOrdersInDelivery","WorkShiftId","WorkShiftNameAr","WorkShiftNameEn","WorkShiftFrom","WorkShiftTo","CashierSessionService","currentSession","CashierSessionsComponent","viewedOrder","getByIdWithOrders","order","orderItemsModal","CashierStaffModel","StaffId","LastRegisterId","LastRegisterCode","LastRegisterBranchNameAr","LastRegisterBranchNameEn","CashierStaffService","CashierStaffComponent","staffService","staffList","StartingCodeCashiers","staff","getStaffById","staffData","CashierWorkShiftModel","CashierWorkShiftService","CashierWorkShiftsComponent","checkWorkShiftCode","StartingCodeWorkShifts","timezoneOffset","getTimezoneOffset","FromUTC","setTime","ToUTC","CashierComponent","itemService","paymentMethodService","sessionService","cashRegisterService","cashierOrderService","cashierOrderItemService","_router","SeasionTaxes","printOrder","currentItem","currentOrder","lastSessionCode","orderItemInternalId","currentMode","lastMode","lastButton","quantityLimit","priceLimit","lastOrderCode","endingSession","tempSessionEndNote","itemList","clientList","paymentMethodList","currentTotalItemPrices","currentTotalItemDiscounts","currentTotalItemNetPrices","currentTotalItemTaxes","currentTotalItemGrossPrices","currentTotalAfterCashierOrderDiscount","currentTotalCashierOrderValue","tempNote","tempOrderNote","tempOrderStatus","tempClientId","tempSessionEndCash","Bill05","Bill025","Bill1","Bill5","Bill10","Bill20","Bill50","Bill100","Bill200","BillTotal","tempPaidAmount","tempChangeGiven","modal","calculateTotalCashierOrderValue","DefaultPaymentMethodId","orderStatusModal","endSessionModal","calculateSessionTotal","foundItem","getItemById","calcTotalItemTaxes","Number","toFixed","button","removeOrderItem","DiscountLimit","totalItemPrices","totalItemDiscounts","totalItemNetPrices","totalItemTaxes","totalItemGrossPrices","totalCashierOrderValue","addOrder","paymentMethod","DefaultClientId","insertWithItems","orderModal","updateSession","tempOrderList","tempOrder","tempLeaveCash","nowUTC","executeUpdateSession","newResult","printModal","clientData","itemData","paymentMethodData","StartingCodeSessions","StartingCodeOrders","orderStatusReminderModal","itemNoteModal","oldStatus","client","getClientById","clientModal","BarCode","addOrderItem","totalTaxes","fountInSeasion","setOrderItemNote","updateBills","endSession","closeEndSessionModal","setOrderClient","setOrderStatus","applyOrderStatusUpdate","ConfigPoSModel","DefaultTemplateId","EnableDiscountLimit","EnableAutoCodesForCashRegisiters","EnableAutoCodesForCashiers","EnableAutoCodesForWorkShifts","ActivePaymentMethods","ActiveItems","EnableDigitButtons","EnableItemImages","EnableAccountingPerInvoice","EnableAddingItemsViaSerial","EnableDelayedPayment","EnableAutoSettlement","DefaultEarningsAccountId","DefaultLossesAccountId","ConfigPoSService","ConfigPosGeneralComponent","loadModelObject","toggleInput","disable","enable","editObject","setDiscountLimit","ConfigPosComponent","PosPortalComponent","cashierWorkShiftService","cashierSessionService","cashRegisterList","cashierWorkShiftList","cashierOrderList","cashierSessionList","cashierStaffId","cashierWorkShiftId","cashRegisterId","startingNote","startingCash","cashierSessionData","cashRegisterData","cashierWorkShiftData","cashierOrderData","counter","session","cashierLoginModal","checkActiveSessions","lastSession","reverseSessionList","lastSessionOnMachine","newOrderId","newOrderCode","insertAndStartSession","cashier","machine","workShift","insertWithOrders","LogIntoSession","startSession","ConfigPurchasesModel","EnableAutoPurchaseOrderCodes","EnableAutoRequestReceiptCodes","EnableAutoPurchaseInvoiceCodes","EnableAutoReturnRequestCodes","EnableAutoPurchaseQuotationCodes","EnableAutoQuotationRequestCodes","StartingPurchaseOrderCode","StartingRequestReceiptCode","StartingPurchaseInvoiceCode","StartingReturnRequestCode","StartingPurchaseQuotationCode","StartingQuotationRequestCode","AllowedDiscounts","UpdateItemValuesAfterInvoiceCreation","AutoPaymentIfSupplierHasCredit","PurchaseInvoicesPaidForByDefault","PurchaseInvoicesRecievedByDefault","PurchaseInvoicesManualStatusEnabled","ConfigPurchasesService","ConfigPurchasesComponent","activeItemList","activePaymentMethodList","tempActiveItemList","tempAddedItem","tempItemId","tempPaymentMethodId","tempActivePaymentMethodList","tempAddedMethod","PaymentMethodService","PurchaseInvoiceItemModel","PurchaseInvoiceCode","MaxQuantity","PurchaseInvoiceModel","RequestReceiptId","RequestReceiptCode","SupplierNameAr","SupplierNameEn","PaymentMethodNameAr","PaymentMethodNameEn","StoreNameAr","StoreNameEn","TotalItemPrices","TotalItemDiscounts","TotalItemNetPrices","TotalItemTaxes","InvoicePurchaseComponent","storeDataService","supplierService","requestReceiptService","configPurchasesService","paymentPlanService","allTaxes","configPurchases","storeDataList","supplierList","requestReceiptList","currentBaseValues","currentDiscounts","currentAfterDiscounts","currentTaxes","badValue","requestReceiptHeader","getByIdWithItems","debugId","paymentMehod","getPaymentMethodById","getStoreDataById","updateWithItems","supplierData","storeData","requestReceiptData","configPurchasesData","basevalues","discounts","afterDiscounts","getRequestReceiptById","checkPurchaseInvoiceCode","PurchaseOrderItemModel","PurchaseOrderId","PurchaseOrderCode","PurchaseOrderModel","CreateDateTime","PurchaseOrderService","SupplierService","PurchaseOrdersComponent","purchaseOrderItemForm","newPurchaseOrderItem","newPurchaseOrderItemInternalId","createPurchaseOrderItemForm","supplier","getSupplierById","store","BranchAr","BranchEn","checkPurchaseOrderCode","purchaseOrderItemObject","tempSourceItem","PurchaseQuotationDetailsModel","ExpirationDate","ShippingFees","ShippingAddress1","ShippingAddress2","Services","TotalServices","TotalPurchaseQuotationValue","PurchaseQuotationFileModel","PurchaseQuotationId","PurchaseQuotationCode","PurchaseQuotationItemModel","TotalTaxValues","PurchaseQuotationItemTaxModel","PurchaseQuotationItemId","PurchaseQuotationItemCode","TaxNameAr","TaxNameEn","TaxIsRate","PurchaseQuotationService","PurchaseQuotationServiceModel","PurchaseQuotationsComponent","taxTypeService","addedServiceList","addedFileList","taxTypeList","quotationItemForm","quotationItemTaxForm","quotationServiceForm","newPurchaseQuotationItem","newPurchaseQuotationItemInternalId","newPurchaseQuotationItemTax","newPurchaseQuotationItemTaxInternalId","newPurchaseQuotationService","newPurchaseQuotationServiceInternalId","newPurchaseQuotationFile","newPurchaseQuotationFileInternalId","addedFileUrl","currentTotalAfterPurchaseQuotationDiscount","currentTotalAfterShippingFees","currentTotalServices","currentTotalPurchaseQuotationValue","createPurchaseQuotationItemForm","createPurchaseQuotationItemTaxForm","createPurchaseQuotationServiceForm","calculateTotalPurchaseQuotationValue","tempItemList","itemDebugId","taxDebugId","tempTaxList","tempTax","taxIndex","tempServiceList","tempService","serviceDebugId","tempFileList","tempFile","fileDebugId","expirationDate","taxTypeData","quotationItemObject","quotationItemTaxObject","quotationServiceObject","unitCost","netPrice","totalTaxValues","grossPrice","calculateItemValues","getTaxTypeById","totalAfterPurchaseQuotationDiscount","totalAfterShippingFees","totalServices","totalPurchaseQuotationValue","finalDiscountValue","finalDiscountIsRate","finalPurchaseQuotationDiscount","checkPurchaseQuotationCode","PurchasesPortalComponent","QuotationRequestItemModel","QuotationRequestId","QuotationRequestCode","QuotationRequestModel","QuotationRequestService","QuotationRequestsComponent","currentDueDate","quotationRequestItemForm","newQuotationRequestItem","newQuotationRequestItemInternalId","createQuotationRequestItemForm","dueDate","quotationRequestItemObject","checkQuotationRequestCode","ProductPurchasesComponent","ProductPurchasesService","PurchasesBySupplierComponent","PurchasesBySupplierService","SupplierBalancesComponent","SupplierBalancesService","suppliers","SuppliersDirectoryComponent","SuppliersDirectoryService","RequestReceiptItemModel","RequestReceiptModel","RequestReceiptService","RequestReceiptComponent","purchaseOrderService","purchaseOrderList","requestReceiptItemForm","newRequestReceiptItem","newRequestReceiptItemInternalId","purchaseOrderHeader","createRequestReceiptItemForm","purchaseOrderData","requestReceiptItemObject","getPurchaseOrderById","checkRequestReceiptCode","ReturnPurchaseItemModel","ReturnPurchaseId","ReturnPurchaseCode","ReturnPurchaseModel","ReturnPurchaseService","ReturnPurchasesComponent","purchaseInvoiceService","purchaseInvoiceList","purchaseInvoiceHeader","purchaseInvoiceData","getPurchaseInvoiceById","checkReturnPurchaseCode","UploadInvoicePurchaseFileComponent","PurchaseInvoice","ViewPurchaseInvoiceComponent","RestaurantsCashRegistersComponent","RestaurantCategoryId","RestaurantsCashierOrdersComponent","RestaurantsCashierSessionsComponent","RestaurantsCashierStaffComponent","RestaurantsCashierWorkShiftsComponent","RestaurantsCashierComponent","categoryList","categoryId","activeItems","activeCategories","getCategoryById","categoryData","categoryItems","EnableAutoCodesForMenuItems","StartingCodeMenuItems","EnableAutoCodesForCategories","StartingCodeCategories","RestaurantsConfigPosGeneralComponent","RestaurantsConfigPosComponent","RestaurantsPosPortalComponent","RestaurantCategoryModel","RestaurantCategoryService","RestaurantCategoryComponent","checkCategoryCode","RestaurantMenuItemModel","ImageUrl","RestaurantMenuItemService","RestaurantMenuItemComponent","restaurantCategoryService","restaurantCategoryList","checkMenuItemCode","restaurantCategoryData","UploadItemImageComponent","uploader","QuotationDetailsModel","TotalQuotationValue","QuotationFileModel","QuotationId","QuotationItemModel","QuotationItemTaxModel","QuotationItemId","QuotationService","QuotationServiceModel","QuotationsComponent","newQuotationItem","newQuotationItemInternalId","newQuotationItemTax","newQuotationItemTaxInternalId","newQuotationService","newQuotationServiceInternalId","newQuotationFile","newQuotationFileInternalId","currentTotalAfterQuotationDiscount","currentTotalQuotationValue","createQuotationItemForm","createQuotationItemTaxForm","createQuotationServiceForm","calculateTotalQuotationValue","getUnityById","totalAfterQuotationDiscount","totalQuotationValue","finalQuotationDiscount","SalesPortalComponent","UnauthorizedComponent","webpackAsyncContext","__webpack_require__","o","ids","t","webpackAsyncContextKeys","environment","production","SCARF_ANALYTICS","companyApi","isDarkSwitchActive","defaultDirection","isAuthGuardActive","Admin","apiKey","authDomain","databaseURL","storageBucket","messagingSenderId","appId","measurementId"],"mappings":"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AAU,Y,EAAc;AAAE,sBAAQ;AAAV,W;;;;;;;;;;;;;;;;;;;;AE/D3B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA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AAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;A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B;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACED,YAAM,EAAC,0BADT;AAEEvF,UAAI,EAAE,uBAFR;AAGExrC,WAAK,EAAE,UAHT;AAIEgxC,QAAE,YAAKV,cAAL,CAJJ;AAKE;AACAW,UAAI,EAAE,CACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEzF,YAAI,EAAE,iBADR;AAEExrC,aAAK,EAAE,SAFT;AAGEgxC,UAAE,YAAKV,cAAL,CAHJ;AAIEW,YAAI,EAAE,CACJ;AACEzF,cAAI,EAAE,uBADR;AAEExrC,eAAK,EAAE,eAFT;AAGEgxC,YAAE,YAAKV,cAAL;AAHJ,SADI,EAOJ;AACE9E,cAAI,EAAE,yBADR;AAEExrC,eAAK,EAAE,UAFT;AAGEgxC,YAAE,YAAKV,cAAL;AAHJ,SAPI,EAYJ;AACE9E,cAAI,EAAE,sBADR;AAEExrC,eAAK,EAAE,0BAFT;AAGEgxC,YAAE,YAAKV,cAAL;AAHJ,SAZI,EAiBJ;AACE9E,cAAI,EAAE,mBADR;AAEExrC,eAAK,EAAE,eAFT;AAGEgxC,YAAE,YAAKV,cAAL;AAHJ,SAjBI,EAsBJ;AACE9E,cAAI,EAAE,iBADR;AAEExrC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ACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;;AACA;;;;;;;;;;;;;;;;;;;AAuBA;AACEW,YAAM,EAAE,4BADV;AAEEvF,UAAI,EAAE,uBAFR;AAGExrC,WAAK,EAAE,WAHT;AAIEgxC,QAAE,YAAKZ,QAAL,eAJJ;AAKE;AACAa,UAAI,EAAE,CACJ;AACEzF,YAAI,EAAE,uBADR;AAEExrC,aAAK,EAAE,SAFT;AAGEgxC,UAAE,YAAKZ,QAAL;AAHJ,OADI,EAMJ;AACE5E,YAAI,EAAE,0BADR;AAEExrC,aAAK,EAAE,gBAFT;AAGEgxC,UAAE,YAAKZ,QAAL;AAHJ,OANI,EAWJ;AACE5E,YAAI,EAAE,sBADR;AAEExrC,aAAK,EAAE,iBAFT;AAGEgxC,UAAE,YAAKZ,QAAL;AAHJ,OAXI,EAgBJ;AACE5E,YAAI,EAAE,uBADR;AAEExrC,aAAK,EAAE,kBAFT;AAGEgxC,UAAE,YAAKZ,QAAL;AAHJ,OAhBI,EAqBJ;AACE5E,YAAI,EAAE,yBADR;AAEExrC,aAAK,EAAE,mBAFT;AAGEgxC,UAAE,YA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;;;AAA2C;;AACpG;;AACF;;AACF;;AACA;;AACE;;AACE;;AAEE;;AACE;;;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;AACF;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AAEE;;AACE;;;;AACF;;AACA;;AAEA;;AACE;;AACF;;AACA;;AACE;;AACF;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AAEE;;AACE;;;;AACF;;AACA;;AAEA;;AACE;;AACF;;AACA;;AAEF;;AACF;;AACF;;AACA;;AACE;;AACE;;AAEE;;AACE;;;;AACF;;AACA;;AAEA;;AAEA;;AACE;;AACF;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AAEE;;AACE;;;;AACF;;AACA;;AAEA;;AAEA;;AACE;;AACF;;AACF;;AACF;;AACF;;AACF;;AAGA;;AACE;;AACE;;AACE;;AACE;;AAA+C;;;;AAAwD;;AACzG;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACE;;;;AACF;;AACA;;AACE;;AACF;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACE;;;;AACF;;AACA;;AACE;;AACF;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACE;;;;AACF;;AACA;;AACE;;AACF;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AAA+C;;;;AAAgD;;AACjG;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACE;;;;AACF;;AACA;;AAEF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACE;;;;AACF;;AACA;;AACE;;AACF;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACE;;;;AACF;;AACA;;AACE;;AACF;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AAA+C;;;;AAA2C;;AAC5F;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACE;;;;AACF;;AACA;;AAEF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACE;;;;AACF;;AACA;;AACE;;AACF;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACE;;;;AACF;;AACA;;AAEF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AAA+C;;;;AAA2C;;AAC5F;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACE;;;;AACF;;AACA;;AAEF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACE;;;;AACF;;AACA;;AAEF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACE;;;;AACF;;AACA;;AACE;;AACF;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AAA+C;;;;AAAoD;;AACrG;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACE;;;;AACF;;AACA;;AAEF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACE;;;;AACF;;AACA;;AAEF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACE;;;;AACF;;AACA;;AACE;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;;;AAnTiE;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AASrD;;AAAA;;AAmBA;;AAAA;;AAkBA;;AAAA;;AAiBA;;AAAA;;AAiBA;;AAAA;;AAmB6C;;AAAA;;AAQ7C;;AAAA;;AAYA;;AAAA;;AAYA;;AAAA;;AAW6C;;AAAA;;AAQ7C;;AAAA;;AAWA;;AAAA;;AAYA;;AAAA;;AAW6C;;AAAA;;AAQ7C;;AAAA;;AAWA;;AAAA;;AAYA;;AAAA;;AAU6C;;AAAA;;AAQ7C;;AAAA;;AAWA;;AAAA;;AAWA;;AAAA;;AAW6C;;AAAA;;AAQ7C;;AAAA;;AAWA;;AAAA;;AAWA;;AAAA;;;;;;;;;sED5SCA,0B,EAA0B;cAJtC,uDAIsC;eAJ5B;AACT/1C,kBAAQ,EAAE,wBADD;AAETC,qBAAW,EAAE;AAFJ,S;AAI4B,Q;;;;;;;;;;;;;;;;;;;;AENvC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;;ACKQ;;AACE;;AACE;;AACI;;AACI;;AAAqB;AAAA;;AAAA;;AAAA;AAAA,WAAoC,OAApC,EAAoC;AAAA;;AAAA;;AAAA;AAAA,SAApC,EAAoC,QAApC,EAAoC;AAAA;;AAAA;;AAAA;AAAA,SAApC;;;;AAArB;;AAEJ;;AACJ;;AACJ;;AACA;;;;;;AAJ+D;;AAAA;;AAD9B;;;;;;;;AAMjC;;AACE;;;;AACA;;AACI;;AAGI;AAAA;;AAAA;;AAAA;AAAA,WAAwB,QAAxB,EAAwB;AAAA;;AAAA;;AAAA;AAAA,SAAxB;;;;AAHJ;;AAMJ;;AACA;;;;AACA;;AACI;;AAGI;AAAA;;AAAA;;AAAA;AAAA,WAAsB,QAAtB,EAAsB;AAAA;;AAAA;;AAAA;AAAA,SAAtB;;;;AAHJ;;AAMJ;;AACJ;;;;;;AAlBI;;AAAA;;AAOQ;;AAAA;;AAFA;;AAIR;;AAAA;;AAOQ;;AAAA;;AAFA;;;;;;;;AAaR;;AACE;;AAAsB;AAAA;;AAAA;;AAAA;AAAA;;AACe;;;;AAEvC;;AACA;;;;AAHuC;;AAAA;;;;QDtCpC+1C,uB;AAyBX,yCAAc;AAAA;;AAxBd,aAAAC,uBAAA,GAA0B,KAA1B;AAES,aAAAC,WAAA,GAAc,IAAd;AACA,aAAAC,UAAA,GAAa,IAAb;AACA,aAAAC,gBAAA,GAAmB,IAAnB;AACA,aAAAC,eAAA,GAAkB,IAAlB;AACA,aAAA3/B,WAAA,GAAc,MAAd;AACA,aAAA7a,cAAA,GAAiB,EAAjB;AACA,aAAAH,YAAA,GAAe,EAAf;AACA,aAAAC,kBAAA,GAAqB,CAAC,CAAD,EAAI,EAAJ,EAAQ,EAAR,CAArB;AACA,aAAAY,SAAA,GAAY;AAAEC,eAAK,EAAE,cAAT;AAAyByF,eAAK,EAAE;AAAhC,SAAZ;AACC,aAAAq0C,iBAAA,GAAoB,CAC5B;AAAE95C,eAAK,EAAE,cAAT;AAAyByF,eAAK,EAAE;AAAhC,SAD4B,EAE5B;AAAEzF,eAAK,EAAE,UAAT;AAAqByF,eAAK,EAAE;AAA5B,SAF4B,EAG5B;AAAEzF,eAAK,EAAE,QAAT;AAAmByF,eAAK,EAAE;AAA1B,SAH4B,CAApB;AAKA,aAAAs0C,iBAAA,GAA0C,IAAI,0DAAJ,EAA1C;AACA,aAAAC,UAAA,GAAgC,IAAI,0DAAJ,EAAhC;AACA,aAAAC,eAAA,GAAqC,IAAI,0DAAJ,EAArC;AACA,aAAAzB,WAAA,GAAiC,IAAI,0DAAJ,EAAjC;AACA,aAAA0B,kBAAA,GAAwC,IAAI,0DAAJ,EAAxC;AACA,aAAAC,aAAA,GAAmC,IAAI,0DAAJ,EAAnC,CAGI,CA4BhB;AACA;AAIA;AACA;;AACS,aAAAhgC,UAAA,GAAsB,KAAtB;AACA,aAAAC,SAAA,GAAoB,EAApB;AACA,aAAAC,UAAA,GAAsB,IAAtB;AACA,aAAAlQ,WAAA,GAAmB,IAAnB;AACT,aAAA6P,UAAA,GAAmB,IAAnB;AACA,aAAAC,QAAA,GAAiB,IAAjB;AACA,aAAApa,UAAA,GAAa,IAAb;AAzCmB;;;;mCAGR,CACP;;;4CAEkBgb,I,EAAY;AAC9B,eAAKk/B,iBAAL,CAAuBz9B,IAAvB,CAA4BzB,IAA5B;AACD;;;uCACW;AACV,eAAKm/B,UAAL,CAAgB19B,IAAhB,CAAqB,IAArB;AACD;;;kCACS3a,K,EAAK;AACb,eAAKs4C,eAAL,CAAqB39B,IAArB,CAA0B3a,KAA1B;AACD;;;6CACoBS,I,EAAI;AACvB,eAAK83C,kBAAL,CAAwB59B,IAAxB,CAA6Bla,IAA7B;AACD;;;wCAEeA,I,EAAI;AAClB,eAAKrC,SAAL,GAAiBqC,IAAjB;AACA,eAAK+3C,aAAL,CAAmB79B,IAAnB,CAAwBla,IAAxB;AACD;;;sCAEaP,M,EAAM;AAClB,eAAK22C,WAAL,CAAiBl8B,IAAjB,CAAsBza,MAAtB;AACD;;;0CAiBY;AACb,eAAKsI,WAAL,CAAiBgR,qBAAjB,CAAuC,KAAKnB,UAA5C,EAAuD,KAAKC,QAA5D,EAAqE,KAAKG,SAAL,IAAgB,EAAhB,GAAmB,MAAnB,GAA0B,KAAKA,SAApG;AACD;;;0CACc;AACb,eAAKjQ,WAAL,CAAiBrJ,UAAjB;AACD;;;yCAEa;AACZ,eAAKqJ,WAAL,CAAiBiR,YAAjB,CAA8B,UAA9B;AACD;;;;;;;uBA7EYo+B,uB;AAAuB,K;;;YAAvBA,uB;AAAuB,2C;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPpC;;AACI;;AACE;;AAGE;;AAUA;;AAoBF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACF;;AACA;;AACE;;AAMA;;AAmCF;;AACF;;AAEF;;AACA;;AACE;;AACF;;AACJ;;;;AAtF2E;;AAAA;;AAUI;;AAAA;;AA4BhE;;AAAA;;;;;;;;;;sEDpCFA,uB,EAAuB;cALnC,uDAKmC;eALzB;AACTh2C,kBAAQ,EAAE,sBADD;AAETC,qBAAW,EAAE,mCAFJ;AAGTC,mBAAS,EAAE,CAAC,mCAAD;AAHF,S;AAKyB,Q;;;;gBAGjC;;;gBACA;;;gBACA;;;gBACA;;;gBACA;;;gBACA;;;gBACA;;;gBACA;;;gBACA;;;gBACA;;;gBAKA;;;gBACA;;;gBACA;;;gBACA;;;gBACA;;;gBACA;;;gBAEA,uD;iBAAU,Q;;;gBAoCZ;;;gBACA;;;gBACA;;;gBACA;;;;;;;;;;;;;;;;;;;;AEtED;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAwGa02C,qB;;;;;YAAAA;;;;yBAAAA,qB;AAAqB,O;AAAA,gBAzCvB,CACP,4DADO,EAEP,yEAFO,EAGP,4DAHO,EAIP,sEAJO,EAKP,0DALO,EAMP,wFANO,EAOP,mEAPO,EAQP,2DARO,EASP,gGATO,EAUP,gGAVO,EAWP,0GAXO,EAYP,mEAAalqC,OAAb,EAZO,EAaP,+DAAWA,OAAX,EAbO,EAcP,yEAAgBA,OAAhB,EAdO,EAeP,yEAAiBA,OAAjB,EAfO,CAyCuB;;;;0HAArBkqC,qB,EAAqB;AAAA,uBA/D9B,kHA+D8B,EA9D9B,oGA8D8B,EA7D9B,6GA6D8B,EA5D9B,gGA4D8B,EA3D9B,mHA2D8B,EA1D9B,iHA0D8B,EAzD9B,6FAyD8B,EAxD9B,mGAwD8B,EAvD9B,mGAuD8B,EAtD9B,uHAsD8B,EArD9B,mGAqD8B,EApD9B,0HAoD8B,EAnD9B,kGAmD8B,EAlD9B,mGAkD8B,EAjD9B,0FAiD8B,EAhD9B,4GAgD8B,EA/C9B,yHA+C8B,EA9C9B,oHA8C8B,EA7C9B,0HA6C8B,EA5C9B,8GA4C8B,EA3C9B,8GA2C8B;AA3CJ,kBAG1B,4DAH0B,EAI1B,yEAJ0B,EAK1B,4DAL0B,EAM1B,sEAN0B,EAO1B,0DAP0B,EAQ1B,wFAR0B,EAS1B,mEAT0B,EAU1B,2DAV0B,EAW1B,gGAX0B,EAY1B,gGAZ0B,EAa1B,0GAb0B,EAaJ,kEAbI,EAaJ,8DAbI,EAaJ,wEAbI,EAaJ,wEAbI,CA2CI;AA9BR,kBAOtB,kHAPsB,EAQtB,oGARsB,EAStB,6GATsB,EAUtB,gGAVsB,EAWtB,mHAXsB,EAYtB,iHAZsB,EAatB,6FAbsB,EActB,mGAdsB,EAetB,mGAfsB,EAgBtB,uHAhBsB,EAiBtB,mGAjBsB,EAkBtB,0HAlBsB,EAmBtB,kGAnBsB,EAoBtB,mGApBsB,EAqBtB,0FArBsB,EAsBtB,4GAtBsB,EAuBtB,yHAvBsB,EAwBtB,oHAxBsB,EAyBtB,0HAzBsB,EA0BtB,8GA1BsB,EA2BtB,8GA3BsB;AA8BQ,O;AAHJ,K;;;;;sEAGjBA,qB,EAAqB;cAjEjC,sDAiEiC;eAjExB;AACRhqC,sBAAY,EAAE,CACZ,kHADY,EAEZ,oGAFY,EAGZ,6GAHY,EAIZ,gGAJY,EAKZ,mHALY,EAMZ,iHANY,EAOZ,6FAPY,EAQZ,mGARY,EASZ,mGATY,EAUZ,uHAVY,EAWZ,mGAXY,EAYZ,0HAZY,EAaZ,kGAbY,EAcZ,mGAdY,EAeZ,0FAfY,EAgBZ,4GAhBY,EAiBZ,yHAjBY,EAkBZ,oHAlBY,EAmBZ,0HAnBY,EAoBZ,8GApBY,EAqBZ,8GArBY,CADN;AAwBRD,iBAAO,EAAE,CACP,4DADO,EAEP,yEAFO,EAGP,4DAHO,EAIP,sEAJO,EAKP,0DALO,EAMP,wFANO,EAOP,mEAPO,EAQP,2DARO,EASP,gGATO,EAUP,gGAVO,EAWP,0GAXO,EAYP,mEAAaD,OAAb,EAZO,EAaP,+DAAWA,OAAX,EAbO,EAcP,yEAAgBA,OAAhB,EAdO,EAeP,yEAAiBA,OAAjB,EAfO,CAxBD;AAyCR/T,iBAAO,EAAE,CACP,kHADO,EAEP,oGAFO,EAGP,6GAHO,EAIP,gGAJO,EAKP,mHALO,EAMP,iHANO,EAOP,6FAPO,EAQP,mGARO,EASP,mGATO,EAUP,uHAVO,EAWP,mGAXO,EAYP,0HAZO,EAaP,kGAbO,EAcP,mGAdO,EAeP,0FAfO,EAgBP,4GAhBO,EAiBP,yHAjBO,EAkBP,oHAlBO,EAmBP,0HAnBO,EAoBP,8GApBO,EAqBP,8GArBO;AAzCD,S;AAiEwB,Q;;;;;;;;;;;;;;;;;;ACxGlC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACciE;;;;;;;AAAA;;;;;;;;AAX7D;;AACE;;AACE;;AAEF;;AACA;;AACE;;AACE;;AAAoC;;AAAmB;;AACvD;;AAAsC;;AAAoB;;AAC1D;;AACE;;AAAoC;AAAA;;AAAA;AAAA;AAAA;;AAAiD;;AACrF;;AACF;;AACF;;AACF;;AACF;;;;;;;;AAbS;;AAAA,uJAAqB,KAArB,EAAqB,gBAArB;;AAKiC;;AAAA;;AACE;;AAAA;;AAE5B;;AAAA,mFAAiB,KAAjB,EAAiB,CAAjB,EAAiB,SAAjB,EAAiB,eAAjB,EAAiB,gBAAjB,EAAiB,GAAjB;;;;QDLPk+C,8B;AAEX,gDAAc;AAAA;;AACd,aAAAC,QAAA,GAAuB,6DAAvB;AADiB;;;;mCAGT,CACP;;;;;;;uBANUD,8B;AAA8B,K;;;YAA9BA,8B;AAA8B,kD;AAAA,c;AAAA,a;AAAA,ohB;AAAA;AAAA;ACR3C;;AACE;;AACE;;AAAuB;;;;AAAkC;;AACzD;;AAgBF;;AACF;;;;AAlB2B;;AAAA;;AAC8B;;AAAA;;;;;;;;;;sEDK5CA,8B,EAA8B;cAJ1C,uDAI0C;eAJhC;AACT72C,kBAAQ,EAAE,6BADD;AAETC,qBAAW,EAAE;AAFJ,S;AAIgC,Q;;;;;;;;;;;;;;;;;;;;AER3C;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACsB4D;;;;;;;AAAA;;;;QDhB/C82C,6B;AAEX,+CAAc;AAAA;;AADd,aAAAC,IAAA,GAAO,CAAP;AACiB;;;;mCAET,CACP;;;;;;;uBALUD,6B;AAA6B,K;;;YAA7BA,6B;AAA6B,kD;AAAA,e;AAAA,c;AAAA,0e;AAAA;AAAA;ACN1C;;AACE;;AACE;;AAAkD;;AAAkC;;AACtF;;AACA;;AACA;;AACE;;AAAsC;;;;AAAqC;;AAC3E;;AACE;;AAIA;;AACA;;AAAO;;AAKT;;AACA;;AAAsC;;;;AAAgC;;AACtE;;AACE;;AAAoC;AAAA;AAAA;;AAA0C;;AAC9E;;AACF;;AACA;;AAAsC;;;;AAA+B;;AACrE;;AAAgB;;AAAK;;AACrB;;AAAsC;;;;AAAqC;;AAC3E;;AACE;;AACE;;AAAiE;;;;AAAuB;;AACxF;;AAAiE;;;;AAA2B;;AAC5F;;AAAiE;;;;AAA8B;;AAC/F;;AAAiE;;;;AAA+B;;AAChG;;AAAiE;;;;AAAsB;;AACvF;;AAAiE;;;;AAAsB;;AACvF;;AAAiE;;;;AAA+B;;AAClG;;AACF;;AACA;;AAAsC;;;;AAAkC;;AACxE;;AAAG;;AAAE;;AACP;;AACF;;;;;;AAnC0C;;AAAA;;AAaA;;AAAA;;AAE5B;;AAAA,qFAAiB,KAAjB,EAAiB,CAAjB,EAAiB,SAAjB,EAAiB,QAAjB,EAAiB,gBAAjB,EAAiB,GAAjB;;AAG4B;;AAAA;;AAEA;;AAAA;;AAG+B;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAG/B;;AAAA;;;;;;;;;;sEDhC7BA,6B,EAA6B;cAJzC,uDAIyC;eAJ/B;AACT/2C,kBAAQ,EAAE,6BADD;AAETC,qBAAW,EAAE;AAFJ,S;AAI+B,Q;;;;;;;;;;;;;;;;;;;;AEN1C;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAMag3C,0B;AAEX,4CAAc;AAAA;AAAG;;;;mCAET,CACP;;;;;;;uBALUA,0B;AAA0B,K;;;YAA1BA,0B;AAA0B,8C;AAAA,e;AAAA,c;AAAA,+c;AAAA;AAAA;ACNvC;;AACE;;AACI;;AACI;;AACJ;;AACJ;;AACA;;AACI;;AACI;;AAA2C;;AAAY;;AACR;;AAAK;;AAAM;;AAC7C;;AAAO;;AACpB;;AAAsC;;AAAwC;;AAAM;;AACrE;;AAAO;;AAC1B;;AACA;;AACI;;AAEA;;AAAM;;AACN;;AAIA;;AAAM;;AACN;;AAGJ;;AACA;;AAAsC;;AAAI;;AAC1C;;AACE;;AAAiE;;;;AAAuB;;AACxF;;AAAiE;;;;AAA2B;;AAC5F;;AAAiE;;;;AAA8B;;AAC/F;;AAAiE;;;;AAA+B;;AAClG;;AACJ;;AACF;;;;AANyE;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;;;;;;sED1B5DA,0B,EAA0B;cAJtC,uDAIsC;eAJ5B;AACTj3C,kBAAQ,EAAE,yBADD;AAETC,qBAAW,EAAE;AAFJ,S;AAI4B,Q;;;;;;;;;;;;;;;;;;;;AENvC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACAA;;AACE;;AACE;;AAEE;;AAA6E;;AAAc;;AAC3F;;AAAoD;;AAAiB;;AACrE;;AAAoD;;AAAc;;AAClE;;AACE;;AAA4D;;AAAgB;;AAC9E;;AACF;;AACF;;AACF;;;;;;AARmF;;AAAA;;AACzB;;AAAA;;AACA;;AAAA;;AAE5C;;AAAA;;AAAsD;;AAAA;;;;QDDvDi3C,4B;AAGX,8CAAc;AAAA;;AAFd,aAAAC,MAAA,GAAmB,2DAAnB;AAEiB;;;;mCAET,CACP;;;;;;;uBANUD,4B;AAA4B,K;;;YAA5BA,4B;AAA4B,gD;AAAA,c;AAAA,a;AAAA,2f;AAAA;AAAA;ACPzC;;;;AAAuC;;;;;;;;;sEDO1BA,4B,EAA4B;cAJxC,uDAIwC;eAJ9B;AACTl3C,kBAAQ,EAAE,2BADD;AAETC,qBAAW,EAAE;AAFJ,S;AAI8B,Q;;;;;;;;;;;;;;;;;;;;AEPzC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;AC8FmE;;;;;;;AAAA;;;;;;;;AAX7D;;AACE;;AACE;;AAEF;;AACA;;AACE;;AACE;;AAAoC;;AAAmB;;AACvD;;AAAsC;;AAAoB;;AAC1D;;AACE;;AAAoC;AAAA;;AAAA;AAAA;AAAA;;AAAiD;;AACrF;;AACF;;AACF;;AACF;;AACA;;AACE;;AAAwB;;AAAY;;AAAM;;AAAQ;;AAAQ;;AAAsC;;AAAI;;AACtG;;AACF;;;;;;;;;;;AAlBK;;AAEI;;AAAA,uJAAqB,KAArB,EAAqB,gBAArB;;AAKiC;;AAAA;;AACE;;AAAA;;AAE5B;;AAAA,mFAAiB,KAAjB,EAAiB,CAAjB,EAAiB,SAAjB,EAAiB,eAAjB,EAAiB,gBAAjB,EAAiB,GAAjB;;;;;;AAwBZ;;;;AACE;;AACE;;AACF;;AACF;;;;;;;AAJiB;;AAA4C;;AAEzD;;AAAA;;;;QD/GDm3C,0B;AAIX,4CAAc;AAAA;;AAHd,aAAAN,QAAA,GAAuB,6DAAvB;AACA,aAAAnsC,SAAA,GAAyB,8DAAzB;AAEiB;;;;mCAET,CACP;;;;;;;uBAPUysC,0B;AAA0B,K;;;YAA1BA,0B;AAA0B,8C;AAAA,e;AAAA,c;AAAA,+gC;AAAA;AAAA;ACRvC;;AACE;;AACE;;;;AACE;;AAA4B;;AAAmB;;AAC/C;;AACE;;AAOA;;AACA;;AACA;;AAIF;;AACA;;AAEA;;AAA4B;;AAAmB;;AAE/C;;AACE;;AAYA;;AACA;;AACA;;AAIA;;AACA;;AACA;;AAGF;;AACA;;AACA;;AAA4B;;AAAkB;;AAE9C;;AACE;;AACE;;AACE;;AAAgB;;AAAC;;AACjB;;AAAgB;;AAAK;;AACrB;;AAAgB;;AAAI;;AACpB;;AAAgB;;AAAM;;AACxB;;AACF;;AACA;;AACE;;AACE;;AAAgB;;AAAC;;AACjB;;AAAI;;AAAI;;AACR;;AAAI;;AAAI;;AACR;;AAAI;;AAAI;;AACV;;AACA;;AACE;;AAAgB;;AAAC;;AACjB;;AAAI;;AAAK;;AACT;;AAAI;;AAAQ;;AACZ;;AAAI;;AAAI;;AACV;;AACA;;AACE;;AAAgB;;AAAC;;AACjB;;AAAgB;;AAAc;;AAC9B;;AAAI;;AAAQ;;AACd;;AACF;;AACF;;AACF;;AAEA;;;;AACE;;AAoBA;;AACE;;AACE;;AACA;;AACE;;AAAgD;;AAA6B;;AAAI;;AAAQ;;AAC5C;;AAC/C;;AACF;;AACF;;AACF;;AAEA;;;;AACE;;AACE;;AACE;;AAKF;;AACF;;AACF;;AACF;;AACF;;;;AA5HS;;AAAA;;AAgFA;;AAAA;;AAC2J;;AAAA;;AA+B3J;;AAAA;;AAE+B;;AAAA,wFAAoB,YAApB,EAAoB,IAApB;;AACiE;;AAAA;;;;;;;;;;sED7G5FA,0B,EAA0B;cAJtC,uDAIsC;eAJ5B;AACTp3C,kBAAQ,EAAE,yBADD;AAETC,qBAAW,EAAE;AAFJ,S;AAI4B,Q;;;;;;;;;;;;;;;;;;;;AERvC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACEE;;AACE;;AACE;;AACE;;AAEF;;AACA;;AACE;;AAEE;;AACE;;AACE;;AAA2C;;AAAa;;AAC1D;;AACA;;AAAsC;;AAAe;;AACrD;;AAA6D;;AAAI;;AACnE;;AACF;;AACF;;AACF;;AACF;;;;;;AAhByB;;AAAA;;AAQ8B;;AAAA;;AAEP;;AAAA;;;;QDRrCo3C,uB,GAGX,mCAAc;AAAA;;AAFd,WAAAl6C,IAAA,GAAkB,qDAAOI,KAAP,EAAlB;AAEiB,K;;;uBAHN85C,uB;AAAuB,K;;;YAAvBA,uB;AAAuB,0C;AAAA,c;AAAA,a;AAAA,iuB;AAAA;AAAA;ACPpC;;AAEE;;AAqBF;;;;AArBkD;;AAAA;;;;;;;;;sEDKrCA,uB,EAAuB;cAJnC,uDAImC;eAJzB;AACTr3C,kBAAQ,EAAE,qBADD;AAETC,qBAAW,EAAE;AAFJ,S;AAIyB,Q;;;;;;;;;;;;;;;;;;;;AEPpC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;ACME;;AACE;;AAAkE;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAlE;;AACF;;;;;;AADiD;;AAAA;;;;;;;;AAUjD;;AACE;;AAAkE;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAlE;;AACF;;;;;;AADiD;;AAAA;;;;;;;;AAUjD;;AACE;;AAAkE;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAlE;;AACF;;;;;;AADiD;;AAAA;;;;QDtBtCq3C,uB;AA2DX,uCAAoB3L,QAApB,EAAwC;AAAA;;AAApB,aAAAA,QAAA,GAAAA,QAAA;AAzDpB,aAAA4L,YAAA,GAAe,CACb;AACE3L,aAAG,EAAE,2BADP;AAEEC,eAAK,EAAE;AAFT,SADa,EAKb;AACED,aAAG,EAAE,oCADP;AAEEC,eAAK,EAAE;AAFT,SALa,EASb;AACED,aAAG,EAAE,sCADP;AAEEC,eAAK,EAAE;AAFT,SATa,EAab;AACED,aAAG,EAAE,iCADP;AAEEC,eAAK,EAAE;AAFT,SAba,EAiBb;AACED,aAAG,EAAE,uCADP;AAEEC,eAAK,EAAE;AAFT,SAjBa,EAqBb;AACED,aAAG,EAAE,oCADP;AAEEC,eAAK,EAAE;AAFT,SArBa,CAAf;AA2BA,aAAA2L,aAAA,GAAgB,CACd;AACE5L,aAAG,EAAE,oCADP;AAEEC,eAAK,EAAE;AAFT,SADc,EAKd;AACED,aAAG,EAAE,sCADP;AAEEC,eAAK,EAAE;AAFT,SALc,CAAhB;AAWA,aAAA4L,YAAA,GAAe,CACb;AACE7L,aAAG,EAAE,iCADP;AAEEC,eAAK,EAAE;AAFT,SADa,EAKb;AACED,aAAG,EAAE,oCADP;AAEEC,eAAK,EAAE;AAFT,SALa,EASb;AACED,aAAG,EAAE,uCADP;AAEEC,eAAK,EAAE;AAFT,SATa,EAab;AACED,aAAG,EAAE,sCADP;AAEEC,eAAK,EAAE;AAFT,SAba,CAAf;AAmB2C;;;;qCAI9B6L,O,EAASnvC,K,EAAa;AACjC,eAAKojC,QAAL,CAAchH,IAAd,CAAmB+S,OAAnB,EAA4BnvC,KAA5B,EAAmC;AAAEujC,4BAAgB,EAAE,IAApB;AAA0BC,2BAAe,EAAE,CAA3C;AAA8CC,4BAAgB,EAAE,IAAhE;AAAsEC,sBAAU,EAAE;AAAlF,WAAnC;AACD;;;;;;;uBAjEUqL,uB,EAAuB,sH;AAAA,K;;;YAAvBA,uB;AAAuB,0C;AAAA,e;AAAA,a;AAAA,ua;AAAA;AAAA;ACPpC;;AACE;;AACE;;AAAiB;;AAAa;;AAChC;;AACF;;AACA;;AACE;;AAGF;;AAEA;;AACE;;AACE;;AAAiB;;AAAa;;AAChC;;AACF;;AACA;;AACE;;AAGF;;AAEA;;AACE;;AACE;;AAAiB;;AAAY;;AAC/B;;AACF;;AACA;;AACE;;AAGF;;;;AAzBuC;;AAAA;;AAWT;;AAAA;;AAWA;;AAAA;;;;;;;;;sEDrBjBA,uB,EAAuB;cAJnC,uDAImC;eAJzB;AACTt3C,kBAAQ,EAAE,qBADD;AAETC,qBAAW,EAAE;AAFJ,S;AAIyB,Q;;;;;;;;;;;;;;;;;;;;;;AEPpC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;ACMM;;AACE;;AAAmE;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAnE;;AACF;;;;;;AADiD;;AAAA;;;;QDA1C03C,sB;AA2BX,sCAAoBhM,QAApB,EAAwC;AAAA;;AAApB,aAAAA,QAAA,GAAAA,QAAA;AA1BpB,aAAAiM,KAAA,GAAQ,CACN;AACEhM,aAAG,EAAE,sCADP;AAEEC,eAAK,EAAE;AAFT,SADM,EAKN;AACED,aAAG,EAAE,iCADP;AAEEC,eAAK,EAAE;AAFT,SALM,EASN;AACED,aAAG,EAAE,oCADP;AAEEC,eAAK,EAAE;AAFT,SATM,EAaN;AACED,aAAG,EAAE,mCADP;AAEEC,eAAK,EAAE;AAFT,SAbM,EAiBN;AACED,aAAG,EAAE,uCADP;AAEEC,eAAK,EAAE;AAFT,SAjBM,EAqBN;AACED,aAAG,EAAE,oCADP;AAEEC,eAAK,EAAE;AAFT,SArBM,CAAR;AA2BC;;;;qCAEYtjC,K,EAAa;AACxB,eAAKojC,QAAL,CAAchH,IAAd,CAAmB,KAAKiT,KAAxB,EAA+BrvC,KAA/B,EAAsC;AAACujC,4BAAgB,EAAE,IAAnB;AAAyBC,2BAAe,EAAE,CAA1C;AAA6CC,4BAAgB,EAAE,IAA/D;AAAqEC,sBAAU,EAAE;AAAjF,WAAtC;AACD;;;gCAEI;AACH,eAAKN,QAAL,CAAckM,KAAd;AACD;;;;;;;uBApCUF,sB,EAAsB,sH;AAAA,K;;;YAAtBA,sB;AAAsB,yC;AAAA,e;AAAA,a;AAAA,6T;AAAA;AAAA;ACPnC;;AACE;;AACE;;AAAuB;;AAAM;;;;AAAgC;;AAAO;;AAC5C;;;;AAAkC;;AAC1D;;AACA;;AACE;;AAGF;;AACF;;AACF;;;;AATiC;;AAAA;;AACL;;AAAA;;AAGH;;AAAA;;;;;;;;;;sEDCZA,sB,EAAsB;cAJlC,uDAIkC;eAJxB;AACT33C,kBAAQ,EAAE,oBADD;AAETC,qBAAW,EAAE;AAFJ,S;AAIwB,Q;;;;;;;;;;;;;;;;;;;;;;AEPnC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACCE;;AACE;;AACE;;AACE;;AAAkB;;AAAlB;;AACA;;AAA8E;;AAAe;;AAC/F;;AACA;;AACE;;AACE;;AACE;;AACF;;AACF;;AACA;;AACE;;AAAwD;;AAAa;;AACvE;;AACF;;AACF;;AACF;;;;;;AAdkD;;AAAA;;AACkC;;AAAA;;AAK1E;;AAAA;;AAIsD;;AAAA;;;;QDNrD63C,8B,GAGX,0CAAc;AAAA;;AAFd,WAAA36C,IAAA,GAAmB,uDAASI,KAAT,CAAe,CAAf,EAAkB,EAAlB,CAAnB;AAEiB,K;;;uBAHNu6C,8B;AAA8B,K;;;YAA9BA,8B;AAA8B,kD;AAAA,c;AAAA,a;AAAA,+f;AAAA;AAAA;ACR3C;;AACE;;AAkBF;;;;AAlBsD;;AAAA;;;;;;;;;sEDOzCA,8B,EAA8B;cAJ1C,uDAI0C;eAJhC;AACT93C,kBAAQ,EAAE,6BADD;AAETC,qBAAW,EAAE;AAFJ,S;AAIgC,Q;;;;;;;;;;;;;;;;;;;;AER3C;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACAA;;;;;;AAAoC;;;;QDOvB83C,qB,GAGX,iCAAc;AAAA;;AAFd,WAAA56C,IAAA,GAAO,oDAAMI,KAAN,EAAP;AAEiB,K;;;uBAHNw6C,qB;AAAqB,K;;;YAArBA,qB;AAAqB,wC;AAAA,c;AAAA,a;AAAA,+D;AAAA;AAAA;ACPlC;;;;AAAU;;;;;;;;;sEDOGA,qB,EAAqB;cAJjC,uDAIiC;eAJvB;AACT/3C,kBAAQ,EAAE,mBADD;AAETC,qBAAW,EAAE;AAFJ,S;AAIuB,Q;;;;;;;;;;;;;;;;;;;;AEPlC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAMa+3C,uB,GAEX,mCAAc;AAAA;AAAG,K;;;uBAFNA,uB;AAAuB,K;;;YAAvBA,uB;AAAuB,0C;AAAA,c;AAAA,a;AAAA,oD;AAAA;AAAA;ACNpC;;AACE;;AACF;;AACA;;AACE;;AACF;;;;AAJ2B;;AAAA,4FAAwB,SAAxB,EAAwB,IAAxB;;AAGA;;AAAA,6FAAyB,SAAzB,EAAyB,IAAzB;;;;;;;;;sEDEdA,uB,EAAuB;cAJnC,uDAImC;eAJzB;AACTh4C,kBAAQ,EAAE,qBADD;AAETC,qBAAW,EAAE;AAFJ,S;AAIyB,Q;;;;;;;;;;;;;;;;;;;;AENpC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACSM;;;;;;AAA2C;;;;QDFpCg4C,2B,GAGX,uCAAc;AAAA;;AAFd,WAAA96C,IAAA,GAAsB,2DAAWI,KAAX,CAAiB,CAAjB,EAAoB,CAApB,CAAtB;AAEiB,K;;;uBAHN06C,2B;AAA2B,K;;;YAA3BA,2B;AAA2B,+C;AAAA,e;AAAA,a;AAAA,0Q;AAAA;AAAA;ACPxC;;AACE;;AACE;;AACE;;AACF;;AACF;;AACA;;AACE;;AAAuB;;;;AAAoC;;AAC3D;;AACE;;AACF;;AACF;;AACF;;;;AAL2B;;AAAA;;AAEJ;;AAAA;;;;;;;;;;sEDFVA,2B,EAA2B;cAJvC,uDAIuC;eAJ7B;AACTj4C,kBAAQ,EAAE,0BADD;AAETC,qBAAW,EAAE;AAFJ,S;AAI6B,Q;;;;;;;;;;;;;;;;;;;;AEPxC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAOai4C,6B;AAEX,6CAAoBvM,QAApB,EAAwC;AAAA;;AAApB,aAAAA,QAAA,GAAAA,QAAA;AAAuB;;;;qCAI9BC,G,EAAW;AACtB,eAAKD,QAAL,CAAchH,IAAd,CAAmB,CAAC;AAAEiH,eAAG,EAAHA,GAAF;AAAOC,iBAAK,EAAE;AAAd,WAAD,CAAnB,EAAyC,CAAzC,EAA4C;AAAEC,4BAAgB,EAAE,IAApB;AAA0BC,2BAAe,EAAE,CAA3C;AAA8CC,4BAAgB,EAAE,IAAhE;AAAsEC,sBAAU,EAAE;AAAlF,WAA5C;AACD;;;;;;;uBARUiM,6B,EAA6B,sH;AAAA,K;;;YAA7BA,6B;AAA6B,iD;AAAA,e;AAAA,c;AAAA,imB;AAAA;AAAA;ACP1C;;AACE;;AACE;;AACE;;AACF;;AACF;;AAEA;;AAAoD;AAAA,mBAAS,IAAArC,YAAA,CAAa,4BAAb,CAAT;AAAmD,WAAnD;;AAApD;;AAIA;;AACE;;AAAsC;;;;AAA4B;;AAClE;;AACE;;AAKF;;AAEA;;AAAsC;;;;AAAgC;;AACtE;;AAAgB;;AAAc;;AAE9B;;AAAsC;;;;AAAwC;;AAC9E;;AACE;;AACE;;AAA0D;;AAAQ;;AACpE;;AAAI;;AACJ;;AACE;;AAA0D;;AAAU;;AACtE;;AAAI;;AACJ;;AACE;;AAA0D;;AAAQ;;AACpE;;AAAI;;AACJ;;AACE;;AAA0D;;AAAM;;AAClE;;AACF;;AAEA;;AAAsC;;;;AAA+B;;AACrE;;AACE;;AACE;;AACE;;AAAuB;;AAA2C;;AACpE;;AACA;;AACE;;AAAuB;;AAA0C;;AACnE;;AACA;;AACE;;AAAuB;;AAA4C;;AACrE;;AACF;;AACF;;AAEF;;AACF;;;;AA5C0C;;AAAA;;AASA;;AAAA;;AAGA;;AAAA;;AAIhC;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;AAMgC;;AAAA;;;;;;;;;sEDjC7BqC,6B,EAA6B;cAJzC,uDAIyC;eAJ/B;AACTl4C,kBAAQ,EAAE,4BADD;AAETC,qBAAW,EAAE;AAFJ,S;AAI+B,Q;;;;;;;;;;;;;;;;;;;;;;AEP1C;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAOak4C,0B;AAEX,0CAAoBxM,QAApB,EAAwC;AAAA;;AAApB,aAAAA,QAAA,GAAAA,QAAA;AAAuB;;;;qCAI9BC,G,EAAW;AACtB,eAAKD,QAAL,CAAchH,IAAd,CAAmB,CAAC;AAAEiH,eAAG,EAAHA,GAAF;AAAOC,iBAAK,EAAE;AAAd,WAAD,CAAnB,EAAyC,CAAzC,EAA4C;AAAEC,4BAAgB,EAAE,IAApB;AAA0BC,2BAAe,EAAE,CAA3C;AAA8CC,4BAAgB,EAAE,IAAhE;AAAsEC,sBAAU,EAAE;AAAlF,WAA5C;AACD;;;;;;;uBARUkM,0B,EAA0B,sH;AAAA,K;;;YAA1BA,0B;AAA0B,8C;AAAA,e;AAAA,c;AAAA,0lB;AAAA;AAAA;ACPvC;;AAAwD;AAAA,mBAAS,IAAAtC,YAAA,CAAa,4BAAb,CAAT;AAAmD,WAAnD;;AAAxD;;AAEA;;AACE;;AACE;;AACE;;AAAkC;;AAAa;;AACjD;;AACA;;AACE;;AAKF;;AAEA;;AAAsC;;;;AAAgC;;AACtE;;AAAgB;;AAAc;;AAE9B;;AAAsC;;;;AAAwC;;AAC9E;;AACE;;AACE;;AAA0D;;AAAQ;;AACpE;;AAAI;;AACJ;;AACE;;AAA0D;;AAAU;;AACtE;;AAAI;;AACJ;;AACE;;AAA0D;;AAAQ;;AACpE;;AAAI;;AACJ;;AACE;;AAA0D;;AAAM;;AAClE;;AACF;;AAEA;;AAAsC;;;;AAA+B;;AACrE;;AACE;;AACE;;AACE;;AAAuB;;AAA2C;;AACpE;;AACA;;AACE;;AAAuB;;AAA0C;;AACnE;;AACA;;AACE;;AAAuB;;AAA4C;;AACrE;;AACF;;AACF;;AACF;;AACF;;;;AAlC0C;;AAAA;;AAGA;;AAAA;;AAIhC;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;AAMgC;;AAAA;;;;;;;;;sED3B7BsC,0B,EAA0B;cAJtC,uDAIsC;eAJ5B;AACTn4C,kBAAQ,EAAE,yBADD;AAETC,qBAAW,EAAE;AAFJ,S;AAI4B,Q;;;;;;;;;;;;;;;;;;;;;;AEPvC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACGI;;;;;;AAA2C;;;;QDIlCm4C,2B,GAEX,uCAAc;AAAA;;AADd,WAAAj7C,IAAA,GAAkB,qDAAOI,KAAP,CAAa,CAAb,EAAgB,CAAhB,CAAlB;AACiB,K;;;uBAFN66C,2B;AAA2B,K;;;YAA3BA,2B;AAA2B,gD;AAAA,c;AAAA,a;AAAA,iJ;AAAA;AAAA;ACPxC;;AACE;;AACE;;AAAuB;;;;AAAqC;;AAC5D;;AACF;;AACF;;;;AAH2B;;AAAA;;AACN;;AAAA;;;;;;;;;;sEDIRA,2B,EAA2B;cAJvC,uDAIuC;eAJ7B;AACTp4C,kBAAQ,EAAE,2BADD;AAETC,qBAAW,EAAE;AAFJ,S;AAI6B,Q;;;;;;;;;;;;;;;;;;;;AEPxC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAAO,QAAMo4C,QAAQ,GAAG,CACtB;AACEpQ,WAAK,EAAE,kEADT;AAEEqQ,iBAAW,EAAE,mMAFf;AAGEzM,WAAK,EAAE,iCAHT;AAIE0M,WAAK,EAAE,KAJT;AAKE94B,UAAI,EAAE;AALR,KADsB,EAQtB;AACEwoB,WAAK,EAAE,gDADT;AAEEqQ,iBAAW,EAAE,kKAFf;AAGEzM,WAAK,EAAE,iCAHT;AAIE0M,WAAK,EAAE,QAJT;AAKE94B,UAAI,EAAE;AALR,KARsB,EAetB;AACEwoB,WAAK,EAAE,yCADT;AAEEqQ,iBAAW,EAAE,0IAFf;AAGEzM,WAAK,EAAE,iCAHT;AAIEpsB,UAAI,EAAE;AAJR,KAfsB,EAqBtB;AACEwoB,WAAK,EAAE,8DADT;AAEEqQ,iBAAW,EAAE,6IAFf;AAGEzM,WAAK,EAAE,iCAHT;AAIE0M,WAAK,EAAE,UAJT;AAKE94B,UAAI,EAAE;AALR,KArBsB,EA4BtB;AACEwoB,WAAK,EAAE,sDADT;AAEEqQ,iBAAW,EAAE,+EAFf;AAGEzM,WAAK,EAAE,mCAHT;AAIEpsB,UAAI,EAAE;AAJR,KA5BsB,EAkCtB;AACEwoB,WAAK,EAAE,6CADT;AAEEqQ,iBAAW,EAAE,kKAFf;AAGEzM,WAAK,EAAE,iCAHT;AAIEpsB,UAAI,EAAE;AAJR,KAlCsB,EAwCtB;AACEwoB,WAAK,EAAE,mEADT;AAEEqQ,iBAAW,EAAE,+JAFf;AAGEzM,WAAK,EAAE,iCAHT;AAIEpsB,UAAI,EAAE;AAJR,KAxCsB,EA8CtB;AACEwoB,WAAK,EAAE,gDADT;AAEEqQ,iBAAW,EAAE,iFAFf;AAGEzM,WAAK,EAAE,iCAHT;AAIEpsB,UAAI,EAAE;AAJR,KA9CsB,CAAjB;AAsDA,QAAM+4B,cAAc,GAAG,CAC5B;AACEvQ,WAAK,EAAE,oBADT;AAEEwQ,UAAI,EAAE,GAFR;AAGEzQ,UAAI,EAAE;AAHR,KAD4B,EAM5B;AACEC,WAAK,EAAE,UADT;AAEEwQ,UAAI,EAAE,GAFR;AAGEzQ,UAAI,EAAE;AAHR,KAN4B,EAW5B;AACEC,WAAK,EAAE,kBADT;AAEEwQ,UAAI,EAAE,GAFR;AAGEzQ,UAAI,EAAE;AAHR,KAX4B,EAgB5B;AACEC,WAAK,EAAE,mBADT;AAEEwQ,UAAI,EAAE,GAFR;AAGEzQ,UAAI,EAAE;AAHR,KAhB4B,CAAvB;;;;;;;;;;;;;;;;AC9CP;;AAAA,QAAM7qC,IAAI,GAAe,CACrB;AACI8qC,WAAK,EAAE,uCADX;AAEIpnC,YAAM,EAAE,iEAFZ;AAGIgrC,WAAK,EAAE,gCAHX;AAIImL,UAAI,EAAE,CAJV;AAKI7C,SAAG,EAAE;AALT,KADqB,EAQrB;AACIlM,WAAK,EAAE,+DADX;AAEIpnC,YAAM,EAAE,4EAFZ;AAGIgrC,WAAK,EAAE,8BAHX;AAIImL,UAAI,EAAE,CAJV;AAKI7C,SAAG,EAAE;AALT,KARqB,EAerB;AACIlM,WAAK,EAAE,2CADX;AAEIpnC,YAAM,EAAE,yDAFZ;AAGIgrC,WAAK,EAAE,8BAHX;AAIImL,UAAI,EAAE,CAJV;AAKI7C,SAAG,EAAE;AALT,KAfqB,EAsBrB;AACIlM,WAAK,EAAE,qBADX;AAEIpnC,YAAM,EAAE,iEAFZ;AAGIgrC,WAAK,EAAE,8BAHX;AAIImL,UAAI,EAAE,CAJV;AAKI7C,SAAG,EAAE;AALT,KAtBqB,EA6BrB;AACIlM,WAAK,EAAE,+DADX;AAEIpnC,YAAM,EAAE,sEAFZ;AAGIgrC,WAAK,EAAE,8BAHX;AAIImL,UAAI,EAAE,CAJV;AAKI7C,SAAG,EAAE;AALT,KA7BqB,EAoCrB;AACIlM,WAAK,EAAE,uBADX;AAEIpnC,YAAM,EAAE,oBAFZ;AAGIgrC,WAAK,EAAE,8BAHX;AAIImL,UAAI,EAAE,CAJV;AAKI7C,SAAG,EAAE;AALT,KApCqB,EA2CrB;AACIlM,WAAK,EAAE,cADX;AAEIpnC,YAAM,EAAE,8DAFZ;AAGIgrC,WAAK,EAAE,gCAHX;AAIImL,UAAI,EAAE,CAJV;AAKI7C,SAAG,EAAE;AALT,KA3CqB,CAAzB;AAoDe;;AAAA,qCAAAh3C,IAAA;;;;;;;;;;;;;;;;ACpDf;;AAAA,QAAMA,IAAI,GAAc,CACtB;AACE8iC,UAAI,EAAE,cADR;AAEEyY,YAAM,EAAE,kBAFV;AAGE7M,WAAK,EAAE,8BAHT;AAIE8M,WAAK,EAAE,4BAJT;AAKE//C,QAAE,EAAE;AALN,KADsB,EAQtB;AACEqnC,UAAI,EAAE,cADR;AAEEyY,YAAM,EAAE,gBAFV;AAGE7M,WAAK,EAAE,8BAHT;AAIE8M,WAAK,EAAE,4BAJT;AAKE//C,QAAE,EAAE;AALN,KARsB,EAetB;AACEqnC,UAAI,EAAE,gBADR;AAEEyY,YAAM,EAAE,kBAFV;AAGE7M,WAAK,EAAE,+BAHT;AAIE8M,WAAK,EAAE,6BAJT;AAKE//C,QAAE,EAAE;AALN,KAfsB,EAsBtB;AACEqnC,UAAI,EAAE,iBADR;AAEEyY,YAAM,EAAE,6BAFV;AAGE7M,WAAK,EAAE,8BAHT;AAIE8M,WAAK,EAAE,4BAJT;AAKE//C,QAAE,EAAE;AALN,KAtBsB,EA6BtB;AACEqnC,UAAI,EAAE,aADR;AAEEyY,YAAM,EAAE,4BAFV;AAGE7M,WAAK,EAAE,8BAHT;AAIE8M,WAAK,EAAE,4BAJT;AAKE//C,QAAE,EAAE;AALN,KA7BsB,EAoCtB;AACEqnC,UAAI,EAAE,kBADR;AAEEyY,YAAM,EAAE,KAFV;AAGE7M,WAAK,EAAE,8BAHT;AAIE8M,WAAK,EAAE,4BAJT;AAKE//C,QAAE,EAAE;AALN,KApCsB,EA2CtB;AACEqnC,UAAI,EAAE,cADR;AAEEyY,YAAM,EAAE,+BAFV;AAGE7M,WAAK,EAAE,8BAHT;AAIE8M,WAAK,EAAE,4BAJT;AAKE//C,QAAE,EAAE;AALN,KA3CsB,EAkDtB;AACEqnC,UAAI,EAAE,YADR;AAEEyY,YAAM,EAAE,eAFV;AAGE7M,WAAK,EAAE,8BAHT;AAIE8M,WAAK,EAAE,4BAJT;AAKE//C,QAAE,EAAE;AALN,KAlDsB,EAyDtB;AACEqnC,UAAI,EAAE,cADR;AAEEyY,YAAM,EAAE,aAFV;AAGE7M,WAAK,EAAE,+BAHT;AAIE8M,WAAK,EAAE,6BAJT;AAKE//C,QAAE,EAAE;AALN,KAzDsB,CAAxB;AAkEe;;AAAA,qCAAAuE,IAAA;;;;;;;;;;;;;;;;AClEf;;AAAA,QAAMA,IAAI,GAAa,CACrB;AACE8iC,UAAI,EAAE,YADR;AAEE2Y,aAAO,EAAE,kBAFX;AAGEC,UAAI,EAAE,YAHR;AAIEC,iBAAW,EAAE,WAJf;AAKEJ,YAAM,EAAE;AALV,KADqB,EAQrB;AACEzY,UAAI,EAAE,cADR;AAEE2Y,aAAO,EAAE,iBAFX;AAGEC,UAAI,EAAE,YAHR;AAIEC,iBAAW,EAAE,SAJf;AAKEJ,YAAM,EAAE;AALV,KARqB,EAerB;AACEzY,UAAI,EAAE,kBADR;AAEE2Y,aAAO,EAAE,mBAFX;AAGEC,UAAI,EAAE,YAHR;AAIEC,iBAAW,EAAE,SAJf;AAKEJ,YAAM,EAAE;AALV,KAfqB,EAsBrB;AACEzY,UAAI,EAAE,iBADR;AAEE2Y,aAAO,EAAE,mBAFX;AAGEC,UAAI,EAAE,YAHR;AAIEC,iBAAW,EAAE,SAJf;AAKEJ,YAAM,EAAE;AALV,KAtBqB,EA6BrB;AACEzY,UAAI,EAAE,aADR;AAEE2Y,aAAO,EAAE,gBAFX;AAGEC,UAAI,EAAE,YAHR;AAIEC,iBAAW,EAAE,WAJf;AAKEJ,YAAM,EAAE;AALV,KA7BqB,CAAvB;AAsCe;;AAAA,qCAAAv7C,IAAA;;;;;;;;;;;;;;;;AC9Cf;;AAAA,QAAM47C,KAAK,GAAG,CACZ;AACEt5B,UAAI,EAAE,OADR;AAEEwgB,UAAI,EAAE,cAFR;AAGE4Y,UAAI,EAAE,gBAHR;AAIEG,gBAAU,EAAE,gCAJd;AAKEn4C,YAAM,EAAE,sFALV;AAMEo4C,WAAK,EAAE,8BANT;AAOEC,WAAK,EAAE,mFAPT;AAQEC,eAAS,EAAE,GARb;AASEC,kBAAY,EAAE,CAThB;AAUEtC,cAAQ,EAAE,CACR;AACE7W,YAAI,EAAE,gBADR;AAEEp/B,cAAM,uRAFR;AAKEg4C,YAAI,EAAE,eALR;AAMEhN,aAAK,EAAE,8BANT;AAOEwN,aAAK,EAAE,CAPT;AAQEzgD,UAAE,EAAE;AARN,OADQ,EAWR;AACEqnC,YAAI,EAAE,cADR;AAEEp/B,cAAM,EAAE,8KAFV;AAGEg4C,YAAI,EAAE,eAHR;AAIEhN,aAAK,EAAE,8BAJT;AAKEwN,aAAK,EAAE,CALT;AAMEzgD,UAAE,EAAE;AANN,OAXQ,CAVZ;AA6BEA,QAAE,EAAE;AA7BN,KADY,EAgCZ;AACE6mB,UAAI,EAAE,OADR;AAEEwgB,UAAI,EAAE,cAFR;AAGE4Y,UAAI,EAAE,aAHR;AAIEG,gBAAU,EAAE,gCAJd;AAKEn4C,YAAM,oQALR;AAQEo4C,WAAK,EAAE,2BART;AASEC,WAAK,EAAE,EATT;AAUEC,eAAS,EAAE,CAVb;AAWEC,kBAAY,EAAE,CAXhB;AAYEtC,cAAQ,EAAE,CACR;AACE7W,YAAI,EAAE,eADR;AAEEp/B,cAAM,EAAE,+EAFV;AAGEg4C,YAAI,EAAE,eAHR;AAIEhN,aAAK,EAAE,8BAJT;AAKEwN,aAAK,EAAE,CALT;AAMEzgD,UAAE,EAAE;AANN,OADQ,CAZZ;AAsBEA,QAAE,EAAE;AAtBN,KAhCY,EAwDZ;AACE6mB,UAAI,EAAE,MADR;AAEEwgB,UAAI,EAAE,cAFR;AAGE4Y,UAAI,EAAE,aAHR;AAIEG,gBAAU,EAAE,gCAJd;AAKEn4C,YAAM,oQALR;AAQEo4C,WAAK,EAAE,EART;AASEC,WAAK,EAAE,EATT;AAUEC,eAAS,EAAE,EAVb;AAWEC,kBAAY,EAAE,CAXhB;AAYEtC,cAAQ,EAAE,EAZZ;AAaEl+C,QAAE,EAAE;AAbN,KAxDY,EAuEZ;AACE6mB,UAAI,EAAE,OADR;AAEEwgB,UAAI,EAAE,cAFR;AAGE4Y,UAAI,EAAE,WAHR;AAIEG,gBAAU,EAAE,gCAJd;AAKEn4C,YAAM,sKALR;AAMEo4C,WAAK,EAAE,2BANT;AAOEC,WAAK,EAAE,EAPT;AAQEC,eAAS,EAAE,EARb;AASEC,kBAAY,EAAE,CAThB;AAUEtC,cAAQ,EAAE,CAAC;AACT7W,YAAI,EAAE,eADG;AAETp/B,cAAM,EAAE,+EAFC;AAGTg4C,YAAI,EAAE,eAHG;AAIThN,aAAK,EAAE,8BAJE;AAKTwN,aAAK,EAAE,CALE;AAMTzgD,UAAE,EAAE;AANK,OAAD,EAQV;AACEqnC,YAAI,EAAE,cADR;AAEEp/B,cAAM,EAAE,8KAFV;AAGEg4C,YAAI,EAAE,cAHR;AAIEhN,aAAK,EAAE,8BAJT;AAKEwN,aAAK,EAAE,EALT;AAMEzgD,UAAE,EAAE;AANN,OARU,CAVZ;AA0BEA,QAAE,EAAE;AA1BN,KAvEY,CAAd;AAqGe;;AAAA,qCAAAmgD,KAAA;;;;;;;;;;;;;;;;ACnGf;;AAAA,QAAM57C,IAAI,GAAe,CACvB;AACEvE,QAAE,EAAE,CADN;AAEEqvC,WAAK,EAAE,aAFT;AAGEqR,SAAG,EAAE,4CAHP;AAIEC,cAAQ,EAAE,OAJZ;AAKEV,UAAI,EAAE,YALR;AAMEH,YAAM,EAAE,SANV;AAOEI,iBAAW,EAAE,SAPf;AAQER,iBAAW,EAAE,oDARf;AASEkB,WAAK,EAAE,IATT;AAUEC,WAAK,EAAE;AAVT,KADuB,EAavB;AACE7gD,QAAE,EAAE,CADN;AAEEqvC,WAAK,EAAE,YAFT;AAGEsR,cAAQ,EAAE,UAHZ;AAIED,SAAG,EAAE,2CAJP;AAKET,UAAI,EAAE,YALR;AAMEH,YAAM,EAAE,WANV;AAOEI,iBAAW,EAAE,WAPf;AAQER,iBAAW,EAAE,sDARf;AASEkB,WAAK,EAAE,IATT;AAUEC,WAAK,EAAE;AAVT,KAbuB,EAyBvB;AACE7gD,QAAE,EAAE,CADN;AAEEqvC,WAAK,EAAE,gBAFT;AAGEqR,SAAG,EAAE,+CAHP;AAIEC,cAAQ,EAAE,OAJZ;AAKEV,UAAI,EAAE,YALR;AAMEH,YAAM,EAAE,WANV;AAOEI,iBAAW,EAAE,WAPf;AAQER,iBAAW,EAAE,iDARf;AASEkB,WAAK,EAAE,IATT;AAUEC,WAAK,EAAE;AAVT,KAzBuB,EAqCvB;AACE7gD,QAAE,EAAE,CADN;AAEEqvC,WAAK,EAAE,cAFT;AAGEqR,SAAG,EAAE,6CAHP;AAIEC,cAAQ,EAAE,OAJZ;AAKEV,UAAI,EAAE,YALR;AAMEH,YAAM,EAAE,WANV;AAOEI,iBAAW,EAAE,WAPf;AAQER,iBAAW,EAAE,6BARf;AASEkB,WAAK,EAAE,IATT;AAUEC,WAAK,EAAE;AAVT,KArCuB,EAiDvB;AACE7gD,QAAE,EAAE,CADN;AAEEqvC,WAAK,EAAE,cAFT;AAGEsR,cAAQ,EAAE,UAHZ;AAIED,SAAG,EAAE,6CAJP;AAKET,UAAI,EAAE,YALR;AAMEH,YAAM,EAAE,SANV;AAOEI,iBAAW,EAAE,SAPf;AAQER,iBAAW,EAAE,gCARf;AASEkB,WAAK,EAAE,GATT;AAUEC,WAAK,EAAE;AAVT,KAjDuB,EA6DvB;AACE7gD,QAAE,EAAE,CADN;AAEEqvC,WAAK,EAAE,oBAFT;AAGEqR,SAAG,EAAE,mDAHP;AAIEC,cAAQ,EAAE,UAJZ;AAKEV,UAAI,EAAE,YALR;AAMEH,YAAM,EAAE,WANV;AAOEI,iBAAW,EAAE,WAPf;AAQER,iBAAW,EAAE,qDARf;AASEkB,WAAK,EAAE,GATT;AAUEC,WAAK,EAAE;AAVT,KA7DuB,EAyEvB;AACE7gD,QAAE,EAAE,CADN;AAEEqvC,WAAK,EAAE,cAFT;AAGEqR,SAAG,EAAE,6CAHP;AAIEC,cAAQ,EAAE,UAJZ;AAKEV,UAAI,EAAE,YALR;AAMEH,YAAM,EAAE,WANV;AAOEI,iBAAW,EAAE,WAPf;AAQER,iBAAW,EAAE,oDARf;AASEkB,WAAK,EAAE,GATT;AAUEC,WAAK,EAAE;AAVT,KAzEuB,EAqFvB;AACE7gD,QAAE,EAAE,CADN;AAEEqvC,WAAK,EAAE,YAFT;AAGEqR,SAAG,EAAE,2CAHP;AAIEC,cAAQ,EAAE,OAJZ;AAKEV,UAAI,EAAE,YALR;AAMEH,YAAM,EAAE,SANV;AAOEI,iBAAW,EAAE,SAPf;AAQER,iBAAW,EAAE,gCARf;AASEkB,WAAK,EAAE,GATT;AAUEC,WAAK,EAAE;AAVT,KArFuB,EAiGvB;AACE7gD,QAAE,EAAE,CADN;AAEEqvC,WAAK,EAAE,WAFT;AAGEqR,SAAG,EAAE,0CAHP;AAIEC,cAAQ,EAAE,OAJZ;AAKEV,UAAI,EAAE,YALR;AAMEH,YAAM,EAAE,SANV;AAOEI,iBAAW,EAAE,SAPf;AAQER,iBAAW,EACT,kFATJ;AAUEkB,WAAK,EAAE,GAVT;AAWEC,WAAK,EAAE;AAXT,KAjGuB,EA8GvB;AACE7gD,QAAE,EAAE,EADN;AAEEqvC,WAAK,EAAE,SAFT;AAGEqR,SAAG,EAAE,wCAHP;AAIEC,cAAQ,EAAE,UAJZ;AAKEV,UAAI,EAAE,YALR;AAMEH,YAAM,EAAE,WANV;AAOEI,iBAAW,EAAE,WAPf;AAQER,iBAAW,EAAE,sCARf;AASEkB,WAAK,EAAE,GATT;AAUEC,WAAK,EAAE;AAVT,KA9GuB,EA0HvB;AACE7gD,QAAE,EAAE,EADN;AAEEqvC,WAAK,EAAE,aAFT;AAGEqR,SAAG,EAAE,4CAHP;AAIEC,cAAQ,EAAE,OAJZ;AAKEV,UAAI,EAAE,YALR;AAMEH,YAAM,EAAE,SANV;AAOEI,iBAAW,EAAE,SAPf;AAQER,iBAAW,EAAE,qDARf;AASEkB,WAAK,EAAE,GATT;AAUEC,WAAK,EAAE;AAVT,KA1HuB,EAsIvB;AACE7gD,QAAE,EAAE,EADN;AAEEqvC,WAAK,EAAE,WAFT;AAGEqR,SAAG,EAAE,0CAHP;AAIEC,cAAQ,EAAE,OAJZ;AAKEV,UAAI,EAAE,YALR;AAMEH,YAAM,EAAE,WANV;AAOEI,iBAAW,EAAE,WAPf;AAQER,iBAAW,EAAE,sCARf;AASEkB,WAAK,EAAE,GATT;AAUEC,WAAK,EAAE;AAVT,KAtIuB,EAkJvB;AACE7gD,QAAE,EAAE,EADN;AAEEqvC,WAAK,EAAE,QAFT;AAGEqR,SAAG,EAAE,uCAHP;AAIEC,cAAQ,EAAE,OAJZ;AAKEV,UAAI,EAAE,YALR;AAMEH,YAAM,EAAE,SANV;AAOEI,iBAAW,EAAE,SAPf;AAQER,iBAAW,EACT,kFATJ;AAUEkB,WAAK,EAAE,GAVT;AAWEC,WAAK,EAAE;AAXT,KAlJuB,EA+JvB;AACE7gD,QAAE,EAAE,EADN;AAEEqvC,WAAK,EAAE,gBAFT;AAGEqR,SAAG,EAAE,+CAHP;AAIEC,cAAQ,EAAE,OAJZ;AAKEV,UAAI,EAAE,YALR;AAMEH,YAAM,EAAE,WANV;AAOEI,iBAAW,EAAE,WAPf;AAQER,iBAAW,EAAE,gCARf;AASEkB,WAAK,EAAE,GATT;AAUEC,WAAK,EAAE;AAVT,KA/JuB,EA2KvB;AACE7gD,QAAE,EAAE,EADN;AAEEqvC,WAAK,EAAE,UAFT;AAGEqR,SAAG,EAAE,yCAHP;AAIEC,cAAQ,EAAE,OAJZ;AAKEV,UAAI,EAAE,YALR;AAMEH,YAAM,EAAE,SANV;AAOEI,iBAAW,EAAE,SAPf;AAQER,iBAAW,EAAE,oDARf;AASEkB,WAAK,EAAE,GATT;AAUEC,WAAK,EAAE;AAVT,KA3KuB,EAuLvB;AACE7gD,QAAE,EAAE,EADN;AAEEqvC,WAAK,EAAE,aAFT;AAGEqR,SAAG,EAAE,4CAHP;AAIEC,cAAQ,EAAE,OAJZ;AAKEV,UAAI,EAAE,YALR;AAMEH,YAAM,EAAE,SANV;AAOEI,iBAAW,EAAE,SAPf;AAQER,iBAAW,EAAE,gCARf;AASEkB,WAAK,EAAE,GATT;AAUEC,WAAK,EAAE;AAVT,KAvLuB,EAmMvB;AACE7gD,QAAE,EAAE,EADN;AAEEqvC,WAAK,EAAE,WAFT;AAGEqR,SAAG,EAAE,0CAHP;AAIEC,cAAQ,EAAE,OAJZ;AAKEV,UAAI,EAAE,YALR;AAMEH,YAAM,EAAE,WANV;AAOEI,iBAAW,EAAE,WAPf;AAQER,iBAAW,EAAE,6BARf;AASEkB,WAAK,EAAE,GATT;AAUEC,WAAK,EAAE;AAVT,KAnMuB,EA+MvB;AACE7gD,QAAE,EAAE,EADN;AAEEqvC,WAAK,EAAE,SAFT;AAGEqR,SAAG,EAAE,wCAHP;AAIEC,cAAQ,EAAE,OAJZ;AAKEV,UAAI,EAAE,YALR;AAMEH,YAAM,EAAE,WANV;AAOEI,iBAAW,EAAE,WAPf;AAQER,iBAAW,EAAE,iDARf;AASEkB,WAAK,EAAE,GATT;AAUEC,WAAK,EAAE;AAVT,KA/MuB,EA2NvB;AACE7gD,QAAE,EAAE,EADN;AAEEqvC,WAAK,EAAE,eAFT;AAGEqR,SAAG,EAAE,8CAHP;AAIEC,cAAQ,EAAE,UAJZ;AAKEV,UAAI,EAAE,YALR;AAMEH,YAAM,EAAE,SANV;AAOEI,iBAAW,EAAE,SAPf;AAQER,iBAAW,EAAE,sDARf;AASEkB,WAAK,EAAE,GATT;AAUEC,WAAK,EAAE;AAVT,KA3NuB,EAuOvB;AACE7gD,QAAE,EAAE,EADN;AAEEqvC,WAAK,EAAE,SAFT;AAGEqR,SAAG,EAAE,wCAHP;AAIEC,cAAQ,EAAE,UAJZ;AAKEV,UAAI,EAAE,YALR;AAMEH,YAAM,EAAE,SANV;AAOEI,iBAAW,EAAE,SAPf;AAQER,iBAAW,EAAE,oDARf;AASEkB,WAAK,EAAE,GATT;AAUEC,WAAK,EAAE;AAVT,KAvOuB,CAAzB;AAqPe;;AAAA,qCAAAt8C,IAAA;;;;;;;;;;;;;;;;ACjPf;;AAAA,QAAMA,IAAI,GAAgB,CACxB;AACEu8C,cAAQ,EAAE,uDADZ;AAEEC,YAAM,wjBAFR;AAKE/gD,QAAE,EAAE;AALN,KADwB,EAQxB;AACE8gD,cAAQ,EAAE,4DADZ;AAEEC,YAAM,maAFR;AAIE/gD,QAAE,EAAE;AAJN,KARwB,EAcxB;AACE8gD,cAAQ,EAAE,wCADZ;AAEEC,YAAM,+YAFR;AAIE/gD,QAAE,EAAE;AAJN,KAdwB,EAoBxB;AACE8gD,cAAQ,EAAE,6BADZ;AAEEC,YAAM,4RAFR;AAIE/gD,QAAE,EAAE;AAJN,KApBwB,EA0BxB;AACE8gD,cAAQ,EAAE,8CADZ;AAEEC,YAAM,0NAFR;AAGE/gD,QAAE,EAAE;AAHN,KA1BwB,EA+BxB;AACE8gD,cAAQ,EAAE,uBADZ;AAEEC,YAAM,0aAFR;AAIE/gD,QAAE,EAAE;AAJN,KA/BwB,CAA1B;AAuCe;;AAAA,qCAAAuE,IAAA;;;;;;;;;;;;;;;;ACvCf;;AAAA,QAAMA,IAAI,GAAkB,CAC1B;AACE8qC,WAAK,EAAE,uCADT;AAEE4D,WAAK,EAAE,0CAFT;AAGE0M,WAAK,EAAE;AAHT,KAD0B,EAM1B;AACEtQ,WAAK,EAAE,yCADT;AAEE4D,WAAK,EAAE,4CAFT;AAGE0M,WAAK,EAAE;AAHT,KAN0B,EAW1B;AACEtQ,WAAK,EAAE,uBADT;AAEE4D,WAAK,EAAE,mDAFT;AAGE0M,WAAK,EAAE;AAHT,KAX0B,EAgB1B;AACEtQ,WAAK,EAAE,+BADT;AAEE4D,WAAK,EAAE,6CAFT;AAGE0M,WAAK,EAAE;AAHT,KAhB0B,EAqB1B;AACEtQ,WAAK,EAAE,wBADT;AAEE4D,WAAK,EAAE,6CAFT;AAGE0M,WAAK,EAAE;AAHT,KArB0B,CAA5B;AA4Be;;AAAA,qCAAAp7C,IAAA;;;;;;;;;;;;;;;;AClCf;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;ACkBwB;;AAAoD;;;;AAAqD;;;;;;AAArD;;AAAA;;;;;;AACpD;;AAA+E;;;;AAAqD;;;;;;AAArD;;AAAA;;;;;;AAC/E;;AAAqD;;;;AAAgC;;;;AAAhC;;AAAA;;;;;;AACrD;;AAAqD;;;;AAAgC;;;;AAAhC;;AAAA;;;;;;AAL7D;;AACI;;AACI;;AACA;;AACA;;AACA;;AACA;;AACJ;;AACJ;;;;;;AANe;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;;;AAIf;;AAEI;;AACI;;AAAqD;;;;AAA2C;;AACpG;;AACA;;AACJ;;;;;;AAH6D;;AAAA;;;;;;;;AAiB7E;;AACI;;AAAG;AAAA;;AAAA;;AAAA,yCAAuB,OAAvB;AAA8B,SAA9B;;AAAgC;;AAAI;;AAC3C;;;;;;;;AA0DoC;;AAEI;;AAAoB;;AACZ;;AAEI;AAAA;;AAAA;;AAAA,sCAAsB,UAAtB;AAAgC,SAAhC;;AAC8D;;;;AAEnD;;AAAS;;AAAI;;AAQxC;;;;;;AAVgB;;AAAA;;AAA8D;;AAAA;;;;;;;;AAgF1E;;AAA4D;;AAEpD;AAAA;;AAAA;;AAAA;;AAAA,gDAA4B,CAA5B;AAA6B,SAA7B;;AAAgC;;AAAQ;;AAAI;;;;;;;;AAD5C;;AAAA;;AACgC;;AAAA;;;;;;AAJ5C;;AAEI;;AAGJ;;;;;;AAHwB;;AAAA;;;;;;;;AAWpC;;AACI;;AACI;;AACI;;AACgC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AADhC;;AAEA;;AACJ;;AACJ;;AACA;;AAAgB;;AAAU;;AAE1B;;AAAgB;;AAAmB;;AACnC;;AAAgB;;AAAoB;;AACpC;;AAAgB;;AAAc;;AAC9B;;AAAgB;;AAAc;;AAG9B;;AAAI;;AAC2C;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAiE;;;;AAC3F;;AAAS;;AACtB;;AAAI;;AAAyC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AACsC;;;;AAClE;;AAAS;;AAClC;;AAAI;;AAAmD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC+B;;;;AACjE;;AAAS;;AAClC;;;;;;;;;AAtBgE;;AAAA,8FAAsB,SAAtB,EAAsB,2BAAtB;;AAEhB;;AAAA;;AAG5B;;AAAA;;AAEA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAIR;;AAAA;;AAAwG;;AAAA;;AAGpG;;AAAA;;AAA+E;;AAAA;;AAGnF;;AAAA;;AAA8E;;AAAA;;;;;;;;;;;;;;;;;;;;;;AAhLlH;;AACI;;AACI;;AAEI;;AACI;;AACI;;AACI;;AAAqB;AAAA;;AAAA;;AAAA;AAAA,WAAwB,OAAxB,EAAwB;AAAA;;AAAA;;AAAA;AAAA,SAAxB,EAAwB,QAAxB,EAAwB;AAAA;;AAAA;;AAAA;AAAA,SAAxB;;;;AAArB;;AAEJ;;AACJ;;AACJ;;AACJ;;AAEA;;AACI;;AACI;;AACJ;;AACA;;AACI;;AAEI;AAAA;;AAAA;;AAAA;AAAA;;AAAsE;;;;AAC3D;;AAEnB;;AACJ;;AAGJ;;AAIA;;AAEI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AAEI;;AAGI;AAAA;;AAAA;;AAAA;AAAA;;AAHJ;;AAIA;;AAAmC;;AAAM;;AAC7C;;AACJ;;AACA;;AAGI;;AACJ;;AACA;;AAiBJ;;AACJ;;AACJ;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,IAA5B;AAAgC,SAAhC;;AACjB;;AAE0E;;AAC9E;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,IAA5B;AAAgC,SAAhC;;AAEf;;;;AACR;;AAWA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,YAA5B;AAAwC,SAAxC;;AACjB;;AAEkF;;AACtF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,YAA5B;AAAwC,SAAxC;;AAEf;;;;AACR;;AAEA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,aAA5B;AAAyC,SAAzC;;AACjB;;AAEmF;;AACvF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,aAA5B;AAAyC,SAAzC;;AAEf;;;;AACR;;AAEA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,OAA5B;AAAmC,SAAnC;;AACjB;;AAE6E;;AACjF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,OAA5B;AAAmC,SAAnC;;AAEf;;;;AACR;;AAEA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,OAA5B;AAAmC,SAAnC;;AACjB;;AAE6E;;AACjF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,OAA5B;AAAmC,SAAnC;;AAEf;;;;AACR;;AACA;;AACI;;AAEI;;AACI;;;;AACJ;;AACA;;AACI;;AAEI;;AACJ;;AACA;;AAMJ;;AACJ;;AACJ;;AACA;;AACA;;AACJ;;AACA;;AACI;;AA0BJ;;AACA;;AACI;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAEA;;AAEI;;AAA6E;;AAAM;;AAEnF;;AAEI;;AACI;;AACI;;AACwB;AAAA;;AAAA;;AAAA;AAAA,WAAyB,aAAzB,EAAyB;AAAA;;AAAA;;AAAA;AAAA,SAAzB;;AAKxB;;AACJ;;AACJ;;AACJ;;AAEA;;AAA0E;;AAAM;;AAEpF;;AACJ;;;;;;;;;;;;;;AAvN2E;;AAAA;;AAD9B;;AAcM;;AAAA;;AAAuC;;AAAA;;AAwB1C;;AAAA,iHAAsC,eAAtC,EAAsC,yCAAtC;;AA+BiC;;AAAA;;AAChD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAYyD;;AAAA;;AACxD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAG0D;;AAAA;;AACzD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAGoD;;AAAA;;AACnD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAGoD;;AAAA;;AACnD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAEJ;;AAAA;;AAIQ;;AAAA;;AAKI;;AAAA;;AAeZ;;AAAA;;AAyDgB;;AAAA,gGAAyB,eAAzB,EAAyB,IAAzB,EAAyB,YAAzB,EAAyB,0BAAzB,EAAyB,cAAzB,EAAyB,mBAAzB,EAAyB,qBAAzB,EAAyB,IAAzB,EAAyB,oBAAzB,EAAyB,GAAzB,EAAyB,wBAAzB,EAAyB,GAAzB,EAAyB,oBAAzB,EAAyB,GAAzB,EAAyB,SAAzB,EAAyB,CAAzB;;;;;;AAoBxC;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AAIA;;;;QDpRSy8C,mB;AACT,mCAAoBz/C,WAApB,EAAuDE,QAAvD,EACYC,aADZ,EACyDC,SADzD,EAEYC,MAFZ,EAE2B;AAAA;;AAFP,aAAAL,WAAA,GAAAA,WAAA;AAAmC,aAAAE,QAAA,GAAAA,QAAA;AAC3C,aAAAC,aAAA,GAAAA,aAAA;AAA6C,aAAAC,SAAA,GAAAA,SAAA;AAC7C,aAAAC,MAAA,GAAAA,MAAA;AAGV,aAAAC,aAAA,GAAqB,OAArB;AAEA,aAAAC,eAAA,GAA0B,SAA1B;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,cAAA,GAAiB,CAAC,IAAD,CAAjB;AAEA,aAAAE,MAAA,GAA6B,CAC3B;AAAChB,YAAE,EAAC,CAAJ;AAAOgU,oBAAU,EAAC,YAAlB;AAAkCC,qBAAW,EAAC,eAA9C;AAA+D9I,eAAK,EAAC,aAArE;AAAoFiK,eAAK,EAAC;AAA1F,SAD2B,EAE3B;AAACpV,YAAE,EAAC,CAAJ;AAAOgU,oBAAU,EAAC,WAAlB;AAAkCC,qBAAW,EAAC,cAA9C;AAA8D9I,eAAK,EAAC,aAApE;AAAmFiK,eAAK,EAAC;AAAzF,SAF2B,EAG3B;AAACpV,YAAE,EAAC,CAAJ;AAAOgU,oBAAU,EAAC,UAAlB;AAAkCC,qBAAW,EAAC,cAA9C;AAA8D9I,eAAK,EAAC,aAApE;AAAmFiK,eAAK,EAAC;AAAzF,SAH2B,EAI3B;AAACpV,YAAE,EAAC,CAAJ;AAAOgU,oBAAU,EAAC,WAAlB;AAAkCC,qBAAW,EAAC,eAA9C;AAA+D9I,eAAK,EAAC,aAArE;AAAoFiK,eAAK,EAAC;AAA1F,SAJ2B,EAK3B;AAACpV,YAAE,EAAC,CAAJ;AAAOgU,oBAAU,EAAC,aAAlB;AAAkCC,qBAAW,EAAC,gBAA9C;AAAgE9I,eAAK,EAAC,aAAtE;AAAqFiK,eAAK,EAAC;AAA3F,SAL2B,CAA7B;AA6DA,aAAAhU,eAAA,GAA0B,EAA1B;AACA,aAAAC,aAAA,GAAwB,EAAxB,CAxEyB,CA2EzB;;AACA,aAAAC,YAAA,sBAAmB,KAAKN,MAAxB;AACA,aAAAO,UAAA,sBAAiB,KAAKD,YAAtB;AACA,aAAAE,aAAA,sBAAoB,KAAKF,YAAzB;AACA,aAAAG,MAAA,GAAiB,KAAKT,MAAL,CAAYU,MAAZ,GAAqB,CAAtC;AAEA,aAAAC,YAAA,GAAoB,KAApB;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,kBAAA,GAAqB,CAAC,CAAD,EAAI,EAAJ,EAAQ,EAAR,CAArB;AACA,aAAAC,QAAA,GAAW,EAAX;AACA,aAAAC,cAAA,GAAiB,EAAjB;AAEA,aAAAC,QAAA,GAAoB,IAApB;AAEA,aAAAC,WAAA,GAAc,CAAd;AACA,aAAAC,SAAA,GAAY,CAAZ;AAGA,aAAAC,YAAA,GAAe,IAAI,sFAAJ,EAAf;AACA,aAAAC,UAAA,GAAa,IAAI,kFAAJ,EAAb;AACA,aAAAC,aAAA,GAAgB,IAAI,wFAAJ,EAAhB;AAwIA,aAAAtB,WAAA,GAA4B,EAA5B;AACA,aAAAuB,YAAA,GAAkC,EAAlC;AAcA,aAAAC,UAAA,GAAkB,EAAlB;AArPC;;;;mCAkBO;AACN,eAAKC,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACA,eAAKoD,SAAL,GAAiB;AAAEC,iBAAK,EAAE,IAAT;AAAeC,oBAAQ,EAAE;AAAzB,WAAjB;AACA,eAAK9B,YAAL,GAAoB,CAClB;AAAE6B,iBAAK,EAAE,IAAT;AAAeC,oBAAQ,EAAE;AAAzB,WADkB,EAElB;AAAED,iBAAK,EAAE,YAAT;AAAuBC,oBAAQ,EAAE;AAAjC,WAFkB,EAGlB;AAAED,iBAAK,EAAE,aAAT;AAAwBC,oBAAQ,EAAE;AAAlC,WAHkB,EAIlB;AAAED,iBAAK,EAAE,OAAT;AAAkBC,oBAAQ,EAAE;AAA5B,WAJkB,EAKlB;AAAED,iBAAK,EAAE,OAAT;AAAkBC,oBAAQ,EAAE;AAA5B,WALkB,CAApB;AAOA,eAAKC,QAAL;AACAqX,iBAAO,CAACC,GAAR,CAAY,KAAKlZ,MAAjB;AACD,S,CAED;AACA;AACA;;;;uCACe;AACb,eAAKkB,SAAL,GAAiB,KAAKD,WAAtB,CADa,CAEb;;AACA,eAAKZ,aAAL,GAAqB,SAArB;AACA,eAAKwB,mBAAL;AACD,S,CAED;;;;8CACmB,CAElB;;;mCAmDU;AACT;AACA,eAAKxB,aAAL,GAAqB,EAArB;AACF,eAAKiC,QAAL,GAHW,CAIT;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AAED;;;mCAEU;AACT,eAAK/B,UAAL,GAAkB,KAAKa,UAAL,CAAgBkB,QAAhB,CAAyB,KAAKb,SAAL,CAAeE,QAAxC,EAAkD,KAAK3B,MAAvD,CAAlB;AACA,eAAKwC,UAAL;AACD;;;0CAEiB;AAChB,eAAKtB,SAAL,GAAiB,KAAKD,WAAtB;AACA,eAAKV,UAAL,GAAkB,KAAKA,UAAL,CAAgBkC,KAAhB,GAAwBC,OAAxB,EAAlB;AACA,eAAKF,UAAL;AACD;;;qCAEY;AACX,eAAKlC,YAAL,GAAoB,KAAKa,YAAL,CAAkBqB,UAAlB,CAA6B,KAAKjB,UAAlC,EAA8C,KAAKzB,cAAnD,EAAmE,KAAKS,UAAxE,CAApB;;AACA,cAAI,KAAKW,SAAL,KAAmB,CAAvB,EAA0B;AACxB,iBAAKyB,YAAL,CAAkB,KAAK/B,YAAvB,EAAqC,CAArC;AACD,WAFD,MAGK;AACH,iBAAK+B,YAAL,CAAkB,KAAK/B,YAAvB,EACEgC,IAAI,CAACC,IAAL,CAAW,KAAKvC,YAAL,CAAkBI,MAAlB,GAA2B,KAAKE,YAA3C,KAA6D,KAAKM,SAAlE,GACE,KAAKA,SADP,GAEE0B,IAAI,CAACC,IAAL,CAAW,KAAKvC,YAAL,CAAkBI,MAAlB,GAA2B,KAAKE,YAA3C,CAHJ;AAKD;;AACD,eAAKM,SAAL,GAAiB,CAAjB;AACD;;;qCAEY4B,e,EAAyBC,c,EAAwB;AAC5D,eAAKnC,YAAL,GAAoBkC,eAApB;AACA,eAAK7B,WAAL,GAAmB8B,cAAnB;AACA,eAAKvC,aAAL,GAAqB,KAAKF,YAAL,CAAkBmC,KAAlB,CAAwB,CAACM,cAAc,GAAG,CAAlB,IAAwBD,eAAhD,EAAmEA,eAAe,GAAGC,cAArF,CAArB;AACD;;;mCAEUC,O,EAAc;AACvB,cAAI,KAAKvB,SAAL,CAAeC,KAAf,KAAyBsB,OAAO,CAACtB,KAArC,EAA4C;AAC1C,iBAAKV,QAAL,GAAgB,CAAC,KAAKA,QAAtB;AACA,gBAAMiC,OAAO,GAAG,KAAKhC,WAArB;AACA,iBAAKiC,eAAL;AACA,iBAAKjC,WAAL,GAAmBgC,OAAnB;AACD,WALD,MAMK;AACH,iBAAKjC,QAAL,GAAgB,IAAhB;AACA,iBAAKS,SAAL,GAAiBuB,OAAjB;AACA,iBAAKV,QAAL;AACD;AACF;;;gCAEOZ,K,EAAY;AAClB,iBAAO,KAAK7B,YAAL,CAAkBsD,IAAlB,CAAuB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC1B,KAAF,KAAYA,KAAhB;AAAA,WAAxB,CAAP;AACD;;;mCAEU2B,K,EAAuB;AAChC,eAAKpC,WAAL,GAAmBoC,KAAK,CAACC,IAAzB;AACA,eAAKX,YAAL,CAAkB,KAAK/B,YAAvB,EAAqC,KAAKK,WAA1C;AACD;;;uCAEc;AACb,eAAKK,YAAL,GAAoB,EAApB;AACA,eAAKR,QAAL,GAAgB,EAAhB;AACA,eAAKC,cAAL,GAAsB,EAAtB;AACA,eAAKyB,UAAL;AACD;;;kCAESe,M,EAAM;AACd,cAAIA,MAAM,CAACC,MAAP,CAAcC,OAAlB,EAA2B;AACzB,iBAAK3C,QAAL,sBAAoB,KAAKR,YAAzB;AACD,WAFD,MAEO;AACL,iBAAKQ,QAAL,GAAgB,EAAhB;AACD;;AACD,eAAK4C,iBAAL;AACD;;;4CAEgB;AACf,cAAI,KAAK5C,QAAL,CAAcJ,MAAd,IAAwB,KAAKJ,YAAL,CAAkBI,MAA9C,EAAsD;AACpD,iBAAKK,cAAL,GAAsB,SAAtB;AACD,WAFD,MAEO,IAAI,KAAKD,QAAL,CAAcJ,MAAd,KAAyB,CAA7B,EAAgC;AACrC,iBAAKK,cAAL,GAAsB,eAAtB;AACD,WAFM,MAEC;AACN,iBAAKA,cAAL,GAAsB,EAAtB;AACD;AACF;;;mCAEU4C,C,EAAkB;AAC3B,iBAAO,KAAK7C,QAAL,CAAc8C,SAAd,CAAwB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC7E,EAAF,KAAS2E,CAAC,CAAC3E,EAAf;AAAA,WAAzB,IAA8C,CAAC,CAAtD;AACD;;;iCAEQ8E,I,EAAqB;AAC5B,cAAI,KAAKC,UAAL,CAAgBD,IAAhB,CAAJ,EAA2B;AACzB,iBAAKhD,QAAL,GAAgB,KAAKA,QAAL,CAAckD,MAAd,CAAqB,UAAAH,CAAC;AAAA,qBAAIA,CAAC,CAAC7E,EAAF,KAAS8E,IAAI,CAAC9E,EAAlB;AAAA,aAAtB,CAAhB;AACD,WAFD,MAEO;AACL,iBAAK8B,QAAL,CAAcmD,IAAd,CAAmBH,IAAnB;AACD;;AACD,eAAKJ,iBAAL;AACD;;;mCAEUQ,I,EAAWxG,I,EAAS;AAC7B,iBAAOwG,IAAI,CAACf,IAAL,CAAU,UAAAU,CAAC;AAAA,mBAAIA,CAAC,CAACM,IAAF,KAAWzG,IAAf;AAAA,WAAX,CAAP;AACD;;;6CAGiB;AACjB,eAAKgC,MAAL,CAAY0E,QAAZ,CAAqB,CAAC,+BAAD,EAAiC,CAAjC,CAArB;AACA;;;+BAEMtG,E,EAAE;AACP,eAAK4B,MAAL,CAAY0E,QAAZ,CAAqB,CAAC,+BAAD,EAAiCtG,EAAjC,CAArB;AACA;;;yCAEekB,E,EAAO,CACtB;AACA;AACD;;;qCAGYA,E,EAAO;AAClB,cAAIA,EAAE,IAAI,CAAV,EAAa;AACX,iBAAKoB,eAAL,GAAuB,KAAvB;AACA,iBAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,aAAlB,CAAnB;AACA,iBAAKsC,YAAL,GAAoB,CAAC,KAAKtB,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,aAAlB,CAAD,CAApB;AACA,iBAAKqF,QAAL,CAAcC,IAAd;AACD,WALD,MAMK,IAAItF,EAAE,KAAK,UAAX,EAAuB;AAC1B,iBAAKsC,YAAL,sBAAwB,KAAKR,QAA7B;AACA,iBAAKuD,QAAL,CAAcC,IAAd;AACD;AACF;;;+BAGMxG,E,EAAE;AACP,eAAK4B,MAAL,CAAY0E,QAAZ,CAAqB,CAAC,iCAAD,EAAmCtG,EAAnC,CAArB;AAEA;;;2CAEc;AACd,cAAI,KAAKwD,YAAL,CAAkBZ,MAAlB,KAA6B,CAAjC,EAAoC;AAClC,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,QAAQ,KAAKvC,eAApC,CADF;AAED,WAHD,MAIK,IAAI,KAAK0B,YAAL,CAAkBZ,MAAlB,KAA6B,CAAjC,EAAoC;AACvC,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,QAAQ,KAAKvC,eAAb,GAA+B,GAAtD,CADF;AAED,WAHI,MAIA,IAAI,KAAK0B,YAAL,CAAkBZ,MAAlB,GAA2B,CAA3B,IAAgC,KAAKY,YAAL,CAAkBZ,MAAlB,GAA2B,EAA/D,EAAmE;AACtE,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAKb,YAAL,CAAkBZ,MADiC,GACxB,GADwB,GAClB,KAAKjB,SAAL,CAAe0C,OAAf,CAAuB,KAAKvC,eAAL,GAAuB,UAA9C,CADnC;AAED,WAHI,MAIA;AACH,iBAAK2E,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAKb,YAAL,CAAkBZ,MADiC,GACxB,GADwB,GAClB,KAAKjB,SAAL,CAAe0C,OAAf,CAAuB,KAAKvC,eAAL,GAAuB,MAA9C,CADnC;AAED;;AAED,eAAK0B,YAAL,GAAoB,EAApB;AACA,eAAKR,QAAL,GAAgB,EAAhB;AAEA,eAAK4C,iBAAL;;AACA,cAAI,KAAK3C,cAAL,KAAwB,EAA5B,EAAgC;AAC9B,iBAAKJ,YAAL,GAAoB,KAApB;AACD;;AACD,eAAK0D,QAAL,CAAcG,IAAd;AACD;;;qCAEYC,W,EAAqBC,S,EAAiB;AACjD,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBE,OADnB,EAC4B;AAAEC,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD5B;AAED;;;mCACUL,W,EAAqBC,S,EAAiB;AAC/C,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBjH,KADnB,EAC0B;AAAEoH,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD1B;AAED;;;8CACqB;AACpB,eAAKlD,QAAL;AACA,eAAKyC,QAAL,CAAcG,IAAd;AACD;;;sCAEa,CACZ;AACA;AACA;AACA;AACA;AACA;AACD;;;qCAEY;AAAA;;AACX,cAAMO,UAAU,GAAG,KAAKxD,UAAxB;AACA,eAAKA,UAAL,GAAkB,EAAlB;AACAyD,oBAAU,CAAC,YAAM;AACf,oBAAI,CAACzD,UAAL,GAAkBwD,UAAlB;AACD,WAFS,EAEP,CAFO,CAAV;AAGD;;;;;;;uBAxTM+5C,mB,EAAmB,2H,EAAA,wH,EAAA,4I,EAAA,qI,EAAA,uH;AAAA,K;;;YAAnBA,mB;AAAmB,kC;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;ACdhC;;AACI;;AACI;;AACI;;AAAkE;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAAwB,WAAxB;;AAE9D;;AAAyB;;AAAO;;AACpC;;AACA;;AACI;;AACI;;;;AACW;;AACnB;;AACA;;AACI;;AASA;;AAQA;;AACI;;AAA2D;AAAA,mBAAS,IAAA75C,YAAA,EAAT;AAAuB,WAAvB;;AAEK;;;;AAAwB;;AACxF;;AAA8B;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAAwB,WAAxB;;AACoD;;;;AACnE;;AACnB;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AAIA;;AAiOA;;AAIA;;AAKA;;AAKA;;AAIA;;;;AAxRoB;;AAAA;;AAIiC;;AAAA;;AAS4B;;AAAA;;AAUzD;;AAAA;;AAC4D;;AAAA;;AAEkB;;AAAA;;AAOhG;;AAAA;;AAID;;AAAA;;;;;;;;;;sEDhCQ65C,mB,EAAmB;cAL/B,uDAK+B;eALrB;AACP55C,kBAAQ,EAAE,aADH;AAEPC,qBAAW,EAAE,4BAFN;AAGPC,mBAAS,EAAE,CAAC,4BAAD;AAHJ,S;AAKqB,Q;;;;;;;;;;;;;;gBA8NzB,uD;iBAAU,U;;;gBA4FV,uD;iBAAU,Y;;;;;;;;;;;;;;;;;;;;AE3UjB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACyCI;;AACI;;AACI;;AACA;;AAA+C;;;;AAA8B;;AAC7E;;AAEA;;AACI;;AACI;;AAAQ;;;;AAAkC;;AAC1C;;AACJ;;AACA;;AACI;;AAA4B;;;;AAAmC;;AAC/D;;AACJ;;AACA;;AACI;;AAA4B;;;;AAAiC;;AAC7D;;AACJ;;AACJ;;AAEA;;AACI;;AACI;;AAA4B;;;;AAA6B;;AACzD;;AACJ;;AACA;;AACI;;AAAQ;;;;AAAsB;;AAC9B;;AACJ;;AACA;;AACI;;AAA4B;;;;AAAsB;;AAClD;;AACJ;;AAEJ;;AAEA;;AACI;;AACI;;AAA4B;;;;AAAqB;;AACjD;;AAKE;;AACC;;;;AACD;;AACA;;AACE;;;;AACD;;AAEH;;AAEC;;AACA;;AACG;;AAA4B;;;;AAA8B;;AAC1D;;AAKE;;AACC;;;;AACD;;AACA;;AACE;;;;AACD;;AAEH;;AAEC;;AACJ;;AACG;;AAAQ;;;;AAA4B;;AACpC;;AACJ;;AAEJ;;AAEA;;AAES;;AACG;;AAAQ;;;;AAAwB;;AAChC;;AACJ;;AAEJ;;AACR;;AACA;;AACI;;AACA;;AAA+C;;;;AAAsC;;AACrF;;AACA;;AACI;;AACI;;AAA4B;;;;AAA0C;;AACtE;;AACJ;;AACA;;AACI;;AAAQ;;;;AAAgC;;AACxC;;AACJ;;AACJ;;AACA;;AACI;;AAIA;;AAGJ;;AAGA;;AAET;;;;;;AAnHgB;;AAGoC;;AAAA;;AAK/B;;AAAA;;AAIoB;;AAAA;;AAIA;;AAAA;;AAOA;;AAAA;;AAIpB;;AAAA;;AAIoB;;AAAA;;AAQA;;AAAA;;AAMjB;;AAAA;;AACR;;AAAA;;AAEQ;;AAAA;;AACP;;AAAA;;AAO4B;;AAAA;;AAMjB;;AAAA;;AACR;;AAAA;;AAEQ;;AAAA;;AACP;;AAAA;;AAOI;;AAAA;;AASI;;AAAA;;AAQ2B;;AAAA;;AAIX;;AAAA;;AAIpB;;AAAA;;;;QDjInB25C,qB;AAeT,qCACSr/C,MADT,EAES4F,EAFT,EAGUI,KAHV,EAG+B;AAAA;;AAFtB,aAAAhG,MAAA,GAAAA,MAAA;AACA,aAAA4F,EAAA,GAAAA,EAAA;AACC,aAAAI,KAAA,GAAAA,KAAA;AAjBV,aAAA4M,QAAA,GAAoB,KAApB;AACA,aAAAC,cAAA,GAAwB,EAAxB;AAGA,aAAAvT,EAAA,GAAK,CAAL;AACA,aAAAgB,MAAA,GAA6B,CACzB;AAAChB,YAAE,EAAC,CAAJ;AAAM2X,qBAAW,EAAC,OAAlB;AAA0BO,sBAAY,EAAC,MAAvC;AAA+ClE,oBAAU,EAAC,YAA1D;AAA0EC,qBAAW,EAAC,eAAtF;AAAuG9I,eAAK,EAAC,aAA7G;AAA4HiK,eAAK,EAAC;AAAlI,SADyB,EAEzB;AAACpV,YAAE,EAAC,CAAJ;AAAM2X,qBAAW,EAAC,MAAlB;AAAyBO,sBAAY,EAAC,MAAtC;AAA8ClE,oBAAU,EAAC,WAAzD;AAAyEC,qBAAW,EAAC,cAArF;AAAqG9I,eAAK,EAAC,aAA3G;AAA0HiK,eAAK,EAAC;AAAhI,SAFyB,EAGzB;AAACpV,YAAE,EAAC,CAAJ;AAAM2X,qBAAW,EAAC,MAAlB;AAAyBO,sBAAY,EAAC,KAAtC;AAA6ClE,oBAAU,EAAC,UAAxD;AAAwEC,qBAAW,EAAC,cAApF;AAAoG9I,eAAK,EAAC,aAA1G;AAAyHiK,eAAK,EAAC;AAA/H,SAHyB,EAIzB;AAACpV,YAAE,EAAC,CAAJ;AAAM2X,qBAAW,EAAC,MAAlB;AAAyBO,sBAAY,EAAC,MAAtC;AAA8ClE,oBAAU,EAAC,WAAzD;AAAyEC,qBAAW,EAAC,eAArF;AAAsG9I,eAAK,EAAC,aAA5G;AAA2HiK,eAAK,EAAC;AAAjI,SAJyB,EAKzB;AAACpV,YAAE,EAAC,CAAJ;AAAM2X,qBAAW,EAAC,SAAlB;AAA4BO,sBAAY,EAAC,KAAzC;AAAgDlE,oBAAU,EAAC,aAA3D;AAA2EC,qBAAW,EAAC,gBAAvF;AAAyG9I,eAAK,EAAC,aAA/G;AAA8HiK,eAAK,EAAC;AAApI,SALyB,CAA7B;AA0KK,aAAA1B,WAAA,GAAc,IAAd;AACA,aAAAC,MAAA,GAAgB,EAAhB;AAKD,aAAAC,qBAAA,GAAwB,IAAxB;AACA,aAAAC,gBAAA,GAA0B,EAA1B;AAKD,aAAAC,qBAAA,GAAwB,IAAxB;AACA,aAAAC,gBAAA,GAA0B,EAA1B;AAvKC,aAAK/T,EAAL,GAAU,CAAC0G,KAAK,CAACM,QAAN,CAAeC,QAAf,CAAwBzH,GAAxB,CAA4B,IAA5B,CAAX;AAEH;;;;mCAEU;AAAA;;AACP,cAAG,KAAKQ,EAAL,GAAU,CAAb,EAAe;AACX,gBAAIyO,KAAK,GAAG,KAAKzN,MAAL,CAAY4D,SAAZ,CAAsB,UAAAC,CAAC;AAAA,qBAAEA,CAAC,CAAC7E,EAAF,IAAQ,QAAI,CAACA,EAAf;AAAA,aAAvB,CAAZ;;AACA,gBAAGyO,KAAK,GAAG,CAAC,CAAZ,EAAc;AACV,kBAAI3J,IAAI,GAAG,KAAK9D,MAAL,CAAYyN,KAAZ,CAAX;AACR,mBAAKvG,IAAL,GAAY,KAAKU,UAAL,CAAgB9D,IAAhB,CAAZ;AAEK,aAJD,MAKI;AACR,mBAAKoD,IAAL,GAAY,KAAKU,UAAL,CAAgB,IAAI,2FAAJ,EAAhB,CAAZ;AAEK;AACJ,WAXD,MAYI;AACA,iBAAKV,IAAL,GAAY,KAAKU,UAAL,CAAgB,IAAI,2FAAJ,EAAhB,CAAZ;AAEK;AAEJ;;;+BAGF;AAAA;;AACL;AAEA,cAAIo3C,UAAU,GAAG,KAAK93C,IAAL,CAAUY,WAAV,EAAjB;AACAk3C,oBAAU,CAAChqC,QAAX,GAAsB,KAAKrC,MAA3B;AACAqsC,oBAAU,CAAChrB,eAAX,GAA6B,KAAKnhB,gBAAlC;AACAmsC,oBAAU,CAACC,kBAAX,GAAgC,KAAKlsC,gBAArC;;AACA,cAAG,KAAK/T,EAAL,GAAU,CAAb,EAAe;AACb,iBAAKkgD,iBAAL,CAAuB32C,MAAvB,CAA8By2C,UAA9B,EACCj9C,SADD,CACW,UAAAC,MAAM,EAAE;AACjB,kBAAGA,MAAM,IAAI,IAAb,EAAkB;AAChB,wBAAI,CAACtC,MAAL,CAAY0E,QAAZ,CAAqB,CAAC,yBAAD,CAArB;AACD;AACF,aALD;AAMD,WAPD,MAQI;AACF,iBAAK86C,iBAAL,CAAuB52C,MAAvB,CAA8B02C,UAA9B,EACCj9C,SADD,CACW,UAAAC,MAAM,EAAE;AACjB,kBAAGA,MAAM,IAAI,IAAb,EAAkB;AAChB,wBAAI,CAACtC,MAAL,CAAY0E,QAAZ,CAAqB,CAAC,yBAAD,CAArB;AACD;AACF,aALD;AAMD;AAGF;;;iCAEG;AACJ,eAAK1E,MAAL,CAAY0E,QAAZ,CAAqB,CAAC,yBAAD,CAArB;AACD;;;mCAGUrE,W,EAA2B;AACpC;AACA,iBAAO,KAAKuF,EAAL,CAAQY,KAAR,CAAc;AACpBlH,cAAE,EAAC,CAACe,WAAW,CAACf,EAAb,CADiB;AAEpBgU,sBAAU,EAAwB,CAACjT,WAAW,CAACiT,UAAb,CAFd;AAGpBiB,2BAAe,EAAmB,CAAClU,WAAW,CAACkU,eAAb,CAHd;AAIpBC,4BAAgB,EAAkB,CAACnU,WAAW,CAACmU,gBAAb,CAJd;AAKpBC,0BAAc,EAAoB,CAACpU,WAAW,CAACoU,cAAb,CALd;AAMpBlB,uBAAW,EAAuB,CAAClT,WAAW,CAACkT,WAAb,CANd;AAOpB9I,iBAAK,EAA6B,CAACpK,WAAW,CAACoK,KAAb,CAPd;AAQpBiK,iBAAK,EAA6B,CAACrU,WAAW,CAACqU,KAAb,CARd;AASpBC,kBAAM,EAA4B,CAACtU,WAAW,CAACsU,MAAb,CATd;AAUpBC,sBAAU,EAAwB,CAACvU,WAAW,CAACuU,UAAb,CAVd;AAWpBC,sBAAU,EAAwB,CAACxU,WAAW,CAACwU,UAAb,CAXd;AAYpBC,0BAAc,EAAoB,CAACzU,WAAW,CAACyU,cAAb,CAZd;AAapBC,wBAAY,EAAsB,CAAC1U,WAAW,CAAC0U,YAAb,CAbd;AAcpBC,wBAAY,EAAsB,CAAC3U,WAAW,CAAC2U,YAAb,CAdd;AAepBnK,qBAAS,EAAyB,CAACxK,WAAW,CAACwK,SAAb,CAfd;AAgBpBD,qBAAS,EAAyB,CAACvK,WAAW,CAACuK,SAAb,CAhBd;AAiBpBqK,wBAAY,EAAsB,CAAC5U,WAAW,CAAC4U,YAAb,CAjBd;AAkBpBC,gBAAI,EAA8B,CAAC7U,WAAW,CAAC6U,IAAb,CAlBd;AAmBpBC,yBAAa,EAAqB,CAAC9U,WAAW,CAAC8U,aAAb,CAnBd;AAoBpBC,kCAAsB,EAAY,CAAC/U,WAAW,CAAC+U,sBAAb,CApBd;AAqBpBC,qBAAS,EAAyB,CAAChV,WAAW,CAACgV,SAAb,CArBd;AAsBpBC,oBAAQ,EAA0B,CAACjV,WAAW,CAACiV,QAAb,CAtBd;AAuBpBC,eAAG,EAA+B,CAAClV,WAAW,CAACkV,GAAb,CAvBd;AAwBpBC,oBAAQ,EAA0B,CAACnV,WAAW,CAACmV,QAAb,CAxBd;AAyBpBC,mBAAO,EAA2B,CAACpV,WAAW,CAACoV,OAAb,CAzBd;AA0BpBC,kBAAM,EAA4B,CAACrV,WAAW,CAACqV,MAAb,CA1Bd;AA2BpBC,oBAAQ,EAA0B,CAACtV,WAAW,CAACsV,QAAb,CA3Bd;AA4BpBC,kBAAM,EAA4B,CAACvV,WAAW,CAACuV,MAAb,CA5Bd;AA6BpBjC,qBAAS,EAAyB,CAACtT,WAAW,CAACsT,SAAb,CA7Bd;AA8BpBkC,qBAAS,EAAyB,CAACxV,WAAW,CAACwV,SAAb,CA9Bd;AA+BpBC,+BAAmB,EAAe,CAACzV,WAAW,CAACyV,mBAAb,CA/Bd;AAgCpBC,kCAAsB,EAAY,CAAC1V,WAAW,CAAC0V,sBAAb,CAhCd;AAiCpBC,qBAAS,EAAyB,CAAC3V,WAAW,CAAC2V,SAAb,CAjCd;AAkCpBC,oBAAQ,EAA0B,CAAC5V,WAAW,CAAC4V,QAAb,CAlCd;AAmCpBC,wBAAY,EAAsB,CAAC7V,WAAW,CAAC6V,YAAb,CAnCd;AAoCpBC,+BAAmB,EAAe,CAAC9V,WAAW,CAAC8V,mBAAb,CApCd;AAqCpBC,2BAAe,EAAmB,CAAC/V,WAAW,CAAC+V,eAAb,CArCd;AAsCpBC,oBAAQ,EAA0B,CAAChW,WAAW,CAACgW,QAAb,CAtCd;AAuCpBzC,kBAAM,EAA4B,CAACvT,WAAW,CAACuT,MAAb,CAvCd;AAwCpB0C,6CAAiC,EAAC,CAACjW,WAAW,CAACiW,iCAAb,CAxCd;AAyCpBC,gCAAoB,EAAc,CAAClW,WAAW,CAACkW,oBAAb,CAzCd;AA0CpBC,+BAAmB,EAAe,CAACnW,WAAW,CAACmW,mBAAb,CA1Cd;AA2CpBC,wBAAY,EAAC,CAACpW,WAAW,CAACoW,YAAb,CA3CO;AA4CpBC,0BAAc,EAAC,CAACrW,WAAW,CAACqW,cAAb,CA5CK;AA6CpB7C,oBAAQ,EAA0B,CAACxT,WAAW,CAACwT,QAAb,CA7Cd;AA8CpBC,sBAAU,EAAwB,CAACzT,WAAW,CAACyT,UAAb,CA9Cd;AA+CpBC,sBAAU,EAAwB,CAAC1T,WAAW,CAAC0T,UAAb,CA/Cd;AAgDpBC,wBAAY,EAAsB,CAAC3T,WAAW,CAAC2T,YAAb,CAhDd;AAiDpBC,qBAAS,EAAyB,CAAC5T,WAAW,CAAC4T,SAAb,CAjDd;AAkDpBC,qBAAS,EAAyB,CAAC7T,WAAW,CAAC6T,SAAb,CAlDd;AAmDpBC,uBAAW,EAAuB,CAAC9T,WAAW,CAAC8T,WAAb,CAnDd;AAoDpBwC,6BAAiB,EAAiB,CAACtW,WAAW,CAACsW,iBAAb,CApDd;AAqDpBC,6BAAiB,EAAiB,CAACvW,WAAW,CAACuW,iBAAb,CArDd;AAsDpBC,sBAAU,EAAwB,CAACxW,WAAW,CAACwW,UAAb,CAtDd;AAuDpBC,sBAAU,EAAwB,CAACzW,WAAW,CAACyW,UAAb,CAvDd;AAwDpBC,wBAAY,EAAsB,CAAC1W,WAAW,CAAC0W,YAAb,CAxDd;AAyDpBC,wBAAY,EAAsB,CAAC3W,WAAW,CAAC2W,YAAb,CAzDd;AA0DpBC,uBAAW,EAAuB,CAAC5W,WAAW,CAAC4W,WAAb,CA1Dd;AA2DpBC,uBAAW,EAAuB,CAAC7W,WAAW,CAAC6W,WAAb,CA3Dd;AA4DpBC,mBAAO,EAA2B,CAAC9W,WAAW,CAAC8W,OAAb,CA5Dd;AA6DpBE,uBAAW,EAAuB,CAAChX,WAAW,CAACgX,WAAb,CA7Dd;AA8DpBC,yBAAa,EAAqB,CAACjX,WAAW,CAACiX,aAAb,CA9Dd;AA+DpBC,yBAAa,EAAqB,CAAClX,WAAW,CAACkX,aAAb,CA/Dd;AAgEpBC,wBAAY,EAAsB,CAACnX,WAAW,CAACmX,YAAb,CAhEd;AAiEpBC,wBAAY,EAAsB,CAACpX,WAAW,CAACoX,YAAb,CAjEd;AAkEpBC,2BAAe,EAAmB,CAACrX,WAAW,CAACqX,eAAb,CAlEd;AAmEpBC,4BAAgB,EAAkB,CAACtX,WAAW,CAACsX,gBAAb,CAnEd;AAoEpBC,4BAAgB,EAAkB,CAACvX,WAAW,CAACuX,gBAAb,CApEd;AAqEpBC,2BAAe,EAAmB,CAACxX,WAAW,CAACwX,eAAb,CArEd;AAsEpBC,2BAAe,EAAmB,CAACzX,WAAW,CAACyX,eAAb,CAtEd;AAuEpBC,uBAAW,EAAuB,CAAC1X,WAAW,CAAC0X,WAAb,CAvEd;AAwEpBC,2BAAe,EAAmB,CAAC3X,WAAW,CAAC2X,eAAb,CAxEd;AAyEpBC,kCAAsB,EAAY,CAAC5X,WAAW,CAAC4X,sBAAb,CAzEd;AA0EpBC,iCAAqB,EAAa,CAAC7X,WAAW,CAAC6X,qBAAb,CA1Ed;AA2EpBC,6BAAiB,EAAiB,CAAC9X,WAAW,CAAC8X,iBAAb,CA3Ed;AA4EpBC,+BAAmB,EAAe,CAAC/X,WAAW,CAAC+X,mBAAb,CA5Ed;AA6EpBC,oBAAQ,EAA0B,CAAChY,WAAW,CAACgY,QAAb,CA7Ed;AA8EpBC,qBAAS,EAAyB,CAACjY,WAAW,CAACiY,SAAb,CA9Ed;AA+EpBC,gBAAI,EAA8B,CAAClY,WAAW,CAACkY,IAAb,CA/Ed;AAgFpBC,gCAAoB,EAAc,CAACnY,WAAW,CAACmY,oBAAb,CAhFd;AAiFpBC,qCAAyB,EAAS,CAACpY,WAAW,CAACoY,yBAAb,CAjFd;AAkFpBC,kCAAsB,EAAY,CAACrY,WAAW,CAACqY,sBAAb,CAlFd;AAmFpBC,kCAAsB,EAAY,CAACtY,WAAW,CAACsY,sBAAb,CAnFd;AAoFpBC,+BAAmB,EAAe,CAACvY,WAAW,CAACuY,mBAAb,CApFd;AAqFpBC,2BAAe,EAAmB,CAACxY,WAAW,CAACwY,eAAb,CArFd;AAsFpBC,sBAAU,EAAwB,CAACzY,WAAW,CAACyY,UAAb,CAtFd;AAuFpBC,sBAAU,EAAwB,CAAC1Y,WAAW,CAAC0Y,UAAb,CAvFd;AAwFpBC,sBAAU,EAAwB,CAAC3Y,WAAW,CAAC2Y,UAAb,CAxFd;AAyFpBC,6BAAiB,EAAiB,CAAC5Y,WAAW,CAAC4Y,iBAAb,CAzFd;AA0FpBC,wBAAY,EAAC,CAAC7Y,WAAW,CAAC6Y,YAAb,CA1FO;AA2FpBC,0BAAc,EAAC,CAAC9Y,WAAW,CAAC8Y,cAAb,CA3FK;AA4FpBC,oCAAwB,EAAC,CAAC/Y,WAAW,CAAC+Y,wBAAb;AA5FL,WAAd,CAAP;AA8FD;;;gCAII;AACH,eAAKnG,MAAL,GAAc,EAAd;AACF;;;0CAIc;AACb,eAAKE,gBAAL,GAAwB,EAAxB;AACF;;;0CAIc;AACb,eAAKE,gBAAL,GAAwB,EAAxB;AACD;;;;;;;uBAjMYgsC,qB,EAAqB,uH,EAAA,2H,EAAA,+H;AAAA,K;;;YAArBA,qB;AAAqB,oC;AAAA,e;AAAA,c;AAAA,gyD;AAAA;AAAA;ACVlC;;AAEI;;AACI;;AAA8B;AAAA,mBAAS,IAAAjrC,MAAA,EAAT;AAAiB,WAAjB;;AAC+F;;;;AAAuB;;AACpJ;;AAC0D;AAAA,mBAAS,IAAAC,IAAA,EAAT;AAAe,WAAf;;AACmE;;;;AAAuB;;AAExJ;;AACA;;AACI;;AACI;;AACE;;AACE;;AACA;;AAAI;;;;AAA6B;;AACjC;;AACA;;AAA6B;AAAA;AAAA;;AAAsC;;AACxE;;AACC;;AACA;;AACI;;AACI;;AACA;;AAAI;;;;AAA2B;;AAC/B;;AACA;;AAAoC;AAAA;AAAA;;AAA0D;;AACnG;;AACH;;AACA;;AACI;;AACI;;AACA;;AAAI;;;;AAAmC;;AACvC;;AACA;;AAAuC;AAAA;AAAA;;AAA0D;;AACtG;;AACH;;AAEJ;;AAGJ;;AACA;;AAqHJ;;AAEA;;AACI;;AAA8B;AAAA,mBAAS,IAAAD,MAAA,EAAT;AAAiB,WAAjB;;AAC+F;;;;AAAuB;;AACpJ;;AAC0D;AAAA,mBAAS,IAAAC,IAAA,EAAT;AAAe,WAAf;;AACmE;;;;AAAuB;;AAExJ;;AACA;;;;AApKqI;;AAAA;;AAGA;;AAAA;;AAQjH;;AAAA;;AAEyB;;AAAA,sFAAc,UAAd,EAAc,eAAd;;AAMrB;;AAAA;;AAEgC;;AAAA,gGAAwB,UAAxB,EAAwB,yBAAxB;;AAMhC;;AAAA;;AAEmC;;AAAA,gGAAwB,UAAxB,EAAwB,yBAAxB;;AAQjD;;AAAA;;AAyHuH;;AAAA;;AAGA;;AAAA;;;;;;;;;;sED3JpHgrC,qB,EAAqB;cALjC,uDAKiC;eALvB;AACP75C,kBAAQ,EAAE,eADH;AAEPC,qBAAW,EAAE,8BAFN;AAGPC,mBAAS,EAAE,CAAC,8BAAD;AAHJ,S;AAKuB,Q;;;;;;;;;;;;;;;;;;;;;;;;;;AEVlC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACCI;;;;;;AAAsC;;;;;;AACtC;;AAA0C;;;;AAAwB;;;;;;AAAnD;;AAA2B;;AAAA;;;;;;AAElB;;AAAqB;;;;AAA+B;;;;AAA/B;;AAAA;;;;;;;;;;;;;;AAD7C;;AAA4G;AAAA;;AAAA;;AAAA;AAAA;;AAC1G;;AAAsB;;AAA2D;;AACnF;;;;;;AAFqE,uKAAsC,UAAtC,EAAsC,wBAAtC;;AACvC;;AAAA;;;;;;AAE9B;;;;;;AAAmD;;;;QDK1C+5C,iC;AAcT,iDAAoB1/C,SAApB,EAAyDD,aAAzD,EAA8F;AAAA;;AAAA;;AAA1E,aAAAC,SAAA,GAAAA,SAAA;AAAqC,aAAAD,aAAA,GAAAA,aAAA;AAZlD,aAAAo0B,WAAA,GAAc,KAAd;AAGA,aAAAC,QAAA,GAAW,KAAX;AAGA,aAAAC,GAAA,GAAM,EAAN;AAGA,aAAAC,SAAA,GAAY,IAAI,0DAAJ,EAAZ;AAIH,aAAKvyB,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AAEF,aAAK+gD,iBAAL,GAAyB,IAAI,4DAAJ,CAAiB;AACxCtrB,aAAG,EAAE,yEAAY51B,UAAZ,GAAuB,oCADY;AAExC+1B,0BAAgB,EAAE,KAFsB;AAGxCC,oBAAU,EAAE;AAH4B,SAAjB,CAAzB;AAMA,aAAKkrB,iBAAL,CAAuBjrB,QAAvB,CAAgCpyB,SAAhC,CAA0C,UAAAqyB,GAAG,EAAI;AAC/C;AACA,cAAGA,GAAG,IAAI,IAAP,IAAeA,GAAG,IAAI,EAAtB,IAA4BA,GAAG,IAAIlmB,SAAtC,EAAgD;AAChD,oBAAI,CAAC4lB,GAAL,GAAW,yEAAYO,MAAZ,GAAoB,qCAApB,GAA4Dp1B,IAAI,CAACq1B,KAAL,CAAWF,GAAX,CAAvE;;AACA,oBAAI,CAACL,SAAL,CAAe/V,IAAf,CAAoB,QAAI,CAAC8V,GAAzB;AACC,WAHD,MAII;AACA,oBAAI,CAACvvB,YAAL,CAAkB,QAAI,CAAC9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,eAAvB,CAArD;AACH;AACD,SATF,EASG,UAAAzD,KAAK,EAAG;AACT,kBAAI,CAACwD,UAAL,CAAgB,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAAhB,EAAiD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,cAAvB,CAAjD;AACA,SAXF;AAYD;;;;iCAEe3E,C,EAAM;AAEpB,eAAKo2B,WAAL,GAAmBp2B,CAAnB;AACD;;;mCAEU,CAEV;;;qCACYiH,W,EAAqBC,S,EAAiB;AAC/C,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBE,OADnB,EAC4B;AAAEC,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD5B;AAED;;;mCACUL,W,EAAqBC,S,EAAiB;AAC/C,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBjH,KADnB,EAC0B;AAAEoH,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD1B;AAED;;;;;;;uBApDMq6C,iC,EAAiC,qI,EAAA,4I;AAAA,K;;;YAAjCA,iC;AAAiC,kD;AAAA;AAAA;AAAA;AAAA,O;AAAA;AAAA;AAAA,O;AAAA,c;AAAA,a;AAAA,uqB;AAAA;AAAA;ACX9C;;AACI;;AACA;;AACA;;AAGA;;AACF;;;;AANO;;AAAA;;AACF;;AAAA;;AACI;;AAAA;;AAGA;;AAAA;;;;;;;;;;sEDKEA,iC,EAAiC;cAL7C,uDAK6C;eALnC;AACPj6C,kBAAQ,EAAE,6BADH;AAEPC,qBAAW,EAAE,4CAFN;AAGPC,mBAAS,EAAE,CAAC,4CAAD;AAHJ,S;AAKmC,Q;;;;;;;;gBAIzC;;;gBAGA;;;gBAGA;;;;;;;;;;;;;;;;;;;;AErBL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACCI;;;;;;AAAsC;;;;;;AACtC;;AAA0C;;;;AAAwB;;;;;;AAAnD;;AAA2B;;AAAA;;;;;;AAElB;;AAAqB;;;;AAA+B;;;;AAA/B;;AAAA;;;;;;;;;;;;;;AAD7C;;AAA6G;AAAA;;AAAA;;AAAA;AAAA;;AAC3G;;AAAsB;;AAA2D;;AACnF;;;;;;AAFsE,uKAAsC,UAAtC,EAAsC,yBAAtC;;AACxC;;AAAA;;;;;;AAE9B;;;;;;AAAmD;;;;QDK1Ci6C,0C;AAcT,0DAAoB5/C,SAApB,EAAyDD,aAAzD,EAA8F;AAAA;;AAAA;;AAA1E,aAAAC,SAAA,GAAAA,SAAA;AAAqC,aAAAD,aAAA,GAAAA,aAAA;AAZlD,aAAAo0B,WAAA,GAAc,KAAd;AAGA,aAAAC,QAAA,GAAW,KAAX;AAGA,aAAAC,GAAA,GAAM,EAAN;AAGA,aAAAC,SAAA,GAAY,IAAI,0DAAJ,EAAZ;AAIH,aAAKvyB,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AAEF,aAAK4gD,kBAAL,GAA0B,IAAI,4DAAJ,CAAiB;AACzCnrB,aAAG,EAAE,yEAAY51B,UAAZ,GAAuB,6BADa;AAEzC+1B,0BAAgB,EAAE,KAFuB;AAGzCC,oBAAU,EAAE;AAH6B,SAAjB,CAA1B;AAMA,aAAK+qB,kBAAL,CAAwB9qB,QAAxB,CAAiCpyB,SAAjC,CAA2C,UAAAqyB,GAAG,EAAI;AAChD;AACA,cAAGA,GAAG,IAAI,IAAP,IAAeA,GAAG,IAAI,EAAtB,IAA4BA,GAAG,IAAIlmB,SAAtC,EAAgD;AAChD,oBAAI,CAAC4lB,GAAL,GAAW,yEAAYO,MAAZ,GAAoB,8BAApB,GAAqDp1B,IAAI,CAACq1B,KAAL,CAAWF,GAAX,CAAhE;;AACA,oBAAI,CAACL,SAAL,CAAe/V,IAAf,CAAoB,QAAI,CAAC8V,GAAzB;AACC,WAHD,MAII;AACA,oBAAI,CAACvvB,YAAL,CAAkB,QAAI,CAAC9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,eAAvB,CAArD;AACH;AACD,SATF,EASG,UAAAzD,KAAK,EAAG;AACT,kBAAI,CAACwD,UAAL,CAAgB,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAAhB,EAAiD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,cAAvB,CAAjD;AACA,SAXF;AAYD;;;;iCAEe3E,C,EAAM;AAEpB,eAAKo2B,WAAL,GAAmBp2B,CAAnB;AACD;;;mCAEU,CAEV;;;qCACYiH,W,EAAqBC,S,EAAiB;AAC/C,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBE,OADnB,EAC4B;AAAEC,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD5B;AAED;;;mCACUL,W,EAAqBC,S,EAAiB;AAC/C,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBjH,KADnB,EAC0B;AAAEoH,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD1B;AAED;;;;;;;uBApDMu6C,0C,EAA0C,qI,EAAA,4I;AAAA,K;;;YAA1CA,0C;AAA0C,4D;AAAA;AAAA;AAAA;AAAA,O;AAAA;AAAA;AAAA,O;AAAA,c;AAAA,a;AAAA,2qB;AAAA;AAAA;ACXvD;;AACI;;AACA;;AACA;;AAGA;;AACF;;;;AANO;;AAAA;;AACF;;AAAA;;AACI;;AAAA;;AAGA;;AAAA;;;;;;;;;;sEDKEA,0C,EAA0C;cALtD,uDAKsD;eAL5C;AACPn6C,kBAAQ,EAAE,uCADH;AAEPC,qBAAW,EAAE,sDAFN;AAGPC,mBAAS,EAAE,CAAC,sDAAD;AAHJ,S;AAK4C,Q;;;;;;;;gBAIlD;;;gBAGA;;;gBAGA;;;;;;;;;;;;;;;;;;;;AErBL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACCI;;;;;;AAAsC;;;;;;AACtC;;AAA0C;;;;AAAwB;;;;;;AAAnD;;AAA2B;;AAAA;;;;;;AAElB;;AAAqB;;;;AAA+B;;;;AAA/B;;AAAA;;;;;;;;;;;;;;AAD7C;;AAAqG;AAAA;;AAAA;;AAAA;AAAA;;AACnG;;AAAsB;;AAA2D;;AACnF;;;;;;AAF8D,uKAAsC,UAAtC,EAAsC,iBAAtC;;AAChC;;AAAA;;;;;;AAE9B;;;;;;AAAmD;;;;QDK1Ck6C,uC;AAcT,uDAAoB7/C,SAApB,EAAyDD,aAAzD,EAA8F;AAAA;;AAAA;;AAA1E,aAAAC,SAAA,GAAAA,SAAA;AAAqC,aAAAD,aAAA,GAAAA,aAAA;AAZlD,aAAAo0B,WAAA,GAAc,KAAd;AAGA,aAAAC,QAAA,GAAW,KAAX;AAGA,aAAAC,GAAA,GAAM,EAAN;AAGA,aAAAC,SAAA,GAAY,IAAI,0DAAJ,EAAZ;AAIH,aAAKvyB,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AAEF,aAAKkW,UAAL,GAAkB,IAAI,4DAAJ,CAAiB;AACjCuf,aAAG,EAAE,yEAAY51B,UAAZ,GAAuB,kCADK;AAEjC+1B,0BAAgB,EAAE,KAFe;AAGjCC,oBAAU,EAAE;AAHqB,SAAjB,CAAlB;AAMA,aAAK3f,UAAL,CAAgB4f,QAAhB,CAAyBpyB,SAAzB,CAAmC,UAAAqyB,GAAG,EAAI;AACxC;AACA,cAAGA,GAAG,IAAI,IAAP,IAAeA,GAAG,IAAI,EAAtB,IAA4BA,GAAG,IAAIlmB,SAAtC,EAAgD;AAChD,oBAAI,CAAC4lB,GAAL,GAAW,yEAAYO,MAAZ,GAAoB,mCAApB,GAA0Dp1B,IAAI,CAACq1B,KAAL,CAAWF,GAAX,CAArE;;AACA,oBAAI,CAACL,SAAL,CAAe/V,IAAf,CAAoB,QAAI,CAAC8V,GAAzB;AACC,WAHD,MAII;AACA,oBAAI,CAACvvB,YAAL,CAAkB,QAAI,CAAC9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,eAAvB,CAArD;AACH;AACD,SATF,EASG,UAAAzD,KAAK,EAAG;AACT,kBAAI,CAACwD,UAAL,CAAgB,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAAhB,EAAiD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,cAAvB,CAAjD;AACA,SAXF;AAYD;;;;iCAEe3E,C,EAAM;AAEpB,eAAKo2B,WAAL,GAAmBp2B,CAAnB;AACD;;;mCAEU,CAEV;;;qCACYiH,W,EAAqBC,S,EAAiB;AAC/C,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBE,OADnB,EAC4B;AAAEC,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD5B;AAED;;;mCACUL,W,EAAqBC,S,EAAiB;AAC/C,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBjH,KADnB,EAC0B;AAAEoH,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD1B;AAED;;;;;;;uBApDMw6C,uC,EAAuC,qI,EAAA,4I;AAAA,K;;;YAAvCA,uC;AAAuC,yD;AAAA;AAAA;AAAA;AAAA,O;AAAA;AAAA;AAAA,O;AAAA,c;AAAA,a;AAAA,2oB;AAAA;AAAA;ACXpD;;AACI;;AACA;;AACA;;AAGA;;AACF;;;;AANO;;AAAA;;AACF;;AAAA;;AACI;;AAAA;;AAGA;;AAAA;;;;;;;;;;sEDKEA,uC,EAAuC;cALnD,uDAKmD;eALzC;AACPp6C,kBAAQ,EAAE,oCADH;AAEPC,qBAAW,EAAE,mDAFN;AAGPC,mBAAS,EAAE,CAAC,mDAAD;AAHJ,S;AAKyC,Q;;;;;;;;gBAI/C;;;gBAGA;;;gBAGA;;;;;;;;;;;;;;;;;;;;AErBL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;ACYwB;;;;;;AAEI;;;;;;AACJ;;AACqB;;AAAoB;;;;;;AAApB;;AAAA;;;;;;AAMrB;;AACI;;;;AAII;;AAEI;;;;AAAsB;;AACtB;;AAEA;;;;AAA0B;;AAClC;;AACJ;;;;AATQ;;AAAA;;AACA;;AAGI;;AAAA;;AAGA;;AAAA;;;;;;AAOZ;;;;;;AAEI;;;;;;AACJ;;AACsB;;AAAqB;;;;;;AAArB;;AAAA;;;;;;AAMtB;;;;;;AAEI;;;;;;AACJ;;AACsB;;AAA2B;;;;;;AAA3B;;AAAA;;;;;;AAMtB;;AACI;;;;AAII;;AAEI;;;;AAAsB;;AACtB;;AAEA;;;;AAAuB;;AACvB;;AAEA;;;;AAAsB;;AAC9B;;AACJ;;;;AAZQ;;AAAA;;AACA;;AAGI;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;;;;;;;AAMZ;;AAE8B;AAAA;;AAAA;;AAAA;AAAA;;AACkC;;;;AACjD;;;;;;AAHX;;AAE4D;;AAAA;;;;;;;;AAEhE;;AAE8B;AAAA;;AAAA;;AAAA;AAAA;;AACkC;;;;AAC/C;;;;;;AAHb;;AAE4D;;AAAA;;;;;;AA2BpE;;AACI;;AAAmB;;AAAe;;AAClC;;AACJ;;;;;;AAFuB;;AAAA;;;;;;AAF3B;;AACI;;AAIJ;;;;;;AAJS;;AAAA;;;;;;AAKT;;AAEI;;AACI;;AAAqD;;;;AAA2C;;AACpG;;AACA;;AACJ;;;;;;AAH6D;;AAAA;;;;;;;;AAiB7E;;AACI;;AAAG;AAAA;;AAAA;;AAAA,yCAAuB,OAAvB;AAA8B,SAA9B;;AAAgC;;AAAI;;AAC3C;;;;;;;;AAwDoC;;AAEI;;AAAoB;;AACZ;;AAEI;AAAA;;AAAA;;AAAA,sCAAsB,UAAtB;AAAgC,SAAhC;;AAC8D;;;;AAEnD;;AAAS;;AAAI;;AACxC;;;;;;AAHgB;;AAAA;;AAA8D;;AAAA;;;;;;;;AA8C1E;;AAA4D;;AAEpD;AAAA;;AAAA;;AAAA;;AAAA,gDAA4B,CAA5B;AAA6B,SAA7B;;AAAgC;;AAAQ;;AAAI;;;;;;;;AAD5C;;AAAA;;AACgC;;AAAA;;;;;;AAJ5C;;AAEI;;AAGJ;;;;;;AAHwB;;AAAA;;;;;;;;AASpC;;AACI;;AACI;;AACI;;AACgC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AADhC;;AAEA;;AACJ;;AACJ;;AACA;;AAAgB;;AAAY;;AAC5B;;AAAgB;;;;AAA0B;;AAC1C;;AAAgB;;AAAa;;AAC7B;;AAAI;;AAAyC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC0C;;;;AAClE;;AAAS;;AAC9B;;AAAI;;AAAoD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC+B;;;;AAClE;;AAAS;;AAC9B;;AAAI;;AAAmD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC+B;;;;AACjE;;AAAS;;AAClC;;;;;;;;;AAjBgE;;AAAA,8FAAsB,SAAtB,EAAsB,2BAAtB;;AAEhB;;AAAA;;AAG5B;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAER;;AAAA;;AAA+E;;AAAA;;AAG/E;;AAAA;;AAA+E;;AAAA;;AAG/E;;AAAA;;AAA8E;;AAAA;;;;;;;;;;;;;;;;;;;;;;AArIlH;;AACI;;AACI;;AAEI;;AACI;;AACI;;AACI;;AAAqB;AAAA;;AAAA;;AAAA;AAAA,WAAwB,OAAxB,EAAwB;AAAA;;AAAA;;AAAA;AAAA,SAAxB,EAAwB,QAAxB,EAAwB;AAAA;;AAAA;;AAAA;AAAA,SAAxB;;;;AAArB;;AAEJ;;AACJ;;AACJ;;AACJ;;AAEA;;AACI;;AACI;;AACJ;;AACA;;AACI;;AAEI;AAAA;;AAAA;;AAAA;AAAA;;AAAsE;;;;AAC3D;;AAEnB;;AACJ;;AAEJ;;AAGA;;AAEI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AAEI;;AAGI;AAAA;;AAAA;;AAAA;AAAA;;AAHJ;;AAIA;;AAAmC;;AAAM;;AAC7C;;AACJ;;AACA;;AAGI;;AACJ;;AACA;;AAUJ;;AACJ;;AACJ;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,MAA5B;AAAkC,SAAlC;;AACjB;;AAE4E;;AAChF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,MAA5B;AAAkC,SAAlC;;AAEf;;;;AACR;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,QAA5B;AAAoC,SAApC;;AACjB;;AAE8E;;AAClF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,QAA5B;AAAoC,SAApC;;AAEf;;;;AACR;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,OAA5B;AAAmC,SAAnC;;AACjB;;AAE6E;;AACjF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,OAA5B;AAAmC,SAAnC;;AAEf;;;;AACR;;AAEA;;AACA;;AACI;;AAEI;;AACI;;;;AACJ;;AACA;;AACI;;AAEI;;AACJ;;AACA;;AAMJ;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AAqBJ;;AACA;;AACI;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAEA;;AAEI;;AAA6E;;AAAM;;AAEnF;;AAEI;;AACI;;AACI;;AACwB;AAAA;;AAAA;;AAAA;AAAA,WAAyB,aAAzB,EAAyB;AAAA;;AAAA;;AAAA;AAAA,SAAzB;;AAKxB;;AACJ;;AACJ;;AACJ;;AAEA;;AAA0E;;AAAM;;AAEpF;;AACJ;;;;;;;;;;;;;;AA1K2E;;AAAA;;AAD9B;;AAcM;;AAAA;;AAAuC;;AAAA;;AAsB1C;;AAAA,kHAAsC,eAAtC,EAAsC,0CAAtC;;AAwBmC;;AAAA;;AAClD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAEqD;;AAAA;;AACpD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAEoD;;AAAA;;AACnD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAIJ;;AAAA;;AAIQ;;AAAA;;AAKI;;AAAA;;AAaZ;;AAAA;;AAkDgB;;AAAA,iGAAyB,eAAzB,EAAyB,IAAzB,EAAyB,YAAzB,EAAyB,2BAAzB,EAAyB,cAAzB,EAAyB,oBAAzB,EAAyB,qBAAzB,EAAyB,IAAzB,EAAyB,oBAAzB,EAAyB,IAAzB,EAAyB,wBAAzB,EAAyB,IAAzB,EAAyB,oBAAzB,EAAyB,IAAzB,EAAyB,SAAzB,EAAyB,CAAzB;;;;;;AAoBxC;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AAIA;;;;QDnUSm6C,8B;AACT,8CAAoBlgD,WAApB,EAAuDE,QAAvD,EACYC,aADZ,EACyDC,SADzD,EACoF;AAAA;;AADhE,aAAAJ,WAAA,GAAAA,WAAA;AAAmC,aAAAE,QAAA,GAAAA,QAAA;AAC3C,aAAAC,aAAA,GAAAA,aAAA;AAA6C,aAAAC,SAAA,GAAAA,SAAA;AAGvD,aAAAE,aAAA,GAAqB,OAArB;AAEA,aAAAC,eAAA,GAA0B,SAA1B;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,cAAA,GAAiB,CAAC,QAAD,EAAW,QAAX,CAAjB;AAEA,aAAAC,WAAA,GAAsC,IAAI,wFAAJ,CAA2B,EAA3B,CAAtC;AACA,aAAAC,MAAA,GAAoC,CAClC;AAAChB,YAAE,EAAC,CAAJ;AAAOyT,cAAI,EAAC,QAAZ;AAAsBgM,gBAAM,EAAC,QAA7B;AAAuC3X,eAAK,EAAC;AAA7C,SADkC,EAElC;AAAC9H,YAAE,EAAC,CAAJ;AAAOyT,cAAI,EAAC,QAAZ;AAAsBgM,gBAAM,EAAC,QAA7B;AAAuC3X,eAAK,EAAC;AAA7C,SAFkC,EAGlC;AAAC9H,YAAE,EAAC,CAAJ;AAAOyT,cAAI,EAAC,QAAZ;AAAsBgM,gBAAM,EAAC,QAA7B;AAAuC3X,eAAK,EAAC;AAA7C,SAHkC,EAIlC;AAAC9H,YAAE,EAAC,CAAJ;AAAOyT,cAAI,EAAC,QAAZ;AAAsBgM,gBAAM,EAAC,QAA7B;AAAuC3X,eAAK,EAAC;AAA7C,SAJkC,EAKlC;AAAC9H,YAAE,EAAC,CAAJ;AAAOyT,cAAI,EAAC,QAAZ;AAAsBgM,gBAAM,EAAC,QAA7B;AAAuC3X,eAAK,EAAC;AAA7C,SALkC,CAApC,CAXkF,CAkBpF;;AACE,aAAA7G,QAAA,GAAsB,IAAI,wDAAJ,CAAc;AAClCjB,YAAE,EAAE,IAAI,0DAAJ,EAD8B;AAElCyT,cAAI,EAAE,IAAI,0DAAJ,EAF4B;AAGlCuT,cAAI,EAAE,IAAI,0DAAJ,EAH4B;AAIlCvH,gBAAM,EAAE,IAAI,0DAAJ,EAJ0B;AAKlC3X,eAAK,EAAE,IAAI,0DAAJ,EAL2B;AAMlC8kC,qBAAW,EAAE,IAAI,0DAAJ,EANqB;AAOlCC,oBAAU,EAAE,IAAI,0DAAJ,EAPsB;AAQlCzhC,qBAAW,EAAE,IAAI,0DAAJ;AARqB,SAAd,CAAtB;AA8FA,aAAAhK,eAAA,GAA0B,EAA1B;AACA,aAAAC,aAAA,GAAwB,EAAxB,CAlHkF,CAqHlF;;AACA,aAAAC,YAAA,sBAAmB,KAAKN,MAAxB;AACA,aAAAO,UAAA,sBAAiB,KAAKD,YAAtB;AACA,aAAAE,aAAA,sBAAoB,KAAKF,YAAzB;AACA,aAAAG,MAAA,GAAiB,KAAKT,MAAL,CAAYU,MAAZ,GAAqB,CAAtC;AAEA,aAAAC,YAAA,GAAoB,KAApB;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,kBAAA,GAAqB,CAAC,CAAD,EAAI,EAAJ,EAAQ,EAAR,CAArB;AACA,aAAAC,QAAA,GAAW,EAAX;AACA,aAAAC,cAAA,GAAiB,EAAjB;AAEA,aAAAC,QAAA,GAAoB,IAApB;AAEA,aAAAC,WAAA,GAAc,CAAd;AACA,aAAAC,SAAA,GAAY,CAAZ;AAGA,aAAAC,YAAA,GAAe,IAAI,sFAAJ,EAAf;AACA,aAAAC,UAAA,GAAa,IAAI,kFAAJ,EAAb;AACA,aAAAC,aAAA,GAAgB,IAAI,wFAAJ,EAAhB;AAwIA,aAAAC,YAAA,GAAyC,EAAzC;AAcA,aAAAC,UAAA,GAAkB,EAAlB;AA9RC;;;;mCA4BO;AACN,eAAKC,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACA,eAAKoD,SAAL,GAAiB;AAAEC,iBAAK,EAAE,MAAT;AAAiBC,oBAAQ,EAAE,KAAKH,IAAL,KAAc,OAAd,GAAwB,MAAxB,GAAiC;AAA5D,WAAjB;AACA,eAAK3B,YAAL,GAAoB,CAClB;AAAE6B,iBAAK,EAAE,MAAT;AAAiBC,oBAAQ,EAAE,KAAKH,IAAL,KAAc,OAAd,GAAwB,MAAxB,GAAiC;AAA5D,WADkB,EAElB;AAAEE,iBAAK,EAAE,QAAT;AAAmBC,oBAAQ,EAAE;AAA7B,WAFkB,EAGlB;AAAED,iBAAK,EAAE,OAAT;AAAkBC,oBAAQ,EAAE;AAA5B,WAHkB,CAApB,CAHM,CAQN;;AACA,eAAKyL,YAAL;AACD;;;qCAES;AACR,iBAAO,KAAK/N,WAAL,CAAiB6G,KAAjB,CAAuB;AAC5BlH,cAAE,EAAE,CAAC,KAAKe,WAAL,CAAiBf,EAAjB,IAAuB,CAAvB,GAA2B,KAAKe,WAAL,CAAiBf,EAA5C,GAAiD,CAAlD,CADwB;AAE5ByT,gBAAI,EAAE,CAAC,KAAK1S,WAAL,CAAiB0S,IAAlB,CAFsB;AAG5BrI,uBAAW,EAAE,CAAC,KAAKrK,WAAL,CAAiBqK,WAAlB,CAHe;AAI5ByhC,sBAAU,EAAE,CAAC,KAAK9rC,WAAL,CAAiB8rC,UAAlB,CAJgB;AAK5BD,uBAAW,EAAE,CAAC,KAAK7rC,WAAL,CAAiB6rC,WAAlB,CALe;AAM5B9kC,iBAAK,EAAE,CAAC,KAAK/G,WAAL,CAAiB+G,KAAlB,CANqB;AAO5B2X,kBAAM,EAAE,CAAC,KAAK1e,WAAL,CAAiB0e,MAAlB,CAPoB;AAQ5BuH,gBAAI,EAAE,CAAC,KAAKjmB,WAAL,CAAiBimB,IAAlB;AARsB,WAAvB,CAAP;AAUD;;;oCAEW;AACV;AACA,eAAK3lB,aAAL,GAAqB,EAArB;AAEA,eAAKN,WAAL,GAAmB,IAAI,wFAAJ,EAAnB;AACA,eAAKA,WAAL,GAAmB,KAAKE,QAAL,CAAc6H,WAAd,EAAnB;AACA,eAAK/H,WAAL,CAAiBf,EAAjB,GAAsB,CAAtB;AAEA,eAAKiP,gBAAL;AACD;;;2CAEe;AACd,eAAKjO,MAAL,CAAYiE,IAAZ,CAAiB,KAAKlE,WAAtB;AACD;;;qCAEY;AACX,eAAKmB,SAAL,GAAiB,KAAKD,WAAtB;AAGD;;;0CAEiBqN,M,EAAM,CAGvB,C,CAED;AACA;AACA;;;;uCACe;AACb,eAAKpN,SAAL,GAAiB,KAAKD,WAAtB,CADa,CAEb;;AACA,eAAKZ,aAAL,GAAqB,EAArB;AACA,eAAKwB,mBAAL;AACD,S,CAED;;;;8CACmB,CAElB,C,CACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;uCACY;AACV,eAAKxB,aAAL,GAAqB,EAArB;AACA,eAAKuB,QAAL;AACD;;;mCA8BU;AACT,eAAKU,QAAL;AACA,eAAKC,UAAL;AACA,eAAKlC,aAAL,GAAqB,EAArB;AAED;;;mCAEU;AACT,eAAKE,UAAL,GAAkB,KAAKa,UAAL,CAAgBkB,QAAhB,CAAyB,KAAKb,SAAL,CAAeE,QAAxC,EAAkD,KAAK3B,MAAvD,CAAlB;AACA,eAAKwC,UAAL;AACD;;;0CAEiB;AAChB,eAAKtB,SAAL,GAAiB,KAAKD,WAAtB;AACA,eAAKV,UAAL,GAAkB,KAAKA,UAAL,CAAgBkC,KAAhB,GAAwBC,OAAxB,EAAlB;AACA,eAAKF,UAAL;AACD;;;qCAEY;AACX,eAAKlC,YAAL,GAAoB,KAAKa,YAAL,CAAkBqB,UAAlB,CAA6B,KAAKjB,UAAlC,EAA8C,KAAKzB,cAAnD,EAAmE,KAAKS,UAAxE,CAApB;;AACA,cAAI,KAAKW,SAAL,KAAmB,CAAvB,EAA0B;AACxB,iBAAKyB,YAAL,CAAkB,KAAK/B,YAAvB,EAAqC,CAArC;AACD,WAFD,MAGK;AACH,iBAAK+B,YAAL,CAAkB,KAAK/B,YAAvB,EACEgC,IAAI,CAACC,IAAL,CAAW,KAAKvC,YAAL,CAAkBI,MAAlB,GAA2B,KAAKE,YAA3C,KAA6D,KAAKM,SAAlE,GACE,KAAKA,SADP,GAEE0B,IAAI,CAACC,IAAL,CAAW,KAAKvC,YAAL,CAAkBI,MAAlB,GAA2B,KAAKE,YAA3C,CAHJ;AAKD;;AACD,eAAKM,SAAL,GAAiB,CAAjB;AACD;;;qCAEY4B,e,EAAyBC,c,EAAwB;AAC5D,eAAKnC,YAAL,GAAoBkC,eAApB;AACA,eAAK7B,WAAL,GAAmB8B,cAAnB;AACA,eAAKvC,aAAL,GAAqB,KAAKF,YAAL,CAAkBmC,KAAlB,CAAwB,CAACM,cAAc,GAAG,CAAlB,IAAwBD,eAAhD,EAAmEA,eAAe,GAAGC,cAArF,CAArB;AACD;;;mCAEUC,O,EAAc;AACvB,cAAI,KAAKvB,SAAL,CAAeC,KAAf,KAAyBsB,OAAO,CAACtB,KAArC,EAA4C;AAC1C,iBAAKV,QAAL,GAAgB,CAAC,KAAKA,QAAtB;AACA,gBAAMiC,OAAO,GAAG,KAAKhC,WAArB;AACA,iBAAKiC,eAAL;AACA,iBAAKjC,WAAL,GAAmBgC,OAAnB;AACD,WALD,MAMK;AACH,iBAAKjC,QAAL,GAAgB,IAAhB;AACA,iBAAKS,SAAL,GAAiBuB,OAAjB;AACA,iBAAKV,QAAL;AACD;AACF;;;gCAEOZ,K,EAAY;AAClB,iBAAO,KAAK7B,YAAL,CAAkBsD,IAAlB,CAAuB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC1B,KAAF,KAAYA,KAAhB;AAAA,WAAxB,CAAP;AACD;;;mCAEU2B,K,EAAuB;AAChC,eAAKpC,WAAL,GAAmBoC,KAAK,CAACC,IAAzB;AACA,eAAKX,YAAL,CAAkB,KAAK/B,YAAvB,EAAqC,KAAKK,WAA1C;AACD;;;uCAEc;AACb,eAAKK,YAAL,GAAoB,EAApB;AACA,eAAKR,QAAL,GAAgB,EAAhB;AACA,eAAKC,cAAL,GAAsB,EAAtB;AACA,eAAKyB,UAAL;AACD;;;kCAESe,M,EAAM;AACd,cAAIA,MAAM,CAACC,MAAP,CAAcC,OAAlB,EAA2B;AACzB,iBAAK3C,QAAL,sBAAoB,KAAKR,YAAzB;AACD,WAFD,MAEO;AACL,iBAAKQ,QAAL,GAAgB,EAAhB;AACD;;AACD,eAAK4C,iBAAL;AACD;;;4CAEgB;AACf,cAAI,KAAK5C,QAAL,CAAcJ,MAAd,IAAwB,KAAKJ,YAAL,CAAkBI,MAA9C,EAAsD;AACpD,iBAAKK,cAAL,GAAsB,SAAtB;AACD,WAFD,MAEO,IAAI,KAAKD,QAAL,CAAcJ,MAAd,KAAyB,CAA7B,EAAgC;AACrC,iBAAKK,cAAL,GAAsB,eAAtB;AACD,WAFM,MAEC;AACN,iBAAKA,cAAL,GAAsB,EAAtB;AACD;AACF;;;mCAEU4C,C,EAAyB;AAClC,iBAAO,KAAK7C,QAAL,CAAc8C,SAAd,CAAwB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC7E,EAAF,KAAS2E,CAAC,CAAC3E,EAAf;AAAA,WAAzB,IAA8C,CAAC,CAAtD;AACD;;;iCAEQ8E,I,EAA4B;AACnC,cAAI,KAAKC,UAAL,CAAgBD,IAAhB,CAAJ,EAA2B;AACzB,iBAAKhD,QAAL,GAAgB,KAAKA,QAAL,CAAckD,MAAd,CAAqB,UAAAH,CAAC;AAAA,qBAAIA,CAAC,CAAC7E,EAAF,KAAS8E,IAAI,CAAC9E,EAAlB;AAAA,aAAtB,CAAhB;AACD,WAFD,MAEO;AACL,iBAAK8B,QAAL,CAAcmD,IAAd,CAAmBH,IAAnB;AACD;;AACD,eAAKJ,iBAAL;AACD;;;mCAEUQ,I,EAAWxG,I,EAAS;AAC7B,iBAAOwG,IAAI,CAACf,IAAL,CAAU,UAAAU,CAAC;AAAA,mBAAIA,CAAC,CAACM,IAAF,KAAWzG,IAAf;AAAA,WAAX,CAAP;AACD;;;6CAIiB;AAChB,eAAK0C,eAAL,GAAuB,KAAvB;AACA,eAAKL,WAAL,GAAmB,IAAI,wFAAJ,EAAnB;AACA,eAAKE,QAAL,GAAgB,KAAK2H,UAAL,EAAhB;AACA,eAAKG,YAAL,CAAkBzD,IAAlB;AACD;;;yCAEgBtF,E,EAAO;AAAA;;AACtB,eAAKoB,eAAL,GAAuB,MAAvB;AACA,eAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,WAAlB,CAAnB;AACA,0DAAG,KAAKe,WAAR,EAAqBgC,SAArB,CAA+B,UAAAM,IAAI,EAAI;AACrC,oBAAI,CAACtC,WAAL,GAAmBsC,IAAnB;AACD,WAFD;AAGA,eAAKpC,QAAL,GAAgB,KAAK2H,UAAL,EAAhB;AACA,eAAKG,YAAL,CAAkBzD,IAAlB;AACD;;;yCAEgBtF,E,EAAO;AAAA;;AACtB,eAAKoB,eAAL,GAAuB,MAAvB;AACA,eAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,WAAlB,CAAnB;AACA,0DAAG,KAAKe,WAAR,EAAqBgC,SAArB,CAA+B,UAAAM,IAAI,EAAI;AACrC,oBAAI,CAACtC,WAAL,GAAmBsC,IAAnB;AACD,WAFD;AAGA,eAAKpC,QAAL,GAAgB,KAAK2H,UAAL,EAAhB;AACA,eAAKG,YAAL,CAAkBzD,IAAlB;AACD;;;qCAGYtF,E,EAAO;AAClB,cAAIA,EAAE,IAAI,CAAV,EAAa;AACX,iBAAKoB,eAAL,GAAuB,KAAvB;AACA,iBAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,aAAlB,CAAnB;AACA,iBAAKsC,YAAL,GAAoB,CAAC,KAAKtB,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,aAAlB,CAAD,CAApB;AACA,iBAAKqF,QAAL,CAAcC,IAAd;AACD,WALD,MAMK,IAAItF,EAAE,KAAK,UAAX,EAAuB;AAC1B,iBAAKsC,YAAL,sBAAwB,KAAKR,QAA7B;AACA,iBAAKuD,QAAL,CAAcC,IAAd;AACD;AACF;;;2CAKe;AACd,cAAI,KAAKhD,YAAL,CAAkBZ,MAAlB,KAA6B,CAAjC,EAAoC;AAClC,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,QAAQ,KAAKvC,eAApC,CADF;AAED,WAHD,MAIK,IAAI,KAAK0B,YAAL,CAAkBZ,MAAlB,KAA6B,CAAjC,EAAoC;AACvC,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,QAAQ,KAAKvC,eAAb,GAA+B,GAAtD,CADF;AAED,WAHI,MAIA,IAAI,KAAK0B,YAAL,CAAkBZ,MAAlB,GAA2B,CAA3B,IAAgC,KAAKY,YAAL,CAAkBZ,MAAlB,GAA2B,EAA/D,EAAmE;AACtE,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAKb,YAAL,CAAkBZ,MADiC,GACxB,GADwB,GAClB,KAAKjB,SAAL,CAAe0C,OAAf,CAAuB,KAAKvC,eAAL,GAAuB,UAA9C,CADnC;AAED,WAHI,MAIA;AACH,iBAAK2E,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAKb,YAAL,CAAkBZ,MADiC,GACxB,GADwB,GAClB,KAAKjB,SAAL,CAAe0C,OAAf,CAAuB,KAAKvC,eAAL,GAAuB,MAA9C,CADnC;AAED;;AAED,eAAK0B,YAAL,GAAoB,EAApB;AACA,eAAKR,QAAL,GAAgB,EAAhB;AAEA,eAAK4C,iBAAL;;AACA,cAAI,KAAK3C,cAAL,KAAwB,EAA5B,EAAgC;AAC9B,iBAAKJ,YAAL,GAAoB,KAApB;AACD;;AACD,eAAK0D,QAAL,CAAcG,IAAd;AACD;;;qCAEYC,W,EAAqBC,S,EAAiB;AACjD,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBE,OADnB,EAC4B;AAAEC,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD5B;AAED;;;mCACUL,W,EAAqBC,S,EAAiB;AAC/C,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBjH,KADnB,EAC0B;AAAEoH,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD1B;AAED;;;8CACqB;AACpB,eAAKlD,QAAL;AACA,eAAKyC,QAAL,CAAcG,IAAd;AACD;;;sCAEa;AACZ,eAAKjC,UAAL;AAED;;;qCAEY;AAAA;;AACX,cAAMwC,UAAU,GAAG,KAAKxD,UAAxB;AACA,eAAKA,UAAL,GAAkB,EAAlB;AACAyD,oBAAU,CAAC,YAAM;AACf,oBAAI,CAACzD,UAAL,GAAkBwD,UAAlB;AACD,WAFS,EAEP,CAFO,CAAV;AAGD;;;;;;;uBAzVMw6C,8B,EAA8B,2H,EAAA,wH,EAAA,4I,EAAA,qI;AAAA,K;;;YAA9BA,8B;AAA8B,+C;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;AClB3C;;AACI;;AAEI;;AACI;;AACI;;AACI;;;;AAA+C;;AACvD;;AACA;;AACI;;AACI;;AACI;;AAAqC;;;;AAAsB;;AAC3D;;AAGA;;AAGJ;;AAEA;;AACI;;AAAqC;;;;AAAwB;;AAC7D;;AAaJ;;AAEA;;AACI;;AAAqC;;;;AAAuB;;AAC5D;;AAGA;;AAGA;;AACJ;;AACA;;AACI;;AAAqC;;;;AAAwB;;AAC7D;;AAGA;;AAGA;;AACJ;;AACA;;AACI;;AAAqC;;;;AAA6B;;AAClE;;AAgBJ;;AAEA;;AACI;;AAKA;;AAKA;;AAA8B;AAAA;;AAAA;;AAAA,mBAAS,mBAAT;AAAqC,WAArC;;AACoD;;;;AACnE;;AACnB;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAGA;;AACI;;AACI;;AACI;;AAAkE;AAAA;;AAAA;;AAAA,mBAAS,WAAT;AAAwB,WAAxB;;AAE9D;;AAAyB;;AAAO;;AACpC;;AACA;;AACI;;AACI;;;;AACW;;AACnB;;AACA;;AACI;;AAMA;;AAQA;;AACI;;AAA2D;AAAA,mBAAS,IAAAt6C,YAAA,EAAT;AAAuB,WAAvB;;AAEK;;;;AAAwB;;AACxF;;AAA8B;AAAA;;AAAA;;AAAA,mBAAS,WAAT;AAAwB,WAAxB;;AACoD;;;;AACnE;;AACnB;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AAIA;;AAoLA;;AAIA;;AAKA;;AAKA;;AAIA;;;;AA9UoB;;AAAA;;AAG0C;;AAAA;;AAED;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAM8B;;AAAA;;AAChC;;AAAA;;AAgBgC;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAM8B;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAM8B;;AAAA;;AAChC;;AAAA;;AAmBG;;AAAA;;AAKA;;AAAA;;AAM0E;;AAAA;;AAmBtF;;AAAA;;AAIiC;;AAAA;;AAM4B;;AAAA;;AAUzD;;AAAA;;AAC4D;;AAAA;;AAEkB;;AAAA;;AAOhG;;AAAA;;AAID;;AAAA;;;;;;;;;;sED5HQs6C,8B,EAA8B;cAL1C,uDAK0C;eALhC;AACPr6C,kBAAQ,EAAE,0BADH;AAEPC,qBAAW,EAAE,yCAFN;AAGPC,mBAAS,EAAE,CAAC,yCAAD;AAHJ,S;AAKgC,Q;;;;;;;;;;;;gBAuPpC,uD;iBAAU,c,EAAgB;AAAE,sBAAQ;AAAV,W;;;gBAC1B,uD;iBAAU,U;;;;;;;;;;;;;;;;;;;;AE1QjB;AAAA;;;AAAA;AAAA;AAAA;;QAAao6C,sB,GAST,gCAAY17C,IAAZ,EAA0C;AAAA;;AACtCA,UAAI,GAAGA,IAAI,GAAGA,IAAH,GAAU,EAArB;AACA,WAAK9E,EAAL,GAAU8E,IAAI,CAAC9E,EAAL,GAAU8E,IAAI,CAAC9E,EAAf,GAAoB,CAA9B;AACA,WAAKyT,IAAL,GAAY3O,IAAI,CAAC2O,IAAL,GAAY3O,IAAI,CAAC2O,IAAjB,GAAwB,EAApC;AACA,WAAKgM,MAAL,GAAc3a,IAAI,CAAC2a,MAAL,GAAc3a,IAAI,CAAC2a,MAAnB,GAA4B,EAA1C;AACA,WAAKuH,IAAL,GAAYliB,IAAI,CAACkiB,IAAL,GAAYliB,IAAI,CAACkiB,IAAjB,GAAwB,EAApC;AACA,WAAK5b,WAAL,GAAmBtG,IAAI,CAACsG,WAAL,GAAmBtG,IAAI,CAACsG,WAAxB,GAAsC,EAAzD;AACA,WAAKwhC,WAAL,GAAmB9nC,IAAI,CAAC8nC,WAAL,GAAmB9nC,IAAI,CAAC8nC,WAAxB,GAAsC,CAAzD;AACA,WAAKC,UAAL,GAAkB/nC,IAAI,CAAC+nC,UAAL,GAAkB/nC,IAAI,CAAC+nC,UAAvB,GAAoC,EAAtD;AACA,WAAK/kC,KAAL,GAAahD,IAAI,CAACgD,KAAL,GAAahD,IAAI,CAACgD,KAAlB,GAA0B,CAAvC;AACH,K;;;;;;;;;;;;;;;;;AClBL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAoIa24C,gB;;;;;YAAAA;;;;yBAAAA,gB;AAAgB,O;AAAA,iBAJhB,CAAC,yDAAD,EAAU,0EAAV,C;AAA2B,gBAhE7B,CACP,6DADO,EAEP,6EAFO,EAGP,kGAHO,EAIP,uEAJO,EAKP,qEALO,EAMP,mEANO,EAOP,qEAPO,EAQP,gEAAkB/tC,aAAlB,CAAgC,sEAAYC,QAA5C,CARO,EASP,2DATO,EAUP,mEAVO,EAWP,iEAAYC,OAAZ,EAXO,EAYP,oEAZO,EAaP,kEAbO,EAcP,oEAdO,EAeP,2DAfO,EAgBP,yEAhBO,EAiBP,oFAjBO,EAkBP,wGAlBO,EAmBP,+DAAWA,OAAX,EAnBO,EAoBP,kEApBO,EAqBP,6EAAeA,OAAf,EArBO,EAsBP,2EAtBO,EAuBP,sEAvBO,EAwBP,+FAxBO,EAyBP,qEAAcA,OAAd,EAzBO,EA0BP,qEAAcA,OAAd,EA1BO,EA2BP,wEA3BO,EA4BP,+DA5BO,EA6BP,0EA7BO,EA8BP,kFAA0BA,OAA1B,EA9BO,EA+BP,iFA/BO,EAgCP,kGAhCO,EAiCP,2EAjCO,EAkCP,iEAlCO,EAmCP,wEAnCO,EAoCP,qEApCO,EAqCP,qEArCO,EAsCP,yEAtCO,EAuCX,6EAvCW,EAwCX,gFAxCW,EAyCX,uEAzCW,EA0CX,oFA1CW,EA4CX,mEAAaA,OAAb,EA5CW,EA6CX,mGA7CW,EA8CX,4DA9CW,EA+CX,6DA/CW,EAgDX,6EAhDW,EAiDX,uFAjDW,EAmDX,2EAAiBA,OAAjB,EAnDW,CAgE6B;;;;0HAI3B6tC,gB,EAAgB;AAAA,uBAdzB,4JAcyB,EAbzB,uFAayB,EAZzB,oKAYyB,EAXzB,0KAWyB,EAVzB,wJAUyB,EATzB,qLASyB,EARzB,4KAQyB,EAPzB,0GAOyB,EANzB,gHAMyB;AANJ,kBA7DrB,6DA6DqB,EA5DrB,6EA4DqB,EA3DrB,kGA2DqB,EA1DrB,uEA0DqB,EAzDrB,qEAyDqB,EAxDrB,mEAwDqB,EAvDrB,qEAuDqB,EAvDL,+DAuDK,EArDrB,2DAqDqB,EApDrB,mEAoDqB,EApDF,gEAoDE,EAlDrB,oEAkDqB,EAjDrB,kEAiDqB,EAhDrB,oEAgDqB,EA/CrB,2DA+CqB,EA9CrB,yEA8CqB,EA7CrB,oFA6CqB,EA5CrB,wGA4CqB,EA5CG,8DA4CH,EA1CrB,kEA0CqB,EA1CP,4EA0CO,EAxCrB,2EAwCqB,EAvCrB,sEAuCqB,EAtCrB,+FAsCqB,EAtCA,oEAsCA,EAtCA,oEAsCA,EAnCrB,wEAmCqB,EAlCrB,+DAkCqB,EAjCrB,0EAiCqB,EAjCL,iFAiCK,EA/BrB,iFA+BqB,EA9BrB,kGA8BqB,EA7BrB,2EA6BqB,EA5BrB,iEA4BqB,EA3BrB,wEA2BqB,EA1BrB,qEA0BqB,EAzBrB,qEAyBqB,EAxBrB,yEAwBqB,EAvBzB,6EAuByB,EAtBzB,gFAsByB,EArBzB,uEAqByB,EApBzB,oFAoByB,EApBL,kEAoBK,EAjBzB,mGAiByB,EAhBzB,4DAgByB,EAfzB,6DAeyB,EAdzB,6EAcyB,EAbzB,uFAayB,EAbV,0EAaU,CAMI;AAnBd,kBAgBH,wJAhBG,EAgB+B,qLAhB/B,EAgB0E,4KAhB1E;AAmBc,O;AAHmG,K;;;;;sEAGnHA,gB,EAAgB;cArE5B,sDAqE4B;eArEnB;AACR5tC,iBAAO,EAAE,CACP,6DADO,EAEP,6EAFO,EAGP,kGAHO,EAIP,uEAJO,EAKP,qEALO,EAMP,mEANO,EAOP,qEAPO,EAQP,gEAAkBH,aAAlB,CAAgC,sEAAYC,QAA5C,CARO,EASP,2DATO,EAUP,mEAVO,EAWP,iEAAYC,OAAZ,EAXO,EAYP,oEAZO,EAaP,kEAbO,EAcP,oEAdO,EAeP,2DAfO,EAgBP,yEAhBO,EAiBP,oFAjBO,EAkBP,wGAlBO,EAmBP,+DAAWA,OAAX,EAnBO,EAoBP,kEApBO,EAqBP,6EAAeA,OAAf,EArBO,EAsBP,2EAtBO,EAuBP,sEAvBO,EAwBP,+FAxBO,EAyBP,qEAAcA,OAAd,EAzBO,EA0BP,qEAAcA,OAAd,EA1BO,EA2BP,wEA3BO,EA4BP,+DA5BO,EA6BP,0EA7BO,EA8BP,kFAA0BA,OAA1B,EA9BO,EA+BP,iFA/BO,EAgCP,kGAhCO,EAiCP,2EAjCO,EAkCP,iEAlCO,EAmCP,wEAnCO,EAoCP,qEApCO,EAqCP,qEArCO,EAsCP,yEAtCO,EAuCX,6EAvCW,EAwCX,gFAxCW,EAyCX,uEAzCW,EA0CX,oFA1CW,EA4CX,mEAAaA,OAAb,EA5CW,EA6CX,mGA7CW,EA8CX,4DA9CW,EA+CX,6DA/CW,EAgDX,6EAhDW,EAiDX,uFAjDW,EAmDX,2EAAiBA,OAAjB,EAnDW,CADD;AAsDRE,sBAAY,EAAE,CACZ,4JADY,EAEZ,uFAFY,EAGZ,oKAHY,EAIZ,0KAJY,EAKZ,wJALY,EAMZ,qLANY,EAOZ,4KAPY,EAQZ,0GARY,EASZ,gHATY,CAtDN;AAiERC,mBAAS,EAAE,CAAC,yDAAD,EAAU,0EAAV,CAjEH;AAkERlU,iBAAO,EAAE,CAAC,wJAAD,EAAmC,qLAAnC,EAA8E,4KAA9E,CAlED,CAmEV;;AAnEU,S;AAqEmB,Q;;;;;;;;;;;;;;;;;;ACpI7B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AASA,QAAMmU,MAAM,GAAW,CACnB;AACIC,UAAI,EAAE,EADV;AACcC,eAAS,EAAE;AADzB,KADmB,EAKnB;AACID,UAAI,EAAE,UADV;AACsBC,eAAS,EAAE;AADjC,KALmB,EAUnB;AACID,UAAI,EAAE,eADV;AAC2BC,eAAS,EAAE;AADtC,KAVmB,EAenB;AACID,UAAI,EAAE,yBADV;AACqCC,eAAS,EAAE;AADhD,KAfmB,EAoBnB;AACID,UAAI,EAAE,SADV;AACqBC,eAAS,EAAE;AADhC,KApBmB,EAyBnB;AACID,UAAI,EAAE,mBADV;AAC+BC,eAAS,EAAE;AAD1C,KAzBmB,CAAvB;;QAmCawtC,uB;;;;;YAAAA;;;;yBAAAA,uB;AAAuB,O;AAAA,gBAHvB,CAAC,6DAAattC,QAAb,CAAsBJ,MAAtB,CAAD,CAGuB,EAFtB,4DAEsB;;;;0HAAvB0tC,uB,EAAuB;AAAA;AAAA,kBAFtB,4DAEsB;AAAA,O;AAFV,K;;;;;sEAEbA,uB,EAAuB;cAJnC,sDAImC;eAJ1B;AACN7tC,iBAAO,EAAE,CAAC,6DAAaO,QAAb,CAAsBJ,MAAtB,CAAD,CADH;AAENnU,iBAAO,EAAE,CAAC,4DAAD;AAFH,S;AAI0B,Q;;;;;;;;;;;;;;;;;;AC7CpC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAOa8hD,mB;;;;;uBAAAA,mB;AAAmB,K;;;YAAnBA,mB;AAAmB,kC;AAAA,c;AAAA,a;AAAA,iE;AAAA;;;;;sEAAnBA,mB,EAAmB;cAL/B,uDAK+B;eALrB;AACPz6C,kBAAQ,EAAE,aADH;AAEPC,qBAAW,EAAE,4BAFN;AAGPC,mBAAS,EAAE,CAAC,4BAAD;AAHJ,S;AAKqB,Q;;;;;;;;;;;;;;;;;;ACPhC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;ACkBwB;;AAAoD;;;;AAAqD;;;;;;AAArD;;AAAA;;;;;;AACpD;;AAA+E;;;;AAAyD;;;;;;AAAzD;;AAAA;;;;;;AAC/E;;AAAqD;;;;AAA4B;;;;AAA5B;;AAAA;;;;;;AACrD;;AAAqD;;;;AAA4B;;;;AAA5B;;AAAA;;;;;;AAL7D;;AACI;;AACI;;AACA;;AACA;;AACA;;AACA;;AACJ;;AACJ;;;;;;AANe;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;;;AAIf;;AAEI;;AACI;;AAAqD;;;;AAA2C;;AACpG;;AACA;;AACJ;;;;;;AAH6D;;AAAA;;;;;;;;AAiB7E;;AACI;;AAAG;AAAA;;AAAA;;AAAA,yCAAuB,OAAvB;AAA8B,SAA9B;;AAAgC;;AAAI;;AAC3C;;;;;;;;AA0DoC;;AAEI;;AAAoB;;AACZ;;AAEI;AAAA;;AAAA;;AAAA,sCAAsB,UAAtB;AAAgC,SAAhC;;AAC8D;;;;AAEnD;;AAAS;;AAAI;;AAQxC;;;;;;AAVgB;;AAAA;;AAA8D;;AAAA;;;;;;;;AAwF1E;;AAA4D;;AAEpD;AAAA;;AAAA;;AAAA;;AAAA,gDAA4B,CAA5B;AAA6B,SAA7B;;AAAgC;;AAAQ;;AAAI;;;;;;;;AAD5C;;AAAA;;AACgC;;AAAA;;;;;;AAJ5C;;AAEI;;AAGJ;;;;;;AAHwB;;AAAA;;;;;;;;AAWpC;;AACI;;AACI;;AACI;;AACgC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AADhC;;AAEA;;AACJ;;AACJ;;AACA;;AAAgB;;AAAU;;AAE1B;;AAAgB;;AAAoB;;AACpC;;AAAgB;;AAAoB;;AACpC;;AAAgB;;AAAqB;;AACrC;;AAAgB;;;;AAAoC;;AACpD;;AAAgB;;AAAU;;AAG1B;;AAAI;;AAC0E;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA0E;;;;AACnI;;AAAS;;AACtB;;AAAI;;AAAyC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AACsC;;;;AAClE;;AAAS;;AAClC;;AAAI;;AAAmD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC+B;;;;AACjE;;AAAS;;AAClC;;;;;;;;;AAvBgE;;AAAA,8FAAsB,SAAtB,EAAsB,2BAAtB;;AAEhB;;AAAA;;AAG5B;;AAAA;;AAEA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAKR;;AAAA;;AAAgJ;;AAAA;;AAG5I;;AAAA;;AAA+E;;AAAA;;AAGnF;;AAAA;;AAA8E;;AAAA;;;;;;;;;;;;;;;;;;;;;;AAzLlH;;AACI;;AACI;;AAEI;;AACI;;AACI;;AACI;;AAAqB;AAAA;;AAAA;;AAAA;AAAA,WAAwB,OAAxB,EAAwB;AAAA;;AAAA;;AAAA;AAAA,SAAxB,EAAwB,QAAxB,EAAwB;AAAA;;AAAA;;AAAA;AAAA,SAAxB;;;;AAArB;;AAEJ;;AACJ;;AACJ;;AACJ;;AAEA;;AACI;;AACI;;AACJ;;AACA;;AACI;;AAEI;AAAA;;AAAA;;AAAA;AAAA;;AAAsE;;;;AAC3D;;AAEnB;;AACJ;;AAGJ;;AAIA;;AAEI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AAEI;;AAGI;AAAA;;AAAA;;AAAA;AAAA;;AAHJ;;AAIA;;AAAmC;;AAAM;;AAC7C;;AACJ;;AACA;;AAGI;;AACJ;;AACA;;AAiBJ;;AACJ;;AACJ;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,IAA5B;AAAgC,SAAhC;;AACjB;;AAE0E;;AAC9E;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,IAA5B;AAAgC,SAAhC;;AAEf;;;;AACR;;AAWA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,aAA5B;AAAyC,SAAzC;;AACjB;;AAEmF;;AACvF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,aAA5B;AAAyC,SAAzC;;AAEf;;;;AACR;;AAEA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,aAA5B;AAAyC,SAAzC;;AACjB;;AAEmF;;AACvF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,aAA5B;AAAyC,SAAzC;;AAEf;;;;AACR;;AAEA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,cAA5B;AAA0C,SAA1C;;AACjB;;AAEoF;;AACxF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,cAA5B;AAA0C,SAA1C;;AAEf;;;;AACR;;AAEA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,WAA5B;AAAuC,SAAvC;;AACjB;;AAEiF;;AACrF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,WAA5B;AAAuC,SAAvC;;AAEf;;;;AACR;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,SAA5B;AAAqC,SAArC;;AACjB;;AAE+E;;AACnF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,SAA5B;AAAqC,SAArC;;AAEf;;;;AACR;;AACA;;AACI;;AAEI;;AACI;;;;AACJ;;AACA;;AACI;;AAEI;;AACJ;;AACA;;AAMJ;;AACJ;;AACJ;;AACA;;AACA;;AACJ;;AACA;;AACI;;AA2BJ;;AACA;;AACI;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAEA;;AAEI;;AAA6E;;AAAM;;AAEnF;;AAEI;;AACI;;AACI;;AACwB;AAAA;;AAAA;;AAAA;AAAA,WAAyB,aAAzB,EAAyB;AAAA;;AAAA;;AAAA;AAAA,SAAzB;;AAKxB;;AACJ;;AACJ;;AACJ;;AAEA;;AAA0E;;AAAM;;AAEpF;;AACJ;;;;;;;;;;;;;;AApO2E;;AAAA;;AAD9B;;AAcM;;AAAA;;AAAuC;;AAAA;;AAwB1C;;AAAA,iHAAsC,eAAtC,EAAsC,yCAAtC;;AA+BiC;;AAAA;;AAChD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAY0D;;AAAA;;AACzD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAG0D;;AAAA;;AACzD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAG2D;;AAAA;;AAC1D;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAGwD;;AAAA;;AACvD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAEsD;;AAAA;;AACrD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAEJ;;AAAA;;AAIQ;;AAAA;;AAKI;;AAAA;;AAeZ;;AAAA;;AA8DgB;;AAAA,gGAAyB,eAAzB,EAAyB,IAAzB,EAAyB,YAAzB,EAAyB,0BAAzB,EAAyB,cAAzB,EAAyB,mBAAzB,EAAyB,qBAAzB,EAAyB,IAAzB,EAAyB,oBAAzB,EAAyB,GAAzB,EAAyB,wBAAzB,EAAyB,GAAzB,EAAyB,oBAAzB,EAAyB,GAAzB,EAAyB,SAAzB,EAAyB,CAAzB;;;;;;AAoBxC;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AAIA;;;;QDjSSw6C,mC;AACT,mDAAoBvgD,WAApB,EAAuDE,QAAvD,EACYC,aADZ,EACyDC,SADzD,EAEYC,MAFZ,EAE6B;AAAA;;AAFT,aAAAL,WAAA,GAAAA,WAAA;AAAmC,aAAAE,QAAA,GAAAA,QAAA;AAC3C,aAAAC,aAAA,GAAAA,aAAA;AAA6C,aAAAC,SAAA,GAAAA,SAAA;AAC7C,aAAAC,MAAA,GAAAA,MAAA;AAEV,aAAAC,aAAA,GAAqB,OAArB;AAEA,aAAAC,eAAA,GAA0B,EAA1B;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,cAAA,GAAiB,CAAC,IAAD,CAAjB;AAEA,aAAAE,MAAA,GAAyC,CACvC;AAAChB,YAAE,EAAC,CAAJ;AAAO6gD,qBAAW,EAAC,YAAnB;AAAiCC,qBAAW,EAAC,QAA7C;AAAuDC,sBAAY,EAAC,IAApE;AAA4EtwC,mBAAS,EAAC,IAAIpJ,IAAJ,EAAtF;AAAiGqJ,iBAAO,EAAC,IAAIrJ,IAAJ;AAAzG,SADuC,EAEvC;AAACrH,YAAE,EAAC,CAAJ;AAAO6gD,qBAAW,EAAC,WAAnB;AAAgCC,qBAAW,EAAC,QAA5C;AAAsDC,sBAAY,EAAC,IAAnE;AAA4EtwC,mBAAS,EAAC,IAAIpJ,IAAJ,EAAtF;AAAiGqJ,iBAAO,EAAC,IAAIrJ,IAAJ;AAAzG,SAFuC,EAGvC;AAACrH,YAAE,EAAC,CAAJ;AAAO6gD,qBAAW,EAAC,UAAnB;AAA+BC,qBAAW,EAAC,QAA3C;AAAqDC,sBAAY,EAAC,IAAlE;AAA4EtwC,mBAAS,EAAC,IAAIpJ,IAAJ,EAAtF;AAAiGqJ,iBAAO,EAAC,IAAIrJ,IAAJ;AAAzG,SAHuC,EAIvC;AAACrH,YAAE,EAAC,CAAJ;AAAO6gD,qBAAW,EAAC,WAAnB;AAAgCC,qBAAW,EAAC,QAA5C;AAAsDC,sBAAY,EAAC,IAAnE;AAA4EtwC,mBAAS,EAAC,IAAIpJ,IAAJ,EAAtF;AAAiGqJ,iBAAO,EAAC,IAAIrJ,IAAJ;AAAzG,SAJuC,EAKvC;AAACrH,YAAE,EAAC,CAAJ;AAAO6gD,qBAAW,EAAC,aAAnB;AAAkCC,qBAAW,EAAC,QAA9C;AAAwDC,sBAAY,EAAC,IAArE;AAA4EtwC,mBAAS,EAAC,IAAIpJ,IAAJ,EAAtF;AAAiGqJ,iBAAO,EAAC,IAAIrJ,IAAJ;AAAzG,SALuC,CAAzC;AAuEA,aAAAjG,eAAA,GAA0B,EAA1B;AACA,aAAAC,aAAA,GAAwB,EAAxB,CAjF2B,CAoF3B;;AACA,aAAAC,YAAA,sBAAmB,KAAKN,MAAxB;AACA,aAAAO,UAAA,sBAAiB,KAAKD,YAAtB;AACA,aAAAE,aAAA,sBAAoB,KAAKF,YAAzB;AACA,aAAAG,MAAA,GAAiB,KAAKT,MAAL,CAAYU,MAAZ,GAAqB,CAAtC;AAEA,aAAAC,YAAA,GAAoB,KAApB;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,kBAAA,GAAqB,CAAC,CAAD,EAAI,EAAJ,EAAQ,EAAR,CAArB;AACA,aAAAC,QAAA,GAAW,EAAX;AACA,aAAAC,cAAA,GAAiB,EAAjB;AAEA,aAAAC,QAAA,GAAoB,IAApB;AAEA,aAAAC,WAAA,GAAc,CAAd;AACA,aAAAC,SAAA,GAAY,CAAZ;AAGA,aAAAC,YAAA,GAAe,IAAI,sFAAJ,EAAf;AACA,aAAAC,UAAA,GAAa,IAAI,kFAAJ,EAAb;AACA,aAAAC,aAAA,GAAgB,IAAI,wFAAJ,EAAhB;AA6HA,aAAAtB,WAAA,GAAwC,EAAxC;AACA,aAAAuB,YAAA,GAA8C,EAA9C;AAcA,aAAAC,UAAA,GAAkB,EAAlB;AApPC;;;;mCAkBO;AACN,eAAKC,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACA,eAAKoD,SAAL,GAAiB;AAAEC,iBAAK,EAAE,IAAT;AAAeC,oBAAQ,EAAE;AAAzB,WAAjB;AACA,eAAK9B,YAAL,GAAoB,CAClB;AAAE6B,iBAAK,EAAE,IAAT;AAAeC,oBAAQ,EAAE;AAAzB,WADkB,EAElB;AAAED,iBAAK,EAAE,aAAT;AAAwBC,oBAAQ,EAAE;AAAlC,WAFkB,EAGlB;AAAED,iBAAK,EAAE,aAAT;AAAwBC,oBAAQ,EAAE;AAAlC,WAHkB,EAIlB;AAAED,iBAAK,EAAE,cAAT;AAAyBC,oBAAQ,EAAE;AAAnC,WAJkB,EAKlB;AAAED,iBAAK,EAAE,WAAT;AAAsBC,oBAAQ,EAAE;AAAhC,WALkB,EAMlB;AAAED,iBAAK,EAAE,SAAT;AAAoBC,oBAAQ,EAAE;AAA9B,WANkB,CAApB;AAQA,eAAKC,QAAL;AACD,S,CAED;AACA;AACA;;;;uCACe;AACb,eAAKV,SAAL,GAAiB,KAAKD,WAAtB,CADa,CAEb;;AACA,eAAKZ,aAAL,GAAqB,SAArB;AACA,eAAKwB,mBAAL;AACD,S,CAED;;;;8CACmB,CACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD;;;mCAmDU;AACT;AACA,eAAKxB,aAAL,GAAqB,EAArB;AACA,eAAKiC,QAAL,GAHS,CAKT;AACA;AACA;AAEA;AACA;AACA;AACA;AAED;;;mCAEU;AACT,eAAK/B,UAAL,GAAkB,KAAKa,UAAL,CAAgBkB,QAAhB,CAAyB,KAAKb,SAAL,CAAeE,QAAxC,EAAkD,KAAK3B,MAAvD,CAAlB;AACA,eAAKwC,UAAL;AACD;;;0CAEiB;AAChB,eAAKtB,SAAL,GAAiB,KAAKD,WAAtB;AACA,eAAKV,UAAL,GAAkB,KAAKA,UAAL,CAAgBkC,KAAhB,GAAwBC,OAAxB,EAAlB;AACA,eAAKF,UAAL;AACD;;;qCAEY;AACX,eAAKlC,YAAL,GAAoB,KAAKa,YAAL,CAAkBqB,UAAlB,CAA6B,KAAKjB,UAAlC,EAA8C,KAAKzB,cAAnD,EAAmE,KAAKS,UAAxE,CAApB;;AACA,cAAI,KAAKW,SAAL,KAAmB,CAAvB,EAA0B;AACxB,iBAAKyB,YAAL,CAAkB,KAAK/B,YAAvB,EAAqC,CAArC;AACD,WAFD,MAGK;AACH,iBAAK+B,YAAL,CAAkB,KAAK/B,YAAvB,EACEgC,IAAI,CAACC,IAAL,CAAW,KAAKvC,YAAL,CAAkBI,MAAlB,GAA2B,KAAKE,YAA3C,KAA6D,KAAKM,SAAlE,GACE,KAAKA,SADP,GAEE0B,IAAI,CAACC,IAAL,CAAW,KAAKvC,YAAL,CAAkBI,MAAlB,GAA2B,KAAKE,YAA3C,CAHJ;AAKD;;AACD,eAAKM,SAAL,GAAiB,CAAjB;AACD;;;qCAEY4B,e,EAAyBC,c,EAAwB;AAC5D,eAAKnC,YAAL,GAAoBkC,eAApB;AACA,eAAK7B,WAAL,GAAmB8B,cAAnB;AACA,eAAKvC,aAAL,GAAqB,KAAKF,YAAL,CAAkBmC,KAAlB,CAAwB,CAACM,cAAc,GAAG,CAAlB,IAAwBD,eAAhD,EAAmEA,eAAe,GAAGC,cAArF,CAArB;AACD;;;mCAEUC,O,EAAc;AACvB,cAAI,KAAKvB,SAAL,CAAeC,KAAf,KAAyBsB,OAAO,CAACtB,KAArC,EAA4C;AAC1C,iBAAKV,QAAL,GAAgB,CAAC,KAAKA,QAAtB;AACA,gBAAMiC,OAAO,GAAG,KAAKhC,WAArB;AACA,iBAAKiC,eAAL;AACA,iBAAKjC,WAAL,GAAmBgC,OAAnB;AACD,WALD,MAMK;AACH,iBAAKjC,QAAL,GAAgB,IAAhB;AACA,iBAAKS,SAAL,GAAiBuB,OAAjB;AACA,iBAAKV,QAAL;AACD;AACF;;;gCAEOZ,K,EAAY;AAClB,iBAAO,KAAK7B,YAAL,CAAkBsD,IAAlB,CAAuB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC1B,KAAF,KAAYA,KAAhB;AAAA,WAAxB,CAAP;AACD;;;mCAEU2B,K,EAAuB;AAChC,eAAKpC,WAAL,GAAmBoC,KAAK,CAACC,IAAzB;AACA,eAAKX,YAAL,CAAkB,KAAK/B,YAAvB,EAAqC,KAAKK,WAA1C;AACD;;;uCAEc;AACb,eAAKK,YAAL,GAAoB,EAApB;AACA,eAAKR,QAAL,GAAgB,EAAhB;AACA,eAAKC,cAAL,GAAsB,EAAtB;AACA,eAAKyB,UAAL;AACD;;;kCAESe,M,EAAM;AACd,cAAIA,MAAM,CAACC,MAAP,CAAcC,OAAlB,EAA2B;AACzB,iBAAK3C,QAAL,sBAAoB,KAAKR,YAAzB;AACD,WAFD,MAEO;AACL,iBAAKQ,QAAL,GAAgB,EAAhB;AACD;;AACD,eAAK4C,iBAAL;AACD;;;4CAEgB;AACf,cAAI,KAAK5C,QAAL,CAAcJ,MAAd,IAAwB,KAAKJ,YAAL,CAAkBI,MAA9C,EAAsD;AACpD,iBAAKK,cAAL,GAAsB,SAAtB;AACD,WAFD,MAEO,IAAI,KAAKD,QAAL,CAAcJ,MAAd,KAAyB,CAA7B,EAAgC;AACrC,iBAAKK,cAAL,GAAsB,eAAtB;AACD,WAFM,MAEC;AACN,iBAAKA,cAAL,GAAsB,EAAtB;AACD;AACF;;;mCAEU4C,C,EAA8B;AACvC,iBAAO,KAAK7C,QAAL,CAAc8C,SAAd,CAAwB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC7E,EAAF,KAAS2E,CAAC,CAAC3E,EAAf;AAAA,WAAzB,IAA8C,CAAC,CAAtD;AACD;;;iCAEQ8E,I,EAAiC;AACxC,cAAI,KAAKC,UAAL,CAAgBD,IAAhB,CAAJ,EAA2B;AACzB,iBAAKhD,QAAL,GAAgB,KAAKA,QAAL,CAAckD,MAAd,CAAqB,UAAAH,CAAC;AAAA,qBAAIA,CAAC,CAAC7E,EAAF,KAAS8E,IAAI,CAAC9E,EAAlB;AAAA,aAAtB,CAAhB;AACD,WAFD,MAEO;AACL,iBAAK8B,QAAL,CAAcmD,IAAd,CAAmBH,IAAnB;AACD;;AACD,eAAKJ,iBAAL;AACD;;;mCAEUQ,I,EAAWxG,I,EAAS;AAC7B,iBAAOwG,IAAI,CAACf,IAAL,CAAU,UAAAU,CAAC;AAAA,mBAAIA,CAAC,CAACM,IAAF,KAAWzG,IAAf;AAAA,WAAX,CAAP;AACD;;;6CAGiB;AACjB,eAAKgC,MAAL,CAAY0E,QAAZ,CAAqB,CAAC,qCAAD,EAAuC,CAAvC,CAArB;AACA;;;yCAEgBpF,E,EAAO,CACtB;AACA;AACD;;;qCAGYA,E,EAAO;AAClB,cAAIA,EAAE,IAAI,CAAV,EAAa;AACX,iBAAKoB,eAAL,GAAuB,KAAvB;AACA,iBAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,aAAlB,CAAnB;AACA,iBAAKsC,YAAL,GAAoB,CAAC,KAAKtB,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,aAAlB,CAAD,CAApB;AACA,iBAAKqF,QAAL,CAAcC,IAAd;AACD,WALD,MAMK,IAAItF,EAAE,KAAK,UAAX,EAAuB;AAC1B,iBAAKsC,YAAL,sBAAwB,KAAKR,QAA7B;AACA,iBAAKuD,QAAL,CAAcC,IAAd;AACD;AACF;;;2CAKe;AACd,cAAI,KAAKhD,YAAL,CAAkBZ,MAAlB,KAA6B,CAAjC,EAAoC;AAClC,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,QAAQ,KAAKvC,eAApC,CADF;AAED,WAHD,MAIK,IAAI,KAAK0B,YAAL,CAAkBZ,MAAlB,KAA6B,CAAjC,EAAoC;AACvC,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,QAAQ,KAAKvC,eAAb,GAA+B,GAAtD,CADF;AAED,WAHI,MAIA,IAAI,KAAK0B,YAAL,CAAkBZ,MAAlB,GAA2B,CAA3B,IAAgC,KAAKY,YAAL,CAAkBZ,MAAlB,GAA2B,EAA/D,EAAmE;AACtE,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAKb,YAAL,CAAkBZ,MADiC,GACxB,GADwB,GAClB,KAAKjB,SAAL,CAAe0C,OAAf,CAAuB,KAAKvC,eAAL,GAAuB,UAA9C,CADnC;AAED,WAHI,MAIA;AACH,iBAAK2E,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAKb,YAAL,CAAkBZ,MADiC,GACxB,GADwB,GAClB,KAAKjB,SAAL,CAAe0C,OAAf,CAAuB,KAAKvC,eAAL,GAAuB,MAA9C,CADnC;AAED;;AAED,eAAK0B,YAAL,GAAoB,EAApB;AACA,eAAKR,QAAL,GAAgB,EAAhB;AAEA,eAAK4C,iBAAL;;AACA,cAAI,KAAK3C,cAAL,KAAwB,EAA5B,EAAgC;AAC9B,iBAAKJ,YAAL,GAAoB,KAApB;AACD;;AACD,eAAK0D,QAAL,CAAcG,IAAd;AACD;;;qCAEYC,W,EAAqBC,S,EAAiB;AACjD,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBE,OADnB,EAC4B;AAAEC,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD5B;AAED;;;mCACUL,W,EAAqBC,S,EAAiB;AAC/C,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBjH,KADnB,EAC0B;AAAEoH,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD1B;AAED;;;8CACqB;AACpB,eAAKlD,QAAL;AACA,eAAKyC,QAAL,CAAcG,IAAd;AACD;;;sCAEa,CACZ;AACA;AACA;AACA;AACA;AACA;AACD;;;qCAEY;AAAA;;AACX,cAAMO,UAAU,GAAG,KAAKxD,UAAxB;AACA,eAAKA,UAAL,GAAkB,EAAlB;AACAyD,oBAAU,CAAC,YAAM;AACf,oBAAI,CAACzD,UAAL,GAAkBwD,UAAlB;AACD,WAFS,EAEP,CAFO,CAAV;AAGD;;;;;;;uBAnTM66C,mC,EAAmC,2H,EAAA,wH,EAAA,4I,EAAA,qI,EAAA,uH;AAAA,K;;;YAAnCA,mC;AAAmC,oD;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;ACdhD;;AACI;;AACI;;AACI;;AAAkE;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAAwB,WAAxB;;AAE9D;;AAAyB;;AAAO;;AACpC;;AACA;;AACI;;AACI;;;;AACW;;AACnB;;AACA;;AACI;;AASA;;AAQA;;AACI;;AAA2D;AAAA,mBAAS,IAAA36C,YAAA,EAAT;AAAuB,WAAvB;;AAEK;;;;AAAwB;;AACxF;;AAA8B;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAAwB,WAAxB;;AACoD;;;;AACnE;;AACnB;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AAIA;;AA8OA;;AAIA;;AAKA;;AAKA;;AAIA;;;;AArSoB;;AAAA;;AAIiC;;AAAA;;AAS4B;;AAAA;;AAUzD;;AAAA;;AAC4D;;AAAA;;AAEkB;;AAAA;;AAOhG;;AAAA;;AAID;;AAAA;;;;;;;;;;sEDhCQ26C,mC,EAAmC;cAL/C,uDAK+C;eALrC;AACP16C,kBAAQ,EAAE,+BADH;AAEPC,qBAAW,EAAE,8CAFN;AAGPC,mBAAS,EAAE,CAAC,8CAAD;AAHJ,S;AAKqC,Q;;;;;;;;;;;;;;gBAgOzC,uD;iBAAU,U;;;gBAqFV,uD;iBAAU,Y;;;;;;;;;;;;;;;;;;;;AEtUjB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACyBmB;;AACC;;AACD;;;;;;AAFqC;;AACpC;;AAAA;;;;;;AAaD;;AACC;;AACD;;;;;;AAFsC;;AACrC;;AAAA;;;;;;AA7BhB;;AACI;;AACI;;AACA;;AAA+C;;;;AAA8B;;AAC7E;;AAEA;;AACI;;AACI;;AAAQ;;;;AAA6B;;AACrC;;AAKD;;AAKF;;AACD;;AACA;;AACI;;AAAQ;;;;AAAwB;;AAChC;;AAKD;;AAKF;;AACD;;AACA;;AACI;;AAAQ;;;;AAA8B;;AACtC;;AACJ;;AACJ;;AACA;;AAEI;;AACG;;AAAQ;;;;AAA4B;;AACpC;;AACJ;;AAEJ;;AACC;;AAGL;;;;;;AAnDgB;;AAGoC;;AAAA;;AAK/B;;AAAA;;AAMD;;AAAA;;AAQC;;AAAA;;AAMD;;AAAA;;AAQC;;AAAA;;AAOD;;AAAA;;;;;;;;AASpB;;AAEK;;AACI;;AACA;;AAA+C;;;;AAA+B;;AAC9E;;AAEA;;AACI;;AACI;;AAAQ;;;;AAAqB;;AAC7B;;AACJ;;AACA;;AACI;;AAAQ;;;;AAAoB;;AAC5B;;AAEJ;;AAEJ;;AAEA;;AACI;;AACI;;AAAQ;;;;AAAkC;;AAC1C;;AAKD;;AACC;;;;AACD;;AACA;;AACE;;;;AACD;;AAEH;;AAA6B;;AAC9B;;AACI;;AAAQ;;;;AAAuB;;AAC/B;;AAKD;;AACC;;;;AACD;;AACA;;AACE;;;;AACD;;AAEH;;AACD;;AACA;;AACI;;AACoD;AAAA;;AAAA;;AAAA;AAAA;;AACc;;;;AAAsB;;AAE5F;;AACJ;;AACA;;AAET;;;;;;AA7DwB;;AAIgC;;AAAA;;AAK/B;;AAAA;;AAIA;;AAAA;;AASA;;AAAA;;AAMA;;AAAA;;AACR;;AAAA;;AAEQ;;AAAA;;AACP;;AAAA;;AAKO;;AAAA;;AAMA;;AAAA;;AACR;;AAAA;;AAEQ;;AAAA;;AACP;;AAAA;;AAQiE;;AAAA;;;;;;AAiBtE;;AACI;;AAAI;;AAAa;;AACjB;;AAAI;;AAAY;;AAChB;;AAAI;;;;AAAoC;;AACxC;;AAAI;;;;AAA2B;;AACnC;;;;;;AAJQ;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;QDjIf46C,qC;AAOT,qDACStgD,MADT,EAES4F,EAFT,EAEuB;AAAA;;AADd,aAAA5F,MAAA,GAAAA,MAAA;AACA,aAAA4F,EAAA,GAAAA,EAAA;AART,aAAAgN,QAAA,GAAoB,KAApB;AACA,aAAAC,cAAA,GAAwB,EAAxB;AAqDF,aAAAC,KAAA,GAAM,CACJ;AAACC,cAAI,EAAC,MAAN;AAAawtC,aAAG,EAAC,EAAjB;AAAoBC,yBAAe,EAAC,sBAApC;AAA2D7rC,gBAAM,EAAC;AAAlE,SADI,EAEJ;AAAC5B,cAAI,EAAC,KAAN;AAAYwtC,aAAG,EAAC,EAAhB;AAAmBC,yBAAe,EAAC,sBAAnC;AAA0D7rC,gBAAM,EAAC;AAAjE,SAFI,EAGJ;AAAC5B,cAAI,EAAC,OAAN;AAAcwtC,aAAG,EAAC,CAAlB;AAAoBC,yBAAe,EAAC,sBAApC;AAA2D7rC,gBAAM,EAAC;AAAlE,SAHI,EAIJ;AAAC5B,cAAI,EAAC,OAAN;AAAcwtC,aAAG,EAAC,EAAlB;AAAqBC,yBAAe,EAAC,wBAArC;AAA8D7rC,gBAAM,EAAC;AAArE,SAJI,CAAN;AAMO,aAAA3B,WAAA,GAAc,IAAd;AACA,aAAAC,MAAA,GAAgB,EAAhB;AACP,aAAAwtC,OAAA,GAAQ,CACN;AAAC1tC,cAAI,EAAC;AAAN,SADM,EAEN;AAACA,cAAI,EAAC;AAAN,SAFM,EAGN;AAACA,cAAI,EAAC;AAAN,SAHM,EAIN;AAACA,cAAI,EAAC;AAAN,SAJM,EAKN;AAACA,cAAI,EAAC;AAAN,SALM,CAAR;AAOF,aAAA2tC,QAAA,GAAS,CACL;AAAC3tC,cAAI,EAAC,QAAN;AAAgB3L,eAAK,EAAC;AAAtB,SADK,EAEL;AAAC2L,cAAI,EAAC,QAAN;AAAgB3L,eAAK,EAAC;AAAtB,SAFK,EAGL;AAAC2L,cAAI,EAAC,QAAN;AAAgB3L,eAAK,EAAC;AAAtB,SAHK,EAIL;AAAC2L,cAAI,EAAC,QAAN;AAAgB3L,eAAK,EAAC;AAAtB,SAJK,EAKL;AAAC2L,cAAI,EAAC,QAAN;AAAgB3L,eAAK,EAAC;AAAtB,SALK,CAAT;AAWQ,aAAA8L,qBAAA,GAAwB,IAAxB;AACA,aAAAC,gBAAA,GAA0B,EAA1B;AAKD,aAAAC,qBAAA,GAAwB,IAAxB;AACA,aAAAC,gBAAA,GAA0B,EAA1B;AA3EF;;;;mCAEU;AACP,eAAK7L,IAAL,GAAY,KAAKU,UAAL,CAAgB,IAAI,sFAAJ,EAAhB,CAAZ;AACA,eAAKy4C,SAAL,GAAiB,KAAKC,eAAL,EAAjB;AACH;;;+BAGM;AACH,eAAK5gD,MAAL,CAAY0E,QAAZ,CAAqB,CAAC,iBAAD,CAArB;AAEH;;;iCAEG;AACJ,eAAK1E,MAAL,CAAY0E,QAAZ,CAAqB,CAAC,iBAAD,CAArB;AACD;;;mCAGUrE,W,EAAuC;AAChD;AACA,iBAAO,KAAKuF,EAAL,CAAQY,KAAR,CAAc;AACpBlH,cAAE,EAAW,CAACe,WAAW,CAACf,EAAb,CADO;AAEpBoU,oBAAQ,EAAK,CAACrT,WAAW,CAACqT,QAAb,CAFO;AAGpBysC,uBAAW,EAAE,CAAC9/C,WAAW,CAAC8/C,WAAb,CAHO;AAIpBU,qBAAS,EAAI,CAACxgD,WAAW,CAACwgD,SAAb,CAJO;AAKpBT,uBAAW,EAAE,CAAC//C,WAAW,CAAC+/C,WAAb,CALO;AAMpBC,wBAAY,EAAC,CAAChgD,WAAW,CAACggD,YAAb,CANO;AAOpBtwC,qBAAS,EAAI,CAAC1P,WAAW,CAAC0P,SAAb,CAPO;AAQpBC,mBAAO,EAAM,CAAC3P,WAAW,CAAC2P,OAAb,CARO;AASpBtF,uBAAW,EAAC,CAAC,EAAD;AATQ,WAAd,CAAP;AAWD;;;0CACc;AACb;AACA,iBAAO,KAAK9E,EAAL,CAAQY,KAAR,CAAc;AACpBuM,gBAAI,EAAW,CAAC,EAAD,CADK;AAEpBwtC,eAAG,EAAK,CAAC,CAAD,CAFY;AAGpBC,2BAAe,EAAE,CAAC,EAAD,CAHG;AAIpB7rC,kBAAM,EAAI,CAAC,EAAD;AAJU,WAAd,CAAP;AAOD;;;gCAwBI;AACH,eAAK1B,MAAL,GAAc,EAAd;AACF;;;0CAIc;AACb,eAAKE,gBAAL,GAAwB,EAAxB;AACF;;;0CAIc;AACb,eAAKE,gBAAL,GAAwB,EAAxB;AACD;;;;;;;uBA5FYitC,qC,EAAqC,uH,EAAA,2H;AAAA,K;;;YAArCA,qC;AAAqC,sD;AAAA,e;AAAA,c;AAAA,olD;AAAA;AAAA;ACVlD;;AAEI;;AACI;;AAA8B;AAAA,mBAAS,IAAAlsC,MAAA,EAAT;AAAiB,WAAjB;;AAC+F;;;;AAAuB;;AACpJ;;AAC0D;AAAA,mBAAS,IAAAC,IAAA,EAAT;AAAe,WAAf;;AACmE;;;;AAAsB;;AAEvJ;;AAEA;;AAoDG;;AA8DA;;AACC;;AACI;;AACI;;AACG;;AAAI;;;;AAAoB;;AACxB;;AAAI;;;;AAAmB;;AACvB;;AAAI;;;;AAAiC;;AACrC;;AAAI;;;;AAAsB;;AAC7B;;AACA;;AACI;;AAMJ;;AACJ;;AAEJ;;AAGJ;;AACJ;;AAEA;;AACI;;AAA8B;AAAA,mBAAS,IAAAD,MAAA,EAAT;AAAiB,WAAjB;;AAC+F;;;;AAAuB;;AACpJ;;AAC0D;AAAA,mBAAS,IAAAC,IAAA,EAAT;AAAe,WAAf;;AACmE;;;;AAAsB;;AAEvJ;;AACA;;;;AA1JqI;;AAAA;;AAGA;;AAAA;;AAI3H;;AAAA;;AAoDG;;AAAA;;AAkEU;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAGC;;AAAA;;AAiByG;;AAAA;;AAGA;;AAAA;;;;;;;;;;sEDjJpHisC,qC,EAAqC;cALjD,uDAKiD;eALvC;AACP96C,kBAAQ,EAAE,iCADH;AAEPC,qBAAW,EAAE,gDAFN;AAGPC,mBAAS,EAAE,CAAC,gDAAD;AAHJ,S;AAKuC,Q;;;;;;;;;;;;;;;;;;;;;;;;AEVlD;AAAA;;;AAAA;AAAA;AAAA;;QAAao7C,2B,GAST,qCAAY18C,IAAZ,EAA8C;AAAA;;AAC1CA,UAAI,GAAGA,IAAI,GAAGA,IAAH,GAAU,EAArB;AACA,WAAK9E,EAAL,GAAoB8E,IAAI,CAAC9E,EAAL,GAAoB8E,IAAI,CAAC9E,EAAzB,GAAuC,CAA3D;AACA,WAAKoU,QAAL,GAAoBtP,IAAI,CAACsP,QAAL,GAAoBtP,IAAI,CAACsP,QAAzB,GAAuC,CAA3D;AACA,WAAKysC,WAAL,GAAoB/7C,IAAI,CAAC+7C,WAAL,GAAoB/7C,IAAI,CAAC+7C,WAAzB,GAAuC,EAA3D;AACA,WAAKU,SAAL,GAAoBz8C,IAAI,CAACy8C,SAAL,GAAoBz8C,IAAI,CAACy8C,SAAzB,GAAuC,CAA3D;AACA,WAAKT,WAAL,GAAoBh8C,IAAI,CAACg8C,WAAL,GAAoBh8C,IAAI,CAACg8C,WAAzB,GAAuC,EAA3D;AACA,WAAKC,YAAL,GAAoBj8C,IAAI,CAACi8C,YAAL,GAAoBj8C,IAAI,CAACi8C,YAAzB,GAAuC,IAA3D;AACA,WAAKtwC,SAAL,GAAoB3L,IAAI,CAAC2L,SAAL,GAAoB3L,IAAI,CAAC2L,SAAzB,GAAuC,IAA3D;AACA,WAAKC,OAAL,GAAoB5L,IAAI,CAAC4L,OAAL,GAAoB5L,IAAI,CAAC4L,OAAzB,GAAuC,IAA3D;AACH,K;;;;;;;;;;;;;;;;;ACnBL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QASa+wC,qB;AACT,qCAAoBziD,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAIpB,aAAAC,OAAA,GAAU,sEAAYC,UAAtB;AACC,aAAAC,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AAJA;;;;+BAYMoqC,Q,EAAgC;AACrC,iBAAO,KAAKvqC,IAAL,CACJe,IADI,WACS,KAAKd,OADd,4BAC6CsqC,QAD7C,EACoD,KAAKjqC,WADzD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;;;;;uBAnBQ+hD,qB,EAAqB,uH;AAAA,K;;;aAArBA,qB;AAAqB,eAArBA,qBAAqB,K;AAAA,kBAFpB;;;;;sEAEDA,qB,EAAqB;cAHjC,wDAGiC;eAHtB;AACVthD,oBAAU,EAAE;AADF,S;AAGsB,Q;;;;;;;;;;;;;;;;;;;;;;ACPlC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;AC0Bc;;AAA6H;AAAA;;AAAA;;AAAA;AAAA;;;;AAC7H;;;;;;AADW;;AAA8D,0FAAiB,SAAjB,EAAiB,sBAAjB;;;;;;;;AAEzE;;AAA4H;AAAA;;AAAA;;AAAA;AAAA;;;;AAC5H;;;;;;AADW;;AAA6D,0FAAiB,SAAjB,EAAiB,sBAAjB;;;;;;;;;;AA+CpE;;AACE;;AAAI;;AAAkD;;AAAc;;AAAI;;AACtE;;AAAI;;;;AAAiC;;AACrC;;AAAI;;AAAc;;AAClB;;AAAI;;AAAiB;;AACrB;;AAAwB;;AAAc;;AAE1C;;;;;;AANS;;AAAA;;AAA+C;;AAAA;;AAChD;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACoB;;AAAA;;;;;;AAnBpC;;AACI;;AACE;;AACE;;AAAgB;;AAA8D;;AAChF;;AACA;;AACI;;AAAI;;;;AAAyB;;AAC7B;;AAAI;;;;AAAyB;;AAC7B;;AAAI;;;;AAA4B;;AAChC;;AAAI;;;;AAAgC;;AACpC;;AAAI;;;;AAA0B;;AAClC;;AACF;;AACA;;AACI;;AAQA;;AACE;;AAAgB;;;;AAA0B;;AAC1C;;AAAwB;;AAAkB;;AAC1C;;AAAwB;;AAAqB;;AAC7C;;AAAwB;;AAAkB;;AAE9C;;AACF;;AACJ;;;;;;;;AA3BwB;;AAAA;;AAGV;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAIF;;AAAA;;AASc;;AAAA;;AACQ;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;;;AA7B1C;;AACI;;AACA;;AACI;;AAgCJ;;AAEA;;AACF;;;;;;AAnCyC;;AAAA;;;;QDlDhCuhD,uB;AAST,uCAAoBD,qBAApB,EAAwEl7C,aAAxE,EAAmG;AAAA;;AAA/E,aAAAk7C,qBAAA,GAAAA,qBAAA;AAAoD,aAAAl7C,aAAA,GAAAA,aAAA;AAPxE,aAAAqiC,KAAA,GAAW,IAAIvhC,IAAJ,EAAX;AACA,aAAAnC,IAAA,GAA+B,EAA/B;AACA,aAAA2jC,WAAA,GAAsC,EAAtC;AACA,aAAAC,cAAA,GAAyC,EAAzC;AACA,aAAA5tB,SAAA,GAAU,EAAV;AACA,aAAA6tB,QAAA,GAAmC,EAAnC;AACA,aAAAniC,OAAA,GAAwB,EAAxB;AAIA,aAAAuiC,WAAA,GAAc,CAAd;AACA,aAAAC,gBAAA,GAAmB,CAAnB;AACA,aAAAC,mBAAA,GAAsB,CAAtB;AACA,aAAAhmC,IAAA,GAA+B,EAA/B;AACA,aAAAimC,MAAA,GAAiC,EAAjC;AACA,aAAAC,MAAA,GAAiC,EAAjC;AAPE,aAAK/mC,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACD;;;;mCAOO;AAAA;;AACJ,eAAKoiD,qBAAL,CAA2BlY,MAA3B,CAAkC,KAAKA,MAAvC,EACCxmC,SADD,CACW,UAAAM,IAAI,EAAI;AACjB,oBAAI,CAACA,IAAL,GAAYA,IAAZ;AACA,oBAAI,CAACimC,MAAL,GAAcjmC,IAAd;;AACA,oBAAI,CAACkD,aAAL,CAAmBnD,MAAnB,GACCL,SADD,CACW,UAAAC,MAAM,EAAG;AAClB,sBAAI,CAAC4D,OAAL,GAAe5D,MAAf;AACD,aAHD;AAID,WARD;AAUH;;;iCACK;AAAA;;AACJ,eAAKy+C,qBAAL,CAA2BlY,MAA3B,CAAkC,KAAKA,MAAvC,EACGxmC,SADH,CACa,UAAAM,IAAI,EAAI;AACjB,oBAAI,CAACA,IAAL,GAAYA,IAAZ;AACD,WAHH;AAID;;;sCACU;AACT,cAAIA,IAAI,GAAGmmC,QAAQ,CAACC,cAAT,CAAwB,kBAAxB,CAAX;AACApmC,cAAI,CAACqmC,KAAL,CAAWC,OAAX,GAAqB,cAArB;AACA,6DAAYtmC,IAAZ,EAAiB,EAAjB,EAAqB9E,IAArB,CAA0B,UAAAqrC,MAAM,EAAI;AACpC,gBAAIC,QAAQ,GAAG,GAAf;AACA,gBAAIC,UAAU,GAAG,GAAjB;AACA,gBAAIC,SAAS,GAAGH,MAAM,CAACI,MAAP,GAAgBH,QAAhB,GAA2BD,MAAM,CAACK,KAAlD;AACA,gBAAIC,UAAU,GAAGH,SAAjB;AACA,gBAAMI,cAAc,GAAGP,MAAM,CAACQ,SAAP,CAAiB,WAAjB,CAAvB;AACA,gBAAIC,GAAG,GAAG,IAAI,6CAAJ,CAAU,GAAV,EAAe,IAAf,EAAqB,IAArB,CAAV,CANoC,CAME;;AACtC,gBAAIC,QAAQ,GAAG,CAAf;AACAD,eAAG,CAACE,QAAJ,CAAaJ,cAAb,EAA6B,KAA7B,EAAoC,CAApC,EAAuCG,QAAvC,EAAiDT,QAAjD,EAA2DE,SAA3D;AACAM,eAAG,CAACG,IAAJ,CAAS,cAAT,EAToC,CASV;;AAC1BnnC,gBAAI,CAACqmC,KAAL,CAAWC,OAAX,GAAqB,OAArB,CAVoC,CAYtC;AAEC,WAdC;AAeD;;;gCACI;AACD,cAAIc,aAAJ,EAAmBC,QAAnB;AACAD,uBAAa,GAAGjB,QAAQ,CAACC,cAAT,CAAwB,kBAAxB,EAA4CkB,SAA5D;AACAD,kBAAQ,GAAGE,MAAM,CAACC,IAAP,CAAY,EAAZ,EAAgB,QAAhB,EAA0B,qCAA1B,CAAX;AACAH,kBAAQ,CAAClB,QAAT,CAAkBqB,IAAlB;AACAD,gBAAM,CAACE,KAAP;AAED;;;;;;;uBA9DM4W,uB,EAAuB,+I,EAAA,qJ;AAAA,K;;;YAAvBA,uB;AAAuB,sC;AAAA,e;AAAA,c;AAAA,67C;AAAA;AAAA;ACXpC;;AACI;;AACE;;AACE;;AAEE;;AAEE;;AACE;;AAAO;;AAAM;;;;AAA4B;;AAAO;;AAChD;;AAGA;AAAA;AAAA;;;;AAHA;;AAKF;;AACA;;AACE;;AAAO;;AAAM;;;;AAA0B;;AAAO;;AAC9C;;AAGA;AAAA;AAAA;;;;AAHA;;AAKF;;AACA;;AACE;;AAAO;;AAAM;;;;AAA0B;;AAAO;;AAE9C;;AAEA;;AAEF;;AAGA;;AACE;;AAAsB;AAAA,mBAAS,IAAA3W,MAAA,EAAT;AAAiB,WAAjB;;AAA6E;;;;AAAwB;;AAAS;;AACpI;;AAAsB;AAAA,mBAAS,IAAAD,KAAA,EAAT;AAAgB,WAAhB;;AAA+E;;;;AAAuB;;AAAS;;AACrI;;AAAsB;AAAA,mBAAS,IAAAE,WAAA,EAAT;AAAsB,WAAtB;;AAAkF;;;;AAAqB;;AAAS;;AACxI;;AACJ;;AACF;;AACF;;AACF;;AACA;;AACA;;AACE;;AACE;;AACE;;AACE;;AACI;;AAAqD;;;;AAA0C;;AAC/F;;AAAqD;;;;AAA+B;;AACpF;;AAAqD;;;;AAA+B;;AAExF;;AACF;;AACF;;AACF;;AAGF;;AAuCA;;;;AAzFyB;;AAAA;;AAKb;;AAAA;;AADA;;AAIa;;AAAA;;AAKb;;AAAA;;AADA;;AAIa;;AAAA;;AAEqC;;AAAA;;AAEA;;AAAA;;AAMiD;;AAAA;;AAAiC;;AAAA;;AAC/B;;AAAA;;AAAgC;;AAAA;;AAC7B;;AAAA;;AAA8B;;AAAA;;AAYjF;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAQZ;;AAAA;;;;;;;;;;sED/C1C0W,uB,EAAuB;cALnC,uDAKmC;eALzB;AACPx7C,kBAAQ,EAAE,iBADH;AAEPC,qBAAW,EAAE,gCAFN;AAGPC,mBAAS,EAAE,CAAC,gCAAD;AAHJ,S;AAKyB,Q;;;;;;;;;;;;;;;;;;;;;;;;AEbpC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;;ACgDoB;;AACI;;AAEC;AAAA;;AAAA;;AAAA;AAAA;;AAC0D;;;;AAC1B;;AACrC;;;;AAF+D;;AAAA;;;;;;;;AAhD5E;;AACA;;AAEK;;AACI;;AAEI;;AACI;;AACI;;AAA0G;;AAAM;;;;AAAoB;;AAElI;;AAGV;;AAEJ;;AACA;;AAGI;;AACI;;AACI;;AAAuG;;AAAM;;;;AAAkB;;AAE7H;;AAGV;;AAEJ;;AACA;;AAII;;AACI;;AAEA;AAAA;;AAAA;;AAAA;AAAA;;AAA4D;;;;AACjD;;AACf;;AACJ;;AACA;;AAII;;AAOJ;;AAaJ;;AACJ;;AAGJ;;;;;;AApE2B;;AAQ6G;;AAAA;;AAaH;;AAAA;;AAe5F;;AAAA;;AAAuC;;AAAA;;AAQN;;AAAA;;;;;;;;AA2FtC;;AAA4D;;AAEpD;AAAA;;AAAA;;AAAA;;AAAA,gDAA4B,CAA5B;AAA6B,SAA7B;;AAAgC;;AAAQ;;AAAI;;;;;;;;AAD5C;;AAAA;;AACgC;;AAAA;;;;;;AAJ5C;;AAEI;;AAGJ;;;;;;AAHwB;;AAAA;;;;;;;;AAUpC;;AAEI;;AAAgB;;AAAqB;;AACrC;;AAAgB;;AAAoD;;AACpE;;AAAgB;;AAAY;;AAC5B;;AAAgB;;AAAa;;AAC7B;;AAAgB;;AAAkB;;AAClC;;AAAI;;AAA4C;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AACD;;;;AAC1B;;AAAS;;AAIlC;;;;;;;;AAXoB;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAE+B;;AAAA;;;;;;AAsDnD;;AACI;;AAAK;;AAAsB;;AAC3B;;AAAK;;AAAsD;;AAC3D;;AAAK;;AAAa;;AAClB;;AAAK;;AAAc;;AACnB;;AAAK;;AAAmB;;AAC5B;;;;;;;;AALS;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;;;AAjC7B;;AACI;;AACI;;AACI;;AAAuB;;AAA8C;;AACrE;;AACI;;AACI;;AACI;;AAEI;;AAA4C;;;;AAAgC;;AAEhF;;AACJ;;AAEJ;;AACJ;;AACA;;AACI;;AACI;;AAEI;;AAAgB;;;;AAA4B;;AAC5C;;AAAgB;;;;AAAsB;;AACtC;;AAAgB;;;;AAA6B;;AAC7C;;AAAgB;;;;AAAqB;;AACrC;;AAAgB;;;;AAA2B;;AAC/C;;AACJ;;AACA;;AACI;;AAOJ;;AACJ;;AACJ;;AACJ;;AAEJ;;;;;;AArCmC;;AAAA;;AAMqC;;AAAA;;AAWhC;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAIhB;;AAAA;;;;;;;;;;;;;;;;;;;;;;AAlN5B;;AACI;;AAEG;;AAqEH;;AAGA;;AAEI;;AACI;;AACI;;AACI;;AAEI;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,eAA5B;AAA2C,SAA3C;;AACjB;;AAEqF;;AACzF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,eAA5B;AAA2C,SAA3C;;AAEf;;;;AACR;;AAEA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,wBAA5B;AAAoD,SAApD;;AACjB;;AAE8F;;AAClG;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,wBAA5B;AAAoD,SAApD;;AAEf;;;;AACR;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,wBAA5B;AAAoD,SAApD;;AACjB;;AAE8F;;AAClG;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,wBAA5B;AAAoD,SAApD;;AAEf;;;;AACR;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,wBAA5B;AAAoD,SAApD;;AACjB;;AAE8F;;AAClG;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,wBAA5B;AAAoD,SAApD;;AAEf;;;;AACR;;AAEA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,aAA5B;AAAyC,SAAzC;;AACjB;;AAEmF;;AACvF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,aAA5B;AAAyC,SAAzC;;AAEf;;;;AACR;;AAEA;;AACI;;AAEI;;AACI;;;;AACJ;;AACA;;AACI;;AAEI;;AACJ;;AACA;;AAMJ;;AACJ;;AACJ;;AACA;;AACJ;;AACA;;AACI;;AAcJ;;AACA;;AACI;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AAyCA;;AAEI;;AAA6E;;AAAM;;AAEnF;;AAEI;;AACI;;AACI;;AACwB;AAAA;;AAAA;;AAAA;AAAA,WAAyB,aAAzB,EAAyB;AAAA;;AAAA;;AAAA;AAAA,SAAzB;;AAKxB;;AACJ;;AACJ;;AACJ;;AAEA;;AAA0E;;AAAM;;AAEpF;;AACJ;;;;;;;;;;;;;;AAlPa;;AAAA;;AA+E+E;;AAAA;;AAC3D;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAGqE;;AAAA;;AACpE;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAEqE;;AAAA;;AACpE;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAEqE;;AAAA;;AACpE;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAG0D;;AAAA;;AACzD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAGJ;;AAAA;;AAIQ;;AAAA;;AAKI;;AAAA;;AAcZ;;AAAA;;AAkC0B;;AAAA;;AAkDV;;AAAA,gGAAyB,eAAzB,EAAyB,IAAzB,EAAyB,YAAzB,EAAyB,0BAAzB,EAAyB,cAAzB,EAAyB,mBAAzB,EAAyB,qBAAzB,EAAyB,GAAzB,EAAyB,oBAAzB,EAAyB,GAAzB,EAAyB,wBAAzB,EAAyB,GAAzB,EAAyB,oBAAzB,EAAyB,GAAzB,EAAyB,SAAzB,EAAyB,CAAzB;;;;;;AAoBxC;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AAIA;;;;QDtPSu7C,sB;AACT,sCAAoBthD,WAApB,EAAsDC,YAAtD,EAAkGC,QAAlG,EACYC,aADZ,EACyDC,SADzD,EACsF;AAAA;;AADlE,aAAAJ,WAAA,GAAAA,WAAA;AAAkC,aAAAC,YAAA,GAAAA,YAAA;AAA4C,aAAAC,QAAA,GAAAA,QAAA;AACtF,aAAAC,aAAA,GAAAA,aAAA;AAA6C,aAAAC,SAAA,GAAAA,SAAA;AAEvD,aAAAE,aAAA,GAAqB,OAArB;AAEA,aAAAC,eAAA,GAA0B,SAA1B;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,cAAA,GAAiB,CAAC,IAAD,CAAjB;AACA,aAAA8gD,aAAA,GAAgBxiD,YAAY,CAACC,OAAb,CAAqB,eAArB,CAAhB;AACA,aAAAwiD,aAAA,GAAgBziD,YAAY,CAACC,OAAb,CAAqB,eAArB,CAAhB;AACA,aAAA0B,WAAA,GAA2B,IAAI,gEAAJ,EAA3B;AACA,aAAAC,MAAA,GAAgC,EAAhC;AACA,aAAAC,QAAA,GAAsB,IAAI,wDAAJ,CAAc;AAClCoa,cAAI,EAAE,IAAI,0DAAJ,EAD4B;AAElCC,YAAE,EAAE,IAAI,0DAAJ;AAF8B,SAAd,CAAtB;AAqBA,aAAAla,eAAA,GAA0B,EAA1B;AACA,aAAAC,aAAA,GAAwB,EAAxB,CAlCoF,CAqCpF;;AACA,aAAAC,YAAA,sBAAmB,KAAKN,MAAxB;AACA,aAAAO,UAAA,sBAAiB,KAAKD,YAAtB;AACA,aAAAE,aAAA,sBAAoB,KAAKF,YAAzB;AACA,aAAAG,MAAA,GAAiB,KAAKT,MAAL,CAAYU,MAAZ,GAAqB,CAAtC;AAEA,aAAAC,YAAA,GAAoB,KAApB;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,kBAAA,GAAqB,CAAC,CAAD,EAAI,EAAJ,EAAQ,EAAR,CAArB;AACA,aAAAC,QAAA,GAAW,EAAX;AACA,aAAAC,cAAA,GAAiB,EAAjB;AAEA,aAAAC,QAAA,GAAoB,IAApB;AAEA,aAAAC,WAAA,GAAc,CAAd;AACA,aAAAC,SAAA,GAAY,CAAZ;AAGA,aAAAC,YAAA,GAAe,IAAI,sFAAJ,EAAf;AACA,aAAAC,UAAA,GAAa,IAAI,kFAAJ,EAAb;AACA,aAAAC,aAAA,GAAgB,IAAI,wFAAJ,EAAhB;AAkIA,aAAAC,YAAA,GAAqC,EAArC;AAGA,aAAAC,UAAA,GAAkB,EAAlB;AAwEA,aAAAu/C,aAAA,GAAgB,KAAhB;AAtQC;;;;mCAgBO;AACN7nC,iBAAO,CAACC,GAAR,CAAY,OAAZ;AACAD,iBAAO,CAACC,GAAR,CAAY,KAAKnZ,WAAjB;AAGA,eAAKyB,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACA,eAAKoD,SAAL,GAAiB;AAAEC,iBAAK,EAAE,IAAT;AAAeC,oBAAQ,EAAE;AAAzB,WAAjB;AACA,eAAK9B,YAAL,GAAoB,CAClB;AAAE6B,iBAAK,EAAE,IAAT;AAAeC,oBAAQ,EAAE;AAAzB,WADkB,CAApB,CAPM,CAUN;AACA;AACD;;;mCA+BU;AAAA;;AACT;AACA,eAAKtB,aAAL,GAAqB,SAArB;AACA,eAAKN,WAAL,GAAmB,KAAKE,QAAL,CAAc6H,WAAd,EAAnB;AACA,eAAKxI,YAAL,CAAkB8C,MAAlB,CAAyB,KAAKrC,WAA9B,EAA2CgC,SAA3C,CACE,UAAAM,IAAI,EAAI;AACN4W,mBAAO,CAACC,GAAR,CAAY,OAAZ;AACAD,mBAAO,CAACC,GAAR,CAAY7W,IAAZ;AAEA,oBAAI,CAACrC,MAAL,GAAcqC,IAAd;;AACA,oBAAI,CAACC,QAAL;AACD,WAPH;AAUD;;;mCAEU;AACT,eAAK/B,UAAL,GAAkB,KAAKa,UAAL,CAAgBkB,QAAhB,CAAyB,KAAKb,SAAL,CAAeE,QAAxC,EAAkD,KAAK3B,MAAvD,CAAlB;AACA,eAAKwC,UAAL;AACD;;;0CAEiB;AAChB,eAAKtB,SAAL,GAAiB,KAAKD,WAAtB;AACA,eAAKV,UAAL,GAAkB,KAAKA,UAAL,CAAgBkC,KAAhB,GAAwBC,OAAxB,EAAlB;AACA,eAAKF,UAAL;AACD;;;qCAEY;AACX;AACA,eAAKlC,YAAL,GAAoB,KAAKa,YAAL,CAAkBqB,UAAlB,CAA6B,KAAKjB,UAAlC,EAA8C,KAAKzB,cAAnD,EAAmE,KAAKS,UAAxE,CAApB;;AACA,cAAI,KAAKW,SAAL,KAAmB,CAAvB,EAA0B;AACxB,iBAAKyB,YAAL,CAAkB,KAAK/B,YAAvB,EAAqC,CAArC;AACD,WAFD,MAGK;AACH,iBAAK+B,YAAL,CAAkB,KAAK/B,YAAvB,EACEgC,IAAI,CAACC,IAAL,CAAW,KAAKvC,YAAL,CAAkBI,MAAlB,GAA2B,KAAKE,YAA3C,KAA6D,KAAKM,SAAlE,GACE,KAAKA,SADP,GAEE0B,IAAI,CAACC,IAAL,CAAW,KAAKvC,YAAL,CAAkBI,MAAlB,GAA2B,KAAKE,YAA3C,CAHJ;AAKD;;AACD,eAAKM,SAAL,GAAiB,CAAjB;AACD;;;qCAEY4B,e,EAAyBC,c,EAAwB;AAC5D;AAEA,eAAKnC,YAAL,GAAoBkC,eAApB;AACA,eAAK7B,WAAL,GAAmB8B,cAAnB;AACA,eAAKvC,aAAL,GAAqB,KAAKF,YAAL,CAAkBmC,KAAlB,CAAwB,CAACM,cAAc,GAAG,CAAlB,IAAwBD,eAAhD,EAAmEA,eAAe,GAAGC,cAArF,CAArB;AACD;;;mCAEUC,O,EAAc;AACvB,cAAI,KAAKvB,SAAL,CAAeC,KAAf,KAAyBsB,OAAO,CAACtB,KAArC,EAA4C;AAC1C,iBAAKV,QAAL,GAAgB,CAAC,KAAKA,QAAtB;AACA,gBAAMiC,OAAO,GAAG,KAAKhC,WAArB;AACA,iBAAKiC,eAAL;AACA,iBAAKjC,WAAL,GAAmBgC,OAAnB;AACD,WALD,MAMK;AACH,iBAAKjC,QAAL,GAAgB,IAAhB;AACA,iBAAKS,SAAL,GAAiBuB,OAAjB;AACA,iBAAKV,QAAL;AACD;AACF;;;gCAEOZ,K,EAAY;AAClB,iBAAO,KAAK7B,YAAL,CAAkBsD,IAAlB,CAAuB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC1B,KAAF,KAAYA,KAAhB;AAAA,WAAxB,CAAP;AACD;;;mCAEU2B,K,EAAuB;AAChC,eAAKpC,WAAL,GAAmBoC,KAAK,CAACC,IAAzB;AACA,eAAKX,YAAL,CAAkB,KAAK/B,YAAvB,EAAqC,KAAKK,WAA1C;AACD;;;uCAEc;AACb,eAAKK,YAAL,GAAoB,EAApB;AACA,eAAKR,QAAL,GAAgB,EAAhB;AACA,eAAKC,cAAL,GAAsB,EAAtB;AACA,eAAKyB,UAAL;AACD;;;kCAESe,M,EAAM;AACd,cAAIA,MAAM,CAACC,MAAP,CAAcC,OAAlB,EAA2B;AACzB,iBAAK3C,QAAL,sBAAoB,KAAKR,YAAzB;AACD,WAFD,MAEO;AACL,iBAAKQ,QAAL,GAAgB,EAAhB;AACD;;AACD,eAAK4C,iBAAL;AACD;;;4CAEgB;AACf,cAAI,KAAK5C,QAAL,CAAcJ,MAAd,IAAwB,KAAKJ,YAAL,CAAkBI,MAA9C,EAAsD;AACpD,iBAAKK,cAAL,GAAsB,SAAtB;AACD,WAFD,MAEO,IAAI,KAAKD,QAAL,CAAcJ,MAAd,KAAyB,CAA7B,EAAgC;AACrC,iBAAKK,cAAL,GAAsB,eAAtB;AACD,WAFM,MAEC;AACN,iBAAKA,cAAL,GAAsB,EAAtB;AACD;AACF;;;mCAEU4C,C,EAAqB;AAC9B,iBAAO,KAAK7C,QAAL,CAAc8C,SAAd,CAAwB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC7E,EAAF,KAAS2E,CAAC,CAAC3E,EAAf;AAAA,WAAzB,IAA8C,CAAC,CAAtD;AACD;;;iCAEQ8E,I,EAAwB;AAC/B,cAAI,KAAKC,UAAL,CAAgBD,IAAhB,CAAJ,EAA2B;AACzB,iBAAKhD,QAAL,GAAgB,KAAKA,QAAL,CAAckD,MAAd,CAAqB,UAAAH,CAAC;AAAA,qBAAIA,CAAC,CAAC7E,EAAF,KAAS8E,IAAI,CAAC9E,EAAlB;AAAA,aAAtB,CAAhB;AACD,WAFD,MAEO;AACL,iBAAK8B,QAAL,CAAcmD,IAAd,CAAmBH,IAAnB;AACD;;AACD,eAAKJ,iBAAL;AACD;;;mCAEUQ,I,EAAWxG,I,EAAS;AAC7B,iBAAOwG,IAAI,CAACf,IAAL,CAAU,UAAAU,CAAC;AAAA,mBAAIA,CAAC,CAACM,IAAF,KAAWzG,IAAf;AAAA,WAAX,CAAP;AACD;;;6CAGiB,CAChB;AACA;AACD;;;yCAEgBsB,E,EAAO,CACtB;AACA;AACD;;;2CAQe;AACd,cAAI,KAAKsC,YAAL,CAAkBZ,MAAlB,KAA6B,CAAjC,EAAoC;AAClC,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,QAAQ,KAAKvC,eAApC,CADF;AAED,WAHD,MAIK,IAAI,KAAK0B,YAAL,CAAkBZ,MAAlB,KAA6B,CAAjC,EAAoC;AACvC,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,QAAQ,KAAKvC,eAAb,GAA+B,GAAtD,CADF;AAED,WAHI,MAIA,IAAI,KAAK0B,YAAL,CAAkBZ,MAAlB,GAA2B,CAA3B,IAAgC,KAAKY,YAAL,CAAkBZ,MAAlB,GAA2B,EAA/D,EAAmE;AACtE,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAKb,YAAL,CAAkBZ,MADiC,GACxB,GADwB,GAClB,KAAKjB,SAAL,CAAe0C,OAAf,CAAuB,KAAKvC,eAAL,GAAuB,UAA9C,CADnC;AAED,WAHI,MAIA;AACH,iBAAK2E,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAKb,YAAL,CAAkBZ,MADiC,GACxB,GADwB,GAClB,KAAKjB,SAAL,CAAe0C,OAAf,CAAuB,KAAKvC,eAAL,GAAuB,MAA9C,CADnC;AAED;;AAED,eAAK0B,YAAL,GAAoB,EAApB;AACA,eAAKR,QAAL,GAAgB,EAAhB;AAEA,eAAK4C,iBAAL;;AACA,cAAI,KAAK3C,cAAL,KAAwB,EAA5B,EAAgC;AAC9B,iBAAKJ,YAAL,GAAoB,KAApB;AACD;;AACD,eAAK0D,QAAL,CAAcG,IAAd;AACD;;;qCAEYC,W,EAAqBC,S,EAAiB;AACjD,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBE,OADnB,EAC4B;AAAEC,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD5B;AAED;;;mCACUL,W,EAAqBC,S,EAAiB;AAC/C,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBjH,KADnB,EAC0B;AAAEoH,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD1B;AAED;;;8CACqB;AACpB,eAAKlD,QAAL;AACA,eAAKyC,QAAL,CAAcG,IAAd;AACD,S,CAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;qCAEe;AAAA;;AACX,cAAMO,UAAU,GAAG,KAAKxD,UAAxB;AACA,eAAKA,UAAL,GAAkB,EAAlB;AACAyD,oBAAU,CAAC,YAAM;AACf,oBAAI,CAACzD,UAAL,GAAkBwD,UAAlB;AACD,WAFS,EAEP,CAFO,CAAV;AAGD;;;8BACK/F,E,EAAE;AACN;AACF,eAAKM,YAAL,CAAkByhD,YAAlB,CAA+B/hD,EAA/B,EACC+C,SADD,CACW,UAAAC,MAAM,EAAG;AAClBiX,mBAAO,CAACC,GAAR,CAAYlX,MAAZ;AACA,gFAAU,yEAAYqyB,MAAtB,iCAAmDryB,MAAnD,GAA6D,YAA7D,EAFkB,CAGlB;AACF;AACA;AACA;AACC,WARD;AASC;;;sCAEU;AACT;AACA,eAAK8+C,aAAL,GAAqB,IAArB;AACA,cAAIz+C,IAAI,GAAGmmC,QAAQ,CAACC,cAAT,CAAwB,kBAAxB,CAAX;AACApmC,cAAI,CAACqmC,KAAL,CAAWC,OAAX,GAAqB,cAArB;AACA,6DAAYtmC,IAAZ,EAAiB,EAAjB,EAAqB9E,IAArB,CAA0B,UAAAqrC,MAAM,EAAI;AACpC,gBAAIC,QAAQ,GAAG,GAAf;AACA,gBAAIC,UAAU,GAAG,GAAjB;AACA,gBAAIC,SAAS,GAAGH,MAAM,CAACI,MAAP,GAAgBH,QAAhB,GAA2BD,MAAM,CAACK,KAAlD;AACA,gBAAIC,UAAU,GAAGH,SAAjB;AACA,gBAAMI,cAAc,GAAGP,MAAM,CAACQ,SAAP,CAAiB,WAAjB,CAAvB;AACA,gBAAIC,GAAG,GAAG,IAAI,8CAAJ,CAAU,GAAV,EAAe,IAAf,EAAqB,IAArB,CAAV,CANoC,CAME;;AACtC,gBAAIC,QAAQ,GAAG,CAAf;AACAD,eAAG,CAACE,QAAJ,CAAaJ,cAAb,EAA6B,KAA7B,EAAoC,CAApC,EAAuCG,QAAvC,EAAiDT,QAAjD,EAA2DE,SAA3D;AACAM,eAAG,CAACG,IAAJ,CAAS,cAAT,EAToC,CASV;;AAC1BnnC,gBAAI,CAACqmC,KAAL,CAAWC,OAAX,GAAqB,MAArB;AAED,WAZC;AAaD;;;;;;;uBA5RMgY,sB,EAAsB,2H,EAAA,uJ,EAAA,wH,EAAA,4I,EAAA,sI;AAAA,K;;;YAAtBA,sB;AAAsB,qC;AAAA;AAAA;;;;;;;;;;;;;;;ACpBnC;;AAuPA;;AAIA;;AAKA;;AAKA;;AAIA;;AAKA;;;;AA9QK;;;;;;;;;;sEDoBQA,sB,EAAsB;cALlC,uDAKkC;eALxB;AACPz7C,kBAAQ,EAAE,gBADH;AAEPC,qBAAW,EAAE,+BAFN;AAGPC,mBAAS,EAAE,CAAC,+BAAD;AAHJ,S;AAKwB,Q;;;;;;;;;;;;;;gBAmL5B,uD;iBAAU,U;;;;;;;;;;;;;;;;;;;;AExMjB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;;ACgDoB;;AACI;;AAEC;AAAA;;AAAA;;AAAA;AAAA;;AAC0D;;;;AAC1B;;AACrC;;;;AAF+D;;AAAA;;;;;;;;AAhD5E;;AACA;;AAEK;;AACI;;AAEI;;AACI;;AACI;;AAA0G;;AAAM;;;;AAAoB;;AAElI;;AAGV;;AAEJ;;AACA;;AAGI;;AACI;;AACI;;AAAuG;;AAAM;;;;AAAkB;;AAE7H;;AAGV;;AAEJ;;AACA;;AAII;;AACI;;AAEA;AAAA;;AAAA;;AAAA;AAAA;;AAAsB;;;;AACX;;AACf;;AACJ;;AACA;;AAII;;AAOJ;;AAcJ;;AACJ;;AAGJ;;;;;;AArE2B;;AAQ6G;;AAAA;;AAaH;;AAAA;;AAe3F;;AAAA;;AAQgC;;AAAA;;;;;;;;AA4FtC;;AAA4D;;AAEpD;AAAA;;AAAA;;AAAA;;AAAA,gDAA4B,CAA5B;AAA6B,SAA7B;;AAAgC;;AAAQ;;AAAI;;;;;;;;AAD5C;;AAAA;;AACgC;;AAAA;;;;;;AAJ5C;;AAEI;;AAGJ;;;;;;AAHwB;;AAAA;;;;;;;;AAUpC;;AAEI;;AAAgB;;AAAqB;;AACrC;;AAAgB;;AAAoD;;AACpE;;AAAgB;;AAAY;;AAC5B;;AAAgB;;AAAa;;AAC7B;;AAAgB;;AAAkB;;AAClC;;AAAI;;AAA4C;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AACD;;;;AAC1B;;AAAS;;AAIlC;;;;;;;;AAXoB;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAE+B;;AAAA;;;;;;;;;;;;;;;;;;;;;;AA7J3E;;AACI;;AAEG;;AAsEH;;AAGA;;AAEI;;AACI;;AACI;;AACI;;AAEI;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,eAA5B;AAA2C,SAA3C;;AACjB;;AAEqF;;AACzF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,eAA5B;AAA2C,SAA3C;;AAEf;;;;AACR;;AAEA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,wBAA5B;AAAoD,SAApD;;AACjB;;AAE8F;;AAClG;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,wBAA5B;AAAoD,SAApD;;AAEf;;;;AACR;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,wBAA5B;AAAoD,SAApD;;AACjB;;AAE8F;;AAClG;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,wBAA5B;AAAoD,SAApD;;AAEf;;;;AACR;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,wBAA5B;AAAoD,SAApD;;AACjB;;AAE8F;;AAClG;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,wBAA5B;AAAoD,SAApD;;AAEf;;;;AACR;;AAEA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,aAA5B;AAAyC,SAAzC;;AACjB;;AAEmF;;AACvF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,aAA5B;AAAyC,SAAzC;;AAEf;;;;AACR;;AAEA;;AACI;;AAEI;;AACI;;;;AACJ;;AACA;;AACI;;AAEI;;AACJ;;AACA;;AAMJ;;AACJ;;AACJ;;AACA;;AACJ;;AACA;;AACI;;AAcJ;;AACA;;AACI;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAEA;;AAEI;;AAA6E;;AAAM;;AAEnF;;AAEI;;AACI;;AACI;;AACwB;AAAA;;AAAA;;AAAA;AAAA,WAAyB,aAAzB,EAAyB;AAAA;;AAAA;;AAAA;AAAA,SAAzB;;AAKxB;;AACJ;;AACJ;;AACJ;;AAEA;;AAA0E;;AAAM;;AAEpF;;AACJ;;;;;;;;;;;;;;AA3Ma;;AAAA;;AAgF+E;;AAAA;;AAC3D;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAGqE;;AAAA;;AACpE;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAEqE;;AAAA;;AACpE;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAEqE;;AAAA;;AACpE;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAG0D;;AAAA;;AACzD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAGJ;;AAAA;;AAIQ;;AAAA;;AAKI;;AAAA;;AAcZ;;AAAA;;AA4CgB;;AAAA,gGAAyB,eAAzB,EAAyB,IAAzB,EAAyB,YAAzB,EAAyB,0BAAzB,EAAyB,cAAzB,EAAyB,mBAAzB,EAAyB,qBAAzB,EAAyB,GAAzB,EAAyB,oBAAzB,EAAyB,GAAzB,EAAyB,wBAAzB,EAAyB,GAAzB,EAAyB,oBAAzB,EAAyB,GAAzB,EAAyB,SAAzB,EAAyB,CAAzB;;;;;;AA+CxB;;AACI;;AAAK;;AAAsB;;AAC3B;;AAAK;;AAAsD;;AAC3D;;AAAK;;AAAa;;AAClB;;AAAK;;AAAc;;AACnB;;AAAK;;AAAmB;;AAC5B;;;;;;;;AALS;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;;;AAjC7B;;AACI;;AACI;;AACI;;AAAuB;;AAA8C;;AACrE;;AACI;;AACI;;AACI;;AAEI;;AAA4C;;;;AAAkC;;AAElF;;AACJ;;AAEJ;;AACJ;;AACA;;AACI;;AACI;;AAEI;;AAAgB;;;;AAA4B;;AAC5C;;AAAgB;;;;AAA0B;;AAC1C;;AAAgB;;;;AAA6B;;AAC7C;;AAAgB;;;;AAAqB;;AACrC;;AAAgB;;;;AAA2B;;AAC/C;;AACJ;;AACA;;AACI;;AAOJ;;AACJ;;AACJ;;AACJ;;AAEJ;;;;;;AArCmC;;AAAA;;AAMqC;;AAAA;;AAWhC;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAIhB;;AAAA;;;;;;AAcpB;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AAIA;;;;QDxPS47C,wB;AACT,wCAAoB3hD,WAApB,EAAsDC,YAAtD,EAAkGC,QAAlG,EACYC,aADZ,EACyDC,SADzD,EACsF;AAAA;;AADlE,aAAAJ,WAAA,GAAAA,WAAA;AAAkC,aAAAC,YAAA,GAAAA,YAAA;AAA4C,aAAAC,QAAA,GAAAA,QAAA;AACtF,aAAAC,aAAA,GAAAA,aAAA;AAA6C,aAAAC,SAAA,GAAAA,SAAA;AAEvD,aAAAE,aAAA,GAAqB,OAArB;AACA,aAAAihD,aAAA,GAAgBxiD,YAAY,CAACC,OAAb,CAAqB,eAArB,CAAhB;AACA,aAAAwiD,aAAA,GAAgBziD,YAAY,CAACC,OAAb,CAAqB,eAArB,CAAhB;AACA,aAAAuB,eAAA,GAA0B,WAA1B;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,cAAA,GAAiB,CAAC,IAAD,CAAjB;AAEA,aAAAC,WAAA,GAA2B,IAAI,gEAAJ,EAA3B;AACA,aAAAC,MAAA,GAAgC,EAAhC;AACA,aAAAC,QAAA,GAAsB,IAAI,wDAAJ,CAAc;AAClCoa,cAAI,EAAE,IAAI,0DAAJ,EAD4B;AAElCC,YAAE,EAAE,IAAI,0DAAJ;AAF8B,SAAd,CAAtB;AAqBA,aAAAla,eAAA,GAA0B,EAA1B;AACA,aAAAC,aAAA,GAAwB,EAAxB,CAlCoF,CAqCpF;;AACA,aAAAC,YAAA,sBAAmB,KAAKN,MAAxB;AACA,aAAAO,UAAA,sBAAiB,KAAKD,YAAtB;AACA,aAAAE,aAAA,sBAAoB,KAAKF,YAAzB;AACA,aAAAG,MAAA,GAAiB,KAAKT,MAAL,CAAYU,MAAZ,GAAqB,CAAtC;AAEA,aAAAC,YAAA,GAAoB,KAApB;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,kBAAA,GAAqB,CAAC,CAAD,EAAI,EAAJ,EAAQ,EAAR,CAArB;AACA,aAAAC,QAAA,GAAW,EAAX;AACA,aAAAC,cAAA,GAAiB,EAAjB;AAEA,aAAAC,QAAA,GAAoB,IAApB;AAEA,aAAAC,WAAA,GAAc,CAAd;AACA,aAAAC,SAAA,GAAY,CAAZ;AAGA,aAAAC,YAAA,GAAe,IAAI,sFAAJ,EAAf;AACA,aAAAC,UAAA,GAAa,IAAI,kFAAJ,EAAb;AACA,aAAAC,aAAA,GAAgB,IAAI,wFAAJ,EAAhB;AAoIA,aAAAC,YAAA,GAAqC,EAArC;AAGA,aAAAC,UAAA,GAAkB,EAAlB;AAwEA,aAAAu/C,aAAA,GAAgB,KAAhB;AAxQC;;;;mCAgBO;AACN7nC,iBAAO,CAACC,GAAR,CAAY,OAAZ;AACAD,iBAAO,CAACC,GAAR,CAAY,KAAKnZ,WAAjB;AAGA,eAAKyB,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACA,eAAKoD,SAAL,GAAiB;AAAEC,iBAAK,EAAE,IAAT;AAAeC,oBAAQ,EAAE;AAAzB,WAAjB;AACA,eAAK9B,YAAL,GAAoB,CAClB;AAAE6B,iBAAK,EAAE,IAAT;AAAeC,oBAAQ,EAAE;AAAzB,WADkB,CAApB,CAPM,CAUN;AACA;AACD;;;mCA+BU;AAAA;;AACT;AACA,eAAKtB,aAAL,GAAqB,SAArB,CAFS,CAGT;AACA;;AACA,eAAKN,WAAL,GAAmB,KAAKE,QAAL,CAAc6H,WAAd,EAAnB;AACA,eAAKxI,YAAL,CAAkB2hD,qBAAlB,CAAwC,KAAKlhD,WAA7C,EAA0DgC,SAA1D,CACE,UAAAM,IAAI,EAAI;AACN4W,mBAAO,CAACC,GAAR,CAAY,OAAZ;AACAD,mBAAO,CAACC,GAAR,CAAY7W,IAAZ;AAEA,oBAAI,CAACrC,MAAL,GAAcqC,IAAd;;AACA,oBAAI,CAACC,QAAL;AACD,WAPH;AAUD;;;mCAEU;AACT,eAAK/B,UAAL,GAAkB,KAAKa,UAAL,CAAgBkB,QAAhB,CAAyB,KAAKb,SAAL,CAAeE,QAAxC,EAAkD,KAAK3B,MAAvD,CAAlB;AACA,eAAKwC,UAAL;AACD;;;0CAEiB;AAChB,eAAKtB,SAAL,GAAiB,KAAKD,WAAtB;AACA,eAAKV,UAAL,GAAkB,KAAKA,UAAL,CAAgBkC,KAAhB,GAAwBC,OAAxB,EAAlB;AACA,eAAKF,UAAL;AACD;;;qCAEY;AACX;AACA,eAAKlC,YAAL,GAAoB,KAAKa,YAAL,CAAkBqB,UAAlB,CAA6B,KAAKjB,UAAlC,EAA8C,KAAKzB,cAAnD,EAAmE,KAAKS,UAAxE,CAApB;;AACA,cAAI,KAAKW,SAAL,KAAmB,CAAvB,EAA0B;AACxB,iBAAKyB,YAAL,CAAkB,KAAK/B,YAAvB,EAAqC,CAArC;AACD,WAFD,MAGK;AACH,iBAAK+B,YAAL,CAAkB,KAAK/B,YAAvB,EACEgC,IAAI,CAACC,IAAL,CAAW,KAAKvC,YAAL,CAAkBI,MAAlB,GAA2B,KAAKE,YAA3C,KAA6D,KAAKM,SAAlE,GACE,KAAKA,SADP,GAEE0B,IAAI,CAACC,IAAL,CAAW,KAAKvC,YAAL,CAAkBI,MAAlB,GAA2B,KAAKE,YAA3C,CAHJ;AAKD;;AACD,eAAKM,SAAL,GAAiB,CAAjB;AACD;;;qCAEY4B,e,EAAyBC,c,EAAwB;AAC5D;AAEA,eAAKnC,YAAL,GAAoBkC,eAApB;AACA,eAAK7B,WAAL,GAAmB8B,cAAnB;AACA,eAAKvC,aAAL,GAAqB,KAAKF,YAAL,CAAkBmC,KAAlB,CAAwB,CAACM,cAAc,GAAG,CAAlB,IAAwBD,eAAhD,EAAmEA,eAAe,GAAGC,cAArF,CAArB;AACD;;;mCAEUC,O,EAAc;AACvB,cAAI,KAAKvB,SAAL,CAAeC,KAAf,KAAyBsB,OAAO,CAACtB,KAArC,EAA4C;AAC1C,iBAAKV,QAAL,GAAgB,CAAC,KAAKA,QAAtB;AACA,gBAAMiC,OAAO,GAAG,KAAKhC,WAArB;AACA,iBAAKiC,eAAL;AACA,iBAAKjC,WAAL,GAAmBgC,OAAnB;AACD,WALD,MAMK;AACH,iBAAKjC,QAAL,GAAgB,IAAhB;AACA,iBAAKS,SAAL,GAAiBuB,OAAjB;AACA,iBAAKV,QAAL;AACD;AACF;;;gCAEOZ,K,EAAY;AAClB,iBAAO,KAAK7B,YAAL,CAAkBsD,IAAlB,CAAuB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC1B,KAAF,KAAYA,KAAhB;AAAA,WAAxB,CAAP;AACD;;;mCAEU2B,K,EAAuB;AAChC,eAAKpC,WAAL,GAAmBoC,KAAK,CAACC,IAAzB;AACA,eAAKX,YAAL,CAAkB,KAAK/B,YAAvB,EAAqC,KAAKK,WAA1C;AACD;;;uCAEc;AACb,eAAKK,YAAL,GAAoB,EAApB;AACA,eAAKR,QAAL,GAAgB,EAAhB;AACA,eAAKC,cAAL,GAAsB,EAAtB;AACA,eAAKyB,UAAL;AACD;;;kCAESe,M,EAAM;AACd,cAAIA,MAAM,CAACC,MAAP,CAAcC,OAAlB,EAA2B;AACzB,iBAAK3C,QAAL,sBAAoB,KAAKR,YAAzB;AACD,WAFD,MAEO;AACL,iBAAKQ,QAAL,GAAgB,EAAhB;AACD;;AACD,eAAK4C,iBAAL;AACD;;;4CAEgB;AACf,cAAI,KAAK5C,QAAL,CAAcJ,MAAd,IAAwB,KAAKJ,YAAL,CAAkBI,MAA9C,EAAsD;AACpD,iBAAKK,cAAL,GAAsB,SAAtB;AACD,WAFD,MAEO,IAAI,KAAKD,QAAL,CAAcJ,MAAd,KAAyB,CAA7B,EAAgC;AACrC,iBAAKK,cAAL,GAAsB,eAAtB;AACD,WAFM,MAEC;AACN,iBAAKA,cAAL,GAAsB,EAAtB;AACD;AACF;;;mCAEU4C,C,EAAqB;AAC9B,iBAAO,KAAK7C,QAAL,CAAc8C,SAAd,CAAwB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC7E,EAAF,KAAS2E,CAAC,CAAC3E,EAAf;AAAA,WAAzB,IAA8C,CAAC,CAAtD;AACD;;;iCAEQ8E,I,EAAwB;AAC/B,cAAI,KAAKC,UAAL,CAAgBD,IAAhB,CAAJ,EAA2B;AACzB,iBAAKhD,QAAL,GAAgB,KAAKA,QAAL,CAAckD,MAAd,CAAqB,UAAAH,CAAC;AAAA,qBAAIA,CAAC,CAAC7E,EAAF,KAAS8E,IAAI,CAAC9E,EAAlB;AAAA,aAAtB,CAAhB;AACD,WAFD,MAEO;AACL,iBAAK8B,QAAL,CAAcmD,IAAd,CAAmBH,IAAnB;AACD;;AACD,eAAKJ,iBAAL;AACD;;;mCAEUQ,I,EAAWxG,I,EAAS;AAC7B,iBAAOwG,IAAI,CAACf,IAAL,CAAU,UAAAU,CAAC;AAAA,mBAAIA,CAAC,CAACM,IAAF,KAAWzG,IAAf;AAAA,WAAX,CAAP;AACD;;;6CAGiB,CAChB;AACA;AACD;;;yCAEgBsB,E,EAAO,CACtB;AACA;AACD;;;2CAQe;AACd,cAAI,KAAKsC,YAAL,CAAkBZ,MAAlB,KAA6B,CAAjC,EAAoC;AAClC,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,QAAQ,KAAKvC,eAApC,CADF;AAED,WAHD,MAIK,IAAI,KAAK0B,YAAL,CAAkBZ,MAAlB,KAA6B,CAAjC,EAAoC;AACvC,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,QAAQ,KAAKvC,eAAb,GAA+B,GAAtD,CADF;AAED,WAHI,MAIA,IAAI,KAAK0B,YAAL,CAAkBZ,MAAlB,GAA2B,CAA3B,IAAgC,KAAKY,YAAL,CAAkBZ,MAAlB,GAA2B,EAA/D,EAAmE;AACtE,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAKb,YAAL,CAAkBZ,MADiC,GACxB,GADwB,GAClB,KAAKjB,SAAL,CAAe0C,OAAf,CAAuB,KAAKvC,eAAL,GAAuB,UAA9C,CADnC;AAED,WAHI,MAIA;AACH,iBAAK2E,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAKb,YAAL,CAAkBZ,MADiC,GACxB,GADwB,GAClB,KAAKjB,SAAL,CAAe0C,OAAf,CAAuB,KAAKvC,eAAL,GAAuB,MAA9C,CADnC;AAED;;AAED,eAAK0B,YAAL,GAAoB,EAApB;AACA,eAAKR,QAAL,GAAgB,EAAhB;AAEA,eAAK4C,iBAAL;;AACA,cAAI,KAAK3C,cAAL,KAAwB,EAA5B,EAAgC;AAC9B,iBAAKJ,YAAL,GAAoB,KAApB;AACD;;AACD,eAAK0D,QAAL,CAAcG,IAAd;AACD;;;qCAEYC,W,EAAqBC,S,EAAiB;AACjD,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBE,OADnB,EAC4B;AAAEC,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD5B;AAED;;;mCACUL,W,EAAqBC,S,EAAiB;AAC/C,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBjH,KADnB,EAC0B;AAAEoH,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD1B;AAED;;;8CACqB;AACpB,eAAKlD,QAAL;AACA,eAAKyC,QAAL,CAAcG,IAAd;AACD,S,CAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;qCAEe;AAAA;;AACX,cAAMO,UAAU,GAAG,KAAKxD,UAAxB;AACA,eAAKA,UAAL,GAAkB,EAAlB;AACAyD,oBAAU,CAAC,YAAM;AACf,oBAAI,CAACzD,UAAL,GAAkBwD,UAAlB;AACD,WAFS,EAEP,CAFO,CAAV;AAGD;;;8BACK/F,E,EAAE;AACN;AACF,eAAKM,YAAL,CAAkByhD,YAAlB,CAA+B/hD,EAA/B,EACC+C,SADD,CACW,UAAAC,MAAM,EAAG;AAClBiX,mBAAO,CAACC,GAAR,CAAYlX,MAAZ;AACA,gFAAU,yEAAYqyB,MAAtB,iCAAmDryB,MAAnD,GAA6D,YAA7D,EAFkB,CAGlB;AACF;AACA;AACA;AACC,WARD;AASC;;;sCAEU;AACT;AACA,eAAK8+C,aAAL,GAAqB,IAArB,CAFS,CAGT;;AACA,cAAIz+C,IAAI,GAAGmmC,QAAQ,CAACC,cAAT,CAAwB,kBAAxB,CAAX;AACApmC,cAAI,CAACqmC,KAAL,CAAWC,OAAX,GAAqB,cAArB,CALS,CAMP;;AACF,6DAAYtmC,IAAZ,EAAiB,EAAjB,EAAqB9E,IAArB,CAA0B,UAAAqrC,MAAM,EAAI;AACpC;AACA,gBAAIC,QAAQ,GAAG,GAAf;AACA,gBAAIC,UAAU,GAAG,GAAjB;AACA,gBAAIC,SAAS,GAAGH,MAAM,CAACI,MAAP,GAAgBH,QAAhB,GAA2BD,MAAM,CAACK,KAAlD;AACA,gBAAIC,UAAU,GAAGH,SAAjB;AACA,gBAAMI,cAAc,GAAGP,MAAM,CAACQ,SAAP,CAAiB,WAAjB,CAAvB;AACA,gBAAIC,GAAG,GAAG,IAAI,8CAAJ,CAAU,GAAV,EAAe,IAAf,EAAqB,IAArB,CAAV,CAPoC,CAOE;;AACtC,gBAAIC,QAAQ,GAAG,CAAf;AACAD,eAAG,CAACE,QAAJ,CAAaJ,cAAb,EAA6B,KAA7B,EAAoC,CAApC,EAAuCG,QAAvC,EAAiDT,QAAjD,EAA2DE,SAA3D;AACAM,eAAG,CAACG,IAAJ,CAAS,cAAT,EAVoC,CAUV;;AAC1BnnC,gBAAI,CAACqmC,KAAL,CAAWC,OAAX,GAAqB,MAArB;AAED,WAbC;AAcD;;;;;;;uBAjSMqY,wB,EAAwB,2H,EAAA,uJ,EAAA,wH,EAAA,4I,EAAA,sI;AAAA,K;;;YAAxBA,wB;AAAwB,uC;AAAA;AAAA;;;;;;;;;;;;;;;ACpBrC;;AAgNA;;AAIA;;AAyCA;;AAKA;;AAKA;;AAIA;;AAKA;;;;AAhRK;;AAoN6C;;AAAA;;;;;;;;;;sEDhMrCA,wB,EAAwB;cALpC,uDAKoC;eAL1B;AACP97C,kBAAQ,EAAE,kBADH;AAEPC,qBAAW,EAAE,iCAFN;AAGPC,mBAAS,EAAE,CAAC,iCAAD;AAHJ,S;AAK0B,Q;;;;;;;;;;;;;;gBAqL9B,uD;iBAAU,U;;;;;;;;;;;;;;;;;;;;AE1MjB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;AC2Bc;;AAA8H;AAAA;;AAAA;;AAAA;AAAA;;;;AAC9H;;;;;;AADW;;AAA8D,2FAAkB,SAAlB,EAAkB,sBAAlB;;;;;;;;AAEzE;;AAA6H;AAAA;;AAAA;;AAAA;AAAA;;;;AAC7H;;;;;;AADW;;AAA6D,2FAAkB,SAAlB,EAAkB,sBAAlB;;;;;;AAqClF;;AACI;;AACI;;AACI;;AACQ;;AACI;;AAAmC;;;;AAA4B;;AAC/D;;AAAgB;;;;AAAoB;;AACpC;;AAAmC;;;;AAA2B;;AAC9D;;AAAgB;;;;AAA6B;;AAC7C;;AAAgB;;;;AAAuB;;AAE3C;;AACA;;AAEI;;AAAI;;;;AAAsB;;AAC1B;;AAAI;;;;AAAqB;;AACzB;;AAAI;;;;AAAsB;;AAC1B;;AAAI;;;;AAAqB;;AAE7B;;AACR;;AACH;;AACL;;AACJ;;;;AAlB2D;;AAAA;;AACnB;;AAAA;;AACmB;;AAAA;;AACnB;;AAAA;;AACA;;AAAA;;AAKZ;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;;;;;;;AA2BhB;;AACI;;AAAK;;AAAkF;;AAAqB;;AAAI;;AAChH;;AAAK;;;;AAA+B;;AACpC;;AAAwB;;AAAoB;;AAC5C;;AAAK;;AAAuB;;AAC5B;;AAAI;;AAAsB;;AAC1B;;AAAK;;AAAiF;;AACtF;;AAAK;;AAAoF;;AAC7F;;;;;;AAPY;;AAAA;;AAA+E;;AAAA;;AAClF;;AAAA;;AACmB;;AAAA;;AACnB;;AAAA;;AACD;;AAAA;;AACC;;AAAA;;AACA;;AAAA;;;;;;AAvBf;;AACE;;AACI;;AACI;;AAA0C;;AAAwD;;AAEtG;;AAEJ;;AAEA;;AACE;;AACE;;AAA0C;;;;AAA8B;;AACxE;;AAA8B;;AAA4B;;AAC1D;;AAA8B;;AAA2B;;AAC3D;;AACF;;AACI;;AASA;;AACE;;AACE;;;;AACF;;AACA;;AAAwB;;AAA4B;;AACpD;;AAAwB;;AAA2B;;AACnD;;AAAwB;;AAA2G;;AACnI;;AAAwB;;AAA2G;;AACrI;;AACJ;;AACF;;AACF;;;;;;;;AAjCsD;;AAAA;;AAQJ;;AAAA;;AACZ;;AAAA;;AACA;;AAAA;;AAGzB;;AAAA;;AAWD;;AAAA;;AAEsB;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;;;AAjCpC;;AACI;;AAqCF;;AACF;;;;;;AAtCyC;;AAAA;;;;;;AAH7C;;AACI;;AACA;;AAyCA;;AACF;;;;;;AA1CmB;;AAAA;;;;QD9EV87C,iC;AAMT,iDAAoBC,+BAApB,EACYC,aADZ,EAEYC,cAFZ,EAE8C;AAAA;;AAF1B,aAAAF,+BAAA,GAAAA,+BAAA;AACR,aAAAC,aAAA,GAAAA,aAAA;AACA,aAAAC,cAAA,GAAAA,cAAA;AAJZ,aAAA9Y,MAAA,GAA2C,EAA3C;AACA,aAAA+Y,QAAA,GAA8B,EAA9B;AAOA,aAAAnZ,WAAA,GAAc,CAAd;AACA,aAAAC,gBAAA,GAAmB,CAAnB;AACA,aAAAC,mBAAA,GAAsB,CAAtB;AACA,aAAAkZ,QAAA,GAAuB,EAAvB;AACA,aAAA3Z,KAAA,GAAM,IAAIvhC,IAAJ,EAAN;AANE,aAAK7E,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACD;;;;mCAMO;AAAA;;AACN;AACE,eAAK8iD,+BAAL,CAAqC5Y,MAArC,CAA4C,KAAKA,MAAjD,EACCxmC,SADD,CACW,UAAAM,IAAI,EAAI;AACjB,oBAAI,CAACA,IAAL,GAAWA,IAAX;AAEA4W,mBAAO,CAACC,GAAR,CAAY,MAAZ,EAAmB,QAAI,CAAC7W,IAAxB;AACD,WALD;AAMA,eAAK++C,aAAL,CAAmBh/C,MAAnB,GACCL,SADD,CACW,UAAAw/C,QAAQ,EAAE;AACnB,oBAAI,CAACA,QAAL,GAAgBA,QAAhB;AACD,WAHD;AAIF,eAAKF,cAAL,CAAoBhe,kBAApB,CAAuC,CAAvC,EACGthC,SADH,CACa,UAAAM,IAAI,EAAI;AACf,oBAAI,CAACi/C,QAAL,GAAgBj/C,IAAhB;AACH,WAHH;AAKD;;;iCACK;AAAA;;AACF,eAAK8+C,+BAAL,CAAqC5Y,MAArC,CAA4C,KAAKA,MAAjD,EACCxmC,SADD,CACW,UAAAM,IAAI,EAAI;AACjB,oBAAI,CAACA,IAAL,GAAWA,IAAX;AAED,WAJD;AAKH;;;sCACU;AACT,cAAIA,IAAI,GAAGmmC,QAAQ,CAACC,cAAT,CAAwB,kBAAxB,CAAX;AACApmC,cAAI,CAACqmC,KAAL,CAAWC,OAAX,GAAqB,cAArB;AACA,6DAAYtmC,IAAZ,EAAiB,EAAjB,EAAqB9E,IAArB,CAA0B,UAAAqrC,MAAM,EAAI;AACpC,gBAAIC,QAAQ,GAAG,GAAf;AACA,gBAAIC,UAAU,GAAG,GAAjB;AACA,gBAAIC,SAAS,GAAGH,MAAM,CAACI,MAAP,GAAgBH,QAAhB,GAA2BD,MAAM,CAACK,KAAlD;AACA,gBAAIC,UAAU,GAAGH,SAAjB;AACA,gBAAMI,cAAc,GAAGP,MAAM,CAACQ,SAAP,CAAiB,WAAjB,CAAvB;AACA,gBAAIC,GAAG,GAAG,IAAI,6CAAJ,CAAU,GAAV,EAAe,IAAf,EAAqB,IAArB,CAAV,CANoC,CAME;;AACtC,gBAAIC,QAAQ,GAAG,CAAf;AACAD,eAAG,CAACE,QAAJ,CAAaJ,cAAb,EAA6B,KAA7B,EAAoC,CAApC,EAAuCG,QAAvC,EAAiDT,QAAjD,EAA2DE,SAA3D;AACAM,eAAG,CAACG,IAAJ,CAAS,cAAT,EAToC,CASV;;AAC1BnnC,gBAAI,CAACqmC,KAAL,CAAWC,OAAX,GAAqB,OAArB,CAVoC,CAYtC;AAEC,WAdC;AAeD;;;gCACI;AACD,cAAIc,aAAJ,EAAmBC,QAAnB;AACAD,uBAAa,GAAGjB,QAAQ,CAACC,cAAT,CAAwB,kBAAxB,EAA4CkB,SAA5D;AACAD,kBAAQ,GAAGE,MAAM,CAACC,IAAP,CAAY,EAAZ,EAAgB,QAAhB,EAA0B,qCAA1B,CAAX;AACAH,kBAAQ,CAAClB,QAAT,CAAkBqB,IAAlB;AACAD,gBAAM,CAACE,KAAP;AAED;;;8CAEkB,CAElB;;;;;;;uBAxEMoX,iC,EAAiC,oK,EAAA,sJ,EAAA,+L;AAAA,K;;;YAAjCA,iC;AAAiC,iD;AAAA,e;AAAA,c;AAAA,qwD;AAAA;AAAA;ACb9C;;AACI;;AACE;;AACE;;AAEE;;AACE;;AACE;;AAAO;;AAAM;;;;AAA4B;;AAAO;;AAChD;;AAGA;AAAA;AAAA;;;;AAHA;;AAKF;;AACA;;AACE;;AAAO;;AAAM;;;;AAA0B;;AAAO;;AAC9C;;AAGA;AAAA;AAAA;;;;AAHA;;AAKF;;AACA;;AACE;;AAAO;;AAAM;;;;AAA0B;;AAAO;;AAE9C;;AAEA;;AAEF;;AAUA;;AAEA;;AACE;;AAAsB;AAAA,mBAAS,IAAAnX,MAAA,EAAT;AAAiB,WAAjB;;AAA6E;;;;AAAwB;;AAAS;;AACpI;;AAAsB;AAAA,mBAAS,IAAAD,KAAA,EAAT;AAAgB,WAAhB;;AAA+E;;;;AAAuB;;AAAS;;AACrI;;AAAsB;AAAA,mBAAS,IAAAE,WAAA,EAAT;AAAsB,WAAtB;;AAAkF;;;;AAAqB;;AAAS;;AACxI;;AACJ;;AACF;;AACF;;AACF;;AACA;;AACA;;AACE;;AACE;;AACE;;AACE;;AACI;;AAAqD;;;;AAA8C;;AACnG;;AAAqD;;;;AAA+B;;AACpF;;AAAqD;;;;AAA+B;;AAExF;;AACF;;AACF;;AACF;;AACA;;AAwBA;;AACF;;AA6CA;;;;AA/HyB;;AAAA;;AAKb;;AAAA;;AADA;;AAIa;;AAAA;;AAKb;;AAAA;;AADA;;AAIa;;AAAA;;AAEqC;;AAAA;;AAEA;;AAAA;;AAeiD;;AAAA;;AAAiC;;AAAA;;AAC/B;;AAAA;;AAAgC;;AAAA;;AAC7B;;AAAA;;AAA8B;;AAAA;;AAYjF;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAM5C;;AAAA;;AAyBgC;;AAAA;;;;;;;;;;sED5E1CkX,iC,EAAiC;cAL7C,uDAK6C;eALnC;AACPh8C,kBAAQ,EAAE,4BADH;AAEPC,qBAAW,EAAE,2CAFN;AAGPC,mBAAS,EAAE,CAAC,2CAAD;AAHJ,S;AAKmC,Q;;;;;;;;;;;;;;;;;;;;;;;;;;AEf9C;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAYa+7C,+B;AACT,+CAAoBnjD,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAIpB,aAAAC,OAAA,GAAU,sEAAYC,UAAtB;AACC,aAAAC,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AAJA;;;;+BAYMoqC,Q,EAA0C;AAC/C,iBAAO,KAAKvqC,IAAL,CACJe,IADI,WACS,KAAKd,OADd,sCACuDsqC,QADvD,EAC8D,KAAKjqC,WADnE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;;;;;uBAnBQyiD,+B,EAA+B,uH;AAAA,K;;;aAA/BA,+B;AAA+B,eAA/BA,+BAA+B,K;AAAA,kBAF9B;;;;;sEAEDA,+B,EAA+B;cAH3C,wDAG2C;eAHhC;AACVhiD,oBAAU,EAAE;AADF,S;AAGgC,Q;;;;;;;;;;;;;;;;;;;;;;ACV5C;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;AC0Bc;;AAA6H;AAAA;;AAAA;;AAAA;AAAA;;;;AAC7H;;;;;;AADW;;AAA8D,0FAAiB,SAAjB,EAAiB,sBAAjB;;;;;;;;AAEzE;;AAA4H;AAAA;;AAAA;;AAAA;AAAA;;;;AAC5H;;;;;;AADW;;AAA6D,0FAAiB,SAAjB,EAAiB,sBAAjB;;;;;;AAkDpE;;AACE;;AAAI;;AAAa;;AACjB;;AAAI;;AAAsB;;AAC1B;;AAAI;;AAAsD;;AACxD;;AAAI;;AAAsB;;AAC1B;;AAAI;;AAAmB;;AACvB;;AAAI;;AAAsB;;AAC1B;;AAAI;;AAAiB;;AACrB;;AAAI;;AAAsB;;AAC1B;;AAAI;;AAAgB;;AAExB;;;;;;;;AAVM;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACE;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;;;AA7BxB;;AACI;;AACA;;AACI;;AACI;;AAEE;;AACI;;AAAI;;;;AAAyB;;AAC7B;;AAAI;;;;AAAmC;;AACvC;;AAAI;;;;AAA2B;;AAC/B;;AAAI;;;;AAAmC;;AACvC;;AAAI;;;;AAA+B;;AACnC;;AAAI;;;;AAAkC;;AACtC;;AAAI;;;;AAA8B;;AAClC;;AAAI;;;;AAAmC;;AACvC;;AAAI;;;;AAA4B;;AAEpC;;AACF;;AACA;;AACI;;AAYA;;AACE;;AAAoC;;;;AAA0B;;AAC9D;;AAAwB;;AAAsB;;AAC9C;;AAAwB;;AAAmB;;AAC3C;;AAAwB;;AAAsB;;AAC9C;;AAAwB;;AAAiB;;AACzC;;AAAwB;;AAAsB;;AAC9C;;AAAwB;;AAAgB;;AACxC;;AAAwB;;AAAc;;AAE1C;;AACF;;AACJ;;AAEJ;;AAEA;;AACF;;;;;;AA1CoB;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAKF;;AAAA;;AAakC;;AAAA;;AACZ;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;QDvF/BqiD,yB;AAST,yCAAoBC,uBAApB,EAA4El8C,aAA5E,EAAuG;AAAA;;AAAnF,aAAAk8C,uBAAA,GAAAA,uBAAA;AAAwD,aAAAl8C,aAAA,GAAAA,aAAA;AAP5E,aAAAqiC,KAAA,GAAW,IAAIvhC,IAAJ,EAAX;AACA,aAAAnC,IAAA,GAAiC,EAAjC;AACA,aAAA2jC,WAAA,GAAwC,EAAxC;AACA,aAAAC,cAAA,GAA2C,EAA3C;AACA,aAAA5tB,SAAA,GAAU,EAAV;AACA,aAAA6tB,QAAA,GAAqC,EAArC;AACA,aAAAniC,OAAA,GAAwB,EAAxB;AAIA,aAAAuiC,WAAA,GAAc,CAAd;AACA,aAAAC,gBAAA,GAAmB,CAAnB;AACA,aAAAC,mBAAA,GAAsB,CAAtB;AACA,aAAAhmC,IAAA,GAAiC,EAAjC;AACA,aAAAimC,MAAA,GAAmC,EAAnC;AACA,aAAAC,MAAA,GAAmC,EAAnC;AAPE,aAAK/mC,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACD;;;;mCAOO;AAAA;;AACJ,eAAKojD,uBAAL,CAA6BlZ,MAA7B,CAAoC,KAAKA,MAAzC,EACCxmC,SADD,CACW,UAAAM,IAAI,EAAI;AACjB,oBAAI,CAACA,IAAL,GAAYA,IAAZ;AACA,oBAAI,CAACimC,MAAL,GAAcjmC,IAAd;;AACA,oBAAI,CAACkD,aAAL,CAAmBnD,MAAnB,GACCL,SADD,CACW,UAAAC,MAAM,EAAG;AAClB,sBAAI,CAAC4D,OAAL,GAAe5D,MAAf;AACD,aAHD;AAID,WARD;AAUH;;;iCACK;AAAA;;AACJ,eAAKy/C,uBAAL,CAA6BlZ,MAA7B,CAAoC,KAAKA,MAAzC,EACGxmC,SADH,CACa,UAAAM,IAAI,EAAI;AACjB,oBAAI,CAACA,IAAL,GAAYA,IAAZ;AACD,WAHH;AAID;;;sCACU;AACT,cAAIA,IAAI,GAAGmmC,QAAQ,CAACC,cAAT,CAAwB,kBAAxB,CAAX;AACApmC,cAAI,CAACqmC,KAAL,CAAWC,OAAX,GAAqB,cAArB;AACA,6DAAYtmC,IAAZ,EAAiB,EAAjB,EAAqB9E,IAArB,CAA0B,UAAAqrC,MAAM,EAAI;AACpC,gBAAIC,QAAQ,GAAG,GAAf;AACA,gBAAIC,UAAU,GAAG,GAAjB;AACA,gBAAIC,SAAS,GAAGH,MAAM,CAACI,MAAP,GAAgBH,QAAhB,GAA2BD,MAAM,CAACK,KAAlD;AACA,gBAAIC,UAAU,GAAGH,SAAjB;AACA,gBAAMI,cAAc,GAAGP,MAAM,CAACQ,SAAP,CAAiB,WAAjB,CAAvB;AACA,gBAAIC,GAAG,GAAG,IAAI,6CAAJ,CAAU,GAAV,EAAe,IAAf,EAAqB,IAArB,CAAV,CANoC,CAME;;AACtC,gBAAIC,QAAQ,GAAG,CAAf;AACAD,eAAG,CAACE,QAAJ,CAAaJ,cAAb,EAA6B,KAA7B,EAAoC,CAApC,EAAuCG,QAAvC,EAAiDT,QAAjD,EAA2DE,SAA3D;AACAM,eAAG,CAACG,IAAJ,CAAS,cAAT,EAToC,CASV;;AAC1BnnC,gBAAI,CAACqmC,KAAL,CAAWC,OAAX,GAAqB,OAArB,CAVoC,CAYtC;AAEC,WAdC;AAeD;;;gCACI;AACD,cAAIc,aAAJ,EAAmBC,QAAnB;AACAD,uBAAa,GAAGjB,QAAQ,CAACC,cAAT,CAAwB,kBAAxB,EAA4CkB,SAA5D;AACAD,kBAAQ,GAAGE,MAAM,CAACC,IAAP,CAAY,EAAZ,EAAgB,QAAhB,EAA0B,qCAA1B,CAAX;AACAH,kBAAQ,CAAClB,QAAT,CAAkBqB,IAAlB;AACAD,gBAAM,CAACE,KAAP;AAED;;;;;;;uBA9DM0X,yB,EAAyB,mJ,EAAA,qJ;AAAA,K;;;YAAzBA,yB;AAAyB,wC;AAAA,e;AAAA,c;AAAA,k3C;AAAA;AAAA;ACXtC;;AACI;;AACE;;AACE;;AAEE;;AAEE;;AACE;;AAAO;;AAAM;;;;AAA4B;;AAAO;;AAChD;;AAGA;AAAA;AAAA;;;;AAHA;;AAKF;;AACA;;AACE;;AAAO;;AAAM;;;;AAA0B;;AAAO;;AAC9C;;AAGA;AAAA;AAAA;;;;AAHA;;AAKF;;AACA;;AACE;;AAAO;;AAAM;;;;AAA0B;;AAAO;;AAE9C;;AAEA;;AAEF;;AAGA;;AACE;;AAAsB;AAAA,mBAAS,IAAAzX,MAAA,EAAT;AAAiB,WAAjB;;AAA6E;;;;AAAwB;;AAAS;;AACpI;;AAAsB;AAAA,mBAAS,IAAAD,KAAA,EAAT;AAAgB,WAAhB;;AAA+E;;;;AAAuB;;AAAS;;AACrI;;AAAsB;AAAA,mBAAS,IAAAE,WAAA,EAAT;AAAsB,WAAtB;;AAAkF;;;;AAAqB;;AAAS;;AACxI;;AACJ;;AACF;;AACF;;AACF;;AACA;;AACA;;AACE;;AACE;;AACE;;AACE;;AACI;;AAAqD;;;;AAA4C;;AACjG;;AAAqD;;;;AAA+B;;AACpF;;AAAqD;;;;AAA+B;;AAExF;;AACF;;AACF;;AACF;;AAGF;;AAkDA;;;;AApGyB;;AAAA;;AAKb;;AAAA;;AADA;;AAIa;;AAAA;;AAKb;;AAAA;;AADA;;AAIa;;AAAA;;AAEqC;;AAAA;;AAEA;;AAAA;;AAMiD;;AAAA;;AAAiC;;AAAA;;AAC/B;;AAAA;;AAAgC;;AAAA;;AAC7B;;AAAA;;AAA8B;;AAAA;;AAYjF;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAQZ;;AAAA;;;;;;;;;;sED/C1CwX,yB,EAAyB;cALrC,uDAKqC;eAL3B;AACPt8C,kBAAQ,EAAE,mBADH;AAEPC,qBAAW,EAAE,kCAFN;AAGPC,mBAAS,EAAE,CAAC,kCAAD;AAHJ,S;AAK2B,Q;;;;;;;;;;;;;;;;;;;;;;;;AEbtC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QASaq8C,uB;AACT,uCAAoBzjD,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAIpB,aAAAC,OAAA,GAAU,sEAAYC,UAAtB;AACC,aAAAC,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AAJA;;;;+BAYMoqC,Q,EAAkC;AACvC,iBAAO,KAAKvqC,IAAL,CACJe,IADI,WACS,KAAKd,OADd,8BAC+CsqC,QAD/C,EACsD,KAAKjqC,WAD3D,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;;;;;uBAnBQ+iD,uB,EAAuB,uH;AAAA,K;;;aAAvBA,uB;AAAuB,eAAvBA,uBAAuB,K;AAAA,kBAFtB;;;;;sEAEDA,uB,EAAuB;cAHnC,wDAGmC;eAHxB;AACVtiD,oBAAU,EAAE;AADF,S;AAGwB,Q;;;;;;;;;;;;;;;;;;;;;;ACPpC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;AC0Bc;;AAA6H;AAAA;;AAAA;;AAAA;AAAA;;;;AAC7H;;;;;;AADW;;AAA8D,0FAAiB,SAAjB,EAAiB,sBAAjB;;;;;;;;AAEzE;;AAA4H;AAAA;;AAAA;;AAAA;AAAA;;;;AAC5H;;;;;;AADW;;AAA6D,0FAAiB,SAAjB,EAAiB,sBAAjB;;;;;;AAwDlE;;AAA6B;;;;AAA2B;;;;AAA3B;;AAAA;;;;;;AAC7B;;AAA6B;;;;AAA2B;;;;AAA3B;;AAAA;;;;;;AAC7B;;AAA6B;;;;AAA2B;;;;AAA3B;;AAAA;;;;;;;;;;;;;;AAP/B;;AACE;;AAAI;;AAAoF;;AAAyB;;AAAI;;AACrH;;AAAI;;;;AAAiC;;AACrC;;AAAI;;AAAmB;;AACvB;;AAAI;;AAAsD;;AAC1D;;AACA;;AACA;;AACE;;AAAI;;AAAyD;;AAAqB;;AAAI;;AACtF;;AAAI;;AAAqB;;AACzB;;AAAI;;AAAe;;AACvB;;;;;;;;AAVS;;AAAA;;AAAiF;;AAAA;;AACpF;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACK;;AAAA;;AAAsD;;AAAA;;AACzD;;AAAA;;AACA;;AAAA;;;;;;AA5BhB;;AACI;;AACE;;AACI;;AAAgB;;AAA0D;;AAC9E;;AACA;;AACI;;AAAI;;;;AAAyB;;AAC7B;;AAAI;;;;AAAyB;;AAC7B;;AAAI;;;;AAA+B;;AACnC;;AAAI;;;;AAA+B;;AACnC;;AAAI;;;;AAAwB;;AAC5B;;AAAI;;;;AAAgC;;AACpC;;AAAI;;;;AAA6B;;AACjC;;AAAI;;;;AAA2B;;AAEnC;;AACF;;AACA;;AACI;;AAYA;;AACE;;AAAoC;;;;AAA0B;;AAC9D;;AAAwB;;AAAsB;;AAClD;;AACF;;AACJ;;;;;;;;AAhC0B;;AAAA;;AAGZ;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAKF;;AAAA;;AAakC;;AAAA;;AACZ;;AAAA;;;;;;AAnC1C;;AACI;;AACA;;AACI;;AAqCJ;;AAEA;;AACF;;;;;;AAxCyC;;AAAA;;;;QDlDhCuiD,yB;AAST,yCAAoBC,uBAApB,EAA4Ep8C,aAA5E,EAAuG;AAAA;;AAAnF,aAAAo8C,uBAAA,GAAAA,uBAAA;AAAwD,aAAAp8C,aAAA,GAAAA,aAAA;AAP5E,aAAAqiC,KAAA,GAAW,IAAIvhC,IAAJ,EAAX;AACA,aAAAnC,IAAA,GAAiC,EAAjC;AACA,aAAA2jC,WAAA,GAAwC,EAAxC;AACA,aAAAC,cAAA,GAA2C,EAA3C;AACA,aAAA5tB,SAAA,GAAU,EAAV;AACA,aAAA6tB,QAAA,GAAqC,EAArC;AACA,aAAAniC,OAAA,GAAwB,EAAxB;AAIA,aAAAuiC,WAAA,GAAc,CAAd;AACA,aAAAC,gBAAA,GAAmB,CAAnB;AACA,aAAAC,mBAAA,GAAsB,CAAtB;AACA,aAAAhmC,IAAA,GAAiC,EAAjC;AACA,aAAAimC,MAAA,GAAmC,EAAnC;AACA,aAAAC,MAAA,GAAmC,EAAnC;AAPE,aAAK/mC,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACD;;;;mCAOO;AAAA;;AACJ,eAAKsjD,uBAAL,CAA6BpZ,MAA7B,CAAoC,KAAKA,MAAzC,EACCxmC,SADD,CACW,UAAAM,IAAI,EAAI;AACjB,oBAAI,CAACA,IAAL,GAAYA,IAAZ;AACA,oBAAI,CAACimC,MAAL,GAAcjmC,IAAd;;AACA,oBAAI,CAACkD,aAAL,CAAmBnD,MAAnB,GACCL,SADD,CACW,UAAAC,MAAM,EAAG;AAClB,sBAAI,CAAC4D,OAAL,GAAe5D,MAAf;AACD,aAHD;AAID,WARD;AAUH;;;iCACK;AAAA;;AACJ,eAAK2/C,uBAAL,CAA6BpZ,MAA7B,CAAoC,KAAKA,MAAzC,EACGxmC,SADH,CACa,UAAAM,IAAI,EAAI;AACjB,oBAAI,CAACA,IAAL,GAAYA,IAAZ;AACD,WAHH;AAID;;;sCACU;AACT,cAAIA,IAAI,GAAGmmC,QAAQ,CAACC,cAAT,CAAwB,kBAAxB,CAAX;AACApmC,cAAI,CAACqmC,KAAL,CAAWC,OAAX,GAAqB,cAArB;AACA,6DAAYtmC,IAAZ,EAAiB,EAAjB,EAAqB9E,IAArB,CAA0B,UAAAqrC,MAAM,EAAI;AACpC,gBAAIC,QAAQ,GAAG,GAAf;AACA,gBAAIC,UAAU,GAAG,GAAjB;AACA,gBAAIC,SAAS,GAAGH,MAAM,CAACI,MAAP,GAAgBH,QAAhB,GAA2BD,MAAM,CAACK,KAAlD;AACA,gBAAIC,UAAU,GAAGH,SAAjB;AACA,gBAAMI,cAAc,GAAGP,MAAM,CAACQ,SAAP,CAAiB,WAAjB,CAAvB;AACA,gBAAIC,GAAG,GAAG,IAAI,6CAAJ,CAAU,GAAV,EAAe,IAAf,EAAqB,IAArB,CAAV,CANoC,CAME;;AACtC,gBAAIC,QAAQ,GAAG,CAAf;AACAD,eAAG,CAACE,QAAJ,CAAaJ,cAAb,EAA6B,KAA7B,EAAoC,CAApC,EAAuCG,QAAvC,EAAiDT,QAAjD,EAA2DE,SAA3D;AACAM,eAAG,CAACG,IAAJ,CAAS,cAAT,EAToC,CASV;;AAC1BnnC,gBAAI,CAACqmC,KAAL,CAAWC,OAAX,GAAqB,OAArB,CAVoC,CAYtC;AAEC,WAdC;AAeD;;;gCACI;AACD,cAAIc,aAAJ,EAAmBC,QAAnB;AACAD,uBAAa,GAAGjB,QAAQ,CAACC,cAAT,CAAwB,kBAAxB,EAA4CkB,SAA5D;AACAD,kBAAQ,GAAGE,MAAM,CAACC,IAAP,CAAY,EAAZ,EAAgB,QAAhB,EAA0B,qCAA1B,CAAX;AACAH,kBAAQ,CAAClB,QAAT,CAAkBqB,IAAlB;AACAD,gBAAM,CAACE,KAAP;AAED;;;;;;;uBA9DM4X,yB,EAAyB,mJ,EAAA,qJ;AAAA,K;;;YAAzBA,yB;AAAyB,wC;AAAA,e;AAAA,c;AAAA,69C;AAAA;AAAA;ACXtC;;AACI;;AACE;;AACE;;AAEE;;AAEE;;AACE;;AAAO;;AAAM;;;;AAA4B;;AAAO;;AAChD;;AAGA;AAAA;AAAA;;;;AAHA;;AAKF;;AACA;;AACE;;AAAO;;AAAM;;;;AAA0B;;AAAO;;AAC9C;;AAGA;AAAA;AAAA;;;;AAHA;;AAKF;;AACA;;AACE;;AAAO;;AAAM;;;;AAA0B;;AAAO;;AAE9C;;AAEA;;AAEF;;AAGA;;AACE;;AAAsB;AAAA,mBAAS,IAAA3X,MAAA,EAAT;AAAiB,WAAjB;;AAA6E;;;;AAAwB;;AAAS;;AACpI;;AAAsB;AAAA,mBAAS,IAAAD,KAAA,EAAT;AAAgB,WAAhB;;AAA+E;;;;AAAuB;;AAAS;;AACrI;;AAAsB;AAAA,mBAAS,IAAAE,WAAA,EAAT;AAAsB,WAAtB;;AAAkF;;;;AAAqB;;AAAS;;AACxI;;AACJ;;AACF;;AACF;;AACF;;AACA;;AACA;;AACE;;AACE;;AACE;;AACE;;AACI;;AAAqD;;;;AAA4C;;AACjG;;AAAqD;;;;AAA+B;;AACpF;;AAAqD;;;;AAA+B;;AAExF;;AACF;;AACF;;AACF;;AAGF;;AA4CA;;;;AA9FyB;;AAAA;;AAKb;;AAAA;;AADA;;AAIa;;AAAA;;AAKb;;AAAA;;AADA;;AAIa;;AAAA;;AAEqC;;AAAA;;AAEA;;AAAA;;AAMiD;;AAAA;;AAAiC;;AAAA;;AAC/B;;AAAA;;AAAgC;;AAAA;;AAC7B;;AAAA;;AAA8B;;AAAA;;AAYjF;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAQZ;;AAAA;;;;;;;;;;sED/C1C0X,yB,EAAyB;cALrC,uDAKqC;eAL3B;AACPx8C,kBAAQ,EAAE,mBADH;AAEPC,qBAAW,EAAE,kCAFN;AAGPC,mBAAS,EAAE,CAAC,kCAAD;AAHJ,S;AAK2B,Q;;;;;;;;;;;;;;;;;;;;;;;;AEbtC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QASau8C,uB;AACT,uCAAoB3jD,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAIpB,aAAAC,OAAA,GAAU,sEAAYC,UAAtB;AACC,aAAAC,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AAJA;;;;+BAYMoqC,Q,EAAkC;AACvC,iBAAO,KAAKvqC,IAAL,CACJe,IADI,WACS,KAAKd,OADd,8BAC+CsqC,QAD/C,EACsD,KAAKjqC,WAD3D,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;;;;;uBAnBQijD,uB,EAAuB,uH;AAAA,K;;;aAAvBA,uB;AAAuB,eAAvBA,uBAAuB,K;AAAA,kBAFtB;;;;;sEAEDA,uB,EAAuB;cAHnC,wDAGmC;eAHxB;AACVxiD,oBAAU,EAAE;AADF,S;AAGwB,Q;;;;;;;;;;;;;;;;;;;;;;ACPpC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;AC0Bc;;AAA6H;AAAA;;AAAA;;AAAA;AAAA;;;;AAC7H;;;;;;AADW;;AAA8D,0FAAiB,SAAjB,EAAiB,sBAAjB;;;;;;;;AAEzE;;AAA4H;AAAA;;AAAA;;AAAA;AAAA;;;;AAC5H;;;;;;AADW;;AAA6D,0FAAiB,SAAjB,EAAiB,sBAAjB;;;;;;;;AAMxE;;AAAkI;AAAA;;AAAA;;AAAA;AAAA;;;;AAClI;;;;;;AADW;;AAAgE,6FAAoB,SAApB,EAAoB,sBAApB;;;;;;;;AAE3E;;AAAiI;AAAA;;AAAA;;AAAA;AAAA;;;;AACjI;;;;;;AADW;;AAA+D,6FAAoB,SAApB,EAAoB,sBAApB;;;;;;AAkDlE;;AAA6B;;;;AAA2B;;;;AAA3B;;AAAA;;;;;;AAC7B;;AAA6B;;;;AAA2B;;;;AAA3B;;AAAA;;;;;;AAC7B;;AAA6B;;;;AAA2B;;;;AAA3B;;AAAA;;;;;;;;;;AAJjC;;AACI;;AAAI;;;;AAAiC;;AACrC;;AACA;;AACA;;AACA;;AAAI;;AAAyD;;AAAuB;;AAAI;;AACxF;;AAAI;;AAAe;;AACnB;;AAAI;;AAAkB;;AACtB;;AAAI;;AAAc;;AAClB;;AAAwB;;AAAc;;AAE1C;;;;;;AAVQ;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACG;;AAAA;;AAAsD;;AAAA;;AACzD;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACoB;;AAAA;;;;;;AAzBpC;;AACI;;AACE;;AACE;;AAAgB;;AAA8D;;AAChF;;AACA;;AACI;;AAAI;;;;AAAyB;;AAC7B;;AAAI;;;;AAAyB;;AAC7B;;AAAI;;;;AAAyB;;AAC7B;;AAAI;;;;AAA2B;;AAC/B;;AAAI;;;;AAA6B;;AACjC;;AAAI;;;;AAAyB;;AAC7B;;AAAI;;;;AAA0B;;AAClC;;AACF;;AACA;;AACI;;AAYA;;AACE;;AAAgB;;;;AAA0B;;AAC1C;;AAAwB;;AAAmB;;AAC3C;;AAAwB;;AAAsB;;AAC9C;;AAAwB;;AAAkB;;AAC1C;;AAAwB;;AAAkB;;AAE9C;;AACF;;AACJ;;;;;;;;AAlCwB;;AAAA;;AAGV;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAIF;;AAAA;;AAac;;AAAA;;AACQ;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;;;AApC1C;;AACI;;AACA;;AACI;;AAuCJ;;AAEA;;AACF;;;;;;AA1CyC;;AAAA;;;;QDvDhCyiD,sB;AAUT,sCAAoBC,oBAApB,EACUt8C,aADV,EAEUu8C,eAFV,EAEyC;AAAA;;AAFrB,aAAAD,oBAAA,GAAAA,oBAAA;AACV,aAAAt8C,aAAA,GAAAA,aAAA;AACA,aAAAu8C,eAAA,GAAAA,eAAA;AAVV,aAAAla,KAAA,GAAW,IAAIvhC,IAAJ,EAAX;AACA,aAAAnC,IAAA,GAA8B,EAA9B;AACA,aAAA2jC,WAAA,GAAqC,EAArC;AACA,aAAAC,cAAA,GAAwC,EAAxC;AACA,aAAA5tB,SAAA,GAAU,EAAV;AACA,aAAA6tB,QAAA,GAAkC,EAAlC;AACA,aAAAniC,OAAA,GAAwB,EAAxB;AACA,aAAAsmB,UAAA,GAA2B,EAA3B;AAOA,aAAAic,WAAA,GAAc,CAAd;AACA,aAAAC,gBAAA,GAAmB,CAAnB;AACA,aAAAC,mBAAA,GAAsB,CAAtB;AACA,aAAAhmC,IAAA,GAA8B,EAA9B;AACA,aAAAimC,MAAA,GAAgC,EAAhC;AACA,aAAAC,MAAA,GAAgC,EAAhC;AAPE,aAAK/mC,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACD;;;;mCAOO;AAAA;;AACN,eAAKyjD,eAAL,CAAqB1/C,MAArB,GACCL,SADD,CACW,UAAAC,MAAM,EAAI;AACnB,oBAAI,CAACkqB,UAAL,GAAkBlqB,MAAlB;AACD,WAHD;AAIE,eAAK6/C,oBAAL,CAA0BtZ,MAA1B,CAAiC,KAAKA,MAAtC,EACCxmC,SADD,CACW,UAAAM,IAAI,EAAI;AACjB,oBAAI,CAACA,IAAL,GAAYA,IAAZ;AACA,oBAAI,CAACimC,MAAL,GAAcjmC,IAAd;;AACA,oBAAI,CAACkD,aAAL,CAAmBnD,MAAnB,GACCL,SADD,CACW,UAAAC,MAAM,EAAG;AAClB,sBAAI,CAAC4D,OAAL,GAAe5D,MAAf;AACD,aAHD;AAID,WARD;AAUH;;;iCACK;AAAA;;AACJ,eAAK6/C,oBAAL,CAA0BtZ,MAA1B,CAAiC,KAAKA,MAAtC,EACGxmC,SADH,CACa,UAAAM,IAAI,EAAI;AACjB,oBAAI,CAACA,IAAL,GAAYA,IAAZ;AACD,WAHH;AAID;;;sCACU;AACT,cAAIA,IAAI,GAAGmmC,QAAQ,CAACC,cAAT,CAAwB,kBAAxB,CAAX;AACApmC,cAAI,CAACqmC,KAAL,CAAWC,OAAX,GAAqB,cAArB;AACA,6DAAYtmC,IAAZ,EAAiB,EAAjB,EAAqB9E,IAArB,CAA0B,UAAAqrC,MAAM,EAAI;AACpC,gBAAIC,QAAQ,GAAG,GAAf;AACA,gBAAIC,UAAU,GAAG,GAAjB;AACA,gBAAIC,SAAS,GAAGH,MAAM,CAACI,MAAP,GAAgBH,QAAhB,GAA2BD,MAAM,CAACK,KAAlD;AACA,gBAAIC,UAAU,GAAGH,SAAjB;AACA,gBAAMI,cAAc,GAAGP,MAAM,CAACQ,SAAP,CAAiB,WAAjB,CAAvB;AACA,gBAAIC,GAAG,GAAG,IAAI,6CAAJ,CAAU,GAAV,EAAe,IAAf,EAAqB,IAArB,CAAV,CANoC,CAME;;AACtC,gBAAIC,QAAQ,GAAG,CAAf;AACAD,eAAG,CAACE,QAAJ,CAAaJ,cAAb,EAA6B,KAA7B,EAAoC,CAApC,EAAuCG,QAAvC,EAAiDT,QAAjD,EAA2DE,SAA3D;AACAM,eAAG,CAACG,IAAJ,CAAS,cAAT,EAToC,CASV;;AAC1BnnC,gBAAI,CAACqmC,KAAL,CAAWC,OAAX,GAAqB,OAArB,CAVoC,CAYtC;AAEC,WAdC;AAeD;;;gCACI;AACD,cAAIc,aAAJ,EAAmBC,QAAnB;AACAD,uBAAa,GAAGjB,QAAQ,CAACC,cAAT,CAAwB,kBAAxB,EAA4CkB,SAA5D;AACAD,kBAAQ,GAAGE,MAAM,CAACC,IAAP,CAAY,EAAZ,EAAgB,QAAhB,EAA0B,qCAA1B,CAAX;AACAH,kBAAQ,CAAClB,QAAT,CAAkBqB,IAAlB;AACAD,gBAAM,CAACE,KAAP;AAED;;;;;;;uBAtEM8X,sB,EAAsB,6I,EAAA,qJ,EAAA,4J;AAAA,K;;;YAAtBA,sB;AAAsB,qC;AAAA,e;AAAA,c;AAAA,08C;AAAA;AAAA;ACbnC;;AACI;;AACE;;AACE;;AAEE;;AAEE;;AACE;;AAAO;;AAAM;;;;AAA4B;;AAAO;;AAChD;;AAGA;AAAA;AAAA;;;;AAHA;;AAKF;;AACA;;AACE;;AAAO;;AAAM;;;;AAA0B;;AAAO;;AAC9C;;AAGA;AAAA;AAAA;;;;AAHA;;AAKF;;AACA;;AACE;;AAAO;;AAAM;;;;AAA0B;;AAAO;;AAE9C;;AAEA;;AAEF;;AACA;;AACE;;AAAO;;AAAM;;;;AAA4B;;AAAO;;AAEhD;;AAEA;;AAEF;;AAEA;;AACE;;AAAsB;AAAA,mBAAS,IAAA7X,MAAA,EAAT;AAAiB,WAAjB;;AAA6E;;;;AAAwB;;AAAS;;AACpI;;AAAsB;AAAA,mBAAS,IAAAD,KAAA,EAAT;AAAgB,WAAhB;;AAA+E;;;;AAAuB;;AAAS;;AACrI;;AAAsB;AAAA,mBAAS,IAAAE,WAAA,EAAT;AAAsB,WAAtB;;AAAkF;;;;AAAqB;;AAAS;;AACxI;;AACJ;;AACF;;AACF;;AACF;;AACA;;AACA;;AACE;;AACE;;AACE;;AACE;;AACI;;AAAqD;;;;AAAyC;;AAC9F;;AAAqD;;;;AAA+B;;AACpF;;AAAqD;;;;AAA+B;;AAExF;;AACF;;AACF;;AACF;;AAGF;;AA8CA;;;;AAvGyB;;AAAA;;AAKb;;AAAA;;AADA;;AAIa;;AAAA;;AAKb;;AAAA;;AADA;;AAIa;;AAAA;;AAEqC;;AAAA;;AAEA;;AAAA;;AAIrC;;AAAA;;AAEuC;;AAAA;;AAEA;;AAAA;;AAK+C;;AAAA;;AAAiC;;AAAA;;AAC/B;;AAAA;;AAAgC;;AAAA;;AAC7B;;AAAA;;AAA8B;;AAAA;;AAYjF;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAQZ;;AAAA;;;;;;;;;;sEDpD1C4X,sB,EAAsB;cALlC,uDAKkC;eALxB;AACP18C,kBAAQ,EAAE,gBADH;AAEPC,qBAAW,EAAE,+BAFN;AAGPC,mBAAS,EAAE,CAAC,+BAAD;AAHJ,S;AAKwB,Q;;;;;;;;;;;;;;;;;;;;;;;;;;AEfnC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QASay8C,oB;AACT,oCAAoB7jD,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAIpB,aAAAC,OAAA,GAAU,sEAAYC,UAAtB;AACC,aAAAC,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AAJA;;;;+BAYMoqC,S,EAA+B;AACpC,iBAAO,KAAKvqC,IAAL,CACJe,IADI,WACS,KAAKd,OADd,2BAC4CsqC,SAD5C,EACmD,KAAKjqC,WADxD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;;;;;uBAnBQmjD,oB,EAAoB,uH;AAAA,K;;;aAApBA,oB;AAAoB,eAApBA,oBAAoB,K;AAAA,kBAFnB;;;;;sEAEDA,oB,EAAoB;cAHhC,wDAGgC;eAHrB;AACV1iD,oBAAU,EAAE;AADF,S;AAGqB,Q;;;;;;;;;;;;;;;;;;;;;;ACRjC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;AC2Bc;;AAA6H;AAAA;;AAAA;;AAAA;AAAA;;;;AAC7H;;;;;;AADW;;AAA8D,0FAAiB,SAAjB,EAAiB,sBAAjB;;;;;;;;AAEzE;;AAA4H;AAAA;;AAAA;;AAAA;AAAA;;;;AAC5H;;;;;;AADW;;AAA6D,0FAAiB,SAAjB,EAAiB,sBAAjB;;;;;;;;;;AA+CpE;;AACI;;AAAI;;AAAkD;;AAAc;;AAAI;;AACxE;;AAAI;;AAAsD;;AAC1D;;AAAI;;AAAc;;AAClB;;AAAI;;AAAiB;;AACrB;;AAAwB;;AAAc;;AAE1C;;;;;;;;AANW;;AAAA;;AAA+C;;AAAA;;AAClD;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACoB;;AAAA;;;;;;AAnBpC;;AACI;;AACE;;AACE;;AAAgB;;;;AAAqC;;AACvD;;AACA;;AACI;;AAAI;;;;AAAyB;;AAC7B;;AAAI;;;;AAA2B;;AAC/B;;AAAI;;;;AAA4B;;AAChC;;AAAI;;;;AAAgC;;AACpC;;AAAI;;;;AAA0B;;AAClC;;AACF;;AACA;;AACI;;AAQA;;AACE;;AAAgB;;;;AAA0B;;AAC1C;;AAAwB;;AAAkB;;AAC1C;;AAAwB;;AAAqB;;AAC7C;;AAAwB;;AAAkB;;AAE9C;;AACF;;AACJ;;;;;;AA3BwB;;AAAA;;AAGV;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAIF;;AAAA;;AASc;;AAAA;;AACQ;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;;;AA7B1C;;AACI;;AACA;;AACI;;AAgCJ;;AAEA;;AACF;;;;;;AAnCyC;;AAAA;;;;QDjDhC4iD,sB;AAST,sCAAoBC,oBAApB,EAAsEz8C,aAAtE,EAAiG;AAAA;;AAA7E,aAAAy8C,oBAAA,GAAAA,oBAAA;AAAkD,aAAAz8C,aAAA,GAAAA,aAAA;AAPtE,aAAAqiC,KAAA,GAAW,IAAIvhC,IAAJ,EAAX;AACA,aAAAnC,IAAA,GAA8B,EAA9B;AACA,aAAA2jC,WAAA,GAAqC,EAArC;AACA,aAAAC,cAAA,GAAwC,EAAxC;AACA,aAAA5tB,SAAA,GAAU,EAAV;AACA,aAAA6tB,QAAA,GAAkC,EAAlC;AACA,aAAAniC,OAAA,GAAwB,EAAxB;AAIA,aAAAuiC,WAAA,GAAc,CAAd;AACA,aAAAC,gBAAA,GAAmB,CAAnB;AACA,aAAAC,mBAAA,GAAsB,CAAtB;AACA,aAAAhmC,IAAA,GAA8B,EAA9B;AACA,aAAAimC,MAAA,GAAgC,EAAhC;AACA,aAAAC,MAAA,GAAgC,EAAhC;AAPE,aAAK/mC,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACD;;;;mCAOO;AAAA;;AACJ,eAAK2jD,oBAAL,CAA0BzZ,MAA1B,CAAiC,KAAKA,MAAtC,EACCxmC,SADD,CACW,UAAAM,IAAI,EAAI;AACjB,oBAAI,CAACA,IAAL,GAAYA,IAAZ;AACA,oBAAI,CAACimC,MAAL,GAAcjmC,IAAd;;AACA,oBAAI,CAACkD,aAAL,CAAmBnD,MAAnB,GACCL,SADD,CACW,UAAAC,MAAM,EAAG;AAClB,sBAAI,CAAC4D,OAAL,GAAe5D,MAAf;AACD,aAHD;AAID,WARD;AAUH;;;iCACK;AAAA;;AACJ,eAAKggD,oBAAL,CAA0BzZ,MAA1B,CAAiC,KAAKA,MAAtC,EACGxmC,SADH,CACa,UAAAM,IAAI,EAAI;AACjB,oBAAI,CAACA,IAAL,GAAYA,IAAZ;AACD,WAHH;AAID;;;sCACU;AACT,cAAIA,IAAI,GAAGmmC,QAAQ,CAACC,cAAT,CAAwB,kBAAxB,CAAX;AACApmC,cAAI,CAACqmC,KAAL,CAAWC,OAAX,GAAqB,cAArB;AACA,6DAAYtmC,IAAZ,EAAiB,EAAjB,EAAqB9E,IAArB,CAA0B,UAAAqrC,MAAM,EAAI;AACpC,gBAAIC,QAAQ,GAAG,GAAf;AACA,gBAAIC,UAAU,GAAG,GAAjB;AACA,gBAAIC,SAAS,GAAGH,MAAM,CAACI,MAAP,GAAgBH,QAAhB,GAA2BD,MAAM,CAACK,KAAlD;AACA,gBAAIC,UAAU,GAAGH,SAAjB;AACA,gBAAMI,cAAc,GAAGP,MAAM,CAACQ,SAAP,CAAiB,WAAjB,CAAvB;AACA,gBAAIC,GAAG,GAAG,IAAI,6CAAJ,CAAU,GAAV,EAAe,IAAf,EAAqB,IAArB,CAAV,CANoC,CAME;;AACtC,gBAAIC,QAAQ,GAAG,CAAf;AACAD,eAAG,CAACE,QAAJ,CAAaJ,cAAb,EAA6B,KAA7B,EAAoC,CAApC,EAAuCG,QAAvC,EAAiDT,QAAjD,EAA2DE,SAA3D;AACAM,eAAG,CAACG,IAAJ,CAAS,cAAT,EAToC,CASV;;AAC1BnnC,gBAAI,CAACqmC,KAAL,CAAWC,OAAX,GAAqB,OAArB,CAVoC,CAYtC;AAEC,WAdC;AAeD;;;gCACI;AACD,cAAIc,aAAJ,EAAmBC,QAAnB;AACAD,uBAAa,GAAGjB,QAAQ,CAACC,cAAT,CAAwB,kBAAxB,EAA4CkB,SAA5D;AACAD,kBAAQ,GAAGE,MAAM,CAACC,IAAP,CAAY,EAAZ,EAAgB,QAAhB,EAA0B,qCAA1B,CAAX;AACAH,kBAAQ,CAAClB,QAAT,CAAkBqB,IAAlB;AACAD,gBAAM,CAACE,KAAP;AAED;;;;;;;uBA9DMiY,sB,EAAsB,6I,EAAA,qJ;AAAA,K;;;YAAtBA,sB;AAAsB,qC;AAAA,e;AAAA,c;AAAA,67C;AAAA;AAAA;ACZnC;;AACI;;AACE;;AACE;;AAEE;;AAEE;;AACE;;AAAO;;AAAM;;;;AAA4B;;AAAO;;AAChD;;AAGA;AAAA;AAAA;;;;AAHA;;AAKF;;AACA;;AACE;;AAAO;;AAAM;;;;AAA0B;;AAAO;;AAC9C;;AAGA;AAAA;AAAA;;;;AAHA;;AAKF;;AACA;;AACE;;AAAO;;AAAM;;;;AAA0B;;AAAO;;AAE9C;;AAEA;;AAEF;;AAGA;;AACE;;AAAsB;AAAA,mBAAS,IAAAhY,MAAA,EAAT;AAAiB,WAAjB;;AAA6E;;;;AAAwB;;AAAS;;AACpI;;AAAsB;AAAA,mBAAS,IAAAD,KAAA,EAAT;AAAgB,WAAhB;;AAA+E;;;;AAAuB;;AAAS;;AACrI;;AAAsB;AAAA,mBAAS,IAAAE,WAAA,EAAT;AAAsB,WAAtB;;AAAkF;;;;AAAqB;;AAAS;;AACxI;;AACJ;;AACF;;AACF;;AACF;;AACA;;AACA;;AACE;;AACE;;AACE;;AACE;;AACI;;AAAqD;;;;AAAyC;;AAC9F;;AAAqD;;;;AAA+B;;AACpF;;AAAqD;;;;AAA+B;;AAExF;;AACF;;AACF;;AACF;;AAGF;;AAuCA;;;;AAzFyB;;AAAA;;AAKb;;AAAA;;AADA;;AAIa;;AAAA;;AAKb;;AAAA;;AADA;;AAIa;;AAAA;;AAEqC;;AAAA;;AAEA;;AAAA;;AAMiD;;AAAA;;AAAiC;;AAAA;;AAC/B;;AAAA;;AAAgC;;AAAA;;AAC7B;;AAAA;;AAA8B;;AAAA;;AAYjF;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAQZ;;AAAA;;;;;;;;;;sED9C1C+X,sB,EAAsB;cALlC,uDAKkC;eALxB;AACP78C,kBAAQ,EAAE,gBADH;AAEPC,qBAAW,EAAE,+BAFN;AAGPC,mBAAS,EAAE,CAAC,+BAAD;AAHJ,S;AAKwB,Q;;;;;;;;;;;;;;;;;;;;;;;;AEdnC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QASa48C,oB;AACT,oCAAoBhkD,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAIpB,aAAAC,OAAA,GAAU,sEAAYC,UAAtB;AACC,aAAAC,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AAJA;;;;+BAYMoqC,S,EAA+B;AACpC,iBAAO,KAAKvqC,IAAL,CACJe,IADI,WACS,KAAKd,OADd,2BAC4CsqC,SAD5C,EACmD,KAAKjqC,WADxD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;;;;;uBAnBQsjD,oB,EAAoB,uH;AAAA,K;;;aAApBA,oB;AAAoB,eAApBA,oBAAoB,K;AAAA,kBAFnB;;;;;sEAEDA,oB,EAAoB;cAHhC,wDAGgC;eAHrB;AACV7iD,oBAAU,EAAE;AADF,S;AAGqB,Q;;;;;;;;;;;;;;;;;;;;;;ACPjC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;AC0Bc;;AAA6H;AAAA;;AAAA;;AAAA;AAAA;;;;AAC7H;;;;;;AADW;;AAA8D,0FAAiB,SAAjB,EAAiB,sBAAjB;;;;;;;;AAEzE;;AAA4H;AAAA;;AAAA;;AAAA;AAAA;;;;AAC5H;;;;;;AADW;;AAA6D,0FAAiB,SAAjB,EAAiB,sBAAjB;;;;;;AAiDpE;;AACE;;AAAI;;AAAoD;;AACtD;;AAAI;;AAAgB;;AACpB;;AAAI;;AAAiB;;AACrB;;AAAI;;AAAkB;;AACtB;;AAAI;;AAAkB;;AACtB;;AAAI;;AAAmB;;AACvB;;AAAI;;AAAuB;;AAC3B;;AAAwB;;AAAc;;AAE1C;;;;;;;;AATM;;AAAA;;AACE;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACoB;;AAAA;;;;;;AA3B5C;;AACI;;AACA;;AACI;;AACI;;AAEE;;AACI;;AAAI;;;;AAA2B;;AAC/B;;AAAI;;;;AAA4B;;AAChC;;AAAI;;;;AAA4B;;AAChC;;AAAI;;;;AAA6B;;AACjC;;AAAI;;;;AAA8B;;AAClC;;AAAI;;;;AAA+B;;AACnC;;AAAI;;;;AAAmC;;AACvC;;AAAI;;;;AAA0B;;AAElC;;AACF;;AACA;;AACI;;AAWA;;AACE;;AAAwB;;;;AAA0B;;AAClD;;AAAwB;;AAAgB;;AACxC;;AAAwB;;AAAiB;;AACzC;;AAAwB;;AAAkB;;AAC1C;;AAAwB;;AAAkB;;AAC1C;;AAAwB;;AAAmB;;AAC3C;;AAAwB;;AAAuB;;AAC/C;;AAAwB;;AAAc;;AAE1C;;AACF;;AACJ;;AAEJ;;AAEA;;AACF;;;;;;AAxCoB;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAKF;;AAAA;;AAYsB;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;QDrF/B8iD,2B;AAST,2CAAoBC,yBAApB,EAAgF38C,aAAhF,EAA2G;AAAA;;AAAvF,aAAA28C,yBAAA,GAAAA,yBAAA;AAA4D,aAAA38C,aAAA,GAAAA,aAAA;AAPhF,aAAAqiC,KAAA,GAAW,IAAIvhC,IAAJ,EAAX;AACA,aAAAnC,IAAA,GAAmC,EAAnC;AACA,aAAA2jC,WAAA,GAA0C,EAA1C;AACA,aAAAC,cAAA,GAA6C,EAA7C;AACA,aAAA5tB,SAAA,GAAU,EAAV;AACA,aAAA6tB,QAAA,GAAuC,EAAvC;AACA,aAAAniC,OAAA,GAAwB,EAAxB;AAIA,aAAAuiC,WAAA,GAAc,CAAd;AACA,aAAAC,gBAAA,GAAmB,CAAnB;AACA,aAAAC,mBAAA,GAAsB,CAAtB;AACA,aAAAhmC,IAAA,GAAmC,EAAnC;AACA,aAAAimC,MAAA,GAAqC,EAArC;AACA,aAAAC,MAAA,GAAqC,EAArC;AAPE,aAAK/mC,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACD;;;;mCAOO;AAAA;;AACJ,eAAK6jD,yBAAL,CAA+B3Z,MAA/B,CAAsC,KAAKA,MAA3C,EACCxmC,SADD,CACW,UAAAM,IAAI,EAAI;AACjB,oBAAI,CAACA,IAAL,GAAYA,IAAZ;AACA,oBAAI,CAACimC,MAAL,GAAcjmC,IAAd;;AACA,oBAAI,CAACkD,aAAL,CAAmBnD,MAAnB,GACCL,SADD,CACW,UAAAC,MAAM,EAAG;AAClB,sBAAI,CAAC4D,OAAL,GAAe5D,MAAf;AACD,aAHD;AAID,WARD;AAUH;;;iCACK;AAAA;;AACJ,eAAKkgD,yBAAL,CAA+B3Z,MAA/B,CAAsC,KAAKA,MAA3C,EACGxmC,SADH,CACa,UAAAM,IAAI,EAAI;AACjB,oBAAI,CAACA,IAAL,GAAYA,IAAZ;AACD,WAHH;AAID;;;sCACU;AACT,cAAIA,IAAI,GAAGmmC,QAAQ,CAACC,cAAT,CAAwB,kBAAxB,CAAX;AACApmC,cAAI,CAACqmC,KAAL,CAAWC,OAAX,GAAqB,cAArB;AACA,6DAAYtmC,IAAZ,EAAiB,EAAjB,EAAqB9E,IAArB,CAA0B,UAAAqrC,MAAM,EAAI;AACpC,gBAAIC,QAAQ,GAAG,GAAf;AACA,gBAAIC,UAAU,GAAG,GAAjB;AACA,gBAAIC,SAAS,GAAGH,MAAM,CAACI,MAAP,GAAgBH,QAAhB,GAA2BD,MAAM,CAACK,KAAlD;AACA,gBAAIC,UAAU,GAAGH,SAAjB;AACA,gBAAMI,cAAc,GAAGP,MAAM,CAACQ,SAAP,CAAiB,WAAjB,CAAvB;AACA,gBAAIC,GAAG,GAAG,IAAI,6CAAJ,CAAU,GAAV,EAAe,IAAf,EAAqB,IAArB,CAAV,CANoC,CAME;;AACtC,gBAAIC,QAAQ,GAAG,CAAf;AACAD,eAAG,CAACE,QAAJ,CAAaJ,cAAb,EAA6B,KAA7B,EAAoC,CAApC,EAAuCG,QAAvC,EAAiDT,QAAjD,EAA2DE,SAA3D;AACAM,eAAG,CAACG,IAAJ,CAAS,cAAT,EAToC,CASV;;AAC1BnnC,gBAAI,CAACqmC,KAAL,CAAWC,OAAX,GAAqB,OAArB,CAVoC,CAYtC;AAEC,WAdC;AAeD;;;gCACI;AACD,cAAIc,aAAJ,EAAmBC,QAAnB;AACAD,uBAAa,GAAGjB,QAAQ,CAACC,cAAT,CAAwB,kBAAxB,EAA4CkB,SAA5D;AACAD,kBAAQ,GAAGE,MAAM,CAACC,IAAP,CAAY,EAAZ,EAAgB,QAAhB,EAA0B,qCAA1B,CAAX;AACAH,kBAAQ,CAAClB,QAAT,CAAkBqB,IAAlB;AACAD,gBAAM,CAACE,KAAP;AAED;;;;;;;uBA9DMmY,2B,EAA2B,uJ,EAAA,qI;AAAA,K;;;YAA3BA,2B;AAA2B,0C;AAAA,e;AAAA,c;AAAA,60C;AAAA;AAAA;ACXxC;;AACI;;AACE;;AACE;;AAEE;;AAEE;;AACE;;AAAO;;AAAM;;;;AAA4B;;AAAO;;AAChD;;AAGA;AAAA;AAAA;;;;AAHA;;AAKF;;AACA;;AACE;;AAAO;;AAAM;;;;AAA0B;;AAAO;;AAC9C;;AAGA;AAAA;AAAA;;;;AAHA;;AAKF;;AACA;;AACE;;AAAO;;AAAM;;;;AAA0B;;AAAO;;AAE9C;;AAEA;;AAEF;;AAGA;;AACE;;AAAsB;AAAA,mBAAS,IAAAlY,MAAA,EAAT;AAAiB,WAAjB;;AAA6E;;;;AAAwB;;AAAS;;AACpI;;AAAsB;AAAA,mBAAS,IAAAD,KAAA,EAAT;AAAgB,WAAhB;;AAA+E;;;;AAAuB;;AAAS;;AACrI;;AAAsB;AAAA,mBAAS,IAAAE,WAAA,EAAT;AAAsB,WAAtB;;AAAkF;;;;AAAqB;;AAAS;;AACxI;;AACJ;;AACF;;AACF;;AACF;;AACA;;AACA;;AACE;;AACE;;AACE;;AACE;;AACI;;AAAqD;;;;AAA8C;;AACnG;;AAAqD;;;;AAA+B;;AACpF;;AAAqD;;;;AAA+B;;AAExF;;AACF;;AACF;;AACF;;AAGF;;AAgDA;;;;AAlGyB;;AAAA;;AAKb;;AAAA;;AADA;;AAIa;;AAAA;;AAKb;;AAAA;;AADA;;AAIa;;AAAA;;AAEqC;;AAAA;;AAEA;;AAAA;;AAMiD;;AAAA;;AAAiC;;AAAA;;AAC/B;;AAAA;;AAAgC;;AAAA;;AAC7B;;AAAA;;AAA8B;;AAAA;;AAYjF;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAQZ;;AAAA;;;;;;;;;;sED/C1CiY,2B,EAA2B;cALvC,uDAKuC;eAL7B;AACP/8C,kBAAQ,EAAE,qBADH;AAEPC,qBAAW,EAAE,oCAFN;AAGPC,mBAAS,EAAE,CAAC,oCAAD;AAHJ,S;AAK6B,Q;;;;;;;;;;;;;;;;;;;;;;;;AEbxC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QASa88C,yB;AACT,yCAAoBlkD,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAIpB,aAAAC,OAAA,GAAU,sEAAYC,UAAtB;AACC,aAAAC,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AAJA;;;;+BAYMoqC,S,EAAoC;AACzC,iBAAO,KAAKvqC,IAAL,CACJe,IADI,WACS,KAAKd,OADd,gCACiDsqC,SADjD,EACwD,KAAKjqC,WAD7D,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;;;;;uBAnBQwjD,yB,EAAyB,uH;AAAA,K;;;aAAzBA,yB;AAAyB,eAAzBA,yBAAyB,K;AAAA,kBAFxB;;;;;sEAEDA,yB,EAAyB;cAHrC,wDAGqC;eAH1B;AACV/iD,oBAAU,EAAE;AADF,S;AAG0B,Q;;;;;;;;;;;;;;;;;;;;;;ACTtC;AAAA;;;AAAA;AAAA;AAAA;;QAAagjD,W,GAGT,qBAAYr+C,IAAZ,EAA+B;AAAA;;AAC3BA,UAAI,GAAGA,IAAI,GAAGA,IAAH,GAAU,EAArB;AACA,WAAKuW,IAAL,GAAYvW,IAAI,CAACuW,IAAL,GAAYvW,IAAI,CAACuW,IAAjB,GAAwB,IAAIhU,IAAJ,EAApC;AACA,WAAKiU,EAAL,GAAUxW,IAAI,CAACwW,EAAL,GAAUxW,IAAI,CAACwW,EAAf,GAAoB,IAAIjU,IAAJ,EAA9B;AACH,K;;;;;;;;;;;;;;;;;ACPL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAWa+7C,oB;AACT,oCAAoBpkD,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAGpB,aAAA+rB,SAAA,GAAkB,CAAE3rB,YAAY,CAACC,OAAb,CAAqB,WAArB,CAApB;AAEA,aAAAJ,OAAA,GAAU,yEAAYC,UAAtB;AACC,aAAAC,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AALA;;;;+BAaMoqC,M,EAAkB;AAEvB,iBAAO,KAAKvqC,IAAL,CACJe,IADI,WAC0B,KAAKd,OAD/B,4CACwE,KAAK8rB,SAD7E,GACyFwe,MADzF,EACgG,KAAKjqC,WADrG,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;8CACqB6pC,M,EAAkB;AAEtC,iBAAO,KAAKvqC,IAAL,CACJe,IADI,WAC0B,KAAKd,OAD/B,iDAC6E,KAAK8rB,SADlF,GAC8Fwe,MAD9F,EACqG,KAAKjqC,WAD1G,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;qCACYM,E,EAAS;AAEpB,iBAAO,KAAKhB,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,oCAC8Ce,EAD9C,cACoD,KAAK+qB,SADzD,GACqE,KAAKzrB,WAD1E,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;;;;;uBAjCQ0jD,oB,EAAoB,uH;AAAA,K;;;aAApBA,oB;AAAoB,eAApBA,oBAAoB,K;AAAA,kBAFnB;;;;;sEAEDA,oB,EAAoB;cAHhC,wDAGgC;eAHrB;AACVjjD,oBAAU,EAAE;AADF,S;AAGqB,Q;;;;;;;;;;;;;;;;;;;;;;ACXjC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAcakjD,W;AAST,2BAAoB5iD,SAApB,EAAyDD,aAAzD,EAA4F;AAAA;;AAAxE,aAAAC,SAAA,GAAAA,SAAA;AAAqC,aAAAD,aAAA,GAAAA,aAAA;AARzD,aAAAQ,MAAA,GAAiB,EAAjB;AACA,aAAAV,YAAA,GAAqB,EAArB;AAEA,aAAAQ,cAAA,GAA0B,EAA1B;AACA,aAAAD,YAAA,GAAwB,EAAxB;AA4BA,aAAAO,eAAA,GAA0B,EAA1B;AACA,aAAAC,aAAA,GAAwB,EAAxB;AAEA,aAAAkB,UAAA,GAAkB,EAAlB;AAEA,aAAAjB,YAAA,sBAA2B,KAAKN,MAAhC;AACA,aAAAO,UAAA,sBAAiB,KAAKD,YAAtB;AACA,aAAAE,aAAA,sBAAoB,KAAKF,YAAzB;AACA,aAAAG,MAAA,GAAiB,KAAKT,MAAL,CAAYU,MAAZ,GAAqB,CAAtC;AAEA,aAAAC,YAAA,GAAoB,KAApB;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,kBAAA,GAAqB,CAAC,CAAD,EAAI,EAAJ,EAAQ,EAAR,CAArB;AACA,aAAAC,QAAA,GAAmB,EAAnB;AACA,aAAAC,cAAA,GAAiB,EAAjB;AAEA,aAAAC,QAAA,GAAoB,IAApB;AAEA,aAAAC,WAAA,GAAc,CAAd;AACA,aAAAC,SAAA,GAAY,CAAZ;AAEA,aAAAC,YAAA,GAAe,IAAI,sFAAJ,EAAf;AACA,aAAAC,UAAA,GAAa,IAAI,kFAAJ,EAAb;AACA,aAAAC,aAAA,GAAgB,IAAI,wFAAJ,EAAhB;AAgLA,aAAAC,YAAA,GAAsB,EAAtB;AA/NC;;;;iCAEK,CACJ;AACD;;;wCAEetB,M,EAAQV,Y,EAAcS,W,EAAaD,c,EAAgBD,Y,EAAcI,Q,EAAUL,e,EACzF6B,S,EAAWsG,Y,EAAc1D,Q,EAAUgI,U,EAAY7K,I,EAAI;AACnD,eAAKxB,MAAL,GAAcA,MAAd;AACA,eAAKV,YAAL,GAAoBA,YAApB;AACA,eAAKS,WAAL,GAAmBA,WAAnB;AACA,eAAKD,cAAL,GAAsBA,cAAtB;AACA,eAAKD,YAAL,GAAoBA,YAApB;AACA,eAAKI,QAAL,GAAgBA,QAAhB;AACA,eAAKL,eAAL,GAAuBA,eAAvB;AACA,eAAK6B,SAAL,GAAiBA,SAAjB;AACA,eAAKsG,YAAL,GAAoBA,YAApB;AACA,eAAK1D,QAAL,GAAgBA,QAAhB;AACA,eAAKgI,UAAL,GAAkBA,UAAlB;AACA,eAAK7K,IAAL,GAAYA,IAAZ;AACD;;;mCA6BU;AAAA;;AACT;AACA,eAAKnB,aAAL,GAAqB,SAArB;AACA,eAAKf,YAAL,CAAkB8C,MAAlB,GAA2BL,SAA3B,CACE,UAAAM,IAAI,EAAI;AACN,oBAAI,CAACrC,MAAL,GAAcqC,IAAd;;AACA,oBAAI,CAACC,QAAL;;AACA,oBAAI,CAACC,UAAL;;AACA,oBAAI,CAAClC,aAAL,GAAqB,EAArB;AACA4Y,mBAAO,CAACC,GAAR,CAAY,QAAI,CAAClZ,MAAjB;AAED,WARH;AAWD;;;mCAEU;AACT,eAAKO,UAAL,GAAkB,KAAKa,UAAL,CAAgBkB,QAAhB,CAAyB,KAAKb,SAAL,CAAeE,QAAxC,EAAkD,KAAK3B,MAAvD,CAAlB;AACA,eAAKwC,UAAL;AACD;;;0CAEiB;AAChB,eAAKtB,SAAL,GAAiB,KAAKD,WAAtB;AACA,eAAKV,UAAL,GAAkB,KAAKA,UAAL,CAAgBkC,KAAhB,GAAwBC,OAAxB,EAAlB;AACA,eAAKF,UAAL;AACD;;;qCAEY;AACX;AACA,eAAKlC,YAAL,GAAoB,KAAKa,YAAL,CAAkBqB,UAAlB,CAA6B,KAAKjB,UAAlC,EAA8C,KAAKzB,cAAnD,EAAmE,KAAKS,UAAxE,CAApB;;AACA,cAAI,KAAKW,SAAL,KAAmB,CAAvB,EAA0B;AACxB,iBAAKyB,YAAL,CAAkB,KAAK/B,YAAvB,EAAqC,CAArC;AACD,WAFD,MAGK;AACH,iBAAK+B,YAAL,CAAkB,KAAK/B,YAAvB,EACEgC,IAAI,CAACC,IAAL,CAAW,KAAKvC,YAAL,CAAkBI,MAAlB,GAA2B,KAAKE,YAA3C,KAA6D,KAAKM,SAAlE,GACE,KAAKA,SADP,GAEE0B,IAAI,CAACC,IAAL,CAAW,KAAKvC,YAAL,CAAkBI,MAAlB,GAA2B,KAAKE,YAA3C,CAHJ;AAKD;;AACD,eAAKM,SAAL,GAAiB,CAAjB;AACD;;;qCAEY4B,e,EAAyBC,c,EAAwB;AAC5D;AACA,eAAKnC,YAAL,GAAoBkC,eAApB;AACA,eAAK7B,WAAL,GAAmB8B,cAAnB;AACA,eAAKvC,aAAL,GAAqB,KAAKF,YAAL,CAAkBmC,KAAlB,CAAwB,CAACM,cAAc,GAAG,CAAlB,IAAwBD,eAAhD,EAAmEA,eAAe,GAAGC,cAArF,CAArB;AACD;;;mCAEUC,O,EAAc;AACvBiW,iBAAO,CAACC,GAAR,CAAYlW,OAAO,CAACtB,KAApB;;AAEA,cAAI,KAAKD,SAAL,CAAeC,KAAf,KAAyBsB,OAAO,CAACtB,KAArC,EAA4C;AAC1C,iBAAKV,QAAL,GAAgB,CAAC,KAAKA,QAAtB;AACA,gBAAMiC,OAAO,GAAG,KAAKhC,WAArB;AACA,iBAAKiC,eAAL;AACA,iBAAKjC,WAAL,GAAmBgC,OAAnB;AACAgW,mBAAO,CAACC,GAAR,CAAY,mCAAZ;AACD,WAND,MAOK;AACH,iBAAKlY,QAAL,GAAgB,IAAhB;AACA,iBAAKS,SAAL,GAAiBuB,OAAjB;AACA,iBAAKV,QAAL;AACA2W,mBAAO,CAACC,GAAR,CAAY,kCAAZ;AAED;AACF;;;gCAEOxX,K,EAAY;AAClB,iBAAO,KAAK7B,YAAL,CAAkBsD,IAAlB,CAAuB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC1B,KAAF,KAAYA,KAAhB;AAAA,WAAxB,CAAP;AACD;;;mCAEU2B,K,EAAuB;AAChC,eAAKpC,WAAL,GAAmBoC,KAAK,CAACC,IAAzB;AACA,eAAKX,YAAL,CAAkB,KAAK/B,YAAvB,EAAqC,KAAKK,WAA1C;AACD;;;uCAEc;AACb,eAAKK,YAAL,GAAoB,EAApB;AACA,eAAKR,QAAL,GAAgB,EAAhB;AACA,eAAKC,cAAL,GAAsB,EAAtB;AACA,eAAKyB,UAAL;AACD;;;kCAESe,M,EAAM;AACd,cAAIA,MAAM,CAACC,MAAP,CAAcC,OAAlB,EAA2B;AACzB,iBAAK3C,QAAL,sBAAoB,KAAKR,YAAzB;AACD,WAFD,MAEO;AACL,iBAAKQ,QAAL,GAAgB,EAAhB;AACD;;AACD,eAAK4C,iBAAL;AACD;;;4CAEgB;AACf,cAAI,KAAK5C,QAAL,CAAcJ,MAAd,IAAwB,KAAKJ,YAAL,CAAkBI,MAA9C,EAAsD;AACpD,iBAAKK,cAAL,GAAsB,SAAtB;AACD,WAFD,MAEO,IAAI,KAAKD,QAAL,CAAcJ,MAAd,KAAyB,CAA7B,EAAgC;AACrC,iBAAKK,cAAL,GAAsB,eAAtB;AACD,WAFM,MAEC;AACN,iBAAKA,cAAL,GAAsB,EAAtB;AACD;AACF;;;mCAEU4C,C,EAAM;AACf,iBAAO,KAAK7C,QAAL,CAAc8C,SAAd,CAAwB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC7E,EAAF,KAAS2E,CAAC,CAAC3E,EAAf;AAAA,WAAzB,IAA8C,CAAC,CAAtD;AACD;;;iCAEQ8E,I,EAAS;AAChB,cAAI,KAAKC,UAAL,CAAgBD,IAAhB,CAAJ,EAA2B;AACzB,iBAAKhD,QAAL,GAAgB,KAAKA,QAAL,CAAckD,MAAd,CAAqB,UAAAH,CAAC;AAAA,qBAAIA,CAAC,CAAC7E,EAAF,KAAS8E,IAAI,CAAC9E,EAAlB;AAAA,aAAtB,CAAhB;AACD,WAFD,MAEO;AACL,iBAAK8B,QAAL,CAAcmD,IAAd,CAAmBH,IAAnB;AACD;;AACD,eAAKJ,iBAAL;AACD;;;mCAEUQ,I,EAAWxG,I,EAAS;AAC7B,iBAAOwG,IAAI,CAACf,IAAL,CAAU,UAAAU,CAAC;AAAA,mBAAIA,CAAC,CAACM,IAAF,KAAWzG,IAAf;AAAA,WAAX,CAAP;AACD;;;2CAMmB2b,I,EAAOha,W,EAAW;AACpC,eAAKe,eAAL,GAAuB,KAAvB;AACA,eAAKL,WAAL,GAAmB,EAAnB;AACA,eAAKE,QAAL,GAAgBoZ,IAAhB;AACA,eAAKpZ,QAAL,GAAgBoZ,IAAI,CAAC,KAAKtZ,WAAN,EAAmBV,WAAnB,CAApB;;AACA,cAAG,KAAK0I,YAAL,KAAsBmG,SAAzB,EAAmC;AACjC,gBAAG,KAAK7B,UAAL,IAAmB6B,SAAtB,EAAgC;AAC9B,mBAAK7B,UAAL,CAAgB/H,IAAhB;AACD;AACF,WAJD,MAKI;AACF,iBAAKyD,YAAL,CAAkBzD,IAAlB;AACD;AACF;;;yCAEgBtF,E,EAASqa,I,EAAMha,W,EAAW;AAAA;;AACzC,eAAKe,eAAL,GAAuB,MAAvB;AACA,eAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,WAAlB,CAAnB;AACA,0DAAG,KAAKe,WAAR,EAAqBgC,SAArB,CAA+B,UAAAM,IAAI,EAAI;AACrC,oBAAI,CAACtC,WAAL,GAAmBsC,IAAnB;AACD,WAFD;AAGA,eAAKpC,QAAL,GAAgBoZ,IAAI,CAAC,KAAKtZ,WAAN,EAAmBV,WAAnB,CAApB;;AACA,cAAG,KAAK0I,YAAL,KAAsBmG,SAAzB,EAAmC;AACjC,gBAAG,KAAK7B,UAAL,IAAmB6B,SAAtB,EAAgC;AAC9B,mBAAK7B,UAAL,CAAgB/H,IAAhB;AACD;AACF,WAJD,MAKI;AACF,iBAAKyD,YAAL,CAAkBzD,IAAlB;AACD;AACF;;;yCAEgBtF,E,EAASqa,I,EAAMha,W,EAAW;AAAA;;AACzC,eAAKe,eAAL,GAAuB,MAAvB;AACA,eAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,WAAlB,CAAnB;AACA,0DAAG,KAAKe,WAAR,EAAqBgC,SAArB,CAA+B,UAAAM,IAAI,EAAI;AACrC,oBAAI,CAACtC,WAAL,GAAmBsC,IAAnB;AACD,WAFD;AAGA,eAAKpC,QAAL,GAAgBoZ,IAAI,CAAC,KAAKtZ,WAAN,EAAmBV,WAAnB,CAApB;;AACA,cAAG,KAAK0I,YAAL,KAAsBmG,SAAzB,EAAmC;AACjC,gBAAG,KAAK7B,UAAL,IAAmB6B,SAAtB,EAAgC;AAC9B,mBAAK7B,UAAL,CAAgB/H,IAAhB;AACD;AACF,WAJD,MAKI;AACF,iBAAKyD,YAAL,CAAkBzD,IAAlB;AACD;AACF;;;qCAGYtF,E,EAAS;AACpB,cAAIA,EAAE,KAAK,UAAX,EAAuB;AACrB,iBAAKsC,YAAL,sBAAwB,KAAKR,QAA7B;AACA,iBAAKuD,QAAL,CAAcC,IAAd;AACD,WAHD,MAIK;AACH,iBAAKlE,eAAL,GAAuB,KAAvB;AACA,iBAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,aAAlB,CAAnB;AACA,iBAAKsC,YAAL,GAAoB,CAAC,KAAKtB,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,aAAlB,CAAD,CAApB;AACA,iBAAKqF,QAAL,CAAcC,IAAd;AACD;AACF;;;2CAEe;AACd,cAAI,KAAKhD,YAAL,CAAkBZ,MAAlB,KAA6B,CAAjC,EAAoC;AAClC,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,QAAQ,KAAKvC,eAApC,CADF;AAED,WAHD,MAIK,IAAI,KAAK0B,YAAL,CAAkBZ,MAAlB,KAA6B,CAAjC,EAAoC;AACvC,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,QAAQ,KAAKvC,eAAb,GAA+B,GAAtD,CADF;AAED,WAHI,MAIA,IAAI,KAAK0B,YAAL,CAAkBZ,MAAlB,GAA2B,CAA3B,IAAgC,KAAKY,YAAL,CAAkBZ,MAAlB,GAA2B,EAA/D,EAAmE;AACtE,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAKb,YAAL,CAAkBZ,MADiC,GACxB,GADwB,GAClB,KAAKjB,SAAL,CAAe0C,OAAf,CAAuB,KAAKvC,eAAL,GAAuB,UAA9C,CADnC;AAED,WAHI,MAIA;AACH,iBAAK2E,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAKb,YAAL,CAAkBZ,MADiC,GACxB,GADwB,GAClB,KAAKjB,SAAL,CAAe0C,OAAf,CAAuB,KAAKvC,eAAL,GAAuB,MAA9C,CADnC;AAED;;AAED,eAAK0B,YAAL,GAAoB,EAApB;AACA,eAAKR,QAAL,GAAgB,EAAhB;AAEA,eAAK4C,iBAAL;;AACA,cAAI,KAAK3C,cAAL,KAAwB,EAA5B,EAAgC;AAC9B,iBAAKJ,YAAL,GAAoB,KAApB;AACD;;AACD,eAAK0D,QAAL,CAAcG,IAAd;AACD;;;qCAEYC,W,EAAqBC,S,EAAiB;AACjD,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBE,OADnB,EAC4B;AAAEC,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD5B;AAED;;;mCACUL,W,EAAqBC,S,EAAiB;AAC/C,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBjH,KADnB,EAC0B;AAAEoH,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD1B;AAED;;;8CACqB;AACpB,eAAKlD,QAAL;AACA,eAAKyC,QAAL,CAAcG,IAAd;AACD;;;sCAEa;AAAA;;AACZ,eAAKlF,YAAL,CAAkB8C,MAAlB,GAA2BL,SAA3B,CACE,UAAAM,IAAI,EAAI;AACN,oBAAI,CAACrC,MAAL,GAAcqC,IAAd;;AACA,oBAAI,CAACE,UAAL;AACD,WAJH;AAMD;;;qCAEY;AAAA;;AACX,cAAMwC,UAAU,GAAG,KAAKxD,UAAxB;AACA,eAAKA,UAAL,GAAkB,EAAlB;AACAyD,oBAAU,CAAC,YAAM;AACf,oBAAI,CAACzD,UAAL,GAAkBwD,UAAlB;AACD,WAFS,EAEP,CAFO,CAAV;AAGD;;;;;;;uBA/SQs9C,W,EAAW,qI,EAAA,4I;AAAA,K;;;YAAXA,W;AAAW,mC;AAAA,c;AAAA,a;AAAA,yD;AAAA;;;;;sEAAXA,W,EAAW;cAJvB,uDAIuB;eAJb;AACTn9C,kBAAQ,EAAE,cADD;AAETy1C,kBAAQ,EAAE;AAFD,S;AAIa,Q;;;;;;;;;;;;;;;;;;;;;;;;ACdxB;AAAA;;;AAAA;AAAA;AAAA;;QAAa2H,W,GAoBT,qBAAYz4C,GAAZ,EAA4B;AAAA;;AACxBA,SAAG,GAAGA,GAAG,GAAEA,GAAF,GAAM,EAAf;AACA,WAAK7K,EAAL,GAAU6K,GAAG,CAAC7K,EAAJ,GAAQ6K,GAAG,CAAC7K,EAAZ,GAAe,CAAzB;AACA,WAAKiJ,MAAL,GAAc4B,GAAG,CAAC5B,MAAJ,GAAY4B,GAAG,CAAC5B,MAAhB,GAAuB,EAArC;AACA,WAAK/H,MAAL,GAAc2J,GAAG,CAAC3J,MAAJ,GAAY2J,GAAG,CAAC3J,MAAhB,GAAuB,EAArC;AACA,WAAKqiD,WAAL,GAAmB14C,GAAG,CAAC04C,WAAJ,GAAiB14C,GAAG,CAAC04C,WAArB,GAAiC,EAApD;AACA,WAAKC,QAAL,GAAgB34C,GAAG,CAAC24C,QAAJ,GAAc34C,GAAG,CAAC24C,QAAlB,GAA2B,EAA3C,CANwB,CAOxB;;AACA,WAAK73C,WAAL,GAAmBd,GAAG,CAACc,WAAJ,GAAiBd,GAAG,CAACc,WAArB,GAAiC,EAApD;AACA,WAAKE,MAAL,GAAchB,GAAG,CAACgB,MAAJ,GAAYhB,GAAG,CAACgB,MAAhB,GAAuB,EAArC;AACA,WAAK43C,UAAL,GAAkB54C,GAAG,CAAC44C,UAAJ,GAAgB54C,GAAG,CAAC44C,UAApB,GAA+B,IAAjD;AACA,WAAKC,WAAL,GAAmB74C,GAAG,CAAC64C,WAAJ,GAAiB74C,GAAG,CAAC64C,WAArB,GAAiC,EAApD,CAXwB,CAYxB;;AACA,WAAKr4C,SAAL,GAAiBR,GAAG,CAAC7K,EAAJ,GAAQ6K,GAAG,CAACQ,SAAZ,GAAsB,IAAvC;AACA,WAAKI,MAAL,GAAcZ,GAAG,CAAC5B,MAAJ,GAAY4B,GAAG,CAACY,MAAhB,GAAuB,EAArC;AACA,WAAKC,MAAL,GAAcb,GAAG,CAAC5B,MAAJ,GAAY4B,GAAG,CAACa,MAAhB,GAAuB,EAArC;AACA,WAAKJ,SAAL,GAAiBT,GAAG,CAAC5B,MAAJ,GAAY4B,GAAG,CAACS,SAAhB,GAA0B,EAA3C;AACA,WAAKC,SAAL,GAAiBV,GAAG,CAAC5B,MAAJ,GAAY4B,GAAG,CAACU,SAAhB,GAA0B,EAA3C;AACA,WAAKC,MAAL,GAAcX,GAAG,CAACW,MAAJ,GAAYX,GAAG,CAACW,MAAhB,GAAuB,IAArC;AACA,WAAK2K,OAAL,GAAetL,GAAG,CAACsL,OAAJ,GAAatL,GAAG,CAACsL,OAAjB,GAAyB,EAAxC;AACH,K;;;;;;;;;;;;;;;;;ACxCL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAUawtC,a;AACT,6BAAoB3kD,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAIpB,aAAAC,OAAA,GAAU,yEAAYC,UAAtB;AACC,aAAAC,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAA0rB,SAAA,GAAkB,CAAE3rB,YAAY,CAACC,OAAb,CAAqB,WAArB,CAApB;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AALA;;;;iCAaK;AAEJ,iBAAO,KAAKH,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,2BACqC,KAAK8rB,SAD1C,GACsD,KAAKzrB,WAD3D,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCACOZ,E,EAAS;AAEf,iBAAO,KAAKE,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,4BACsCH,EADtC,GAC2C,KAAKQ,WADhD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BACMI,O,EAAoB;AAEzB,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,2BACsC,KAAK8rB,SAD3C,GACwDjrB,OADxD,EACgE,KAAKR,WADrE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BAEMI,O,EAAoB;AACzB,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,oBACsCa,OADtC,EAC8C,KAAKR,WADnD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCAEMI,O,EAAoB;AACzB,iBAAO,KAAKd,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,2BACqCa,OAAO,CAACE,EAD7C,GACkD,KAAKV,WADvD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;mCAEUI,O,EAAuB;AAChC,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,wBACyCgB,IAAI,CAACC,SAAL,CAAeJ,OAAf,CADzC,EACiE,KAAKR,WADtE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;;;;;uBAnDQikD,a,EAAa,uH;AAAA,K;;;aAAbA,a;AAAa,eAAbA,aAAa,K;AAAA,kBAFZ;;;;;sEAEDA,a,EAAa;cAHzB,wDAGyB;eAHd;AACVxjD,oBAAU,EAAE;AADF,S;AAGc,Q;;;;;;;;;;;;;;;;;;;;;;ACR1B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;;ACUwB;;;;;;AAEI;;;;;;AACJ;;AACkB;;AAAsB;;;;;;AAAtB;;AAAA;;;;;;AAClB;;AAEI;;;;AAAsC;;;;AAAtC;;AAAA;;;;;;AAMJ;;;;;;AAEI;;;;;;AACJ;;AACkB;;AAAsB;;;;;;AAAtB;;AAAA;;;;;;AAClB;;AAEI;;;;AAAsC;;;;AAAtC;;AAAA;;;;;;AAWI;;AACI;;AAAgD;;;;;;;;AADL;;AAC3C;;AAAA;;;;;;AALZ;;AACI;;;;AAGI;;AAEJ;;AACJ;;;;;;AALQ;;AAAA;;AACA;;AACW;;AAAA;;;;;;AAInB;;AACqB;;AAA4G;;;;;;AAA5G;;AAAA;;;;;;AACrB;;AAEI;;;;AAAuC;;;;AAAvC;;AAAA;;;;;;AAMJ;;;;;;AAEI;;;;;;AACJ;;AACuB;;AAA2B;;;;;;AAA3B;;AAAA;;;;;;AACvB;;AAEI;;;;AAA2C;;;;AAA3C;;AAAA;;;;;;AAKJ;;;;;;AAEI;;;;;;AACJ;;AACoB;;AAAwB;;;;;;AAAxB;;AAAA;;;;;;AACpB;;AAEI;;;;AAAkC;;;;AAAlC;;AAAA;;;;;;AAKJ;;;;;;AAEI;;;;;;AACJ;;AACkB;;AAAsB;;;;;;AAAtB;;AAAA;;;;;;AAClB;;AAEI;;;;AAAsC;;;;AAAtC;;AAAA;;;;;;AAMJ;;;;;;AAEI;;;;;;AACJ;;AACsB;;AAA0B;;;;;;AAA1B;;AAAA;;;;;;AACtB;;AAEI;;;;AAA0C;;;;AAA1C;;AAAA;;;;;;AAMJ;;;;;;AAEI;;;;;;AACJ;;AACuB;;AAA2B;;;;;;AAA3B;;AAAA;;;;;;AACvB;;AAEI;;;;AAA2C;;;;AAA3C;;AAAA;;;;;;;;AAoBJ;;AAE0D;AAAA;;AAAA;;AAAA;AAAA;;AACM;;;;AACjD;;;;;;AAHX;;AAE4D;;AAAA;;;;;;;;AAEhE;;AAE0D;AAAA;;AAAA;;AAAA;AAAA;;AACM;;;;AAC/C;;;;;;AAHb;;AAE4D;;AAAA;;;;;;AA4BpE;;AACI;;AAAmB;;AAA4C;;AAC/D;;AACJ;;;;;;;;AAFuB;;AAAA;;;;;;AAH3B;;AAEI;;AAIJ;;;;;;AAJS;;AAAA;;;;;;AAKT;;AAEI;;AACI;;AAAqD;;;;AACrD;;AACJ;;AACA;;AACJ;;;;;;AAJ6D;;AAAA;;;;;;;;AAkB7E;;AACI;;AAAG;AAAA;;AAAA;;AAAA,yCAAuB,OAAvB;AAA8B,SAA9B;;AAAgC;;AAAI;;AAC3C;;;;;;;;AA0DoC;;AAEI;;AAAoB;;AACZ;;AAEI;AAAA;;AAAA;;AAAA,iBAAS,QAAA0M,WAAA,cAAyB,UAAzB,CAAT;AAA6C,SAA7C;;AACsF;;;;AAE3E;;AAAS;;AAAI;;AACxC;;;;;;AAHgB;;AAAA;;AAAsF;;AAAA;;;;;;;;AAkGlG;;AAAwE;;AAEhE;AAAA;;AAAA;;AAAA;;AAAA,iBAAS,QAAAA,WAAA,wBAA+B,CAA/B,CAAT;AAA0C,SAA1C;;AAA4C;;AAAQ;;AAAI;;;;;;;;AADxD;;AAAA;;AAC4C;;AAAA;;;;;;AAJxD;;AAEI;;AAGJ;;;;;;AAHwB;;AAAA;;;;;;;;AASpC;;AACI;;AACI;;AAEI;;AAC4C;AAAA;;AAAA;;AAAA;;AAAA,iBAAU,QAAAA,WAAA,kBAAV;AAAmC,SAAnC;;AAD5C;;AAEA;;AACJ;;AACJ;;AACA;;AAAgB;;AAAwC;;AAExD;;AAAgB;;AAAmB;;AACnC;;AAAgB;;AAAc;;AAC9B;;AAAgB;;AAAkB;;AAClC;;AAAgB;;AAAmB;;AAEnC;;AAAI;;AAAyC;AAAA;;AAAA;;AAAA;;AAAA,+CAA2B,MAA3B;AAAiC,SAAjC;;AAEG;;;;AAC3B;;AAAS;;AAC9B;;AAAI;;AAAoD;AAAA;;AAAA;;AAAA;;AAAA,+CAA2B,MAA3B;AAAiC,SAAjC;;AAER;;;;AAC3B;;AAAS;;AAC9B;;AAAI;;AACI;AAAA;;AAAA;;AAAA;;AAAA,iBAAS,QAAAA,WAAA,yBAAT;AAAyC,SAAzC;;AAEuC;;;;AAC1B;;AAAS;;AAClC;;;;;;;;;AAzBgE;;AAAA,8FAAsB,SAAtB,EAAsB,uCAAtB;;AAEhB;;AAAA;;AAG5B;;AAAA;;AAEA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAGR;;AAAA;;AACwC;;AAAA;;AAGxC;;AAAA;;AACwC;;AAAA;;AAIxC;;AAAA;;AACuC;;AAAA;;;;;;;;;;;;;;;;;;;;;;AApM3E;;AACI;;AACI;;AAEI;;AACI;;AACI;;AACI;;AAAqB;AAAA;;AAAA;;AAAA;AAAA,WAAoC,OAApC,EAAoC;AAAA;;AAAA;;AAAA,iBAAU,QAAAA,WAAA,eAAV;AAAoC,SAAxE,EAAoC,QAApC,EAAoC;AAAA;;AAAA;;AAAA,iBAC3C,QAAAA,WAAA,eAD2C;AACjB,SADnB;;;;AAArB;;AAGJ;;AACJ;;AACJ;;AACJ;;AAEA;;AACI;;AACI;;AACJ;;AACA;;AACI;;AAEI;AAAA;;AAAA;;AAAA,mCAAmB,IAAnB,EAAwB,KAAxB;AAA6B,SAA7B;;AACmD;;;;AACxC;;AAEnB;;AACJ;;AAEJ;;AAGA;;AAEI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AAEI;;AAGI;AAAA;;AAAA;;AAAA,iBAAU,QAAAA,WAAA,kBAAV;AAAuC,SAAvC;;AAHJ;;AAIA;;AAAmC;;AAAM;;AAC7C;;AACJ;;AACA;;AAGI;;AACJ;;AACA;;AAUJ;;AACJ;;AACJ;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,iBAAS,QAAAA,WAAA,YAAuB,QAAAA,WAAA,SAAoB,YAApB,CAAvB,CAAT;AAAkE,SAAlE;;AAEjB;;AAIJ;;AACA;;AAAuB;AAAA;;AAAA;;AAAA,iBAAS,QAAAA,WAAA,YAAuB,QAAAA,WAAA,SAAoB,YAApB,CAAvB,CAAT;AAAkE,SAAlE;;AAEnB;;;;AACJ;;AASA;;AAAqB;AAAA;;AAAA;;AAAA,iBAAS,QAAAA,WAAA,YAAuB,QAAAA,WAAA,SAAoB,mBAApB,CAAvB,CAAT;AAAyE,SAAzE;;AAEjB;;AAKJ;;AACA;;AACI;AAAA;;AAAA;;AAAA,iBAAS,QAAAA,WAAA,YAAuB,QAAAA,WAAA,SAAoB,mBAApB,CAAvB,CAAT;AAAyE,SAAzE;;AAEA;;;;AACJ;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,iBAAS,QAAAA,WAAA,YAAuB,QAAAA,WAAA,SAAoB,kBAApB,CAAvB,CAAT;AAAwE,SAAxE;;AAEjB;;AAKJ;;AACA;;AAAuB;AAAA;;AAAA;;AAAA,iBAAS,QAAAA,WAAA,YAAuB,QAAAA,WAAA,SAAoB,kBAApB,CAAvB,CAAT;AAAwE,SAAxE;;AAEnB;;;;AACJ;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,iBAAS,QAAAA,WAAA,YAAuB,QAAAA,WAAA,SAAoB,cAApB,CAAvB,CAAT;AAAoE,SAApE;;AAEjB;;AAIJ;;AACA;;AAAuB;AAAA;;AAAA;;AAAA,iBAAS,QAAAA,WAAA,YAAuB,QAAAA,WAAA,SAAoB,cAApB,CAAvB,CAAT;AAAoE,SAApE;;AAEnB;;;;AACJ;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,iBAAS,QAAAA,WAAA,YAAuB,QAAAA,WAAA,SAAoB,mBAApB,CAAvB,CAAT;AAAyE,SAAzE;;AAEjB;;AAKJ;;AACA;;AACI;AAAA;;AAAA;;AAAA,iBAAS,QAAAA,WAAA,YAAuB,QAAAA,WAAA,SAAoB,mBAApB,CAAvB,CAAT;AAAyE,SAAzE;;AAEA;;;;AACJ;;AASA;;AACA;;AACI;;AAEI;;AACI;;;;AACJ;;AACA;;AACI;;AAGI;;AACJ;;AACA;;AAMJ;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AA8BJ;;AACA;;AACI;;AACA;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAEA;;AAEI;;AAA6E;;AAAM;;AAEnF;;AAEI;;AACI;;AACI;;AACwB;AAAA;;AAAA;;AAAA;AAAA,WAAyB,aAAzB,EAAyB;AAAA;;AAAA;;AAAA,iBAI9B,QAAAA,WAAA,mBAJ8B;AAIA,SAJzB;;AAKxB;;AACJ;;AACJ;;AACJ;;AAEA;;AAA0E;;AAAM;;AAEpF;;AACJ;;;;;;;;;;;;;;AA9O4B;;AAAA;;AAFiB;;AAgBzB;;AAAA;;AAAmD;;AAAA;;AAsBvB;;AAAA,8HAAkD,eAAlD,EAAkD,sDAAlD;;AAyBpB;;AAAA;;AACK;;AAAA;;AAML;;AAAA;;AACA;;AAAA;;AAWA;;AAAA;;AAEI;;AAAA;;AAOJ;;AAAA;;AACA;;AAAA;;AAGA;;AAAA;;AAEI;;AAAA;;AAMJ;;AAAA;;AACA;;AAAA;;AAGA;;AAAA;;AACK;;AAAA;;AAML;;AAAA;;AACA;;AAAA;;AAGA;;AAAA;;AAEI;;AAAA;;AAOJ;;AAAA;;AACA;;AAAA;;AAWA;;AAAA;;AAIQ;;AAAA;;AAMI;;AAAA;;AAaZ;;AAAA;;AAiEgB;;AAAA,iGAAyB,eAAzB,EAAyB,IAAzB,EAAyB,YAAzB,EAAyB,uCAAzB,EAAyB,cAAzB,EAAyB,gCAAzB,EAAyB,qBAAzB,EAAyB,IAAzB,EAAyB,oBAAzB,EAAyB,IAAzB,EAAyB,wBAAzB,EAAyB,IAAzB,EAAyB,oBAAzB,EAAyB,IAAzB,EAAyB,SAAzB,EAAyB,CAAzB;;;;;;AAoBxC;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AAIA;;;;QDjcS+2C,iB;AACX;AACA;AACA;AACA;AAEA,iCAAoBvjD,WAApB,EAAsDC,YAAtD,EAA2FC,QAA3F,EACUC,aADV,EACuDC,SADvD,EAEYsM,WAFZ,EAE6CC,cAF7C,EAE0E;AAAA;;AAFtD,aAAA3M,WAAA,GAAAA,WAAA;AAAkC,aAAAC,YAAA,GAAAA,YAAA;AAAqC,aAAAC,QAAA,GAAAA,QAAA;AACjF,aAAAC,aAAA,GAAAA,aAAA;AAA6C,aAAAC,SAAA,GAAAA,SAAA;AAC3C,aAAAsM,WAAA,GAAAA,WAAA;AAAiC,aAAAC,cAAA,GAAAA,cAAA;AAI7C,aAAAH,WAAA,GAAc,IAAI,wDAAJ,CAAgB,KAAKpM,SAArB,EAAgC,KAAKD,aAArC,CAAd;AACA,aAAAG,aAAA,GAAqB,OAArB;AAEA,aAAAC,eAAA,GAA0B,QAA1B;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,cAAA,GAAiB,CAAC,QAAD,EAAW,QAAX,CAAjB;AAEA,aAAAC,WAAA,GAA2B,IAAI,wDAAJ,EAA3B;AAEA,aAAAC,MAAA,GAAwB,EAAxB;AACA,aAAAC,QAAA,GAAsB,IAAI,wDAAJ,CAAc;AAClCjB,YAAE,EAAE,IAAI,0DAAJ,EAD8B;AAElCkB,gBAAM,EAAE,IAAI,0DAAJ,EAF0B;AAGlC+H,gBAAM,EAAE,IAAI,0DAAJ,EAH0B;AAIlCoC,mBAAS,EAAE,IAAI,0DAAJ,EAJuB;AAKlCM,qBAAW,EAAE,IAAI,0DAAJ,EALqB;AAMlC83C,oBAAU,EAAE,IAAI,0DAAJ,EANsB;AAOlCn8B,oBAAU,EAAE,IAAI,0DAAJ,EAPsB;AAQlCzb,gBAAM,EAAE,IAAI,0DAAJ,EAR0B;AASlC63C,qBAAW,EAAE,IAAI,0DAAJ,EATqB;AAUlCF,kBAAQ,EAAE,IAAI,0DAAJ;AAVwB,SAAd,CAAtB;AAgBA,aAAAniD,aAAA,GAAgB,EAAhB;AACA,aAAAa,SAAA,GAAY,CAAZ;AACA,aAAAD,WAAA,GAAc,CAAd;AACA,aAAAK,YAAA,GAAsB,EAAtB;AAI2C,aAAA+K,UAAA,GAA6B,IAA7B;AA0L3C,aAAAE,QAAA,GAAwB,EAAxB;AACA,aAAAC,WAAA,GAA8B,EAA9B;AA/NC;;;;mCAqCO;AACN,eAAKhL,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACA,eAAKoD,SAAL,GAAiB;AAAEC,iBAAK,EAAE,YAAT;AAAuBC,oBAAQ,EAAE,KAAKH,IAAL,KAAc,OAAd,GAAwB,QAAxB,GAAmC;AAApE,WAAjB;AACA,eAAK3B,YAAL,GAAoB,CAClB;AAAE6B,iBAAK,EAAE,YAAT;AAAuBC,oBAAQ,EAAE,KAAKH,IAAL,KAAc,OAAd,GAAwB,QAAxB,GAAmC;AAApE,WADkB,EAElB;AAAEE,iBAAK,EAAE,YAAT;AAAuBC,oBAAQ,EAAE;AAAjC,WAFkB,EAGlB;AAAED,iBAAK,EAAE,eAAT;AAA0BC,oBAAQ,EAAE;AAApC,WAHkB,EAIlB;AAAED,iBAAK,EAAE,mBAAT;AAA8BC,oBAAQ,EAAE;AAAxC,WAJkB,EAKlB;AAAED,iBAAK,EAAE,cAAT;AAAyBC,oBAAQ,EAAE;AAAnC,WALkB,EAMlB;AAAED,iBAAK,EAAE,kBAAT;AAA6BC,oBAAQ,EAAE;AAAvC,WANkB,EAOlB;AAAED,iBAAK,EAAE,mBAAT;AAA8BC,oBAAQ,EAAE;AAAxC,WAPkB,EAQlB;AAAED,iBAAK,EAAE,kBAAT;AAA6BC,oBAAQ,EAAE;AAAvC,WARkB,CAApB;AAUA,eAAKyL,YAAL;AAEA,eAAKvB,WAAL,CAAiBwB,eAAjB,CAAiC,KAAKrN,MAAtC,EAA8C,KAAKV,YAAnD,EAAiE,KAAKS,WAAtE,EACE,KAAKD,cADP,EACuB,KAAKD,YAD5B,EAC0C,KAAKI,QAD/C,EACyD,KAAKL,eAD9D,EAC+E,KAAK6B,SADpF,EAEE,KAAKsG,YAFP,EAEqB,KAAK1D,QAF1B,EAEoC,KAAKgI,UAFzC,EAEqD,KAAK7K,IAF1D;AAID;;;kCAESxC,E,EAAIsO,M,EAAQ;AACpB,cAAIA,MAAM,KAAK,KAAf,EAAsB;AACpB,iBAAKzB,WAAL,CAAiB0B,kBAAjB,CAAoC,KAAK3F,UAAzC,EAAqD,KAAKvI,WAA1D;AACD,WAFD,MAGK,IAAIiO,MAAM,KAAK,MAAf,EAAuB;AAC1B,iBAAKzB,WAAL,CAAiB6B,gBAAjB,CAAkC1O,EAAlC,EAAsC,KAAK4I,UAA3C,EAAuD,KAAKvI,WAA5D;AACD,WAFI,MAGA,IAAIiO,MAAM,KAAK,MAAf,EAAuB;AAC1B,iBAAKzB,WAAL,CAAiB8B,gBAAjB,CAAkC3O,EAAlC,EAAsC,KAAK4I,UAA3C,EAAuD,KAAKvI,WAA5D;AACD;;AACD,eAAKU,WAAL,GAAmB,KAAK8L,WAAL,CAAiB9L,WAApC;AACA,eAAKE,QAAL,GAAgB,KAAK4L,WAAL,CAAiB5L,QAAjC;AACD;;;mCAEUF,W,EAAaV,W,EAAW;AACjC4Z,iBAAO,CAACC,GAAR,CAAY,iBAAZ;AAEAD,iBAAO,CAACC,GAAR,CAAYnZ,WAAZ;AAEA,iBAAOV,WAAW,CAAC6G,KAAZ,CAAkB;AACvBlH,cAAE,EAAE,CAACe,WAAW,CAACf,EAAZ,IAAkB,CAAlB,GAAsBe,WAAW,CAACf,EAAlC,GAAuC,CAAxC,CADmB;AAEvBkB,kBAAM,EAAE,CAACH,WAAW,CAACG,MAAb,EAAqB,0DAAW0N,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWE,SAAX,CAAqB,CAArB,CAAtB,CAAnB,CAArB,CAFe;AAGvB9F,kBAAM,EAAE,CAAClI,WAAW,CAACkI,MAAb,EAAqB,0DAAW2F,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWC,OAAX,CAAmB,4CAAnB,CAAtB,CAAnB,CAArB,CAHe;AAIvBzD,qBAAS,EAAE,CAACtK,WAAW,CAACsK,SAAb,CAJY;AAKvBm4C,oBAAQ,EAAE,CAACziD,WAAW,CAACyiD,QAAb,EAAuB,0DAAW30C,QAAlC,CALa;AAMvBlD,uBAAW,EAAE,CAAC5K,WAAW,CAAC4K,WAAb,EAA0B,0DAAWiD,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWE,SAAX,CAAqB,CAArB,CAAtB,CAAnB,CAA1B,CANU;AAOvBlD,kBAAM,EAAE,CAAC9K,WAAW,CAAC8K,MAAb,EAAqB,0DAAW+C,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWE,SAAX,CAAqB,CAArB,CAAtB,CAAnB,CAArB,CAPe;AAQvB00C,sBAAU,EAAE,CAAC1iD,WAAW,CAAC0iD,UAAb,EAAyB,0DAAW70C,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWC,OAAX,CAAmB,OAAnB,CAAtB,CAAnB,CAAzB,CARW;AASvB40C,uBAAW,EAAE,CAAC3iD,WAAW,CAAC2iD,WAAb,EAA0B,0DAAW90C,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWE,SAAX,CAAqB,CAArB,CAAtB,CAAnB,CAA1B;AATU,WAAlB,CAAP;AAYD;;;oCAEW;AAAA;;AACV,eAAK1N,aAAL,GAAqB,SAArB;AAEA,eAAKN,WAAL,GAAmB,IAAI,wDAAJ,EAAnB;AACA,eAAKA,WAAL,CAAiBf,EAAjB,GAAsB,CAAtB;AACA,eAAKe,WAAL,CAAiBG,MAAjB,GAA0B,KAAKD,QAAL,CAAc6H,WAAd,GAA4B5H,MAAtD;AACA,eAAKH,WAAL,CAAiBkI,MAAjB,GAA0B,KAAKhI,QAAL,CAAc6H,WAAd,GAA4BG,MAAtD;AACA,eAAKlI,WAAL,CAAiBsK,SAAjB,GAA6B,KAAKpK,QAAL,CAAc6H,WAAd,GAA4BuC,SAAzD;AACA,eAAKtK,WAAL,CAAiB4K,WAAjB,GAA+B,KAAK1K,QAAL,CAAc6H,WAAd,GAA4B6C,WAA3D;AACA,eAAK5K,WAAL,CAAiB8K,MAAjB,GAA0B,KAAK5K,QAAL,CAAc6H,WAAd,GAA4B+C,MAAtD;AACA,eAAK9K,WAAL,CAAiB0iD,UAAjB,GAA8B,KAAKxiD,QAAL,CAAc6H,WAAd,GAA4B26C,UAA1D;AACA,eAAK1iD,WAAL,CAAiB2iD,WAAjB,GAA+B,KAAKziD,QAAL,CAAc6H,WAAd,GAA4B46C,WAA3D;AACA,eAAK3iD,WAAL,CAAiByiD,QAAjB,GAA4B,KAAKviD,QAAL,CAAc6H,WAAd,GAA4B06C,QAAxD;AACA,cAAIp/C,CAAC,GAAG,KAAKoJ,WAAL,CAAiB5I,SAAjB,CAA2B,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC7E,EAAF,IAAQ,QAAI,CAACe,WAAL,CAAiBsK,SAA7B;AAAA,WAA5B,CAAR;;AACA,cAAIjH,CAAC,GAAG,CAAC,CAAT,EAAY;AACV,iBAAKrD,WAAL,CAAiBwiD,WAAjB,GAA+B,KAAK/1C,WAAL,CAAiBpJ,CAAjB,EAAoBe,IAAnD;AACD,WAhBS,CAiBV;;;AAEA,eAAK8J,gBAAL;AACD;;;2CAEkB;AAAA;;AACjBgL,iBAAO,CAACC,GAAR,CAAY,KAAKnZ,WAAjB;AAEA,eAAKT,YAAL,CAAkBgJ,MAAlB,CAAyB,KAAKvI,WAA9B,EAA2CgC,SAA3C,CAAqD,UAAAC,MAAM,EAAI;AAC7D,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAAC6J,WAAL,CAAiBjK,QAAjB;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAACwL,WAAL,CAAiBtH,YAAjB,CAA8B,QAAI,CAAC9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAA9B,EAAiE,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,mBAAvB,CAAjE;;AACA,sBAAI,CAAC0J,WAAL,CAAiB9D,YAAjB,CAA8BI,QAA9B,CAAuC3D,IAAvC;AACD,aALD,MAMK;AACH,sBAAI,CAACqH,WAAL,CAAiB3J,UAAjB,CAA4B,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAA5B,EAA6D,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,WAAvB,CAA7D;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAXD;AAYD;;;qCAEY;AACX,eAAKA,aAAL,GAAqB,SAArB;AACA,eAAKwL,WAAL,CAAiB3K,SAAjB,GAA6B,KAAK2K,WAAL,CAAiB5K,WAA9C;AAEA,cAAImN,OAAO,GAAG,IAAI,wDAAJ,CAAgB;AAC5BpP,cAAE,EAAE,KAAKe,WAAL,CAAiBf,EADO;AAE5BkB,kBAAM,EAAE,KAAKD,QAAL,CAAc6H,WAAd,GAA4B5H,MAFR;AAG5B+H,kBAAM,EAAE,KAAKhI,QAAL,CAAc6H,WAAd,GAA4BG,MAHR;AAI5BoC,qBAAS,EAAE,KAAKpK,QAAL,CAAc6H,WAAd,GAA4BuC,SAJX;AAK5BM,uBAAW,EAAE,KAAK1K,QAAL,CAAc6H,WAAd,GAA4B6C,WALb;AAM5BE,kBAAM,EAAE,KAAK5K,QAAL,CAAc6H,WAAd,GAA4B+C,MANR;AAO5B43C,sBAAU,EAAE,KAAKxiD,QAAL,CAAc6H,WAAd,GAA4B26C,UAPZ;AAQ5BC,uBAAW,EAAE,KAAKziD,QAAL,CAAc6H,WAAd,GAA4B46C,WARb;AAS5BF,oBAAQ,EAAE,KAAKviD,QAAL,CAAc6H,WAAd,GAA4B06C,QATV,CAW5B;;AAX4B,WAAhB,CAAd;AAaA,cAAIp/C,CAAC,GAAG,KAAKoJ,WAAL,CAAiB5I,SAAjB,CAA2B,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC7E,EAAF,IAAQoP,OAAO,CAAC/D,SAApB;AAAA,WAA5B,CAAR;;AACA,cAAIjH,CAAC,GAAG,CAAC,CAAT,EAAY;AACVgL,mBAAO,CAACm0C,WAAR,GAAsB,KAAK/1C,WAAL,CAAiBpJ,CAAjB,EAAoBe,IAA1C;AACD;;AACD,cAAIlF,IAAI,CAACC,SAAL,CAAekP,OAAf,KAA2BnP,IAAI,CAACC,SAAL,CAAe,KAAKa,WAApB,CAA/B,EAAiE;AAC/D,iBAAKsO,iBAAL,CAAuBD,OAAvB;AACD,WAFD,MAGK;AACH,iBAAKvC,WAAL,CAAiB9D,YAAjB,CAA8BI,QAA9B,CAAuC3D,IAAvC;AACD;AACF;;;0CAEiB8J,M,EAAQ;AAAA;;AACxB,eAAKhP,YAAL,CAAkBiJ,MAAlB,CAAyB+F,MAAzB,EAAiCvM,SAAjC,CAA2C,UAAAC,MAAM,EAAI;AACnD,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAAC6J,WAAL,CAAiBjK,QAAjB;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAACwL,WAAL,CAAiBtH,YAAjB,CAA8B,QAAI,CAAC9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAA9B,EAAiE,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,oBAAvB,CAAjE;;AAEA,sBAAI,CAAC0J,WAAL,CAAiB9D,YAAjB,CAA8BI,QAA9B,CAAuC3D,IAAvC;AACD,aAND,MAOK;AACH,sBAAI,CAACqH,WAAL,CAAiB3J,UAAjB,CAA4B,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAA5B,EAA6D,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,YAAvB,CAA7D;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAZD;AAaD,S,CAED;AACA;AACA;;;;uCACe;AACb,eAAKa,SAAL,GAAiB,KAAKD,WAAtB,CADa,CAEb;;AACA,eAAKZ,aAAL,GAAqB,SAArB;AACA,eAAKwB,mBAAL;AACD,S,CAED;;;;8CACsB;AAAA;;AACpB,eAAKvC,YAAL,CAAkBwC,UAAlB,CAA6B,KAAK+J,WAAL,CAAiBvK,YAA9C,EAA4DS,SAA5D,CAAsE,UAAAC,MAAM,EAAI;AAC9E,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAAC6J,WAAL,CAAiBjK,QAAjB;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAACwL,WAAL,CAAiB5J,gBAAjB;AACD,aAJD,MAKK;AACH,sBAAI,CAAC4J,WAAL,CAAiB3J,UAAjB,CAA4B,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAA5B,EAA6D,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,cAAvB,CAA7D;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAVD;AAWD,S,CACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;uCACe;AAAA;;AACb,eAAKA,aAAL,GAAqB,SAArB;AACA,eAAK2L,cAAL,CAAoB5J,MAApB,GAA6BL,SAA7B,CACE,UAAA0M,WAAW,EAAI;AACbwK,mBAAO,CAACC,GAAR,CAAY,aAAZ,EAA2BzK,WAA3B;AACA,oBAAI,CAACjC,WAAL,GAAmBiC,WAAnB;;AACA,oBAAI,CAAC5C,WAAL,CAAiBjK,QAAjB;AAED,WANH;AAQD;;;uCAIc5C,E,EAAO;AACpB,iBAAO,KAAKwN,WAAL,CAAiBrJ,IAAjB,CAAsB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,WAAvB,CAAP;AACD;;;oCACWA,E,EAAO;AACjB,iBAAO,KAAKuN,QAAL,CAAcpJ,IAAd,CAAmB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,WAApB,CAAP;AACD;;;;;;;uBA/OU4jD,iB,EAAiB,2H,EAAA,6H,EAAA,wH,EAAA,4I,EAAA,qI,EAAA,kK,EAAA,wK;AAAA,K;;;YAAjBA,iB;AAAiB,mC;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;ACnB9B;;AACI;;AAEI;;AACI;;AACI;;AACI;;;;AAA2D;;AACnE;;AACA;;AACI;;AACI;;AACI;;AAAqC;;;;AAA8B;;AACnE;;AAGA;;AAEA;;AAGA;;AACJ;;AAEA;;AACI;;AAAqC;;;;AAA8B;;AACnE;;AAGA;;AAEA;;AAGA;;AACJ;;AAGA;;AACI;;AAAqC;;;;AAA+B;;AACpE;;AAQA;;AAEA;;AAGA;;AACJ;;AAEA;;AACI;;AAAqC;;;;AAAmC;;AACxE;;AAGA;;AAEA;;AAGA;;AACJ;;AACA;;AACI;;AAAqC;;;;AAAsB;;AAC3D;;AAGA;;AAEA;;AAGA;;AACJ;;AACA;;AACI;;AAAqC;;;;AAA8B;;AACnE;;AAGA;;AAEA;;AAGA;;AACJ;;AAEA;;AACI;;AAAqC;;;;AAAkC;;AACvE;;AAGA;;AAEA;;AAGA;;AACJ;;AAEA;;AACI;;AAAqC;;;;AAAmC;;AACxE;;AAGA;;AAEA;;AAGA;;AACJ;;AAiBA;;AACI;;AAKA;;AAKA;;AAA8B;AAAA;;AAAA;;AAAA,mBAAS,mBAAT;AAAqC,WAArC;;AACoD;;;;AACnE;;AACnB;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAGA;;AACI;;AACI;;AACI;;AAAkE;AAAA;;AAAA;;AAAA,mBAAS,WAAT;AAAwB,WAAxB;;AAE9D;;AAAyB;;AAAO;;AACpC;;AACA;;AACI;;AACI;;;;AACW;;AACnB;;AACA;;AACI;;AAOA;;AASA;;AACI;;AAA2D;AAAA,mBAAS,IAAA39C,YAAA,EAAT;AAAuB,WAAvB;;AAEK;;;;AAAwB;;AACxF;;AAA8B;AAAA;;AAAA;;AAAA,mBAAS,WAAT;AAAwB,WAAxB;;AACoD;;;;AACnE;;AACnB;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AAIA;;AAyPA;;AAIA;;AAKA;;AAKA;;AAIA;;;;AA7coB;;AAAA;;AAG0C;;AAAA;;AAED;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAMiC;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAOiC;;AAAA;;AAChC;;AAAA;;AAQE;;AAAA;;AAGH;;AAAA;;AAMiC;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAKiC;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAKiC;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAMiC;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAMiC;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAqBI;;AAAA;;AAKA;;AAAA;;AAM0E;;AAAA;;AAmBtF;;AAAA;;AAIiC;;AAAA;;AAO4B;;AAAA;;AAWzD;;AAAA;;AAC4D;;AAAA;;AAEkB;;AAAA;;AAOjG;;AAAA;;AAIA;;AAAA;;;;;;;;;;sEDrLQ29C,iB,EAAiB;cAL7B,uDAK6B;eALnB;AACT19C,kBAAQ,EAAE,cADD;AAETC,qBAAW,EAAE,2BAFJ;AAGTC,mBAAS,EAAE,CAAC,2BAAD;AAHF,S;AAKmB,Q;;;;;;;;;;;;;;;;;;gBA4C3B,uD;iBAAU,c,EAAgB;AAAE,sBAAQ;AAAV,W;;;gBAC1B,uD;iBAAU,U,EAAY;AAAE,sBAAQ;AAAV,W;;;gBACtB,uD;iBAAU,Y,EAAc;AAAE,sBAAQ;AAAV,W;;;;;;;;;;;;;;;;;;;;AEjE3B;AAAA;;;AAAA;AAAA;AAAA;;QAAay9C,W,GAeT,qBAAYh5C,GAAZ,EAA4B;AAAA;;AACxBA,SAAG,GAAGA,GAAG,GAAEA,GAAF,GAAM,EAAf;AACA,WAAK7K,EAAL,GAAU6K,GAAG,CAAC7K,EAAJ,GAAQ6K,GAAG,CAAC7K,EAAZ,GAAe,CAAzB;AACA,WAAKmF,IAAL,GAAY0F,GAAG,CAAC1F,IAAJ,GAAU0F,GAAG,CAAC1F,IAAd,GAAmB,EAA/B;AACA,WAAKjE,MAAL,GAAc2J,GAAG,CAAC3J,MAAJ,GAAY2J,GAAG,CAAC3J,MAAhB,GAAuB,EAArC;AACA,WAAK+H,MAAL,GAAc4B,GAAG,CAAC5B,MAAJ,GAAY4B,GAAG,CAAC5B,MAAhB,GAAuB,EAArC;AACA,WAAK66C,SAAL,GAAiBj5C,GAAG,CAACi5C,SAAJ,GAAej5C,GAAG,CAACi5C,SAAnB,GAA6B,EAA9C;AACA,WAAK98B,IAAL,GAAYnc,GAAG,CAACmc,IAAJ,GAAUnc,GAAG,CAACmc,IAAd,GAAmB,IAA/B,CAPwB,CAQxB;;AACA,WAAKrb,WAAL,GAAmBd,GAAG,CAACc,WAAJ,GAAiBd,GAAG,CAACc,WAArB,GAAiC,EAApD;AACA,WAAK2b,UAAL,GAAkBzc,GAAG,CAACyc,UAAJ,GAAgBzc,GAAG,CAACyc,UAApB,GAA+B,EAAjD;AACA,WAAKhc,SAAL,GAAiBT,GAAG,CAACS,SAAJ,GAAeT,GAAG,CAACS,SAAnB,GAA6B,EAA9C;AACA,WAAKC,SAAL,GAAiBV,GAAG,CAACU,SAAJ,GAAeV,GAAG,CAACU,SAAnB,GAA6B,EAA9C;AACA,WAAKF,SAAL,GAAiBR,GAAG,CAACQ,SAAJ,GAAeR,GAAG,CAACQ,SAAnB,GAA6B,IAA9C;AACA,WAAKk4C,WAAL,GAAmB14C,GAAG,CAAC04C,WAAJ,GAAiB14C,GAAG,CAAC04C,WAArB,GAAiC,EAApD;AACA,WAAKC,QAAL,GAAgB34C,GAAG,CAAC24C,QAAJ,GAAc34C,GAAG,CAAC24C,QAAlB,GAA2B,EAA3C;AACH,K;;;;;;;;;;;;;;;;;AC/BL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAUaO,a;AACT,6BAAoB/kD,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAGpB,aAAA+rB,SAAA,GAAkB,CAAE3rB,YAAY,CAACC,OAAb,CAAqB,WAArB,CAApB;AAEA,aAAAJ,OAAA,GAAU,yEAAYC,UAAtB;AACC,aAAAC,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AALA;;;;iCAaK;AAEJ,iBAAO,KAAKH,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,2BACqC,KAAK8rB,SAD1C,GACsD,KAAKzrB,WAD3D,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCACOZ,E,EAAS;AAEf,iBAAO,KAAKE,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,4BACsCH,EADtC,GAC2C,KAAKQ,WADhD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BACMI,O,EAAoB;AAEzB,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,2BACsC,KAAK8rB,SAD3C,GACwDjrB,OADxD,EACgE,KAAKR,WADrE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BAEMI,O,EAAoB;AACzB,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,oBACsCa,OADtC,EAC8C,KAAKR,WADnD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCAEMI,O,EAAoB;AACzB,iBAAO,KAAKd,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,2BACqCa,OAAO,CAACE,EAD7C,GACkD,KAAKV,WADvD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;mCAEUI,O,EAAuB;AAChC,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,wBACyCgB,IAAI,CAACC,SAAL,CAAeJ,OAAf,CADzC,EACiE,KAAKR,WADtE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;;;;;uBAnDQqkD,a,EAAa,uH;AAAA,K;;;aAAbA,a;AAAa,eAAbA,aAAa,K;AAAA,kBAFZ;;;;;sEAEDA,a,EAAa;cAHzB,wDAGyB;eAHd;AACV5jD,oBAAU,EAAE;AADF,S;AAGc,Q;;;;;;;;;;;;;;;;;;;;;;ACT1B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;ACWwB;;;;;;AAEI;;;;;;AACJ;;AACkB;;AAAsB;;;;;;AAAtB;;AAAA;;;;;;AAClB;;AAEI;;;;AAAsC;;;;AAAtC;;AAAA;;;;;;AAMJ;;;;;;AAEI;;;;;;AACJ;;AACkB;;AAAsB;;;;;;AAAtB;;AAAA;;;;;;AAClB;;AAEI;;;;AAAsC;;;;AAAtC;;AAAA;;;;;;AAOJ;;;;AAGI;;AAAyB;;;;AAA0B;;AACnD;;AAAyB;;;;AAAyB;;AAClD;;AAAyB;;;;AAA2B;;AACxD;;;;AAJI;;AAAsD;;AAC3C;;AAAA;;AAAc;;AAAA;;AACd;;AAAA;;AAAc;;AAAA;;AACd;;AAAA;;AAAc;;AAAA;;;;;;AAE7B;;AACgB;;AAAoB;;;;;;AAApB;;AAAA;;;;;;AAChB;;AAEI;;;;AAAoC;;;;AAApC;;AAAA;;;;;;AAMJ;;;;;;AAEI;;;;;;AACJ;;AACqB;;AAAyB;;;;;;AAAzB;;AAAA;;;;;;AACrB;;AAEI;;;;AAAkC;;;;AAAlC;;AAAA;;;;;;AACJ;;AAEI;;;;AAA2C;;;;AAA3C;;AAAA;;;;;;AAEJ;;AAEI;;;;AAA0C;;;;AAA1C;;AAAA;;;;;;AAKJ;;;;;;AAEI;;;;;;AACJ;;AACgB;;AAAoB;;;;;;AAApB;;AAAA;;;;;;AAChB;;AAEI;;;;AAAoC;;;;AAApC;;AAAA;;;;;;AAWI;;AAEI;;AAAgD;;;;;;;;AADhD;;AACA;;AAAA;;;;;;AAPZ;;AACI;;;;AAII;;AAGJ;;AACJ;;;;;;AANQ;;AAAA;;AACA;;AACW;;AAAA;;;;;;AAKnB;;AACqB;;AAAyB;;;;;;AAAzB;;AAAA;;;;;;AACrB;;AAEI;;;;AAAuC;;;;AAAvC;;AAAA;;;;;;AAMJ;;;;;;AAEI;;;;;;AACJ;;AACuB;;AAA2B;;;;;;AAA3B;;AAAA;;;;;;AACvB;;AAEI;;;;AAA2C;;;;AAA3C;;AAAA;;;;;;AAKJ;;;;;;AAEI;;;;;;AACJ;;AACoB;;AAAwB;;;;;;AAAxB;;AAAA;;;;;;AACpB;;AAEI;;;;AAAkC;;;;AAAlC;;AAAA;;;;;;AAKJ;;;;;;AAEI;;;;;;AACJ;;AACsB;;AAA0B;;;;;;AAA1B;;AAAA;;;;;;AACtB;;AAEI;;;;AAA0C;;;;AAA1C;;AAAA;;;;;;;;AAOJ;;AAE8B;AAAA;;AAAA;;AAAA;AAAA;;AACkC;;;;AACjD;;;;;;AAHX;;AAE4D;;AAAA;;;;;;;;AAEhE;;AAE8B;AAAA;;AAAA;;AAAA;AAAA;;AACkC;;;;AAC/C;;;;;;AAHb;;AAE4D;;AAAA;;;;;;AA2BpE;;AACI;;AAAmB;;AAA4C;;AAC/D;;AACJ;;;;;;;;AAFuB;;AAAA;;;;;;AAF3B;;AACI;;AAIJ;;;;;;AAJS;;AAAA;;;;;;AAKT;;AAEI;;AACI;;AAAqD;;;;AAA2C;;AACpG;;AACA;;AACJ;;;;;;AAH6D;;AAAA;;;;;;;;AAiB7E;;AACI;;AAAG;AAAA;;AAAA;;AAAA,yCAAuB,OAAvB;AAA8B,SAA9B;;AAAgC;;AAAI;;AAC3C;;;;;;;;AAwDoC;;AAEI;;AAAoB;;AACZ;;AAEI;AAAA;;AAAA;;AAAA,sCAAsB,UAAtB;AAAgC,SAAhC;;AAC8D;;;;AAEnD;;AAAS;;AAAI;;AACxC;;;;;;AAHgB;;AAAA;;AAA8D;;AAAA;;;;;;;;AA6E1E;;AAA4D;;AAEpD;AAAA;;AAAA;;AAAA;;AAAA,gDAA4B,CAA5B;AAA6B,SAA7B;;AAAgC;;AAAQ;;AAAI;;;;;;;;AAD5C;;AAAA;;AACgC;;AAAA;;;;;;AAJ5C;;AAEI;;AAGJ;;;;;;AAHwB;;AAAA;;;;;;;;AASpC;;AACI;;AACI;;AACI;;AACgC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AADhC;;AAEA;;AACJ;;AACJ;;AACA;;AAAgB;;AAAwC;;AACxD;;AAAgB;;AAAY;;AAC5B;;AAAgB;;AAAY;;AAC5B;;AAAgB;;AAAiB;;AAEjC;;AAAgB;;AAAmB;;AACnC;;AAAgB;;AAAkB;;AAClC;;AAAI;;AAAyC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC0C;;;;AAClE;;AAAS;;AAC9B;;AAAI;;AAAoD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC+B;;;;AAClE;;AAAS;;AAC9B;;AAAI;;AAAmD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC+B;;;;AACjE;;AAAS;;AAClC;;;;;;;;;AArBgE;;AAAA,8FAAsB,SAAtB,EAAsB,2BAAtB;;AAEhB;;AAAA;;AAG5B;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAEA;;AAAA;;AACA;;AAAA;;AAER;;AAAA;;AAA+E;;AAAA;;AAG/E;;AAAA;;AAA+E;;AAAA;;AAG/E;;AAAA;;AAA8E;;AAAA;;;;;;;;;;;;;;;;;;;;;;AAxKlH;;AACI;;AACI;;AAEI;;AACI;;AACI;;AACI;;AAAqB;AAAA;;AAAA;;AAAA;AAAA,WAAwB,OAAxB,EAAwB;AAAA;;AAAA;;AAAA;AAAA,SAAxB,EAAwB,QAAxB,EAAwB;AAAA;;AAAA;;AAAA;AAAA,SAAxB;;;;AAArB;;AAEJ;;AACJ;;AACJ;;AACJ;;AAEA;;AACI;;AACI;;AACJ;;AACA;;AACI;;AAEI;AAAA;;AAAA;;AAAA;AAAA;;AAAsE;;;;AAC3D;;AAEnB;;AACJ;;AAEJ;;AAGA;;AAEI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AAEI;;AAGI;AAAA;;AAAA;;AAAA;AAAA;;AAHJ;;AAIA;;AAAmC;;AAAM;;AAC7C;;AACJ;;AACA;;AAGI;;AACJ;;AACA;;AAUJ;;AACJ;;AACJ;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,YAA5B;AAAwC,SAAxC;;AACjB;;AAEkF;;AACtF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,YAA5B;AAAwC,SAAxC;;AAEf;;;;AACR;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,YAA5B;AAAwC,SAAxC;;AACjB;;AAEkF;;AACtF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,YAA5B;AAAwC,SAAxC;;AAEf;;;;AACR;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,YAA5B;AAAwC,SAAxC;;AACjB;;AAEkF;;AACtF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,YAA5B;AAAwC,SAAxC;;AAEf;;;;AACR;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,iBAA5B;AAA6C,SAA7C;;AACjB;;AAEuF;;AAC3F;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,iBAA5B;AAA6C,SAA7C;;AAEf;;;;AACR;;AASA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,mBAA5B;AAA+C,SAA/C;;AACjB;;AAEyF;;AAC7F;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,mBAA5B;AAA+C,SAA/C;;AAEf;;;;AACR;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,kBAA5B;AAA8C,SAA9C;;AACjB;;AAEwF;;AAC5F;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,kBAA5B;AAA8C,SAA9C;;AAEf;;;;AACR;;AACA;;AACA;;AACI;;AAEI;;AACI;;;;AACJ;;AACA;;AACI;;AAEI;;AACJ;;AACA;;AAMJ;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AAyBJ;;AACA;;AACI;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAEA;;AAEI;;AAA6E;;AAAM;;AAEnF;;AAEI;;AACI;;AACI;;AACwB;AAAA;;AAAA;;AAAA;AAAA,WAAyB,aAAzB,EAAyB;AAAA;;AAAA;;AAAA;AAAA,SAAzB;;AAKxB;;AACJ;;AACJ;;AACJ;;AAEA;;AAA0E;;AAAM;;AAEpF;;AACJ;;;;;;;;;;;;;;AAlN2E;;AAAA;;AAD9B;;AAcM;;AAAA;;AAAuC;;AAAA;;AAsB1C;;AAAA,kHAAsC,eAAtC,EAAsC,0CAAtC;;AAwByC;;AAAA;;AACxD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAEyD;;AAAA;;AACxD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAEyD;;AAAA;;AACxD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAE8D;;AAAA;;AAC7D;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAUgE;;AAAA;;AAC/D;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAE+D;;AAAA;;AAC9D;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAGJ;;AAAA;;AAIQ;;AAAA;;AAKI;;AAAA;;AAaZ;;AAAA;;AA2DgB;;AAAA,iGAAyB,eAAzB,EAAyB,IAAzB,EAAyB,YAAzB,EAAyB,2BAAzB,EAAyB,cAAzB,EAAyB,oBAAzB,EAAyB,qBAAzB,EAAyB,IAAzB,EAAyB,oBAAzB,EAAyB,IAAzB,EAAyB,wBAAzB,EAAyB,IAAzB,EAAyB,oBAAzB,EAAyB,IAAzB,EAAyB,SAAzB,EAAyB,CAAzB;;;;;;AAoBxC;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AAIA;;;;QD3aS6jD,gB;AACX;AACA;AACA;AACA;AACA,gCAAoB3jD,WAApB,EAAsDC,YAAtD,EAA2FC,QAA3F,EACUC,aADV,EACuDC,SADvD,EAEYsM,WAFZ,EAE6CC,cAF7C,EAE4E;AAAA;;AAFxD,aAAA3M,WAAA,GAAAA,WAAA;AAAkC,aAAAC,YAAA,GAAAA,YAAA;AAAqC,aAAAC,QAAA,GAAAA,QAAA;AACjF,aAAAC,aAAA,GAAAA,aAAA;AAA6C,aAAAC,SAAA,GAAAA,SAAA;AAC3C,aAAAsM,WAAA,GAAAA,WAAA;AAAiC,aAAAC,cAAA,GAAAA,cAAA;AAE7C,aAAArM,aAAA,GAAqB,OAArB;AAEA,aAAAC,eAAA,GAA0B,QAA1B;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,cAAA,GAAiB,CAAC,QAAD,EAAW,QAAX,CAAjB;AAEA,aAAAC,WAAA,GAA2B,IAAI,wDAAJ,CAAgB,EAAhB,CAA3B,CAT4E,CAU5E;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,aAAAC,MAAA,GAAyB,EAAzB;AACA,aAAAC,QAAA,GAAsB,IAAI,wDAAJ,CAAc;AAClCjB,YAAE,EAAE,IAAI,0DAAJ,EAD8B;AAElCkB,gBAAM,EAAE,IAAI,0DAAJ,EAF0B;AAGlC+H,gBAAM,EAAE,IAAI,0DAAJ,EAH0B;AAIlC9D,cAAI,EAAE,IAAI,0DAAJ,EAJ4B;AAKlC6hB,cAAI,EAAE,IAAI,0DAAJ,EAL4B;AAMlC88B,mBAAS,EAAE,IAAI,0DAAJ,EANuB;AAOlCz4C,mBAAS,EAAE,IAAI,0DAAJ,EAPuB;AAQlCM,qBAAW,EAAE,IAAI,0DAAJ,EARqB;AASlC2b,oBAAU,EAAE,IAAI,0DAAJ,EATsB;AAUlCk8B,kBAAQ,EAAC,IAAI,0DAAJ;AAVyB,SAAd,CAAtB;AAqLA,aAAAj2C,QAAA,GAAyB,EAAzB;AACA,aAAAC,WAAA,GAA+B,EAA/B;AAmCA,aAAApM,eAAA,GAA0B,EAA1B;AACA,aAAAC,aAAA,GAAwB,EAAxB,CA5O4E,CA+O5E;;AACA,aAAAC,YAAA,sBAAmB,KAAKN,MAAxB;AACA,aAAAO,UAAA,sBAAiB,KAAKD,YAAtB;AACA,aAAAE,aAAA,sBAAoB,KAAKF,YAAzB;AACA,aAAAG,MAAA,GAAiB,KAAKT,MAAL,CAAYU,MAAZ,GAAqB,CAAtC;AAEA,aAAAC,YAAA,GAAoB,KAApB;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,kBAAA,GAAqB,CAAC,CAAD,EAAI,EAAJ,EAAQ,EAAR,CAArB;AACA,aAAAC,QAAA,GAAW,EAAX;AACA,aAAAC,cAAA,GAAiB,EAAjB;AAEA,aAAAC,QAAA,GAAoB,IAApB;AAEA,aAAAC,WAAA,GAAc,CAAd;AACA,aAAAC,SAAA,GAAY,CAAZ;AAGA,aAAAC,YAAA,GAAe,IAAI,sFAAJ,EAAf;AACA,aAAAC,UAAA,GAAa,IAAI,kFAAJ,EAAb;AACA,aAAAC,aAAA,GAAgB,IAAI,wFAAJ,EAAhB;AAgJA,aAAAC,YAAA,GAA8B,EAA9B;AAcA,aAAAC,UAAA,GAAkB,EAAlB;AAjaC;;;;mCA8BO;AACN,eAAKC,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACA,eAAKoD,SAAL,GAAiB;AAAEC,iBAAK,EAAE,YAAT;AAAuBC,oBAAQ,EAAE,KAAKH,IAAL,KAAc,OAAd,GAAwB,QAAxB,GAAmC;AAApE,WAAjB;AACA,eAAK3B,YAAL,GAAoB,CAClB;AAAE6B,iBAAK,EAAE,YAAT;AAAuBC,oBAAQ,EAAE,KAAKH,IAAL,KAAc,OAAd,GAAwB,QAAxB,GAAmC;AAApE,WADkB,EAElB;AAAEE,iBAAK,EAAE,YAAT;AAAuBC,oBAAQ,EAAE;AAAjC,WAFkB,EAGlB;AAAED,iBAAK,EAAE,iBAAT;AAA4BC,oBAAQ,EAAE;AAAtC,WAHkB,EAIlB;AAAED,iBAAK,EAAE,YAAT;AAAuBC,oBAAQ,EAAE;AAAjC,WAJkB,EAKlB;AAAED,iBAAK,EAAE,eAAT;AAA0BC,oBAAQ,EAAE;AAApC,WALkB,EAMlB;AAAED,iBAAK,EAAE,mBAAT;AAA8BC,oBAAQ,EAAE;AAAxC,WANkB,EAOlB;AAAED,iBAAK,EAAE,kBAAT;AAA6BC,oBAAQ,EAAE;AAAvC,WAPkB,CAApB,CAHM,CAYN;;AACA,eAAKyL,YAAL;AACD;;;qCAES;AACR,iBAAO,KAAK/N,WAAL,CAAiB6G,KAAjB,CAAuB;AAC5BlH,cAAE,EAAE,CAAC,KAAKe,WAAL,CAAiBf,EAAjB,IAAuB,CAAvB,GAA2B,KAAKe,WAAL,CAAiBf,EAA5C,GAAiD,CAAlD,CADwB;AAE5BkB,kBAAM,EAAE,CAAC,KAAKH,WAAL,CAAiBG,MAAlB,EAA0B,0DAAW0N,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWE,SAAX,CAAqB,CAArB,CAAtB,CAAnB,CAA1B,CAFoB;AAG5B9F,kBAAM,EAAE,CAAC,KAAKlI,WAAL,CAAiBkI,MAAlB,EAA0B,0DAAW2F,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,CAAnB,CAA1B,CAHoB;AAI5B1J,gBAAI,EAAE,CAAC,KAAKpE,WAAL,CAAiBoE,IAAlB,EAAwB,0DAAWyJ,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWC,OAAX,CAAmB,OAAnB,CAAtB,CAAnB,CAAxB,CAJsB;AAK5Bg1C,qBAAS,EAAE,CAAC,KAAK/iD,WAAL,CAAiB+iD,SAAlB,EAA6B,0DAAWl1C,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,KAAKo1C,4BAAL,EAAtB,CAAnB,CAA7B,CALiB;AAM5Bj9B,gBAAI,EAAE,CAAC,KAAKjmB,WAAL,CAAiBimB,IAAlB,EAAwB,0DAAWpY,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,CAAnB,CAAxB,CANsB;AAO5B20C,oBAAQ,EAAE,CAAC,KAAKziD,WAAL,CAAiByiD,QAAlB,EAA4B,0DAAW50C,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,CAAnB,CAA5B,CAPkB;AAQ5BxD,qBAAS,EAAE,CAAC,KAAKtK,WAAL,CAAiBsK,SAAlB,CARiB;AAS5BM,uBAAW,EAAE,CAAC,KAAK5K,WAAL,CAAiB4K,WAAlB,EAA+B,0DAAWiD,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWE,SAAX,CAAqB,CAArB,CAAtB,CAAnB,CAA/B,CATe;AAU5BuY,sBAAU,EAAE,CAAC,KAAKvmB,WAAL,CAAiBumB,UAAlB,EAA8B,0DAAW1Y,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWC,OAAX,CAAmB,SAAnB,CAAtB,CAAnB,CAA9B;AAVgB,WAAvB,CAAP;AAYD;;;oCAEW;AAAA;;AACV;AACA,eAAKzN,aAAL,GAAqB,SAArB;AAEA,eAAKN,WAAL,GAAmB,IAAI,wDAAJ,EAAnB;AACA,eAAKA,WAAL,CAAiBf,EAAjB,GAAsB,CAAtB;AACA,eAAKe,WAAL,CAAiBG,MAAjB,GAA0B,KAAKD,QAAL,CAAc6H,WAAd,GAA4B5H,MAAtD;AACA,eAAKH,WAAL,CAAiBkI,MAAjB,GAA0B,KAAKhI,QAAL,CAAc6H,WAAd,GAA4BG,MAAtD;AACA,eAAKlI,WAAL,CAAiBoE,IAAjB,GAAwB,KAAKlE,QAAL,CAAc6H,WAAd,GAA4B3D,IAApD;AACA,eAAKpE,WAAL,CAAiB+iD,SAAjB,GAA6B,KAAK7iD,QAAL,CAAc6H,WAAd,GAA4Bg7C,SAAzD;AACA,eAAK/iD,WAAL,CAAiBimB,IAAjB,GAAwB,KAAK/lB,QAAL,CAAc6H,WAAd,GAA4Bke,IAApD;AACA,eAAKjmB,WAAL,CAAiBsK,SAAjB,GAA6B,KAAKpK,QAAL,CAAc6H,WAAd,GAA4BuC,SAAzD;AACA,eAAKtK,WAAL,CAAiB4K,WAAjB,GAA+B,KAAK1K,QAAL,CAAc6H,WAAd,GAA4B6C,WAA3D;AACA,eAAK5K,WAAL,CAAiBumB,UAAjB,GAA8B,KAAKrmB,QAAL,CAAc6H,WAAd,GAA4Bwe,UAA1D;AACA,eAAKvmB,WAAL,CAAiByiD,QAAjB,GAA4B,KAAKviD,QAAL,CAAc6H,WAAd,GAA4B06C,QAAxD;AACA,cAAIp/C,CAAC,GAAG,KAAKoJ,WAAL,CAAiB5I,SAAjB,CAA2B,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC7E,EAAF,IAAQ,QAAI,CAACe,WAAL,CAAiBsK,SAA7B;AAAA,WAA5B,CAAR;;AACA,cAAIjH,CAAC,GAAG,CAAC,CAAT,EAAY;AACV,iBAAKrD,WAAL,CAAiBwiD,WAAjB,GAA+B,KAAK/1C,WAAL,CAAiBpJ,CAAjB,EAAoBe,IAAnD;AACD;;AACD,eAAK8J,gBAAL;AACD;;;2CAEe;AAAA;;AACd,eAAK3O,YAAL,CAAkBgJ,MAAlB,CAAyB,KAAKvI,WAA9B,EAA2CgC,SAA3C,CAAqD,UAAAC,MAAM,EAAI;AAC7D,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAACJ,QAAL;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAACkE,YAAL,CAAkB,QAAI,CAAC9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,mBAAvB,CAArD;;AACA,sBAAI,CAAC4F,YAAL,CAAkBI,QAAlB,CAA2B3D,IAA3B;AACD,aALD,MAMK;AACH,sBAAI,CAACtC,UAAL,CAAgB,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAAhB,EAAiD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,WAAvB,CAAjD;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAXD;AAYD;;;qCAEY;AACX,eAAKa,SAAL,GAAiB,KAAKD,WAAtB;AACA,eAAKZ,aAAL,GAAqB,SAArB;AAEA,cAAI+N,OAAO,GAAG,IAAI,wDAAJ,CAAgB;AAC5BpP,cAAE,EAAE,KAAKe,WAAL,CAAiBf,EADO;AAE5BkB,kBAAM,EAAE,KAAKD,QAAL,CAAc6H,WAAd,GAA4B5H,MAFR;AAG5B+H,kBAAM,EAAE,KAAKhI,QAAL,CAAc6H,WAAd,GAA4BG,MAHR;AAI5B9D,gBAAI,EAAG,KAAKlE,QAAL,CAAc6H,WAAd,GAA4B3D,IAJP;AAK5B2+C,qBAAS,EAAG,KAAK7iD,QAAL,CAAc6H,WAAd,GAA4Bg7C,SALZ;AAM5B98B,gBAAI,EAAG,KAAK/lB,QAAL,CAAc6H,WAAd,GAA4Bke,IANP;AAO5B3b,qBAAS,EAAG,KAAKpK,QAAL,CAAc6H,WAAd,GAA4BuC,SAPZ;AAQ5BM,uBAAW,EAAG,KAAK1K,QAAL,CAAc6H,WAAd,GAA4B6C,WARd;AAS5B2b,sBAAU,EAAG,KAAKrmB,QAAL,CAAc6H,WAAd,GAA4Bwe,UATb;AAU5Bk8B,oBAAQ,EAAG,KAAKviD,QAAL,CAAc6H,WAAd,GAA4B06C;AAVX,WAAhB,CAAd;AAYA,cAAIp/C,CAAC,GAAG,KAAKoJ,WAAL,CAAiB5I,SAAjB,CAA2B,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC7E,EAAF,IAAQoP,OAAO,CAAC/D,SAApB;AAAA,WAA5B,CAAR;;AACA,cAAIjH,CAAC,GAAG,CAAC,CAAT,EAAY;AACVgL,mBAAO,CAACm0C,WAAR,GAAsB,KAAK/1C,WAAL,CAAiBpJ,CAAjB,EAAoBe,IAA1C;AACD;;AACD,cAAGiK,OAAO,IAAI,KAAKrO,WAAnB,EAA+B;AAC7B,iBAAKsO,iBAAL,CAAuBD,OAAvB;AACD,WAFD,MAGI;AACF,iBAAKrG,YAAL,CAAkBI,QAAlB,CAA2B3D,IAA3B;AACD;AACF;;;0CAEiB8J,M,EAAM;AAAA;;AAEtB,eAAKhP,YAAL,CAAkBiJ,MAAlB,CAAyB+F,MAAzB,EAAiCvM,SAAjC,CAA2C,UAAAC,MAAM,EAAI;AACnD,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAACJ,QAAL;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAACkE,YAAL,CAAkB,QAAI,CAAC9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,oBAAvB,CAArD;;AAEA,sBAAI,CAAC4F,YAAL,CAAkBI,QAAlB,CAA2B3D,IAA3B;AACD,aAND,MAOK;AACH,sBAAI,CAACtC,UAAL,CAAgB,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAAhB,EAAiD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,YAAvB,CAAjD;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAZD;AAaD,S,CAED;AACA;AACA;;;;uCACe;AACb,eAAKa,SAAL,GAAiB,KAAKD,WAAtB,CADa,CAEb;;AACA,eAAKZ,aAAL,GAAqB,SAArB;AACA,eAAKwB,mBAAL;AACD,S,CAED;;;;8CACmB;AAAA;;AACjB,eAAKvC,YAAL,CAAkBwC,UAAlB,CAA6B,KAAKR,YAAlC,EAAgDS,SAAhD,CAA0D,UAAAC,MAAM,EAAI;AAClE,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAACJ,QAAL;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAAC4B,gBAAL;AACD,aAJD,MAKK;AACH,sBAAI,CAACC,UAAL,CAAgB,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAAhB,EAAiD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,cAAvB,CAAjD;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAVD;AAWD,S,CACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;uCACY;AAAA;;AACV,eAAKA,aAAL,GAAqB,SAArB;AACA,eAAK2L,cAAL,CAAoB5J,MAApB,GAA6BL,SAA7B,CACE,UAAA0M,WAAW,EAAI;AACb;AACA,oBAAI,CAACjC,WAAL,GAAmBiC,WAAnB;;AACA,oBAAI,CAAC1C,WAAL,CAAiB3J,MAAjB,GAA0BL,SAA1B,CACE,UAAA2M,QAAQ,EAAI;AACV;AACA,sBAAI,CAACnC,QAAL,GAAgBmC,QAAhB;;AACA,sBAAI,CAAC9M,QAAL;;AACAqX,qBAAO,CAACC,GAAR,CAAY,QAAI,CAAC3M,QAAL,CAAcud,GAAd,CAAkB,UAAA1mB,CAAC;AAAA,uBAAEA,CAAC,CAAC6E,MAAJ;AAAA,eAAnB,CAAZ;AACAgR,qBAAO,CAACC,GAAR,CAAY,QAAI,CAAC1M,WAAL,CAAiBsd,GAAjB,CAAqB,UAAA1mB,CAAC;AAAA,uBAAEA,CAAC,CAAC6E,MAAJ;AAAA,eAAtB,CAAZ;AACD,aAPH;AASD,WAbH;AAeD;;;uCAIcjJ,E,EAAM;AACnB,iBAAO,KAAKwN,WAAL,CAAiBrJ,IAAjB,CAAsB,UAAAC,CAAC;AAAA,mBAAEA,CAAC,CAACpE,EAAF,KAASA,EAAX;AAAA,WAAvB,CAAP;AACD;;;oCACWA,E,EAAM;AAChB,iBAAO,KAAKuN,QAAL,CAAcpJ,IAAd,CAAmB,UAAAC,CAAC;AAAA,mBAAEA,CAAC,CAACpE,EAAF,KAASA,EAAX;AAAA,WAApB,CAAP;AACD;;;uDAE2B;AAAA;;AAC1B,iBAAO,UAACkkD,OAAD,EAAuD;AAE1D,gBAAM/7C,KAAK,GAAG+7C,OAAO,CAAC/7C,KAAtB;;AACA,gBAAI,CAACA,KAAL,EAAY;AACR,qBAAO,IAAP;AACH;;AACD,gBAAG,QAAI,CAAClH,QAAL,CAAczB,GAAd,CAAkB,WAAlB,EAA+B2I,KAA/B,IAAwC,QAAI,CAAClH,QAAL,CAAczB,GAAd,CAAkB,MAAlB,EAA0B2I,KAArE,EAA2E;AACzE,kBAAMg8C,SAAS,GAAG,QAAI,CAACljD,QAAL,CAAczB,GAAd,CAAkB,WAAlB,EAA+B2I,KAA/B,CAAqCkV,QAArC,EAAlB;;AACA,kBAAM+mC,UAAU,GAAG,QAAI,CAACnjD,QAAL,CAAczB,GAAd,CAAkB,MAAlB,EAA0B2I,KAA1B,CAAgCkV,QAAhC,EAAnB;;AACA,kBAAMgnC,QAAQ,GAAIF,SAAS,KAAG,EAAZ,IAAgBC,UAAU,KAAG,UAA9B,IAA8CD,SAAS,KAAG,CAAZ,IAAeC,UAAU,KAAG,SAA3F;AACA,qBAAOC,QAAQ,GAAG;AAACC,qBAAK,EAAC;AAAP,eAAH,GAAkB,IAAjC;AACD;AACJ,WAZD;AAaH;;;mCAwCY;AAAA;;AACT,eAAKjjD,aAAL,GAAqB,SAArB;AACA,eAAKf,YAAL,CAAkB8C,MAAlB,GAA2BL,SAA3B,CACE,UAAAM,IAAI,EAAI;AACN4W,mBAAO,CAACC,GAAR,CAAY7W,IAAZ;AAEA,oBAAI,CAACrC,MAAL,GAAcqC,IAAd;;AACA,oBAAI,CAACC,QAAL;;AACA,oBAAI,CAACC,UAAL;;AACA,oBAAI,CAAClC,aAAL,GAAqB,EAArB;AACD,WARH;AAWD;;;mCAEU;AACT,eAAKE,UAAL,GAAkB,KAAKa,UAAL,CAAgBkB,QAAhB,CAAyB,KAAKb,SAAL,CAAeE,QAAxC,EAAkD,KAAK3B,MAAvD,CAAlB;AACA,eAAKwC,UAAL;AACD;;;0CAEiB;AAChB,eAAKtB,SAAL,GAAiB,KAAKD,WAAtB;AACA,eAAKV,UAAL,GAAkB,KAAKA,UAAL,CAAgBkC,KAAhB,GAAwBC,OAAxB,EAAlB;AACA,eAAKF,UAAL;AACD;;;qCAEY;AACX,eAAKlC,YAAL,GAAoB,KAAKa,YAAL,CAAkBqB,UAAlB,CAA6B,KAAKjB,UAAlC,EAA8C,KAAKzB,cAAnD,EAAmE,KAAKS,UAAxE,CAApB;;AACA,cAAI,KAAKW,SAAL,KAAmB,CAAvB,EAA0B;AACxB,iBAAKyB,YAAL,CAAkB,KAAK/B,YAAvB,EAAqC,CAArC;AACD,WAFD,MAGK;AACH,iBAAK+B,YAAL,CAAkB,KAAK/B,YAAvB,EACEgC,IAAI,CAACC,IAAL,CAAW,KAAKvC,YAAL,CAAkBI,MAAlB,GAA2B,KAAKE,YAA3C,KAA6D,KAAKM,SAAlE,GACE,KAAKA,SADP,GAEE0B,IAAI,CAACC,IAAL,CAAW,KAAKvC,YAAL,CAAkBI,MAAlB,GAA2B,KAAKE,YAA3C,CAHJ;AAKD;;AACD,eAAKM,SAAL,GAAiB,CAAjB;AACD;;;qCAEY4B,e,EAAyBC,c,EAAwB;AAC5D,eAAKnC,YAAL,GAAoBkC,eAApB;AACA,eAAK7B,WAAL,GAAmB8B,cAAnB;AACA,eAAKvC,aAAL,GAAqB,KAAKF,YAAL,CAAkBmC,KAAlB,CAAwB,CAACM,cAAc,GAAG,CAAlB,IAAwBD,eAAhD,EAAmEA,eAAe,GAAGC,cAArF,CAArB;AACD;;;mCAEUC,O,EAAc;AACvB,cAAI,KAAKvB,SAAL,CAAeC,KAAf,KAAyBsB,OAAO,CAACtB,KAArC,EAA4C;AAC1C,iBAAKV,QAAL,GAAgB,CAAC,KAAKA,QAAtB;AACA,gBAAMiC,OAAO,GAAG,KAAKhC,WAArB;AACA,iBAAKiC,eAAL;AACA,iBAAKjC,WAAL,GAAmBgC,OAAnB;AACD,WALD,MAMK;AACH,iBAAKjC,QAAL,GAAgB,IAAhB;AACA,iBAAKS,SAAL,GAAiBuB,OAAjB;AACA,iBAAKV,QAAL;AACD;AACF;;;gCAEOZ,K,EAAY;AAClB,iBAAO,KAAK7B,YAAL,CAAkBsD,IAAlB,CAAuB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC1B,KAAF,KAAYA,KAAhB;AAAA,WAAxB,CAAP;AACD;;;mCAEU2B,K,EAAuB;AAChC,eAAKpC,WAAL,GAAmBoC,KAAK,CAACC,IAAzB;AACA,eAAKX,YAAL,CAAkB,KAAK/B,YAAvB,EAAqC,KAAKK,WAA1C;AACD;;;uCAEc;AACb,eAAKK,YAAL,GAAoB,EAApB;AACA,eAAKR,QAAL,GAAgB,EAAhB;AACA,eAAKC,cAAL,GAAsB,EAAtB;AACA,eAAKyB,UAAL;AACD;;;kCAESe,M,EAAM;AACd,cAAIA,MAAM,CAACC,MAAP,CAAcC,OAAlB,EAA2B;AACzB,iBAAK3C,QAAL,sBAAoB,KAAKR,YAAzB;AACD,WAFD,MAEO;AACL,iBAAKQ,QAAL,GAAgB,EAAhB;AACD;;AACD,eAAK4C,iBAAL;AACD;;;4CAEgB;AACf,cAAI,KAAK5C,QAAL,CAAcJ,MAAd,IAAwB,KAAKJ,YAAL,CAAkBI,MAA9C,EAAsD;AACpD,iBAAKK,cAAL,GAAsB,SAAtB;AACD,WAFD,MAEO,IAAI,KAAKD,QAAL,CAAcJ,MAAd,KAAyB,CAA7B,EAAgC;AACrC,iBAAKK,cAAL,GAAsB,eAAtB;AACD,WAFM,MAEC;AACN,iBAAKA,cAAL,GAAsB,EAAtB;AACD;AACF;;;mCAEU4C,C,EAAc;AACvB,iBAAO,KAAK7C,QAAL,CAAc8C,SAAd,CAAwB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC7E,EAAF,KAAS2E,CAAC,CAAC3E,EAAf;AAAA,WAAzB,IAA8C,CAAC,CAAtD;AACD;;;iCAEQ8E,I,EAAiB;AACxB,cAAI,KAAKC,UAAL,CAAgBD,IAAhB,CAAJ,EAA2B;AACzB,iBAAKhD,QAAL,GAAgB,KAAKA,QAAL,CAAckD,MAAd,CAAqB,UAAAH,CAAC;AAAA,qBAAIA,CAAC,CAAC7E,EAAF,KAAS8E,IAAI,CAAC9E,EAAlB;AAAA,aAAtB,CAAhB;AACD,WAFD,MAEO;AACL,iBAAK8B,QAAL,CAAcmD,IAAd,CAAmBH,IAAnB;AACD;;AACD,eAAKJ,iBAAL;AACD;;;mCAEUQ,I,EAAWxG,I,EAAS;AAC7B,iBAAOwG,IAAI,CAACf,IAAL,CAAU,UAAAU,CAAC;AAAA,mBAAIA,CAAC,CAACM,IAAF,KAAWzG,IAAf;AAAA,WAAX,CAAP;AACD;;;6CAIiB;AAChB,eAAK0C,eAAL,GAAuB,KAAvB;AACA,eAAKL,WAAL,GAAmB,IAAI,wDAAJ,EAAnB;AACA,eAAKE,QAAL,GAAgB,KAAK2H,UAAL,EAAhB;AACA,eAAKG,YAAL,CAAkBzD,IAAlB;AACD;;;yCAEgBtF,E,EAAO;AAAA;;AACtB,eAAKoB,eAAL,GAAuB,MAAvB;AACA,eAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,WAAlB,CAAnB;AACA,0DAAG,KAAKe,WAAR,EAAqBgC,SAArB,CAA+B,UAAAM,IAAI,EAAI;AACrC,oBAAI,CAACtC,WAAL,GAAmBsC,IAAnB;AACD,WAFD;AAGA,eAAKpC,QAAL,GAAgB,KAAK2H,UAAL,EAAhB;AACA,eAAKG,YAAL,CAAkBzD,IAAlB;AACD;;;yCAEgBtF,E,EAAO;AAAA;;AACtB,eAAKoB,eAAL,GAAuB,MAAvB;AACA,eAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,WAAlB,CAAnB;AACA,0DAAG,KAAKe,WAAR,EAAqBgC,SAArB,CAA+B,UAAAM,IAAI,EAAI;AACrC,oBAAI,CAACtC,WAAL,GAAmBsC,IAAnB;AACD,WAFD;AAGA,eAAKpC,QAAL,GAAgB,KAAK2H,UAAL,EAAhB;AACA,eAAKG,YAAL,CAAkBzD,IAAlB;AACD;;;qCAGYtF,E,EAAO;AAClB,cAAIA,EAAE,IAAI,CAAV,EAAa;AACX,iBAAKoB,eAAL,GAAuB,KAAvB;AACA,iBAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,aAAlB,CAAnB;AACA,iBAAKsC,YAAL,GAAoB,CAAC,KAAKtB,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,aAAlB,CAAD,CAApB;AACA,iBAAKqF,QAAL,CAAcC,IAAd;AACD,WALD,MAMK,IAAItF,EAAE,KAAK,UAAX,EAAuB;AAC1B,iBAAKsC,YAAL,sBAAwB,KAAKR,QAA7B;AACA,iBAAKuD,QAAL,CAAcC,IAAd;AACD;AACF;;;2CAKe;AACd,cAAI,KAAKhD,YAAL,CAAkBZ,MAAlB,KAA6B,CAAjC,EAAoC;AAClC,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,QAAQ,KAAKvC,eAApC,CADF;AAED,WAHD,MAIK,IAAI,KAAK0B,YAAL,CAAkBZ,MAAlB,KAA6B,CAAjC,EAAoC;AACvC,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,QAAQ,KAAKvC,eAAb,GAA+B,GAAtD,CADF;AAED,WAHI,MAIA,IAAI,KAAK0B,YAAL,CAAkBZ,MAAlB,GAA2B,CAA3B,IAAgC,KAAKY,YAAL,CAAkBZ,MAAlB,GAA2B,EAA/D,EAAmE;AACtE,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAKb,YAAL,CAAkBZ,MADiC,GACxB,GADwB,GAClB,KAAKjB,SAAL,CAAe0C,OAAf,CAAuB,KAAKvC,eAAL,GAAuB,UAA9C,CADnC;AAED,WAHI,MAIA;AACH,iBAAK2E,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAKb,YAAL,CAAkBZ,MADiC,GACxB,GADwB,GAClB,KAAKjB,SAAL,CAAe0C,OAAf,CAAuB,KAAKvC,eAAL,GAAuB,MAA9C,CADnC;AAED;;AAED,eAAK0B,YAAL,GAAoB,EAApB;AACA,eAAKR,QAAL,GAAgB,EAAhB;AAEA,eAAK4C,iBAAL;;AACA,cAAI,KAAK3C,cAAL,KAAwB,EAA5B,EAAgC;AAC9B,iBAAKJ,YAAL,GAAoB,KAApB;AACD;;AACD,eAAK0D,QAAL,CAAcG,IAAd;AACD;;;qCAEYC,W,EAAqBC,S,EAAiB;AACjD,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBE,OADnB,EAC4B;AAAEC,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD5B;AAED;;;mCACUL,W,EAAqBC,S,EAAiB;AAC/C,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBjH,KADnB,EAC0B;AAAEoH,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD1B;AAED;;;8CACqB;AACpB,eAAKlD,QAAL;AACA,eAAKyC,QAAL,CAAcG,IAAd;AACD;;;sCAEa;AAAA;;AACZ,eAAKlF,YAAL,CAAkB8C,MAAlB,GAA2BL,SAA3B,CACE,UAAAM,IAAI,EAAI;AACN,oBAAI,CAACrC,MAAL,GAAcqC,IAAd;;AACA,oBAAI,CAACE,UAAL;AACD,WAJH;AAMD;;;qCAEY;AAAA;;AACX,cAAMwC,UAAU,GAAG,KAAKxD,UAAxB;AACA,eAAKA,UAAL,GAAkB,EAAlB;AACAyD,oBAAU,CAAC,YAAM;AACf,oBAAI,CAACzD,UAAL,GAAkBwD,UAAlB;AACD,WAFS,EAEP,CAFO,CAAV;AAGD;;;;;;;uBApeUi+C,gB,EAAgB,2H,EAAA,6H,EAAA,wH,EAAA,4I,EAAA,qI,EAAA,mK,EAAA,yK;AAAA,K;;;YAAhBA,gB;AAAgB,kC;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;ACtB7B;;AACI;;AAEI;;AACI;;AACI;;AACI;;;;AAA+C;;AACvD;;AACA;;AACI;;AACI;;AACI;;AAAqC;;;;AAA8B;;AACnE;;AAGA;;AAEA;;AAGA;;AACJ;;AAEA;;AACI;;AAAqC;;;;AAA8B;;AACnE;;AAGA;;AAEA;;AAGA;;AACJ;;AAGA;;AACI;;AAAqC;;;;AAA4B;;AACjE;;AAOA;;AAEA;;AAGA;;AACJ;;AAEA;;AACI;;AAAqC;;;;AAAiC;;AACtE;;AAGA;;AAEA;;AAGA;;AAIA;;AAGJ;;AAEA;;AACI;;AAAqC;;;;AAA4B;;AACjE;;AAGA;;AAEA;;AAGA;;AACJ;;AAEA;;AACI;;AAAqC;;;;AAA+B;;AACpE;;AAUA;;AAEA;;AAGA;;AACJ;;AAEA;;AACI;;AAAqC;;;;AAAmC;;AACxE;;AAGA;;AAEA;;AAGA;;AACJ;;AACA;;AACI;;AAAqC;;;;AAAsB;;AAC3D;;AAGA;;AAEA;;AAGA;;AACJ;;AACA;;AACI;;AAAqC;;;;AAAkC;;AACvE;;AAGA;;AAEA;;AAGA;;AACJ;;AAIA;;AACI;;AAKA;;AAKA;;AAA8B;AAAA;;AAAA;;AAAA,mBAAS,mBAAT;AAAqC,WAArC;;AACoD;;;;AACnE;;AACnB;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAGA;;AACI;;AACI;;AACI;;AAAkE;AAAA;;AAAA;;AAAA,mBAAS,WAAT;AAAwB,WAAxB;;AAE9D;;AAAyB;;AAAO;;AACpC;;AACA;;AACI;;AACI;;;;AACW;;AACnB;;AACA;;AACI;;AAMA;;AAQA;;AACI;;AAA2D;AAAA,mBAAS,IAAA/9C,YAAA,EAAT;AAAuB,WAAvB;;AAEK;;;;AAAwB;;AACxF;;AAA8B;AAAA;;AAAA;;AAAA,mBAAS,WAAT;AAAwB,WAAxB;;AACoD;;;;AACnE;;AACnB;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AAIA;;AA4NA;;AAIA;;AAKA;;AAKA;;AAIA;;;;AA1boB;;AAAA;;AAG0C;;AAAA;;AAED;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAMiC;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAOiC;;AAAA;;AAC1B;;AAAA;;AAOJ;;AAAA;;AAGH;;AAAA;;AAMiC;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAGA;;AAAA;;AAIA;;AAAA;;AAKiC;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAMiC;;AAAA;;AAChC;;AAAA;;AAUE;;AAAA;;AAGH;;AAAA;;AAMiC;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAKiC;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAKiC;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAQI;;AAAA;;AAKA;;AAAA;;AAM0E;;AAAA;;AAmBtF;;AAAA;;AAIiC;;AAAA;;AAM4B;;AAAA;;AAUzD;;AAAA;;AAC4D;;AAAA;;AAEkB;;AAAA;;AAOhG;;AAAA;;AAID;;AAAA;;;;;;;;;;sED5LQ+9C,gB,EAAgB;cAL5B,uDAK4B;eALlB;AACT99C,kBAAQ,EAAE,aADD;AAETC,qBAAW,EAAE,0BAFJ;AAGTC,mBAAS,EAAE,CAAC,0BAAD;AAHF,S;AAKkB,Q;;;;;;;;;;;;;;;;;;gBA8X1B,uD;iBAAU,c,EAAgB;AAAE,sBAAQ;AAAV,W;;;gBAC1B,uD;iBAAU,U;;;;;;;;;;;;;;;;;;;;AErZb;AAAA;;;AAAA;AAAA;AAAA;;QAAam+C,e,GAOT,yBAAY15C,GAAZ,EAAgC;AAAA;;AAC5BA,SAAG,GAAGA,GAAG,GAAEA,GAAF,GAAM,EAAf;AACA,WAAK7K,EAAL,GAAU6K,GAAG,CAAC7K,EAAJ,GAAQ6K,GAAG,CAAC7K,EAAZ,GAAe,CAAzB;AACA,WAAKiJ,MAAL,GAAc4B,GAAG,CAAC5B,MAAJ,GAAY4B,GAAG,CAAC5B,MAAhB,GAAuB,EAArC;AACA,WAAK/H,MAAL,GAAc2J,GAAG,CAAC3J,MAAJ,GAAY2J,GAAG,CAAC3J,MAAhB,GAAuB,EAArC;AACA,WAAKsjD,kBAAL,GAA0B35C,GAAG,CAAC25C,kBAAJ,GAAwB35C,GAAG,CAAC25C,kBAA5B,GAA+C,EAAzE;AACA,WAAKC,sBAAL,GAA8B55C,GAAG,CAAC45C,sBAAJ,GAA4B55C,GAAG,CAAC45C,sBAAhC,GAAuD,EAArF;AACA,WAAKC,cAAL,GAAsB75C,GAAG,CAAC65C,cAAJ,GAAoB75C,GAAG,CAAC65C,cAAxB,GAAuC,IAA7D;AACH,K;;;;;;;;;;;;;;;;;ACfL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAUanyC,iB;AACT,iCAAoBvT,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAGpB,aAAA+rB,SAAA,GAAkB,CAAE3rB,YAAY,CAACC,OAAb,CAAqB,WAArB,CAApB;AAEA,aAAAJ,OAAA,GAAU,yEAAYC,UAAtB;AACC,aAAAC,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AALA;;;;iCAaK;AAEJ,iBAAO,KAAKH,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,gCAC0C,KAAK8rB,SAD/C,GAC2D,KAAKzrB,WADhE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCACOZ,E,EAAS;AAEf,iBAAO,KAAKE,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,iCAC2CH,EAD3C,GACgD,KAAKQ,WADrD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BACMI,O,EAAwB;AAE7B,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,gCAC2C,KAAK8rB,SADhD,GAC6DjrB,OAD7D,EACqE,KAAKR,WAD1E,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BAEMI,O,EAAwB;AAC7B,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,yBAC2Ca,OAD3C,EACmD,KAAKR,WADxD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCAEMI,O,EAAwB;AAC7B,iBAAO,KAAKd,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,gCAC0Ca,OAAO,CAACE,EADlD,GACuD,KAAKV,WAD5D,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;mCAEUI,O,EAA2B;AACpC,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,6BAC8CgB,IAAI,CAACC,SAAL,CAAeJ,OAAf,CAD9C,EACsE,KAAKR,WAD3E,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;;;;;uBAnDQ6S,iB,EAAiB,uH;AAAA,K;;;aAAjBA,iB;AAAiB,eAAjBA,iBAAiB,K;AAAA,kBAFhB;;;;;sEAEDA,iB,EAAiB;cAH7B,wDAG6B;eAHlB;AACVpS,oBAAU,EAAE;AADF,S;AAGkB,Q;;;;;;;;;;;;;;;;;;;;;;ACV9B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;ACYwB;;;;;;AAEI;;;;;;AACJ;;AACkB;;AAAsB;;;;;;AAAtB;;AAAA;;;;;;AAClB;;AAEI;;;;AAA0C;;;;AAA1C;;AAAA;;;;;;AAMJ;;;;;;AAEI;;;;;;AACJ;;AACkB;;AAAsB;;;;;;AAAtB;;AAAA;;;;;;AAClB;;AAEI;;;;AAA0C;;;;AAA1C;;AAAA;;;;;;AAWJ;;AAEI;;AAAkE;;;;;;;;AADlE;;AACA;;AAAA;;;;;;AANJ;;;;AAIA;;AAGJ;;;;;;AALI;;AACA;;AACW;;AAAA;;;;;;AAOX;;AAC8B;;AAAkC;;;;;;AAAlC;;AAAA;;;;;;AAC9B;;AAEI;;;;AAAkD;;;;AAAlD;;AAAA;;;;;;AAMJ;;;;;;AAEI;;;;;;AACJ;;AACkC;;AAAsC;;;;;;AAAtC;;AAAA;;;;;;AAClC;;AAEI;;;;AAAsD;;;;AAAtD;;AAAA;;;;;;;;AAKJ;;AAE8B;AAAA;;AAAA;;AAAA;AAAA;;AACkC;;;;AACjD;;;;;;AAHX;;AAE4D;;AAAA;;;;;;;;AAEhE;;AAE8B;AAAA;;AAAA;;AAAA;AAAA;;AACkC;;;;AAC/C;;;;;;AAHb;;AAE4D;;AAAA;;;;;;AA2BpE;;AACI;;AAAmB;;AAA4C;;AAC/D;;AACJ;;;;;;;;AAFuB;;AAAA;;;;;;AAF3B;;AACI;;AAIJ;;;;;;AAJS;;AAAA;;;;;;AAKT;;AAEI;;AACI;;AAAqD;;;;AAA2C;;AACpG;;AACA;;AACJ;;;;;;AAH6D;;AAAA;;;;;;;;AAiB7E;;AACI;;AAAG;AAAA;;AAAA;;AAAA,yCAAuB,OAAvB;AAA8B,SAA9B;;AAAgC;;AAAI;;AAC3C;;;;;;;;AAwDoC;;AAEI;;AAAoB;;AACZ;;AAEI;AAAA;;AAAA;;AAAA,sCAAsB,UAAtB;AAAgC,SAAhC;;AAC8D;;;;AAEnD;;AAAS;;AAAI;;AACxC;;;;;;AAHgB;;AAAA;;AAA8D;;AAAA;;;;;;;;AAqD1E;;AAA4D;;AAEpD;AAAA;;AAAA;;AAAA;;AAAA,gDAA4B,CAA5B;AAA6B,SAA7B;;AAAgC;;AAAQ;;AAAI;;;;;;;;AAD5C;;AAAA;;AACgC;;AAAA;;;;;;AAJ5C;;AAEI;;AAGJ;;;;;;AAHwB;;AAAA;;;;;;;;AASpC;;AACI;;AACI;;AACI;;AACgC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AADhC;;AAEA;;AACJ;;AACJ;;AACA;;AAAgB;;AAAwC;;AACxD;;AAAgB;;AAA0B;;AAC1C;;AAAgB;;AAA8B;;AAC9C;;AAAgB;;AAAsB;;AACtC;;AAAI;;AAAyC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC0C;;;;AAClE;;AAAS;;AAC9B;;AAAI;;AAAoD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC+B;;;;AAClE;;AAAS;;AAC9B;;AAAI;;AAAmD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC+B;;;;AACjE;;AAAS;;AAClC;;;;;;;;;AAlBgE;;AAAA,8FAAsB,SAAtB,EAAsB,2BAAtB;;AAEhB;;AAAA;;AAG5B;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAER;;AAAA;;AAA+E;;AAAA;;AAG/E;;AAAA;;AAA+E;;AAAA;;AAG/E;;AAAA;;AAA8E;;AAAA;;;;;;;;;;;;;;;;;;;;;;AA7IlH;;AACI;;AACI;;AAEI;;AACI;;AACI;;AACI;;AAAqB;AAAA;;AAAA;;AAAA;AAAA,WAAwB,OAAxB,EAAwB;AAAA;;AAAA;;AAAA;AAAA,SAAxB,EAAwB,QAAxB,EAAwB;AAAA;;AAAA;;AAAA;AAAA,SAAxB;;;;AAArB;;AAEJ;;AACJ;;AACJ;;AACJ;;AAEA;;AACI;;AACI;;AACJ;;AACA;;AACI;;AAEI;AAAA;;AAAA;;AAAA;AAAA;;AAAsE;;;;AAC3D;;AAEnB;;AACJ;;AAEJ;;AAGA;;AAEI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AAEI;;AAGI;AAAA;;AAAA;;AAAA;AAAA;;AAHJ;;AAIA;;AAAmC;;AAAM;;AAC7C;;AACJ;;AACA;;AAGI;;AACJ;;AACA;;AAUJ;;AACJ;;AACJ;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,gBAA5B;AAA4C,SAA5C;;AACjB;;AAEsF;;AAC1F;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,gBAA5B;AAA4C,SAA5C;;AAEf;;;;AACR;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,0BAA5B;AAAsD,SAAtD;;AACjB;;AAEgG;;AACpG;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,0BAA5B;AAAsD,SAAtD;;AAEf;;;;AACR;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,8BAA5B;AAA0D,SAA1D;;AACjB;;AAEoG;;AACxG;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,8BAA5B;AAA0D,SAA1D;;AAEf;;;;AACR;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,0BAA5B;AAAsD,SAAtD;;AACjB;;AAEgG;;AACpG;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,0BAA5B;AAAsD,SAAtD;;AAEf;;;;AACR;;AACA;;AACA;;AACI;;AAEI;;AACI;;;;AACJ;;AACA;;AACI;;AAEI;;AACJ;;AACA;;AAMJ;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AAsBJ;;AACA;;AACI;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAEA;;AAEI;;AAA6E;;AAAM;;AAEnF;;AAEI;;AACI;;AACI;;AACwB;AAAA;;AAAA;;AAAA;AAAA,WAAyB,aAAzB,EAAyB;AAAA;;AAAA;;AAAA;AAAA,SAAzB;;AAKxB;;AACJ;;AACJ;;AACJ;;AAEA;;AAA0E;;AAAM;;AAEpF;;AACJ;;;;;;;;;;;;;;AAlL2E;;AAAA;;AAD9B;;AAcM;;AAAA;;AAAuC;;AAAA;;AAsB1C;;AAAA,kHAAsC,eAAtC,EAAsC,0CAAtC;;AAwB6C;;AAAA;;AAC5D;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAEuE;;AAAA;;AACtE;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAE2E;;AAAA;;AAC1E;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAEuE;;AAAA;;AACtE;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAGJ;;AAAA;;AAIQ;;AAAA;;AAKI;;AAAA;;AAaZ;;AAAA;;AAmDgB;;AAAA,iGAAyB,eAAzB,EAAyB,IAAzB,EAAyB,YAAzB,EAAyB,2BAAzB,EAAyB,cAAzB,EAAyB,oBAAzB,EAAyB,qBAAzB,EAAyB,IAAzB,EAAyB,oBAAzB,EAAyB,IAAzB,EAAyB,wBAAzB,EAAyB,IAAzB,EAAyB,oBAAzB,EAAyB,IAAzB,EAAyB,SAAzB,EAAyB,CAAzB;;;;;;AAoBxC;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AAIA;;;;QDnUSwkD,oB;AACX;AACA;AACA;AACA;AACA,oCAAoBtkD,WAApB,EAAsDC,YAAtD,EAA+FC,QAA/F,EACUC,aADV,EACuDC,SADvD,EACoF;AAAA;;AADhE,aAAAJ,WAAA,GAAAA,WAAA;AAAkC,aAAAC,YAAA,GAAAA,YAAA;AAAyC,aAAAC,QAAA,GAAAA,QAAA;AACrF,aAAAC,aAAA,GAAAA,aAAA;AAA6C,aAAAC,SAAA,GAAAA,SAAA;AAEvD,aAAAmkD,aAAA,GAAuB,gEAAvB;AACA,aAAAjkD,aAAA,GAAqB,OAArB;AACA,aAAAC,eAAA,GAA0B,YAA1B;AACA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,cAAA,GAAiB,CAAC,QAAD,EAAW,QAAX,EAAqB,SAArB,CAAjB;AACA,aAAAC,WAAA,GAA+B,IAAI,gEAAJ,EAA/B;AACA,aAAAC,MAAA,GAA6B,EAA7B,CARoF,CASpF;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,aAAAC,QAAA,GAAsB,IAAI,wDAAJ,CAAc;AAClCjB,YAAE,EAAE,IAAI,0DAAJ,EAD8B;AAElCkB,gBAAM,EAAE,IAAI,0DAAJ,EAF0B;AAGlC+H,gBAAM,EAAE,IAAI,0DAAJ,EAH0B;AAIlCu7C,4BAAkB,EAAE,IAAI,0DAAJ,EAJc;AAKlCC,gCAAsB,EAAE,IAAI,0DAAJ,EALU;AAMlCC,wBAAc,EAAE,IAAI,0DAAJ;AANkB,SAAd,CAAtB;AAyJA,aAAAtjD,eAAA,GAA0B,EAA1B;AACA,aAAAC,aAAA,GAAwB,EAAxB,CA1KoF,CA6KpF;;AACA,aAAAC,YAAA,sBAAmB,KAAKN,MAAxB;AACA,aAAAO,UAAA,sBAAiB,KAAKD,YAAtB;AACA,aAAAE,aAAA,sBAAoB,KAAKF,YAAzB;AACA,aAAAG,MAAA,GAAiB,KAAKT,MAAL,CAAYU,MAAZ,GAAqB,CAAtC;AAEA,aAAAC,YAAA,GAAoB,KAApB;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,kBAAA,GAAqB,CAAC,CAAD,EAAI,EAAJ,EAAQ,EAAR,CAArB;AACA,aAAAC,QAAA,GAAW,EAAX;AACA,aAAAC,cAAA,GAAiB,EAAjB;AAEA,aAAAC,QAAA,GAAoB,IAApB;AAEA,aAAAC,WAAA,GAAc,CAAd;AACA,aAAAC,SAAA,GAAY,CAAZ;AAGA,aAAAC,YAAA,GAAe,IAAI,sFAAJ,EAAf;AACA,aAAAC,UAAA,GAAa,IAAI,kFAAJ,EAAb;AACA,aAAAC,aAAA,GAAgB,IAAI,wFAAJ,EAAhB;AAoJA,aAAAC,YAAA,GAAkC,EAAlC;AAcA,aAAAC,UAAA,GAAkB,EAAlB;AAnWC;;;;mCAwBO;AACN0X,iBAAO,CAACC,GAAR,CAAY,OAAZ;AACAD,iBAAO,CAACC,GAAR,CAAY,KAAKnZ,WAAjB;AAGA,eAAKyB,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACA,eAAKoD,SAAL,GAAiB;AAAEC,iBAAK,EAAE,gBAAT;AAA2BC,oBAAQ,EAAE,KAAKH,IAAL,KAAc,OAAd,GAAwB,QAAxB,GAAmC;AAAxE,WAAjB;AACA,eAAK3B,YAAL,GAAoB,CAClB;AAAE6B,iBAAK,EAAE,gBAAT;AAA2BC,oBAAQ,EAAE,KAAKH,IAAL,KAAc,OAAd,GAAwB,QAAxB,GAAmC;AAAxE,WADkB,EAElB;AAAEE,iBAAK,EAAE,0BAAT;AAAqCC,oBAAQ,EAAE;AAA/C,WAFkB,EAGlB;AAAED,iBAAK,EAAE,8BAAT;AAAyCC,oBAAQ,EAAE;AAAnD,WAHkB,EAIlB;AAAED,iBAAK,EAAE,0BAAT;AAAqCC,oBAAQ,EAAE;AAA/C,WAJkB,CAApB;AAMA,eAAKC,QAAL;AACAqX,iBAAO,CAACC,GAAR,CAAY,KAAKlZ,MAAjB,EAdM,CAeN;AACD;;;qCAES;AACR,iBAAO,KAAKX,WAAL,CAAiB6G,KAAjB,CAAuB;AAC5BlH,cAAE,EAAE,CAAC,KAAKe,WAAL,CAAiBf,EAAjB,IAAuB,CAAvB,GAA2B,KAAKe,WAAL,CAAiBf,EAA5C,GAAiD,CAAlD,CADwB;AAE5BkB,kBAAM,EAAE,CAAC,KAAKH,WAAL,CAAiBG,MAAlB,EAA0B,0DAAW0N,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWE,SAAX,CAAqB,CAArB,CAAtB,CAAnB,CAA1B,CAFoB;AAG5B9F,kBAAM,EAAE,CAAC,KAAKlI,WAAL,CAAiBkI,MAAlB,EAA0B,0DAAW2F,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWC,OAAX,CAAmB,4CAAnB,CAAtB,CAAnB,CAA1B,CAHoB;AAI5B01C,8BAAkB,EAAE,CAAC,KAAKzjD,WAAL,CAAiByjD,kBAAlB,EAAsC,0DAAW51C,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWE,SAAX,CAAqB,CAArB,CAAtB,CAAnB,CAAtC,CAJQ;AAK5B01C,kCAAsB,EAAE,CAAC,KAAK1jD,WAAL,CAAiB0jD,sBAAlB,EAA0C,0DAAW71C,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWE,SAAX,CAAqB,CAArB,CAAtB,CAAnB,CAA1C,CALI;AAM5B21C,0BAAc,EAAE,CAAC,KAAK3jD,WAAL,CAAiB2jD,cAAlB;AANY,WAAvB,CAAP;AAQD;;;oCAEW;AACV;AACA,eAAKrjD,aAAL,GAAqB,SAArB;AAEA,eAAKN,WAAL,GAAmB,IAAI,gEAAJ,EAAnB;AACA,eAAKA,WAAL,CAAiBf,EAAjB,GAAsB,CAAtB;AACA,eAAKe,WAAL,CAAiBG,MAAjB,GAA0B,KAAKD,QAAL,CAAc6H,WAAd,GAA4B5H,MAAtD;AACA,eAAKH,WAAL,CAAiBkI,MAAjB,GAA0B,KAAKhI,QAAL,CAAc6H,WAAd,GAA4BG,MAAtD;AACA,eAAKlI,WAAL,CAAiByjD,kBAAjB,GAAsC,KAAKvjD,QAAL,CAAc6H,WAAd,GAA4B07C,kBAAlE;AACA,eAAKzjD,WAAL,CAAiB0jD,sBAAjB,GAA0C,KAAKxjD,QAAL,CAAc6H,WAAd,GAA4B27C,sBAAtE;AACA,eAAK1jD,WAAL,CAAiB2jD,cAAjB,GAAkC,IAAlC;AAGA,eAAKz1C,gBAAL;AACD;;;2CAEe;AAAA;;AACd,eAAK3O,YAAL,CAAkBgJ,MAAlB,CAAyB,KAAKvI,WAA9B,EAA2CgC,SAA3C,CAAqD,UAAAC,MAAM,EAAI;AAC7D,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAACJ,QAAL;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAACkE,YAAL,CAAkB,QAAI,CAAC9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,mBAAvB,CAArD;;AACA,sBAAI,CAAC4F,YAAL,CAAkBI,QAAlB,CAA2B3D,IAA3B;AACD,aALD,MAMK;AACH,sBAAI,CAACtC,UAAL,CAAgB,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAAhB,EAAiD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,WAAvB,CAAjD;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAXD;AAYD;;;qCAEY;AACX,eAAKa,SAAL,GAAiB,KAAKD,WAAtB;AACA,eAAKZ,aAAL,GAAqB,SAArB;AAEA,cAAI+N,OAAO,GAAG,IAAI,gEAAJ,CAAoB;AAChCpP,cAAE,EAAE,KAAKe,WAAL,CAAiBf,EADW;AAEhCkB,kBAAM,EAAE,KAAKD,QAAL,CAAc6H,WAAd,GAA4B5H,MAFJ;AAGhC+H,kBAAM,EAAE,KAAKhI,QAAL,CAAc6H,WAAd,GAA4BG,MAHJ;AAIhCu7C,8BAAkB,EAAE,KAAKvjD,QAAL,CAAc6H,WAAd,GAA4B07C,kBAJhB;AAKhCC,kCAAsB,EAAE,KAAKxjD,QAAL,CAAc6H,WAAd,GAA4B27C;AALpB,WAApB,CAAd;;AAQA,cAAGr1C,OAAO,IAAI,KAAKrO,WAAnB,EAA+B;AAC7B,iBAAKsO,iBAAL,CAAuBD,OAAvB;AACD,WAFD,MAGI;AACF,iBAAKrG,YAAL,CAAkBI,QAAlB,CAA2B3D,IAA3B;AACD;AACF;;;0CAEiB8J,M,EAAM;AAAA;;AAEtB,eAAKhP,YAAL,CAAkBiJ,MAAlB,CAAyB+F,MAAzB,EAAiCvM,SAAjC,CAA2C,UAAAC,MAAM,EAAI;AACnD,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAACJ,QAAL;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAACkE,YAAL,CAAkB,QAAI,CAAC9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,oBAAvB,CAArD;;AAEA,sBAAI,CAAC4F,YAAL,CAAkBI,QAAlB,CAA2B3D,IAA3B;AACD,aAND,MAOK;AACH,sBAAI,CAACtC,UAAL,CAAgB,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAAhB,EAAiD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,YAAvB,CAAjD;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAZD;AAaD,S,CAED;AACA;AACA;;;;uCACe;AACb,eAAKa,SAAL,GAAiB,KAAKD,WAAtB,CADa,CAEb;;AACA,eAAKZ,aAAL,GAAqB,SAArB;AACA,eAAKwB,mBAAL;AACD,S,CAED;;;;8CACmB;AAAA;;AACjB,eAAKvC,YAAL,CAAkBwC,UAAlB,CAA6B,KAAKR,YAAlC,EAAgDS,SAAhD,CAA0D,UAAAC,MAAM,EAAI;AAClE,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAACJ,QAAL;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAAC4B,gBAAL;AACD,aAJD,MAKK;AACH,sBAAI,CAACC,UAAL,CAAgB,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAAhB,EAAiD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,cAAvB,CAAjD;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAVD;AAWD;;;mCAmDU;AAAA;;AACT,eAAKA,aAAL,GAAqB,SAArB;AACA,eAAKf,YAAL,CAAkB8C,MAAlB,GAA2BL,SAA3B,CACE,UAAAM,IAAI,EAAI;AACN4W,mBAAO,CAACC,GAAR,CAAY7W,IAAZ;AAEA,oBAAI,CAACrC,MAAL,GAAcqC,IAAd;;AACA,oBAAI,CAACC,QAAL;;AACA,oBAAI,CAACC,UAAL;;AACA,oBAAI,CAAClC,aAAL,GAAqB,EAArB;AACD,WARH;AAWD;;;mCAEU;AACT,eAAKE,UAAL,GAAkB,KAAKa,UAAL,CAAgBkB,QAAhB,CAAyB,KAAKb,SAAL,CAAeE,QAAxC,EAAkD,KAAK3B,MAAvD,CAAlB;AACA,eAAKwC,UAAL;AACD;;;0CAEiB;AAChB,eAAKtB,SAAL,GAAiB,KAAKD,WAAtB;AACA,eAAKV,UAAL,GAAkB,KAAKA,UAAL,CAAgBkC,KAAhB,GAAwBC,OAAxB,EAAlB;AACA,eAAKF,UAAL;AACD;;;qCAEY;AACX,eAAKlC,YAAL,GAAoB,KAAKa,YAAL,CAAkBqB,UAAlB,CAA6B,KAAKjB,UAAlC,EAA8C,KAAKzB,cAAnD,EAAmE,KAAKS,UAAxE,CAApB;;AACA,cAAI,KAAKW,SAAL,KAAmB,CAAvB,EAA0B;AACxB,iBAAKyB,YAAL,CAAkB,KAAK/B,YAAvB,EAAqC,CAArC;AACD,WAFD,MAGK;AACH,iBAAK+B,YAAL,CAAkB,KAAK/B,YAAvB,EACEgC,IAAI,CAACC,IAAL,CAAW,KAAKvC,YAAL,CAAkBI,MAAlB,GAA2B,KAAKE,YAA3C,KAA6D,KAAKM,SAAlE,GACE,KAAKA,SADP,GAEE0B,IAAI,CAACC,IAAL,CAAW,KAAKvC,YAAL,CAAkBI,MAAlB,GAA2B,KAAKE,YAA3C,CAHJ;AAKD;;AACD,eAAKM,SAAL,GAAiB,CAAjB;AACD;;;qCAEY4B,e,EAAyBC,c,EAAwB;AAC5D,eAAKnC,YAAL,GAAoBkC,eAApB;AACA,eAAK7B,WAAL,GAAmB8B,cAAnB;AACA,eAAKvC,aAAL,GAAqB,KAAKF,YAAL,CAAkBmC,KAAlB,CAAwB,CAACM,cAAc,GAAG,CAAlB,IAAwBD,eAAhD,EAAmEA,eAAe,GAAGC,cAArF,CAArB;AACD;;;mCAEUC,O,EAAc;AACvB,cAAI,KAAKvB,SAAL,CAAeC,KAAf,KAAyBsB,OAAO,CAACtB,KAArC,EAA4C;AAC1C,iBAAKV,QAAL,GAAgB,CAAC,KAAKA,QAAtB;AACA,gBAAMiC,OAAO,GAAG,KAAKhC,WAArB;AACA,iBAAKiC,eAAL;AACA,iBAAKjC,WAAL,GAAmBgC,OAAnB;AACD,WALD,MAMK;AACH,iBAAKjC,QAAL,GAAgB,IAAhB;AACA,iBAAKS,SAAL,GAAiBuB,OAAjB;AACA,iBAAKV,QAAL;AACD;AACF;;;gCAEOZ,K,EAAY;AAClB,iBAAO,KAAK7B,YAAL,CAAkBsD,IAAlB,CAAuB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC1B,KAAF,KAAYA,KAAhB;AAAA,WAAxB,CAAP;AACD;;;mCAEU2B,K,EAAuB;AAChC,eAAKpC,WAAL,GAAmBoC,KAAK,CAACC,IAAzB;AACA,eAAKX,YAAL,CAAkB,KAAK/B,YAAvB,EAAqC,KAAKK,WAA1C;AACD;;;uCAEc;AACb,eAAKK,YAAL,GAAoB,EAApB;AACA,eAAKR,QAAL,GAAgB,EAAhB;AACA,eAAKC,cAAL,GAAsB,EAAtB;AACA,eAAKyB,UAAL;AACD;;;kCAESe,M,EAAM;AACd,cAAIA,MAAM,CAACC,MAAP,CAAcC,OAAlB,EAA2B;AACzB,iBAAK3C,QAAL,sBAAoB,KAAKR,YAAzB;AACD,WAFD,MAEO;AACL,iBAAKQ,QAAL,GAAgB,EAAhB;AACD;;AACD,eAAK4C,iBAAL;AACD;;;4CAEgB;AACf,cAAI,KAAK5C,QAAL,CAAcJ,MAAd,IAAwB,KAAKJ,YAAL,CAAkBI,MAA9C,EAAsD;AACpD,iBAAKK,cAAL,GAAsB,SAAtB;AACD,WAFD,MAEO,IAAI,KAAKD,QAAL,CAAcJ,MAAd,KAAyB,CAA7B,EAAgC;AACrC,iBAAKK,cAAL,GAAsB,eAAtB;AACD,WAFM,MAEC;AACN,iBAAKA,cAAL,GAAsB,EAAtB;AACD;AACF;;;mCAEU4C,C,EAAkB;AAC3B,iBAAO,KAAK7C,QAAL,CAAc8C,SAAd,CAAwB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC7E,EAAF,KAAS2E,CAAC,CAAC3E,EAAf;AAAA,WAAzB,IAA8C,CAAC,CAAtD;AACD;;;iCAEQ8E,I,EAAqB;AAC5B,cAAI,KAAKC,UAAL,CAAgBD,IAAhB,CAAJ,EAA2B;AACzB,iBAAKhD,QAAL,GAAgB,KAAKA,QAAL,CAAckD,MAAd,CAAqB,UAAAH,CAAC;AAAA,qBAAIA,CAAC,CAAC7E,EAAF,KAAS8E,IAAI,CAAC9E,EAAlB;AAAA,aAAtB,CAAhB;AACD,WAFD,MAEO;AACL,iBAAK8B,QAAL,CAAcmD,IAAd,CAAmBH,IAAnB;AACD;;AACD,eAAKJ,iBAAL;AACD;;;mCAEUQ,I,EAAWxG,I,EAAS;AAC7B,iBAAOwG,IAAI,CAACf,IAAL,CAAU,UAAAU,CAAC;AAAA,mBAAIA,CAAC,CAACM,IAAF,KAAWzG,IAAf;AAAA,WAAX,CAAP;AACD;;;6CAIiB;AAChB,eAAK0C,eAAL,GAAuB,KAAvB;AACA,eAAKL,WAAL,GAAmB,IAAI,gEAAJ,EAAnB;AACA,eAAKE,QAAL,GAAgB,KAAK2H,UAAL,EAAhB;AACA,eAAKG,YAAL,CAAkBzD,IAAlB;AACD;;;yCAEgBtF,E,EAAO;AAAA;;AACtBia,iBAAO,CAACC,GAAR,CAAY,cAAZ;AACAD,iBAAO,CAACC,GAAR,CAAY,KAAKnZ,WAAjB;AACAkZ,iBAAO,CAACC,GAAR,CAAY,KAAKlZ,MAAjB;AAEA,eAAKI,eAAL,GAAuB,MAAvB;AACA,eAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,WAAlB,CAAnB;AACA,0DAAG,KAAKe,WAAR,EAAqBgC,SAArB,CAA+B,UAAAM,IAAI,EAAI;AACrC,oBAAI,CAACtC,WAAL,GAAmBsC,IAAnB;AACD,WAFD;AAGA,eAAKpC,QAAL,GAAgB,KAAK2H,UAAL,EAAhB;AACA,eAAKG,YAAL,CAAkBzD,IAAlB;AACD;;;yCAEgBtF,E,EAAO;AAAA;;AACtB,eAAKoB,eAAL,GAAuB,MAAvB;AACA,eAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,WAAlB,CAAnB;AACA,0DAAG,KAAKe,WAAR,EAAqBgC,SAArB,CAA+B,UAAAM,IAAI,EAAI;AACrC,oBAAI,CAACtC,WAAL,GAAmBsC,IAAnB;AACD,WAFD;AAGA,eAAKpC,QAAL,GAAgB,KAAK2H,UAAL,EAAhB;AACA,eAAKG,YAAL,CAAkBzD,IAAlB;AACD;;;qCAGYtF,E,EAAO;AAClB,cAAIA,EAAE,IAAI,CAAV,EAAa;AACX,iBAAKoB,eAAL,GAAuB,KAAvB;AACA,iBAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,aAAlB,CAAnB;AACA,iBAAKsC,YAAL,GAAoB,CAAC,KAAKtB,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,aAAlB,CAAD,CAApB;AACA,iBAAKqF,QAAL,CAAcC,IAAd;AACD,WALD,MAMK,IAAItF,EAAE,KAAK,UAAX,EAAuB;AAC1B,iBAAKsC,YAAL,sBAAwB,KAAKR,QAA7B;AACA,iBAAKuD,QAAL,CAAcC,IAAd;AACD;AACF;;;2CAKe;AACd,cAAI,KAAKhD,YAAL,CAAkBZ,MAAlB,KAA6B,CAAjC,EAAoC;AAClC,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,QAAQ,KAAKvC,eAApC,CADF;AAED,WAHD,MAIK,IAAI,KAAK0B,YAAL,CAAkBZ,MAAlB,KAA6B,CAAjC,EAAoC;AACvC,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,QAAQ,KAAKvC,eAAb,GAA+B,GAAtD,CADF;AAED,WAHI,MAIA,IAAI,KAAK0B,YAAL,CAAkBZ,MAAlB,GAA2B,CAA3B,IAAgC,KAAKY,YAAL,CAAkBZ,MAAlB,GAA2B,EAA/D,EAAmE;AACtE,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAKb,YAAL,CAAkBZ,MADiC,GACxB,GADwB,GAClB,KAAKjB,SAAL,CAAe0C,OAAf,CAAuB,KAAKvC,eAAL,GAAuB,UAA9C,CADnC;AAED,WAHI,MAIA;AACH,iBAAK2E,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAKb,YAAL,CAAkBZ,MADiC,GACxB,GADwB,GAClB,KAAKjB,SAAL,CAAe0C,OAAf,CAAuB,KAAKvC,eAAL,GAAuB,MAA9C,CADnC;AAED;;AAED,eAAK0B,YAAL,GAAoB,EAApB;AACA,eAAKR,QAAL,GAAgB,EAAhB;AAEA,eAAK4C,iBAAL;;AACA,cAAI,KAAK3C,cAAL,KAAwB,EAA5B,EAAgC;AAC9B,iBAAKJ,YAAL,GAAoB,KAApB;AACD;;AACD,eAAK0D,QAAL,CAAcG,IAAd;AACD;;;qCAEYC,W,EAAqBC,S,EAAiB;AACjD,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBE,OADnB,EAC4B;AAAEC,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD5B;AAED;;;mCACUL,W,EAAqBC,S,EAAiB;AAC/C,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBjH,KADnB,EAC0B;AAAEoH,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD1B;AAED;;;8CACqB;AACpB,eAAKlD,QAAL;AACA,eAAKyC,QAAL,CAAcG,IAAd;AACD;;;sCAEa;AAAA;;AACZ,eAAKlF,YAAL,CAAkB8C,MAAlB,GAA2BL,SAA3B,CACE,UAAAM,IAAI,EAAI;AACN,oBAAI,CAACrC,MAAL,GAAcqC,IAAd;;AACA,oBAAI,CAACE,UAAL;AACD,WAJH;AAMD;;;qCAEY;AAAA;;AACX,cAAMwC,UAAU,GAAG,KAAKxD,UAAxB;AACA,eAAKA,UAAL,GAAkB,EAAlB;AACAyD,oBAAU,CAAC,YAAM;AACf,oBAAI,CAACzD,UAAL,GAAkBwD,UAAlB;AACD,WAFS,EAEP,CAFO,CAAV;AAGD;;;;;;;uBAraU4+C,oB,EAAoB,2H,EAAA,qI,EAAA,wH,EAAA,4I,EAAA,sI;AAAA,K;;;YAApBA,oB;AAAoB,uC;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;ACpBjC;;AACI;;AAEI;;AACI;;AACI;;AACI;;;;AAA+C;;AACvD;;AACA;;AACI;;AACI;;AACI;;AAAqC;;;;AAAkC;;AACvE;;AAGA;;AAEA;;AAGA;;AACJ;;AAEA;;AACI;;AAAqC;;;;AAAkC;;AACvE;;AAGA;;AAEA;;AAGA;;AACJ;;AAGA;;AACI;;AAAqC;;;;AAA0C;;AAC/E;;AAWA;;AAEA;;AAGA;;AACJ;;AAEA;;AACI;;AAAqC;;;;AAA8C;;AACnF;;AAGA;;AAEA;;AAGA;;AACJ;;AAEA;;AACI;;AAKA;;AAKA;;AAA8B;AAAA;;AAAA;;AAAA,mBAAS,mBAAT;AAAqC,WAArC;;AACoD;;;;AACnE;;AACnB;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAGA;;AACI;;AACI;;AACI;;AAAkE;AAAA;;AAAA;;AAAA,mBAAS,WAAT;AAAwB,WAAxB;;AAE9D;;AAAyB;;AAAO;;AACpC;;AACA;;AACI;;AACI;;;;AACW;;AACnB;;AACA;;AACI;;AAMA;;AAQA;;AACI;;AAA2D;AAAA,mBAAS,IAAA1+C,YAAA,EAAT;AAAuB,WAAvB;;AAEK;;;;AAAwB;;AACxF;;AAA8B;AAAA;;AAAA;;AAAA,mBAAS,WAAT;AAAwB,WAAxB;;AACoD;;;;AACnE;;AACnB;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AAIA;;AA4LA;;AAIA;;AAKA;;AAKA;;AAIA;;;;AAhVoB;;AAAA;;AAG0C;;AAAA;;AAED;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAMiC;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAOiC;;AAAA;;AAC1B;;AAAA;;AAWJ;;AAAA;;AAGH;;AAAA;;AAMiC;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAMI;;AAAA;;AAKA;;AAAA;;AAM0E;;AAAA;;AAmBtF;;AAAA;;AAIiC;;AAAA;;AAM4B;;AAAA;;AAUzD;;AAAA;;AAC4D;;AAAA;;AAEkB;;AAAA;;AAOhG;;AAAA;;AAID;;AAAA;;;;;;;;;;sEDpHQ0+C,oB,EAAoB;cALhC,uDAKgC;eALtB;AACTz+C,kBAAQ,EAAE,kBADD;AAETC,qBAAW,EAAE,+BAFJ;AAGTC,mBAAS,EAAE,CAAC,+BAAD;AAHF,S;AAKsB,Q;;;;;;;;;;;;;;gBA2T9B,uD;iBAAU,c,EAAgB;AAAE,sBAAQ;AAAV,W;;;gBAC1B,uD;iBAAU,U;;;;;;;;;;;;;;;;;;;;AEhVb;AAAA;;;AAAA;AAAA;AAAA;;QAAay+C,e,GAaT,yBAAYh6C,GAAZ,EAAgC;AAAA;;AAC5BA,SAAG,GAAGA,GAAG,GAAEA,GAAF,GAAM,EAAf;AACA,WAAK7K,EAAL,GAAU6K,GAAG,CAAC7K,EAAJ,GAAQ6K,GAAG,CAAC7K,EAAZ,GAAe,CAAzB;AACA,WAAKiJ,MAAL,GAAc4B,GAAG,CAAC5B,MAAJ,GAAY4B,GAAG,CAAC5B,MAAhB,GAAuB,EAArC;AACA,WAAK/H,MAAL,GAAc2J,GAAG,CAAC3J,MAAJ,GAAY2J,GAAG,CAAC3J,MAAhB,GAAuB,EAArC;AACA,WAAK4jD,OAAL,GAAej6C,GAAG,CAACi6C,OAAJ,GAAaj6C,GAAG,CAACi6C,OAAjB,GAAyB,EAAxC;AACA,WAAKC,KAAL,GAA0Bl6C,GAAG,CAACk6C,KAAJ,GAAwBl6C,GAAG,CAACk6C,KAA5B,GAAiD,EAA3E;AACA,WAAKp/B,IAAL,GAA0B9a,GAAG,CAAC8a,IAAJ,GAAwB9a,GAAG,CAAC8a,IAA5B,GAAiD,EAA3E;AACA,WAAKq/B,kBAAL,GAA0Bn6C,GAAG,CAACm6C,kBAAJ,GAAwBn6C,GAAG,CAACm6C,kBAA5B,GAAiD,EAA3E;AACA,WAAKC,eAAL,GAA0Bp6C,GAAG,CAACo6C,eAAJ,GAAwBp6C,GAAG,CAACo6C,eAA5B,GAAiD,EAA3E;AACA,WAAKC,SAAL,GAA0Br6C,GAAG,CAACq6C,SAAJ,GAAwBr6C,GAAG,CAACq6C,SAA5B,GAAiD,EAA3E;AACA,WAAKC,aAAL,GAA0Bt6C,GAAG,CAACs6C,aAAJ,GAAwBt6C,GAAG,CAACs6C,aAA5B,GAAiD,EAA3E;AACA,WAAKC,cAAL,GAA0Bv6C,GAAG,CAACu6C,cAAJ,GAAwBv6C,GAAG,CAACu6C,cAA5B,GAAiD,EAA3E;AACA,WAAKC,YAAL,GAA0Bx6C,GAAG,CAACw6C,YAAJ,GAAwBx6C,GAAG,CAACw6C,YAA5B,GAAiD,EAA3E;AACH,K;;;;;;;;;;;;;;;;;AC3BL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAUaC,iB;AACT,iCAAoBtmD,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAIpB,aAAAC,OAAA,GAAU,yEAAYC,UAAtB;AACC,aAAAC,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AAJA;;;;iCAYK;AAEJ,iBAAO,KAAKH,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,qBACqC,KAAKK,WAD1C,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCACOZ,E,EAAS;AAEf,iBAAO,KAAKE,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,6BACuCH,EADvC,GAC4C,KAAKQ,WADjD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BACMI,O,EAAwB;AAE7B,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,qBACuCa,OADvC,EAC+C,KAAKR,WADpD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BAEMI,O,EAAwB;AAC7B,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,qBACuCa,OADvC,EAC+C,KAAKR,WADpD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCAEMI,O,EAAwB;AAC7B,iBAAO,KAAKd,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,4BACsCa,OAAO,CAACE,EAD9C,GACmD,KAAKV,WADxD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;;;;;uBA5CQ4lD,iB,EAAiB,uH;AAAA,K;;;aAAjBA,iB;AAAiB,eAAjBA,iBAAiB,K;AAAA,kBAFhB;;;;;sEAEDA,iB,EAAiB;cAH7B,wDAG6B;eAHlB;AACVnlD,oBAAU,EAAE;AADF,S;AAGkB,Q;;;;;;;;;;;;;;;;;;;;;;ACV9B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;ACgB4B;;AAAwD;;AAEhD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA8B;;;;AAAqD;;AAAI;;;;;;;;AADvF;;AAAA;;AAC8B;;AAAA;;;;;;AAJ1C;;AAEI;;AAGJ;;;;;;AAHwB;;AAAA;;;;QDNnColD,mB;AAGX,mCAAoBC,OAApB,EAA+C;AAAA;;AAA3B,aAAAA,OAAA,GAAAA,OAAA;AADpB,aAAAhjD,IAAA,GAAe,EAAf;AAWA,aAAAijD,cAAA,GAAiC,IAAK,gEAAL,CAAqB;AAACzlD,YAAE,EAAE,CAAL;AAAQiJ,gBAAM,EAAE,SAAhB;AAA2B/H,gBAAM,EAAE,SAAnC;AAA8C4jD,iBAAO,EAAE;AAAvD,SAArB,CAAjC;AACA,aAAAY,cAAA,GAAmC,EAAnC;AAEA,aAAAvJ,uBAAA,GAA0B,KAA1B,CAb+C,CAC7C;;AACA,aAAK35C,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACA;;;;mCAEM;AACN,eAAKsmD,WAAL;AACD,S,CASD;;;;sCACc7M,G,EAAmB;AAC/B7+B,iBAAO,CAACC,GAAR,CAAY4+B,GAAZ;AACA,eAAK2M,cAAL,GAAsB3M,GAAtB,CAF+B,CAG/B;;AACA15C,sBAAY,CAACwmD,UAAb,CAAwB,WAAxB;AACAxmD,sBAAY,CAACymD,OAAb,CAAqB,WAArB,EAAiC/M,GAAG,CAAC94C,EAAJ,CAAOqd,QAAP,EAAjC;AACAje,sBAAY,CAACymD,OAAb,CAAqB,eAArB,EAAqC/M,GAAG,CAAC7vC,MAAJ,CAAWoU,QAAX,EAArC;AACAje,sBAAY,CAACymD,OAAb,CAAqB,eAArB,EAAqC/M,GAAG,CAAC53C,MAAJ,CAAWmc,QAAX,EAArC;AACD;;;sCACa;AAAA;;AACZ,eAAKmoC,OAAL,CAAapiD,MAAb,GAAsBL,SAAtB,CACE,UAAAM,IAAI,EAAI;AACN,oBAAI,CAACqiD,cAAL,GAAsBriD,IAAtB;AACA,gBAAIyiD,MAAM,GAAG1mD,YAAY,CAACC,OAAb,CAAqB,WAArB,CAAb;;AACA,gBAAGymD,MAAM,IAAI,IAAV,IAAmBA,MAAM,IAAI52C,SAAhC,EAA0C;AACxC9P,0BAAY,CAACymD,OAAb,CAAqB,WAArB,EAAiC,QAAI,CAACH,cAAL,CAAoB,CAApB,EAAuB1lD,EAAvB,CAA0Bqd,QAA1B,EAAjC;AACAje,0BAAY,CAACymD,OAAb,CAAqB,eAArB,EAAqC,QAAI,CAACH,cAAL,CAAoB,CAApB,EAAuBz8C,MAAvB,CAA8BoU,QAA9B,EAArC;AACAje,0BAAY,CAACymD,OAAb,CAAqB,eAArB,EAAqC,QAAI,CAACH,cAAL,CAAoB,CAApB,EAAuBxkD,MAAvB,CAA8Bmc,QAA9B,EAArC;AACD;;AACDpD,mBAAO,CAACC,GAAR,CAAY7W,IAAZ;AACD,WAVH;AAYD;;;;;;;uBA1CUkiD,mB,EAAmB,qI;AAAA,K;;;YAAnBA,mB;AAAmB,sC;AAAA,e;AAAA,a;AAAA,i2B;AAAA;AAAA;ACTxB;;AACI;;;;AACJ;;AACA;;AAEI;;AACI;;AACI;;AACI;;AAGI;;AAA+D;;AACnE;;AACA;;AAMJ;;AACJ;;AACJ;;AACJ;;;;AArBI;;AAAA;;AAGA;;AAAA;;AAOgB;;AAAA;;;;;;;;;;sEDFfA,mB,EAAmB;cAL/B,uDAK+B;eALrB;AACTr/C,kBAAQ,EAAE,iBADD;AAETC,qBAAW,EAAE,8BAFJ;AAGTC,mBAAS,EAAE,CAAC,8BAAD;AAHF,S;AAKqB,Q;;;;;;;;;;;;;;;;;;;;;;AEPhC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;ACsBsB;;AAEA;;AACE;;;;;;AAFF;;AACA;;AAAA;;;;;;AA2BE;;AAA4D;;AAAa;;;;;;AAA/B;;AAAkB;;AAAA;;;;;;AAahE;;AAAgE;;AAA0C;;;;;;;;AAA5D;;AAAkB;;AAAA;;;;;;;;AAzDhF;;AACI;;AACI;;AACA;;AAAI;;;;AAAsC;;AAC1C;;AACA;;AACI;;AACI;;AAAO;;;;AAAkC;;AACzC;;AACJ;;AACA;;AACI;;AAAO;;;;AAA4B;;AACnC;;AAGE;;AAIF;;AACJ;;AAOJ;;AACA;;AACI;;AACI;;AAAQ;;;;AAA4B;;AACpC;;AACJ;;AACA;;AACI;;AAA4B;;;;AAAuC;;AACnE;;AACJ;;AAEJ;;AACA;;AACI;;AACI;;AAAwB;;;;AAAgC;;AACxD;;AAAyC;AAAA;;AAAA;;AAAA;AAAA;;AACrC;;AAAoC;;;;AAA8B;;AAClE;;AACJ;;AACJ;;AACA;;AACI;;AAA4B;;;;AAA+B;;AAC3D;;AACJ;;AACJ;;AACJ;;AACI;;AACI;;AAAwB;;;;AAA0B;;AAClD;;AAA0C;AAAA;;AAAA;;AAAA;AAAA;;AACtC;;AAAoC;;;;AAAwB;;AAC5D;;AACJ;;AACJ;;AACA;;AACI;;AAAwB;;;;AAAwB;;AAChD;;AACI;;AAAmB;;;;AAAuB;;AAC1C;;AAAmB;;;;AAA0B;;AAC7C;;AAAmB;;;;AAA2B;;AAClD;;AACJ;;AAQJ;;AACI;;AACI;;AACI;;AAAyB;;;;AAAgC;;AACzD;;AACJ;;AAEA;;AACI;;AAA4B;;;;AAA4B;;AACxD;;AAA6C;AAAA;;AAAA;;AAAA;AAAA;;AAA7C;;AACJ;;AAEJ;;AAEJ;;AAED;;;;;;AA3FuB;;AAGd;;AAAA;;AAIW;;AAAA;;AAIA;;AAAA;;AAIM;;AAAA;;AAeL;;AAAA;;AAIoB;;AAAA;;AAOJ;;AAAA;;AAEgB;;AAAA;;AAC5B;;AAAA;;AAIgB;;AAAA;;AAMR;;AAAA;;AAEgB;;AAAA;;AAC5B;;AAAA;;AAIY;;AAAA;;AAED;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAaM;;AAAA;;AAKG;;AAAA;;;;;;AA0BhC;;AAEA;;AACE;;;;;;;;AAFF;;AACA;;AAAA;;;;;;AAiDwB;;AACA;;AAAgH;;AAAuB;;AACvI;;;;;;AADgH;;AAAA;;;;;;;;AAXxH;;AACI;;AAAgB;;AAAW;;AAC3B;;AAAI;;AAAc;;AAClB;;AAAgB;;;;AAAqB;;AACrC;;AAAI;;AAAmC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAmE;;AAA1G;;AACA;;AAAI;;AAAc;;AAClB;;AAAI;;AAAmB;;AACvB;;AAAI;;AAAoC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAoE;;AAA5G;;AACA;;AAAI;;AAA2B;;AAC/B;;AACI;;AAGA;;AACI;;AAA6B;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAuC;;AAA+C;;AACvH;;AAAyC;;AAC7C;;AACA;;AAAI;;AAAiB;;AAErB;;AAAI;;AAA2B;;AACnC;;;;;;AAnBoB;;AAAA;;AACZ;;AAAA;;AACY;;AAAA;;AAEZ;;AAAA;;AACA;;AAAA;;AAEA;;AAAA;;AAEK;;AAAA;;AAOL;;AAAA;;AAEA;;AAAA;;;;;;;;AA7EjC;;AACC;;AACI;;AACI;;AAAwB;;;;AAAwB;;AASlD;;AAEE;;AAAiC;AAAA;;AAAA;;AAAA;AAAA;;AAGjC;;AAIF;;AACE;;AACE;;AAA8C;AAAA;;AAAA;;AAAA;AAAA;;AAA+B;;;;AAAmB;;AAClG;;AACF;;AAKF;;AACA;;AACI;;AACI;;AAEI;;AACI;;AACI;;AACI;;AAAgB;;AAAC;;AACjB;;AAAgB;;;;AAAqB;;AACrC;;AAAgB;;;;AAAqB;;AACrC;;AAAgB;;;;AAAyB;;AACzC;;AAAgB;;;;AAA0B;;AAC1C;;AAAgB;;;;AAA4B;;AAC5C;;AAAgB;;;;AAAyB;;AACzC;;AAAgB;;;;AAAqC;;AACrD;;AAAgB;;;;AAAoB;;AACpC;;AAAgB;;;;AAA0B;;AAC1C;;AAAgB;;;;AAA0B;;AAC9C;;AACJ;;AACA;;AAOI;;AAqBJ;;AACJ;;AAEJ;;AAEJ;;AACJ;;AACA;;AACI;;AACA;;AACI;;AAAI;;;;AAAwC;;AAC5C;;AAAI;;AAAuB;;AAC/B;;AAEA;;AACI;;AAAI;;;;AAA0B;;AAC9B;;AAAI;;AAAY;;AACpB;;AACA;;AACI;;AAAI;;;;AAAsB;;AAC1B;;AAAI;;AAAiB;;AACzB;;AACJ;;AACA;;AACJ;;AAER;;;;;;AAzG8B;;AAGU;;AAAA;;AAcb;;AAAA;;AAMoE;;AAAA;;AAgB3C;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAUhB;;AAAA;;AA+BZ;;AAAA;;AACA;;AAAA;;AAIA;;AAAA;;AACA;;AAAA;;AAGA;;AAAA;;AACA;;AAAA;;;;;;AAcZ;;AAEA;;AACE;;;;;;;;AAFF;;AACA;;AAAA;;;;;;AAUT;;AACC;;AACA;;AAEI;;AAEI;;AACI;;AAAgB;;;;AAAyB;;AACzC;;AAAI;;AAAQ;;AAChB;;AACA;;AACI;;AAAgB;;;;AAAgC;;AAChD;;AAAI;;AAAc;;AACtB;;AACA;;AACI;;AAAgB;;;;AAA+B;;AAC/C;;AAAI;;AAAa;;AACrB;;AACJ;;AACJ;;AAEA;;AACD;;;;;;AAf6B;;AAAA;;AACZ;;AAAA;;AAGY;;AAAA;;AACZ;;AAAA;;AAGY;;AAAA;;AACZ;;AAAA;;;;;;;;AAiBZ;;AAAmC;AAAA;;AAAA;;AAAA;AAAA,WAAyB,eAAzB,EAAyB;AAAA;;AAAA;;AAAA;AAAA,SAAzB;;AACnC;;;;;;AAD6D,iGAA0B,OAA1B,EAA0B,cAA1B;;;;;;;;AAE7D;;AAAkC;AAAA;;AAAA;;AAAA;AAAA,WAAyB,eAAzB,EAAyB;AAAA;;AAAA;;AAAA;AAAA,SAAzB;;AACpC;;;;;;AAD8D,iGAA0B,OAA1B,EAA0B,cAA1B;;;;;;;;AAcpD;;AACI;;AAAoC;;AAAS;;AAC7C;;AACI;;AACJ;;AAEA;;AAAwB;;AAAO;AAAA;;AAAA;AAAA;AAAA,WAA0B,QAA1B,EAA0B;AAAA;;AAAA;;AAAA;;AAAA;AAAA,SAA1B;;AAA+G;;AAA9I;;AACA;;AAAwB;;AAAO;AAAA;;AAAA;AAAA;AAAA,WAAyB,QAAzB,EAAyB;AAAA;;AAAA;;AAAA;;AAAA;AAAA,SAAzB;;AAA0H;;AAAzJ;;AACA;;AACI;;AAAuD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;;;AAAiC;;AAAiC;;AAC7H;;AACJ;;;;;;;;;AAVwC;;AAAA;;AAEhC;;AAAA;;AAG2B;;AAAA,8FAA0B,KAA1B,EAA0B,GAA1B;;AACA;;AAAA,6FAAyB,KAAzB,EAAyB,oBAAzB;;AAEL;;AAAA;;;;;;AAQ9C;;AACI;;AACI;;AACA;;AAAI;;;;AAA2B;;AAC/B;;AACA;;AACG;;AACI;;AAA4B;;;;AAA6B;;AACzD;;AACJ;;AACC;;AACI;;AAAO;;;;AAAmC;;AAC1C;;AACJ;;AAGJ;;AAEA;;AACG;;AACI;;AAA4B;;;;AAAqC;;AACjE;;AACJ;;AACC;;AACI;;AAAO;;;;AAA8B;;AACrC;;AACJ;;AAGJ;;AACA;;AAEI;;AACI;;AAAO;;;;AAAgC;;AACvC;;AACJ;;AAGJ;;AAEJ;;AAGD;;;;;;AA3CwB;;AAGf;;AAAA;;AAI+B;;AAAA;;AAIpB;;AAAA;;AASoB;;AAAA;;AAIpB;;AAAA;;AASA;;AAAA;;;;;;AAWpB;;AACC;;AACI;;AACA;;AAAI;;;;AAA4B;;AAChC;;AACA;;AACG;;AACI;;AAA4B;;;;AAA4B;;AACxD;;AACJ;;AACC;;AACI;;AAAO;;;;AAA6B;;AACpC;;AACJ;;AAGJ;;AAEA;;AACG;;AACI;;AAA4B;;;;AAAiC;;AAC7D;;AACJ;;AACC;;AACI;;AAAO;;;;AAA+B;;AACtC;;AACJ;;AAGJ;;AACA;;AACG;;AACI;;AAA4B;;;;AAAgC;;AAC5D;;AACJ;;AACC;;AACI;;AAAO;;;;AAA8B;;AACrC;;AACJ;;AAGJ;;AACA;;AACG;;AACI;;AAA4B;;;;AAAqC;;AACjE;;AACJ;;AACH;;AACJ;;AAGD;;;;;;AAnD4B;;AAGnB;;AAAA;;AAI+B;;AAAA;;AAIpB;;AAAA;;AASoB;;AAAA;;AAIpB;;AAAA;;AAQoB;;AAAA;;AAIpB;;AAAA;;AAQoB;;AAAA;;;;;;AA8gBf;;AAEI;;AAAgB;;AAAW;;AAC3B;;AAAI;;AAAmB;;AACvB;;AAAI;;AAAiB;;AAGzB;;;;;;AALoB;;AAAA;;AACZ;;AAAA;;AACA;;AAAA;;;;;;;;AAjChC;;AACI;;AAAI;;;;AAA6C;;AACjD;;AACI;;AAEA;AAAA;;AAAA;;AAAA;AAAA,WAAoC,QAApC,EAAoC;AAAA;;AAAA;;AAAA;AAAA,SAApC,EAAoC,eAApC,EAAoC;AAAA;;AAAA;;AAAA;AAAA,SAApC;;AAKA;;AACF;;AACA;;AACA;;AACE;;AACI;;AAEI;;AACI;;AACI;;AACI;;AAAgB;;AAAC;;AACjB;;AAAgB;;;;AAAoB;;AACpC;;AAAgB;;;;AAA0B;;AAC9C;;AACJ;;AACA;;AAII;;AASJ;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;;;;;AA1CQ;;AAAA;;AAEY;;AAAA,6FAAmB,QAAnB,EAAmB,gBAAnB,EAAmB,cAAnB,EAAmB,IAAnB,EAAmB,WAAnB,EAAmB,aAAnB,EAAmB,SAAnB,EAAmB,yBAAnB;;AAkBwB;;AAAA;;AACA;;AAAA;;AAOhB;;AAAA;;;;;;AA6HH;;AAC8B;;;;;;;AADvB;;AACP;;;;;;AAwBA;;AAC8B;;;;;;;AADvB;;AACP;;;;;;AA6FC;;AAIE;;AACF;;;;;;;;AAHE;;AAEA;;AAAA;;;;;;AAeF;;AAIE;;AACF;;;;;;;;AAHE;;AAEA;;AAAA;;;;;;AAiBJ;;AASE;;;;AACF;;;;AADE;;AAAA;;;;;;AAWJ;;AASE;;;;AACF;;;;AADE;;AAAA;;;;;;AAmCF;;AASE;;;;AACF;;;;AADE;;AAAA;;;;;;AAcA;;AAIE;;AACF;;;;;;;;AAHE;;AAEA;;AAAA;;;;;;;;AA5VtB;;AACI;;AACI;;AAEA;;AACE;;AACE;;;;AAEE;;AACE;;AAIE;;AACE;;AACI;;AAAwB;;;;AAA6B;;AACrD;;;;AAOF;;AAEF;;AACE;;AAAwB;;;;AAAwB;;AAChD;;;;AAiBF;;AAGA;;AACE;;AAAwB;;;;AAEtB;;AAEF;;;;AAaF;;AAGA;;AACE;;AAAwB;;;;AAA2B;;AAEnD;;;;AAOF;;AAGF;;AACE;;AAAwB;;;;AAEtB;;AACF;;AAOA;AAAA;;AAAA;;AAAA;AAAA;;AACA;;AAEA;;AAMA;;AAEF;;AAGA;;AACE;;AAAwB;;;;AAEtB;;AACF;;AAOA;AAAA;;AAAA;;AAAA;AAAA;;AACA;;AAEA;;AAMA;;AAEF;;AAEA;;AACE;;AAIA;;AAMA;;AACG;;;;AACH;;AACF;;AACA;;AAEC;;AACG;;AAGE;;AAMA;;AACG;;;;AACH;;AACM;;AACX;;AAED;;AACA;;AAEF;;AACF;;AACF;;AACF;;AACF;;AACJ;;AACA;;AAEI;;AACI;;AACI;;;;AACJ;;AACA;;AACE;;AACE;;AACE;;AAAwB;;;;AAEtB;;AACF;;;;AAOF;;AACA;;AACE;;AAAwB;;;;AAA6B;;AACrD;;AAKE;AAAA;;AAAA;;AAAA;AAAA;;;;AALF;;AAQF;;AACF;;AAEC;;AACG;;AACE;;AAAwB;;;;AAA8B;;AACtD;;AAME;;AACE;;;;AACF;;AACA;;AAMF;;AACF;;AAEA;;AACE;;AAAwB;;;;AAA+B;;AACvD;;AAKE;;AACE;;;;AACF;;AACA;;AAMF;;AACF;;AACF;;AAEA;;AACE;;AACE;;AAAwB;;;;AAEtB;;AACF;;;;AAMA;;AAWF;;AACF;;AACE;;AAAwB;;;;AAA4B;;AACpD;;;;AAMA;;AAWF;;AAEA;;AACE;;AAAwB;;;;AAAgC;;AACxD;;AAKA;;AACE;;;;AACF;;AACE;;AACE;;;;AACF;;AAGF;;AACF;;AACF;;AAEA;;AACE;;AACE;;AAAwB;;;;AAEtB;;AACF;;AAKE;AAAA;;AAAA;;AAAA;AAAA;;;;AALF;;AAOA;;AAWF;;AAEA;;AACE;;AAAwB;;;;AAA4B;;AACpD;;AAKE;;AACE;;;;AACF;;AACA;;AAMF;;AACF;;AACF;;AACV;;AACA;;AACA;;AAEQ;;AACF;;AACF;;AACJ;;AACI;;AACJ;;AACA;;AAEF;;;;;;AAxWkC;;AAAA;;AACnB;;AAAA;;AAKC;;AAAA;;AAI8B;;AAAA;;AAKtB;;AAAA;;AAMoB;;AAAA;;AAKtB;;AAAA;;AAiBsB;;AAAA;;AAKA;;AAAA;;AAgBA;;AAAA;;AAMtB;;AAAA;;AAOoB;;AAAA;;AAGb;;AAAA,gGAAsB,UAAtB,EAAsB,IAAtB,EAAsB,iBAAtB,EAAsB,IAAtB;;AAsBa;;AAAA;;AAGb;;AAAA,6FAAmB,UAAnB,EAAmB,IAAnB,EAAmB,iBAAnB,EAAmB,IAAnB;;AA4BT;;AAAA;;AAGkC;;AAAA;;AACjC;;AAAA;;AAYG;;AAAA;;AAGkC;;AAAA;;AACjC;;AAAA;;AAiBW;;AAAA;;AACjB;;AAAA;;AAEqC;;AAAA;;AAGhB;;AAAA;;AAOtB;;AAAA;;AAKsB;;AAAA;;AAKtB;;AAAA;;AASwB;;AAAA;;AAQpB;;AAAA;;AAGA;;AAAA;;AASoB;;AAAA;;AAOpB;;AAAA;;AAGA;;AAAA;;AAWoB;;AAAA;;AAOtB;;AAAA;;AAIA;;AAAA;;AAWoB;;AAAA;;AAKtB;;AAAA;;AAIA;;AAAA;;AAYsB;;AAAA;;AAOtB;;AAAA;;AAGE;;AAAA;;AAUoB;;AAAA;;AAOtB;;AAAA;;AAKA;;AAAA;;AAYsB;;AAAA;;AAOpB;;AAAA;;AAGA;;AAAA;;;;;;;;AAhW1B;;AAEE;;AAAkE;AAAA;;AAAA;;AAAA,iBAAS,QAAA+C,QAAA,OAAT;AAAwB,SAAxB;;AAChE;;AAAyB;;AAAO;;AAClC;;AACF;;AACA;;AACI;;AA8WJ;;AACA;;AACI;;AAA8C;AAAA;;AAAA;;AAAA;AAAA;;AAAqB;;;;AAAmB;;AACtF;;AAAgD;AAAA;;AAAA;;AAAA,iBAAS,QAAAA,QAAA,OAAT;AAAwB,SAAxB;;AAAsD;;;;AAAqB;;AAC7H;;;;;;AAlXmB;;AAAA;;AAgXkD;;AAAA;;AACmC;;AAAA;;;;QDxuCjG48C,sB;AAsCX,sCAAoBjD,eAApB,EACSpiD,MADT,EAEUslD,aAFV,EAGS1/C,EAHT,EAIU2/C,eAJV,EAKU1K,YALV,EAME2K,eANF,EAOEC,eAPF,EAQUC,iBARV,EASUC,kBATV,EAUUC,iBAVV,EAWSjmD,WAXT,EAYUmhC,eAZV,EAaUzE,gBAbV,EAaqD0E,YAbrD,EAcUhC,cAdV,EAcgD;AAAA;;AAAA;;AAd5B,aAAAqjB,eAAA,GAAAA,eAAA;AACX,aAAApiD,MAAA,GAAAA,MAAA;AACC,aAAAslD,aAAA,GAAAA,aAAA;AACD,aAAA1/C,EAAA,GAAAA,EAAA;AACC,aAAA2/C,eAAA,GAAAA,eAAA;AACA,aAAA1K,YAAA,GAAAA,YAAA;AAGA,aAAA6K,iBAAA,GAAAA,iBAAA;AACA,aAAAC,kBAAA,GAAAA,kBAAA;AACA,aAAAC,iBAAA,GAAAA,iBAAA;AACD,aAAAjmD,WAAA,GAAAA,WAAA;AACC,aAAAmhC,eAAA,GAAAA,eAAA;AACA,aAAAzE,gBAAA,GAAAA,gBAAA;AAA2C,aAAA0E,YAAA,GAAAA,YAAA;AAC3C,aAAAhC,cAAA,GAAAA,cAAA;AAnDV,aAAAnsB,QAAA,GAAoB,KAApB;AACA,aAAAC,cAAA,GAAwB,EAAxB;AACA,aAAAgzC,gBAAA,GAAuC,EAAvC;AACA,aAAAC,gBAAA,GAAkC,EAAlC;AACA,aAAAC,aAAA,GAA6B,EAA7B;AACA,aAAAC,gBAAA,GAAwC,EAAxC;AACA,aAAAC,iBAAA,GAAqC,EAArC;AAUA,aAAAC,gBAAA,GAA2B,CAA3B;AACA,aAAAC,QAAA,GAAmB,CAAnB;AACA,aAAAC,mBAAA,GAA8B,CAA9B;AACA,aAAAC,aAAA,GAAwB,CAAxB;AACA,aAAAC,mBAAA,GAA8B,CAA9B;AACA,aAAAC,aAAA,GAAwB,CAAxB,CA8BgD,CA1BhD;;AACA,aAAAC,iBAAA,GAAgC,EAAhC;AACA,aAAAC,SAAA,GAAwB,EAAxB;AACA,aAAAC,cAAA,GAA+B,EAA/B;AACA,aAAAl6B,UAAA,GAA2B,EAA3B;AAMA,aAAAm6B,YAAA,GAAgC,EAAhC;AACA,aAAAC,OAAA,GAA0B,EAA1B;AAoFA,aAAAlqB,aAAA,GAAoB,EAApB;AACA,aAAAyE,QAAA,GAAe,EAAf;AACA,aAAA0lB,KAAA,GAAwB,EAAxB;AACA,aAAAzlB,SAAA,GAAuB,EAAvB;AACA,aAAAtB,YAAA,GAA6B,EAA7B;AACA,aAAAgnB,QAAA,GAAW,CAAX;AACA,aAAAlnB,cAAA,GAAqB,EAArB;AACA,aAAAC,eAAA,GAAsB,EAAtB;AAkEA,aAAAib,MAAA,GAAS;AACPC,kBAAQ,EAAE,IADH;AAEPC,6BAAmB,EAAE;AAFd,SAAT;AAuTA,aAAA+L,mBAAA,GAAmD,EAAnD;AAEA,aAAAC,YAAA,GAAa,CAAb;AA2DF,aAAAtmD,eAAA,GAAkB,EAAlB;AACA,aAAAL,WAAA,GAA+B,IAAI,wFAAJ,EAA/B;AAC6C,aAAA4mD,YAAA,GAAa,IAAb;AAQ7C,aAAA1mD,QAAA,GAAsB,IAAI,wDAAJ,CAAc;AAClCjB,YAAE,EAAE,IAAI,0DAAJ,EAD8B;AAElCyT,cAAI,EAAE,IAAI,0DAAJ,EAF4B;AAGlC4tB,mBAAS,EAAE,IAAI,0DAAJ,EAHuB;AAIlCj2B,qBAAW,EAAE,IAAI,0DAAJ,EAJqB;AAKlCw0B,yBAAe,EAAE,IAAI,0DAAJ,EALiB;AAMlCnC,mBAAS,EAAE,IAAI,0DAAJ,EANuB;AAOlCoC,oBAAU,EAAE,IAAI,0DAAJ,EAPsB;AAQlCC,qBAAW,EAAE,IAAI,0DAAJ,EARqB;AASlCC,4BAAkB,EAAE,IAAI,0DAAJ,EATc;AAUlCC,kBAAQ,EAAE,IAAI,0DAAJ,EAVwB;AAWlCC,0BAAgB,EAAE,IAAI,0DAAJ,EAXgB;AAYlCb,qBAAW,EAAE,IAAI,0DAAJ,EAZqB;AAalChI,qBAAW,EAAE,IAAI,0DAAJ,EAbqB;AAclCI,kBAAQ,EAAE,IAAI,0DAAJ,EAdwB;AAelCrT,eAAK,EAAE,IAAI,0DAAJ,EAf2B;AAgBlC+b,cAAI,EAAE,IAAI,0DAAJ,EAhB4B;AAiBlCC,mBAAS,EAAE,IAAI,0DAAJ,EAjBuB;AAkBlCzB,uBAAa,EAAE,IAAI,0DAAJ,EAlBmB;AAmBlCgD,eAAK,EAAE,IAAI,0DAAJ,EAnB2B;AAoBlCtB,yBAAe,EAAE,IAAI,0DAAJ,EApBiB;AAqBlCC,yBAAe,EAAE,IAAI,0DAAJ,EArBiB;AAsBlCsB,iBAAO,EAAC,IAAI,0DAAJ,EAtB0B;AAuBlCxvB,gBAAM,EAAC,IAAI,0DAAJ,EAvB2B;AAwBlCyvB,sBAAY,EAAC,IAAI,0DAAJ;AAxBqB,SAAd,CAAtB;AAuFA,aAAAnB,oBAAA,GAAwC,EAAxC;AACA,aAAAyB,iBAAA,GAA+B,EAA/B;AAlmBM,aAAKokB,iBAAL,CAAuBljD,MAAvB,CAA8B,CAA9B,EACCL,SADD,CACW,UAAAC,MAAM,EAAE;AACjB,kBAAI,CAACskD,OAAL,GAAetkD,MAAf;AACD,SAHD;AAIA,aAAKqjD,kBAAL,CAAwBjjD,MAAxB,GACCL,SADD,CACW,UAAAC,MAAM,EAAE;AACjB,kBAAI,CAACqkD,YAAL,GAAoBrkD,MAApB;AACD,SAHD;AAIH8/C,uBAAe,CAAC1/C,MAAhB,GACCL,SADD,CACW,UAAA6kD,QAAQ,EAAE;AACpB,kBAAI,CAAC16B,UAAL,GAAkB06B,QAAlB;AACA,SAHD;AAIC5B,qBAAa,CAAC5iD,MAAd,GAAuBL,SAAvB,CACE,UAAAM,IAAI,EAAI;AACN,kBAAI,CAACkQ,cAAL,GAAsBlQ,IAAtB;AACA4W,iBAAO,CAACC,GAAR,CAAY,qBAAZ,EAAkC7W,IAAlC;AAED,SALH;AAOA6iD,uBAAe,CAAC9iD,MAAhB,GAAyBL,SAAzB,CACE,UAAAM,IAAI,EAAI;AACN,kBAAI,CAACmjD,gBAAL,GAAwBnjD,IAAxB;AACA4W,iBAAO,CAACC,GAAR,CAAY7W,IAAZ;AAED,SALH;AAOA8iD,uBAAe,CAAC/iD,MAAhB,GAAyBL,SAAzB,CACE,UAAAM,IAAI,EAAI;AACN,kBAAI,CAACqjD,gBAAL,GAAwBrjD,IAAxB;AACA4W,iBAAO,CAACC,GAAR,CAAY7W,IAAZ;AAED,SALH;AAQA4iD,uBAAe,CAAC7iD,MAAhB,GAAyBL,SAAzB,CACE,UAAAM,IAAI,EAAI;AACN,kBAAI,CAAC+jD,cAAL,GAAsB/jD,IAAtB;AACA4W,iBAAO,CAACC,GAAR,CAAY,8BAAZ,EAA2C7W,IAA3C;;AACA,kBAAI,CAAC+jD,cAAL,CAAoB51C,OAApB,CAA4B,UAAAC,OAAO,EAAI;AACrC,oBAAI,CAAC01C,SAAL,CAAeliD,IAAf,CAAoBwM,OAApB;AAED,WAHD,EAHM,CAON;;AAED,SAVH;AAYD;;;;4CACgB;AACf,iBAAO,KAAKnL,EAAL,CAAQY,KAAR,CAAc;AACnB2gD,oBAAQ,EAAC,CAAC,KAAKC,eAAL,CAAqBD,QAAtB,CADU;AAEnBE,uBAAW,EAAC,CAAC,KAAKD,eAAL,CAAqBC,WAAtB,CAFO;AAGnBC,yBAAa,EAAC,CAAC,KAAKF,eAAL,CAAqBE,aAAtB,CAHK;AAInBC,2BAAe,EAAC,CAAC,KAAKH,eAAL,CAAqBG,eAAtB,CAJG;AAKnBC,qBAAS,EAAC,CAAC,KAAKJ,eAAL,CAAqBI,SAAtB;AALS,WAAd,CAAP;AAOD;;;6CACiB;AAChB,iBAAO,KAAK5hD,EAAL,CAAQY,KAAR,CAAc;AACnBihD,oBAAQ,EAAC,CAAC,KAAKL,eAAL,CAAqBK,QAAtB,CADU;AAEnBC,qBAAS,EAAC,CAAC,KAAKN,eAAL,CAAqBM,SAAtB,CAFS;AAGnBC,wBAAY,EAAC,CAAC,KAAKP,eAAL,CAAqBO,YAAtB,CAHM;AAInBC,sBAAU,EAAC,CAAC,KAAKR,eAAL,CAAqBQ,UAAtB,CAJQ;AAKnBC,2BAAe,EAAC,CAAC,KAAKT,eAAL,CAAqBS,eAAtB,CALG;AAMnBC,uBAAW,EAAC,CAAC,KAAKV,eAAL,CAAqBU,WAAtB,CANO;AAOnBC,qBAAS,EAAC,CAAC,KAAKX,eAAL,CAAqBW,SAAtB;AAPS,WAAd,CAAP;AASD;;;mCASU;AAAA;;AACV,eAAKC,iBAAL;AACA,eAAKtC,iBAAL,CAAuBuC,WAAvB,GACC5lD,SADD,CACW,UAAA6lD,IAAI,EAAE;AAEhB,gBAAG,CAACA,IAAD,GAAQ,CAAX,EAAa;AAEX,sBAAI,CAACpB,QAAL,GAAgB,CAACoB,IAAD,GAAQ,CAAxB;AACD,aAHD,MAII;AACF,sBAAI,CAACpB,QAAL,GAAgB,CAAhB;AACD;;AACD,oBAAI,CAACM,eAAL,GAAuB,IAAI,8EAAJ,EAAvB;AACA,oBAAI,CAACtlD,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACA,oBAAI,CAACwpD,WAAL,GAAmB,QAAI,CAACC,iBAAL,EAAnB;AACA,oBAAI,CAACC,YAAL,GAAoB,QAAI,CAACC,kBAAL,EAApB,CAZgB,CAchB;;AAIA,oBAAI,CAACC,QAAL,GAAgB,IAAI,wDAAJ,CAAc;AAC5BC,6BAAe,EAAE,IAAI,0DAAJ,CAAgB,IAAhB;AADW,aAAd,CAAhB;AAGA,oBAAI,CAACC,WAAL,GAAmB,IAAI,wDAAJ,CAAc;AAC/BC,2BAAa,EAAE,IAAI,0DAAJ,CAAgB,QAAI,CAAC5B,QAAL,CAAcnqC,QAAd,EAAhB,EAA2C,0DAAWxO,QAAtD,CADgB;AAE/Bw6C,6BAAe,EAAE,IAAI,0DAAJ,CAAgB,IAAhB,CAFc;AAG/BC,yBAAW,EAAE,IAAI,0DAAJ,CAAgB,IAAhB,EAAsB,0DAAWz6C,QAAjC,CAHkB;AAI/B06C,qBAAO,EAAE,IAAI,0DAAJ,CAAgB,IAAhB,EAAsB,0DAAW16C,QAAjC,CAJsB;AAK/B26C,wBAAU,EAAE,IAAI,0DAAJ,CAAgB,IAAhB,EAAsB,0DAAW36C,QAAjC,CALmB;AAM/B46C,kCAAoB,EAAE,IAAI,0DAAJ,CAAgB,IAAhB,EAAsB,0DAAW56C,QAAjC,CANS;AAO/B66C,2BAAa,EAAE,IAAI,0DAAJ,CAAgB,IAAhB,EAAsB,0DAAW76C,QAAjC,CAPgB;AAQ/B86C,4BAAc,EAAE,IAAI,0DAAJ,CAAgB,CAAhB,EAAmB,0DAAW96C,QAA9B,CARe;AAS/B+6C,0BAAY,EAAE,IAAI,0DAAJ,CAAgB,IAAhB,EAAsB,0DAAW/6C,QAAjC,CATiB;AAU/Bg7C,qBAAO,EAAE,IAAI,0DAAJ,CAAgB,IAAhB,EAAsB,0DAAWh7C,QAAjC,CAVsB;AAW/Bi7C,sBAAQ,EAAC,IAAI,0DAAJ,CAAgB,EAAhB,EAAmB,0DAAWj7C,QAA9B,CAXsB;AAY/Bk7C,2BAAa,EAAC,IAAI,0DAAJ,CAAgB,CAAhB;AAZiB,aAAd,CAAnB;AAeA,oBAAI,CAACC,QAAL,GAAgB,IAAI,wDAAJ,CAAc;AAC5BC,sBAAQ,EAAE,IAAI,0DAAJ,CAAgB,CAAhB,CADkB;AAE5B7gD,sBAAQ,EAAE,IAAI,0DAAJ,CAAgB,CAAhB;AAFkB,aAAd,CAAhB;AAIA,WAzCD,EAFU,CA6CT;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACD,S,CACD;AACA;;;;+BACO;AACL;AACA6Q,iBAAO,CAACC,GAAR,CAAY,KAAKivC,WAAjB;AACD;;;kCAMSxN,Q,EAA4B37C,E,EAAU;AAC9C;AACA,cAAIyO,KAAK,GAAG,KAAKg4C,aAAL,CAAmB7hD,SAAnB,CAA6B,UAAAR,CAAC;AAAA,mBAAIA,CAAC,CAACtF,EAAF,IAAQkB,EAAZ;AAAA,WAA9B,CAAZ;AACAia,iBAAO,CAACC,GAAR,CAAY,OAAZ,EAAqBzL,KAArB,EAH8C,CAI9C;AACA;AACA;;AACAwL,iBAAO,CAACC,GAAR,CAAY,IAAZ,EAAkBla,EAAlB;AAEA,eAAKkqD,eAAL,GAAuBlqD,EAAvB;AACA,eAAKmqD,aAAL,GAAqB,KAAK1D,aAAL,CAAmBh4C,KAAnB,EAA0B03B,IAA/C;AACA,eAAK+gB,iBAAL,GAAyB,KAAKT,aAAL,CAAmBh4C,KAAnB,EAA0B27C,IAAnD;AAEA,eAAKjhD,QAAL,GAAgB,KAAKoyC,YAAL,CAAkBj2C,IAAlB,CAAuBq2C,QAAvB,EAAiC,KAAKH,MAAtC,CAAhB;AACD;;;+BACMh9C,C,EAAG;AACR,eAAK6rD,QAAL,GAAgB7rD,CAAC,CAACgG,MAAF,CAAS2D,KAAzB;AACA8R,iBAAO,CAACC,GAAR,CAAY,KAAKmwC,QAAjB;AACD;;;kCAES7rD,C,EAAG;AACX;AACA,cAAI8rD,IAAI,GAAG,KAAKN,QAAL,CAAclhD,WAAd,EAAX;AAEA,cAAIyhD,YAAY,GAAG,IAAI,0EAAJ,EAAnB;AACA,cAAInmD,CAAC,GAAG,KAAKmP,cAAL,CAAoB3O,SAApB,CAA8B,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC7E,EAAF,IAAQxB,CAAZ;AAAA,WAA/B,CAAR;;AACA,cAAI4F,CAAC,GAAG,CAAC,CAAT,EAAY;AACVkmD,gBAAI,CAAClhD,QAAL,GAAc,CAAd;AACAkhD,gBAAI,CAACL,QAAL,GAAc,CAAd;AACAM,wBAAY,CAACzrD,EAAb,GAAkB,KAAKyU,cAAL,CAAoBnP,CAApB,EAAuBpE,EAAzC;AACAuqD,wBAAY,CAACnhD,QAAb,GAAuBkhD,IAAI,CAAClhD,QAA5B;AACAmhD,wBAAY,CAAChiD,KAAb,GAAqB,KAAKgL,cAAL,CAAoBnP,CAApB,EAAuBq5B,SAA5C;AACA8sB,wBAAY,CAACN,QAAb,GAAwBK,IAAI,CAACL,QAA7B;AACAM,wBAAY,CAACC,UAAb,GAA2B,KAAKj3C,cAAL,CAAoBnP,CAApB,EAAuBq5B,SAAvB,GAAmC8sB,YAAY,CAACN,QAA3E;AACAM,wBAAY,CAACE,kBAAb,GAAkCF,YAAY,CAACC,UAAb,GAA0BD,YAAY,CAACnhD,QAAzE;AACAmhD,wBAAY,CAACG,kBAAb,GAAkCH,YAAY,CAACE,kBAA/C;AACAxwC,mBAAO,CAACC,GAAR,CAAY,mCAAZ,EAAiDqwC,YAAY,CAACG,kBAA9D;AACAzwC,mBAAO,CAACC,GAAR,CAAY,+BAAZ,EAA4C,KAAK3G,cAAL,CAAoBnP,CAApB,EAAuBlD,MAAnE;AAEA,iBAAKsB,IAAL,KAAY,OAAZ,GAAoB+nD,YAAY,CAACpkB,IAAb,GAAoB,KAAK5yB,cAAL,CAAoBnP,CAApB,EAAuB6E,MAA/D,GAAsEshD,YAAY,CAACpkB,IAAb,GAAoB,KAAK5yB,cAAL,CAAoBnP,CAApB,EAAuBlD,MAAjH;AACA,iBAAK0lD,gBAAL,IAAyB2D,YAAY,CAACC,UAAtC,CAdU,CAeV;;AACAvwC,mBAAO,CAACC,GAAR,CAAYqwC,YAAZ;AAEA,iBAAK9D,aAAL,CAAmBxhD,IAAnB,CAAwBslD,YAAxB;AACD;;AAED,eAAMI,cAAN;AAED;;;sCAEaC,G,EAAgB;AAAA;;AAE5B,cAAIN,IAAI,GAAG,KAAKN,QAAL,CAAclhD,WAAd,EAAX;AACA8hD,aAAG,CAACJ,UAAJ,GAAiBI,GAAG,CAACriD,KAAJ,GAAY+hD,IAAI,CAACL,QAAlC;AACAW,aAAG,CAACH,kBAAJ,GAAyBG,GAAG,CAACJ,UAAJ,GAAiBF,IAAI,CAAClhD,QAA/C;AAEA,eAAKw9C,gBAAL,GAAwB,CAAxB,CAN4B,CAO5B;;AACA,eAAKH,aAAL,CAAmBj1C,OAAnB,CAA2B,UAAAC,OAAO,EAAI;AACpC,oBAAI,CAACm1C,gBAAL,IAAyBn1C,OAAO,CAAC+4C,UAAjC;AACA/4C,mBAAO,CAACi5C,kBAAR,GAA6Bj5C,OAAO,CAACg5C,kBAArC,CAFoC,CAGpC;AACD,WAJD;AAOA,eAAME,cAAN;AACD,eAAME,4BAAN;AACA;;;uCACcD,G,EAAgB;AAAA;;AAC7B,cAAIN,IAAI,GAAG,KAAKN,QAAL,CAAclhD,WAAd,EAAX;AACAmR,iBAAO,CAACC,GAAR,CAAY,eAAZ,EAA4BowC,IAAI,CAAClhD,QAAjC;AACAwhD,aAAG,CAACxhD,QAAJ,GAAekhD,IAAI,CAAClhD,QAApB;AACAwhD,aAAG,CAACH,kBAAJ,GAAyBG,GAAG,CAACJ,UAAJ,GAAiBF,IAAI,CAAClhD,QAA/C;AACC,eAAK09C,mBAAL,GAA2B,CAA3B;AACD,eAAKL,aAAL,CAAmBj1C,OAAnB,CAA2B,UAAAC,OAAO,EAAI;AACpC,oBAAI,CAACq1C,mBAAL,IAA4Br1C,OAAO,CAACg5C,kBAApC;AACAh5C,mBAAO,CAACi5C,kBAAR,GAA6Bj5C,OAAO,CAACg5C,kBAArC;AAED,WAJD;AAKA,eAAME,cAAN;AAEA,eAAME,4BAAN;AAED;;;0CAGiBrsD,C,EAAG;AACnB;AACA,eAAKssD,QAAL,GAAgBtsD,CAAhB,CAFmB,CAGnB;;AAEA,cAAI4F,CAAC,GAAG,KAAKsiD,gBAAL,CAAsB9hD,SAAtB,CAAgC,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC7E,EAAF,IAAQxB,CAAZ;AAAA,WAAjC,CAAR;AACA,eAAK8U,QAAL,GAAgB,IAAhB,CANmB,CAOnB;AACA;;AACA,cAAG,KAAK9Q,IAAL,KAAY,OAAf,EAAuB;AAErB,iBAAKiR,IAAL,GAAY,KAAKizC,gBAAL,CAAsBtiD,CAAtB,EAAyB6E,MAArC;AACD,WAHD,MAII;AACF,iBAAKwK,IAAL,GAAY,KAAKizC,gBAAL,CAAsBtiD,CAAtB,EAAyBlD,MAArC;AAED;;AACD,eAAK6pD,UAAL,GAAkB,KAAKrE,gBAAL,CAAsBtiD,CAAtB,EAAyB4iB,IAA3C;AACA,eAAK88B,SAAL,GAAiB,KAAK4C,gBAAL,CAAsBtiD,CAAtB,EAAyB0/C,SAA1C,CAlBmB,CAmBnB;AACD;;;yCACa;AAAA;;AACZ,eAAK8C,gBAAL,GAAuB,CAAvB;AACA,eAAKE,mBAAL,GAAyB,CAAzB;AACA,eAAKE,mBAAL,GAAyB,CAAzB;AACA,eAAKC,aAAL,GAAmB,CAAnB;AACC,eAAKJ,QAAL,GAAc,CAAd;AACD,eAAKJ,aAAL,CAAmBj1C,OAAnB,CACE,UAAA1M,IAAI,EAAE;AACL,oBAAI,CAAC8hD,gBAAL,IAAyB9hD,IAAI,CAAC0lD,UAA9B;AACA,oBAAI,CAAC1D,mBAAL,IAA2BhiD,IAAI,CAACsE,QAAhC;AACA,oBAAI,CAAC49C,mBAAL,IAA2BliD,IAAI,CAAC2lD,kBAAhC;AACA,oBAAI,CAACxD,aAAL,IAAqBniD,IAAI,CAAC4lD,kBAA1B;AACA,oBAAI,CAAC7D,QAAL,IAAe/hD,IAAI,CAACkmD,QAApB;AACA,WAPH,EANY,CAeZ;AACA;AAEA;AACA;AACA;AACA;AACA;AAED;;;+BAEM;AAAA;;AACL;AACA,cAAIC,WAAW,GAAG,KAAK9B,WAAL,CAAiBrgD,WAAjB,EAAlB;AACAmR,iBAAO,CAACC,GAAR,CAAY,KAAKmwC,QAAjB;AACA,eAAKvC,eAAL,GAAuB,IAAI,4EAAJ,EAAvB;AACA,eAAKA,eAAL,CAAqBzxC,QAArB,GAAgC,CAAC,KAAKg0C,QAAtC;AACA,eAAKvC,eAAL,CAAqBoD,IAArB,GAA4B,KAAK1oD,IAAjC;AACA,eAAKslD,eAAL,CAAqB1gD,QAArB,GAAgC,KAAK0jD,QAArC;AACA,eAAKhD,eAAL,CAAqB9nD,EAArB,GAA0B,CAA1B;AACA,eAAK8nD,eAAL,CAAqBsB,aAArB,GAAqC6B,WAAW,CAAC7B,aAAjD;AACA,eAAKtB,eAAL,CAAqBqD,YAArB,GAAoCF,WAAW,CAAC3B,WAAhD;AACA,eAAKxB,eAAL,CAAqBwB,WAArB,GAAmC2B,WAAW,CAAC1B,OAA/C;AACA,eAAKzB,eAAL,CAAqBsD,UAArB,GAAkCH,WAAW,CAACzB,UAA9C;AACA,eAAK1B,eAAL,CAAqB4B,aAArB,GAAqCuB,WAAW,CAACvB,aAAjD;AACA,eAAK5B,eAAL,CAAqB9gC,IAArB,GAA4BikC,WAAW,CAACrB,YAAxC;AACA,eAAK9B,eAAL,CAAqBiC,aAArB,GAAqCkB,WAAW,CAAClB,aAAjD;AACA,eAAKjC,eAAL,CAAqBuB,eAArB,GAAuC4B,WAAW,CAAC5B,eAAnD;AACA,eAAKvB,eAAL,CAAqBuD,UAArB,GAAkCJ,WAAW,CAACrE,gBAA9C;AACA,cAAI0E,WAAW,GAAG,KAAKzC,WAAL,CAAiB//C,WAAjB,EAAlB;AACA,eAAKg/C,eAAL,CAAqBG,eAArB,GAAuCqD,WAAW,CAACrD,eAAnD;AACA,eAAKH,eAAL,CAAqBE,aAArB,GAAqCsD,WAAW,CAACtD,aAAjD;AACA,eAAKF,eAAL,CAAqBC,WAArB,GAAmCuD,WAAW,CAACvD,WAA/C;AACA,eAAKD,eAAL,CAAqBD,QAArB,GAAgCyD,WAAW,CAACzD,QAA5C;AACA,eAAKC,eAAL,CAAqBI,SAArB,GAAiCoD,WAAW,CAACpD,SAA7C;AACA,cAAIqD,YAAY,GAAG,KAAKxC,YAAL,CAAkBjgD,WAAlB,EAAnB;AACA,eAAKg/C,eAAL,CAAqBK,QAArB,GAAgCoD,YAAY,CAACpD,QAA7C;AACA,eAAKL,eAAL,CAAqBM,SAArB,GAAiCmD,YAAY,CAACnD,SAA9C;AACA,eAAKN,eAAL,CAAqBO,YAArB,GAAoCkD,YAAY,CAAClD,YAAjD;AACA,eAAKP,eAAL,CAAqBQ,UAArB,GAAkCiD,YAAY,CAACjD,UAA/C;AACA,eAAKR,eAAL,CAAqBS,eAArB,GAAuCgD,YAAY,CAAChD,eAApD;AACA,eAAKT,eAAL,CAAqBU,WAArB,GAAmC+C,YAAY,CAAC/C,WAAhD;AACA,eAAKV,eAAL,CAAqBW,SAArB,GAAiC8C,YAAY,CAAC9C,SAA9C;AACA,eAAKX,eAAL,CAAqBgC,QAArB,GAAgCmB,WAAW,CAACnB,QAA5C;AACA,eAAKhC,eAAL,CAAqB0D,WAArB,GAAmC,KAAK/D,mBAAxC;AACA,eAAKK,eAAL,CAAqBroC,MAArB,GAA8B,aAA9B;AACA,eAAKqoC,eAAL,CAAqB2D,mBAArB,GAA2C,CAA3C;AACA,cAAIlB,YAAY,GAAG,IAAI,2EAAJ,EAAnB;AACA,eAAK9D,aAAL,CAAmBj1C,OAAnB,CAA2B,UAAC1M,IAAD,EAAU;AACnCylD,wBAAY,CAAC/sB,MAAb,GAAsB14B,IAAI,CAAChG,EAA3B;AACAyrD,wBAAY,CAACvqB,QAAb,GAAwBl7B,IAAI,CAACsE,QAA7B;AACAmhD,wBAAY,CAACziD,KAAb,GAAqBhD,IAAI,CAACyD,KAA1B;AACAgiD,wBAAY,CAAC/yB,QAAb,GAAwB1yB,IAAI,CAACmlD,QAA7B;AACAM,wBAAY,CAACmB,SAAb,GAAyB,CAAzB;AACAnB,wBAAY,CAAC92C,IAAb,GAAoB3O,IAAI,CAACqhC,IAAzB;AACAokB,wBAAY,CAACoB,SAAb,GAAyB7mD,IAAI,CAAC0lD,UAA9B;AACAD,wBAAY,CAACqB,UAAb,GAA0B9mD,IAAI,CAAC0lD,UAA/B;AACAD,wBAAY,CAACsB,WAAb,GAA4B/mD,IAAI,CAAC0lD,UAAjC;AACAD,wBAAY,CAACvqB,QAAb,GAAwBl7B,IAAI,CAACsE,QAA7B;AACAmhD,wBAAY,CAACuB,cAAb,GAA8BhnD,IAAI,CAACsE,QAAnC;AACAmhD,wBAAY,CAACwB,YAAb,GAA6BjnD,IAAI,CAACsE,QAAL,GAAgB,GAAjB,GAAwBtE,IAAI,CAAC0lD,UAAzD;AACAD,wBAAY,CAACyB,QAAb,GAAyBlnD,IAAI,CAACmlD,QAAL,GAAcnlD,IAAI,CAACyD,KAApB,GAA6BzD,IAAI,CAACsE,QAA1D;AACAmhD,wBAAY,CAAC0B,gBAAb,GAAgCnnD,IAAI,CAACkmD,QAArC;AACAT,wBAAY,CAAChjD,KAAb,GAAqBgjD,YAAY,CAACyB,QAAb,GAAwBzB,YAAY,CAAC0B,gBAA1D;AACA1B,wBAAY,CAAC2B,IAAb,GAAoB,CAApB;AACA3B,wBAAY,CAAC4B,aAAb,GAA6BrnD,IAAI,CAACsE,QAAlC;AACAmhD,wBAAY,CAAC6B,YAAb,GAA4B,QAAI,CAACtE,eAAL,CAAqBgC,QAAjD;AACAS,wBAAY,CAAC8B,KAAb,GAAqBvnD,IAAI,CAACslD,IAA1B;AACAG,wBAAY,CAACS,QAAb,GAAwBlmD,IAAI,CAACkmD,QAA7B;AACA,oBAAI,CAAClD,eAAL,CAAqBwE,wBAArB,IAAiD/B,YAAY,CAACvqB,QAA9D;AACA,oBAAI,CAAC8nB,eAAL,CAAqBlB,gBAArB,IAAyC2D,YAAY,CAACsB,WAAtD;AACAtB,wBAAY,CAAC8B,KAAb,CAAmB76C,OAAnB,CAA2B,UAAAC,OAAO,EAAI;AACpC;AACA84C,0BAAY,CAAC2B,IAAb,IAAqBz6C,OAAO,CAAC86C,UAA7B;AACA96C,qBAAO,CAACy6C,IAAR,GAAez6C,OAAO,CAAC86C,UAAvB;AAED,aALD;AAMAtyC,mBAAO,CAACC,GAAR,CAAYqwC,YAAZ;;AACA,oBAAI,CAAC5D,iBAAL,CAAuB1hD,IAAvB,CAA4BslD,YAA5B;AACD,WA/BD;AAiCA,eAAKzC,eAAL,CAAqB0E,SAArB,GAAiC,KAAK1E,eAAL,CAAqBlB,gBAArB,GAAwC,KAAKkB,eAAL,CAAqBwE,wBAA9F;AACA,eAAKxE,eAAL,CAAqBhB,mBAArB,GAA2C,KAAKgB,eAAL,CAAqBwE,wBAAhE;AACA,eAAKxE,eAAL,CAAqB2E,WAArB,GAAmC,KAAK3E,eAAL,CAAqB0E,SAArB,GAAiC,KAAK3F,QAAzE;AACA5sC,iBAAO,CAACC,GAAR,CAAY,KAAKysC,iBAAjB;AACA,eAAKmB,eAAL,CAAqBvlB,KAArB,GAA6B,KAAKokB,iBAAlC;AACA,eAAKP,iBAAL,CAAuBsG,QAAvB,CAAgC,KAAK5E,eAArC,EAAsD/kD,SAAtD,CAAgE,UAAAC,MAAM,EAAI;AACxE,oBAAI,CAACtC,MAAL,CAAY0E,QAAZ,CAAqB,CAAC,+BAAD,CAArB;AACD,WAFD;AAGD,S,CACD;;;;6CACqBb,M,EAAQ;AAAA;;AAC3B;AACA,cAAIooD,OAAO,GAAGpoD,MAAd;AACA,cAAIqoD,OAAO,GAAG,IAAI,+DAAJ,EAAd;AACA3yC,iBAAO,CAACC,GAAR,CAAY,cAAZ,EAA4ByyC,OAAO,CAAC3sD,EAApC;AACA,cAAI6sD,sBAAsB,GAAG,KAAK3F,iBAAL,CAAuBtiD,SAAvB,CAAiC,UAAAR,CAAC;AAAA,mBAAIA,CAAC,CAACpE,EAAF,IAAQ2sD,OAAO,CAAC3sD,EAApB;AAAA,WAAlC,CAA7B;AACA,cAAIyO,KAAK,GAAG,KAAKg4C,aAAL,CAAmB7hD,SAAnB,CAA6B,UAAAR,CAAC;AAAA,mBAAIA,CAAC,CAACtF,EAAF,IAAQ,QAAI,CAACorD,eAAjB;AAAA,WAA9B,CAAZ;AACA0C,iBAAO,CAAC5B,QAAR,GAAmB,KAAKvE,aAAL,CAAmBh4C,KAAnB,EAA0Bg8C,kBAA1B,GAA+C,KAAKvD,iBAAL,CAAuB2F,sBAAvB,EAA+CN,UAA9F,GAA2G,GAA9H;AACA,eAAK9F,aAAL,CAAmBh4C,KAAnB,EAA0Bu8C,QAA1B,IAAqC4B,OAAO,CAAC5B,QAA7C;AACA/wC,iBAAO,CAACC,GAAR,CAAY,kBAAZ,EAA+B0yC,OAAO,CAAC5B,QAAvC;AACA/wC,iBAAO,CAACC,GAAR,CAAY,oCAAZ,EAAiD,KAAKusC,aAAL,CAAmBh4C,KAAnB,EAA0Bu8C,QAA3E;AACA,eAAK9D,iBAAL,CAAuB2F,sBAAvB,EAA+C7B,QAA/C,GAAwD4B,OAAO,CAAC5B,QAAhE;AACA,eAAKvE,aAAL,CAAmBh4C,KAAnB,EAA0Bi8C,kBAA1B,IAAiD,KAAKjE,aAAL,CAAmBh4C,KAAnB,EAA0Bi8C,kBAA1B,GAA+C,KAAKxD,iBAAL,CAAuB2F,sBAAvB,EAA+CN,UAA9F,GAA2G,GAA5J;AACAI,iBAAO,CAACxkD,KAAR,GAAgB,KAAK++C,iBAAL,CAAuB2F,sBAAvB,EAA+CN,UAA/D;AACA,eAAKrF,iBAAL,CAAuB2F,sBAAvB,EAA+CnC,kBAA/C,GAAoE,KAAKjE,aAAL,CAAmBh4C,KAAnB,EAA0Bi8C,kBAA9F;AACAkC,iBAAO,CAAClC,kBAAR,GAA6B,KAAKjE,aAAL,CAAmBh4C,KAAnB,EAA0Bi8C,kBAAvD;AACAzwC,iBAAO,CAACC,GAAR,CAAY,oDAAZ,EAAkE,KAAKusC,aAAL,CAAmBh4C,KAAnB,EAA0Bi8C,kBAA5F;AACAkC,iBAAO,CAAC5sD,EAAR,GAAa2sD,OAAO,CAAC3sD,EAArB;AACA4sD,iBAAO,CAACE,KAAR,GAAgBH,OAAO,CAAC3sD,EAAxB;AACA4sD,iBAAO,CAACL,UAAR,GAAqBI,OAAO,CAACxkD,KAA7B;AACAykD,iBAAO,CAAC1rD,MAAR,GAAiByrD,OAAO,CAACzrD,MAAzB;AACA0rD,iBAAO,CAAC3jD,MAAR,GAAiB0jD,OAAO,CAAC1jD,MAAzB;AACA2jD,iBAAO,CAACG,MAAR,GAAiB,KAAK7C,eAAtB;AACA,eAAKzD,aAAL,CAAmBh4C,KAAnB,EAA0B27C,IAA1B,CAA+BnlD,IAA/B,CAAoC2nD,OAApC;AACA3yC,iBAAO,CAACC,GAAR,CAAY,+CAAZ,EAA6D,KAAKusC,aAAL,CAAmBh4C,KAAnB,CAA7D;AACA,eAAMk8C,cAAN;AACD;;;gDACuBpmD,M,EAAQ;AAAA;;AAC9B,cAAIqhD,UAAU,GAAGrhD,MAAjB;AACA0V,iBAAO,CAACC,GAAR,CAAY,iBAAZ,EAA+B0rC,UAAU,CAACz9C,KAAX,CAAiBA,KAAhD;AAGA8R,iBAAO,CAACC,GAAR,CAAY,iBAAZ,EAA+B3V,MAA/B;AACA,cAAIkK,KAAK,GAAG,KAAKg4C,aAAL,CAAmB7hD,SAAnB,CAA6B,UAAAR,CAAC;AAAA,mBAAIA,CAAC,CAACtF,EAAF,IAAQ,QAAI,CAACorD,eAAjB;AAAA,WAA9B,CAAZ;AACA,cAAI2C,sBAAsB,GAAG,KAAKpG,aAAL,CAAmBh4C,KAAnB,EAA0B27C,IAA1B,CAA+BxlD,SAA/B,CAAyC,UAAAR,CAAC;AAAA,mBAAIA,CAAC,CAACpE,EAAF,IAAQ4lD,UAAU,CAACz9C,KAAX,CAAiBnI,EAA7B;AAAA,WAA1C,CAA7B;AACAia,iBAAO,CAACC,GAAR,CAAY,wBAAZ,EAAsC2yC,sBAAtC;AACA,eAAKpG,aAAL,CAAmBh4C,KAAnB,EAA0B27C,IAA1B,CAA+Bj6C,MAA/B,CAAsC08C,sBAAtC,EAA8D,CAA9D;AACA,eAAKpG,aAAL,CAAmBh4C,KAAnB,EAA0Bi8C,kBAA1B,GAA+C,KAAKjE,aAAL,CAAmBh4C,KAAnB,EAA0Bg8C,kBAAzE;AACA,eAAKhE,aAAL,CAAmBh4C,KAAnB,EAA0B27C,IAA1B,CAA+B54C,OAA/B,CACE,UAAA1M,IAAI,EAAI;AACN,oBAAI,CAAC2hD,aAAL,CAAmBh4C,KAAnB,EAA0Bi8C,kBAA1B,IAAiD,QAAI,CAACjE,aAAL,CAAmBh4C,KAAnB,EAA0Bi8C,kBAA1B,GAA+C5lD,IAAI,CAACynD,UAApD,GAAiE,GAAlH;AACAtyC,mBAAO,CAACC,GAAR,CAAY,qBAAZ,EAAmC,QAAI,CAACusC,aAAL,CAAmBh4C,KAAnB,EAA0Bi8C,kBAA7D;AAEA5lD,gBAAI,CAAC4lD,kBAAL,GAA0B,QAAI,CAACjE,aAAL,CAAmBh4C,KAAnB,EAA0Bi8C,kBAApD;AACD,WANH;AASAzwC,iBAAO,CAACC,GAAR,CAAY,qBAAZ,EAAmC,KAAKusC,aAAL,CAAmBh4C,KAAnB,EAA0Bi8C,kBAA7D;AACAzwC,iBAAO,CAACC,GAAR,CAAY,+CAAZ,EAA6D,KAAKusC,aAAL,CAAmBh4C,KAAnB,CAA7D;AAEA,eAAMk8C,cAAN;AAED;;;uDAC2B;AAAA;;AACxB;AACF1wC,iBAAO,CAACC,GAAR,CAAY,sBAAZ,EAAmC,KAAKgwC,eAAxC;AAEI,cAAIz7C,KAAK,GAAG,KAAKg4C,aAAL,CAAmB7hD,SAAnB,CAA6B,UAAAR,CAAC;AAAA,mBAAIA,CAAC,CAACtF,EAAF,IAAQ,QAAI,CAACorD,eAAjB;AAAA,WAA9B,CAAZ;AACRjwC,iBAAO,CAACC,GAAR,CAAY,8CAAZ,EAA2D,KAAKusC,aAAL,CAAmB,CAACh4C,KAApB,CAA3D;AAEI,eAAKg4C,aAAL,CAAmBh4C,KAAnB,EAA0Bi8C,kBAA1B,GAA+C,KAAKjE,aAAL,CAAmB,CAACh4C,KAApB,EAA2Bg8C,kBAA1E;AACA,eAAKhE,aAAL,CAAmBh4C,KAAnB,EAA0B27C,IAA1B,CAA+B54C,OAA/B,CACE,UAAA1M,IAAI,EAAI;AACN,oBAAI,CAAC2hD,aAAL,CAAmBh4C,KAAnB,EAA0Bi8C,kBAA1B,IAAiD,QAAI,CAACjE,aAAL,CAAmB,CAACh4C,KAApB,EAA2Bi8C,kBAA3B,GAAgD5lD,IAAI,CAACynD,UAArD,GAAkE,GAAnH;AACAtyC,mBAAO,CAACC,GAAR,CAAY,qBAAZ,EAAmC,QAAI,CAACusC,aAAL,CAAmB,CAACh4C,KAApB,EAA2Bi8C,kBAA9D;AAEA5lD,gBAAI,CAAC4lD,kBAAL,GAA0B,QAAI,CAACjE,aAAL,CAAmB,CAACh4C,KAApB,EAA2Bi8C,kBAArD;AACD,WANH;AASA,eAAMC,cAAN;AACD;;;4CACgB;AACf;AACA,cAAIqC,aAAa,GAAG,KAAK7D,WAAL,CAAiBr7B,QAAjB,CAA0B,eAA1B,EAA2C3lB,KAA/D;;AACA,cAAG6kD,aAAa,GAAG,CAAnB,EAAqB;AACnB,gBAAI5oD,CAAC,GAAG,KAAKijD,YAAL,CAAkBziD,SAAlB,CAA4B,UAAAC,CAAC;AAAA,qBAAEA,CAAC,CAAC7E,EAAF,IAAQgtD,aAAV;AAAA,aAA7B,CAAR;;AACA,gBAAG5oD,CAAC,GAAC,CAAC,CAAN,EAAQ;AACN,kBAAI26C,IAAI,GAAE,IAAI13C,IAAJ,EAAV;AACD,kBAAI+iB,IAAI,GAAG20B,IAAI,CAAC10B,WAAL,EAAX;AACA,kBAAI4iC,KAAK,GAAGlO,IAAI,CAACmO,WAAL,EAAZ;AACA,kBAAIC,GAAG,GAAGpO,IAAI,CAACqO,OAAL,EAAV;AACC,kBAAIxkB,KAAK,GAAG,IAAIvhC,IAAJ,EAAZ;AACAuhC,mBAAK,CAACykB,WAAN,CAAkBjjC,IAAlB;AACAwe,mBAAK,CAAC0kB,WAAN,CAAkBL,KAAlB;AACArkB,mBAAK,CAAC2kB,OAAN,CAAcJ,GAAG,GAAC,KAAK9F,YAAL,CAAkBjjD,CAAlB,EAAqBopD,YAAvC;AACA,mBAAKrE,WAAL,CAAiBr7B,QAAjB,CAA0B,SAA1B,EAAqCC,QAArC,CAA8C,IAAI1mB,IAAJ,CAASuhC,KAAT,EAAgBvb,WAAhB,GAA8B5pB,KAA9B,CAAoC,CAApC,EAAuC,EAAvC,CAA9C;AACD;AACF;AACF;;;wCACY;AACX,eAAK0lD,WAAL,CAAiBr7B,QAAjB,CAA0B,eAA1B,EAA2CC,QAA3C,CAAoD,CAApD;AACD;;;uCAIW;AAAA;;AACV;AACA,cAAI3pB,CAAC,GAAG,KAAKkjD,OAAL,CAAa1iD,SAAb,CAAuB,UAAAC,CAAC;AAAA,mBAAEA,CAAC,CAAC7E,EAAF,IAAQ,QAAI,CAAC0nD,YAAf;AAAA,WAAxB,CAAR;;AACA,cAAGtjD,CAAC,GAAC,CAAC,CAAN,EAAQ;AACN,gBAAItC,QAAQ,GAAG,IAAI,0JAAJ,EAAf;AACAA,oBAAQ,CAAC2rD,YAAT,GAAwB,KAAKnG,OAAL,CAAaljD,CAAb,EAAgBpE,EAAxC;AACA8B,oBAAQ,CAACwrB,MAAT,GAAkB,CAAlB;AACAxrB,oBAAQ,CAAC9B,EAAT,GAAc,CAAd;AACA8B,oBAAQ,CAAC4rD,eAAT,GAA2B,CAA3B;AACA5rD,oBAAQ,CAAC6rD,OAAT,GAAmB,CAAnB;AACA,iBAAKlG,mBAAL,CAAyBxiD,IAAzB,CAA8BnD,QAA9B;AACA,iBAAK4lD,YAAL,GAAoB,CAApB;AACD;AACF;;;oCACW5oD,E,EAAE;AACZ,iBAAO,KAAKwoD,OAAL,CAAanjD,IAAb,CAAkB,UAAAU,CAAC;AAAA,mBAAEA,CAAC,CAAC7E,EAAF,IAAQlB,EAAV;AAAA,WAAnB,EAAiCmK,MAAxC;AACD;;;sCAEa2kD,I,EAAKrpD,M,EAAM;AACvB;AACAqpD,cAAI,CAACD,OAAL,GAAe,CAAEppD,MAAM,CAACC,MAAP,CAAc2D,KAA/B;;AACA,cAAGylD,IAAI,CAACD,OAAL,GAAe,GAAlB,EAAsB;AACpBC,gBAAI,CAACD,OAAL,GAAe,GAAf;AACD;;AACD,cAAI3/B,MAAM,GAAG,KAAKi5B,aAAlB;AACA,cAAI4G,YAAY,GAAG,CAAnB;AACA,cAAIzpD,CAAC,GAAG,KAAKqjD,mBAAL,CAAyBplC,OAAzB,CAAiCurC,IAAjC,CAAR;;AACA,cAAGxpD,CAAC,GAAC,CAAC,CAAN,EAAQ;AACN,iBAAKqjD,mBAAL,CAAyBrjD,CAAzB,EAA4BupD,OAA5B,GAAsCC,IAAI,CAACD,OAA3C;AACA,iBAAKlG,mBAAL,CAAyBrjD,CAAzB,EAA4BkpB,MAA5B,GAAsCU,MAAM,GAAG4/B,IAAI,CAACD,OAAf,GAA0B,GAA/D;AACD;AAEJ;;;qCACYC,I,EAAKrpD,M,EAAM;AACpB;AACAqpD,cAAI,CAACtgC,MAAL,GAAc,CAAE/oB,MAAM,CAACC,MAAP,CAAc2D,KAA9B;AACA,cAAI6lB,MAAM,GAAG,KAAKi5B,aAAlB;;AACA,cAAG2G,IAAI,CAACtgC,MAAL,GAAcU,MAAjB,EAAwB;AACtB4/B,gBAAI,CAACtgC,MAAL,GAAcU,MAAd;AACD;;AACD,cAAI5pB,CAAC,GAAG,KAAKqjD,mBAAL,CAAyBplC,OAAzB,CAAiCurC,IAAjC,CAAR;;AACA,cAAGxpD,CAAC,GAAC,CAAC,CAAN,EAAQ;AACN,iBAAKqjD,mBAAL,CAAyBrjD,CAAzB,EAA4BkpB,MAA5B,GAAqCsgC,IAAI,CAACtgC,MAA1C;AACA,iBAAKm6B,mBAAL,CAAyBrjD,CAAzB,EAA4BupD,OAA5B,GAAuCC,IAAI,CAACtgC,MAAL,GAAc,GAAf,GAAsBU,MAA5D;AACD;AAEJ;;;yCACgB4/B,I,EAAI;AACjB,cAAIxpD,CAAC,GAAG,KAAKqjD,mBAAL,CAAyBplC,OAAzB,CAAiCurC,IAAjC,CAAR;;AACA,cAAGxpD,CAAC,GAAG,CAAC,CAAR,EAAU;AACR,iBAAKqjD,mBAAL,CAAyBt3C,MAAzB,CAAgC/L,CAAhC,EAAkC,CAAlC;AACD;AAEJ;;;iCACK;AACJ,eAAK1D,MAAL,CAAY0E,QAAZ,CAAqB,CAAC,+BAAD,CAArB;AACD;;;6CAMiB;AAChB,eAAKhE,eAAL,GAAsB,KAAtB;AACA,eAAKH,QAAL,GAAgB,KAAK2H,UAAL,CAAgB,KAAK7H,WAArB,CAAhB,CAFgB,CAGhB;;AACA,eAAK+sD,kBAAL,CAAwB,KAAKnG,YAA7B;AACD;;;mCA6BU5mD,W,EAAW;AACpB;AACA,iBAAO,KAAKuF,EAAL,CAAQY,KAAR,CAAc;AACnBlH,cAAE,EAAE,CAACe,WAAW,CAACf,EAAZ,IAAkB,CAAlB,GAAsBe,WAAW,CAACf,EAAlC,GAAuC,CAAxC,CADe;AAEnByT,gBAAI,EAAE,CAAC1S,WAAW,CAAC0S,IAAb,EAAmB,0DAAW7E,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,CAAnB,CAAnB,CAFa;AAGnBwyB,qBAAS,EAAE,CACTtgC,WAAW,CAACsgC,SADH,EAET,0DAAWzyB,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWE,SAAX,CAAqB,CAArB,CAAtB,CAAnB,CAFS,CAHQ;AAOnB6wB,2BAAe,EAAE,CACf7+B,WAAW,CAAC6+B,eADG,EAEf,0DAAWhxB,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,CAAnB,CAFe,CAPE;AAWnB4uB,qBAAS,EAAE,CAAC18B,WAAW,CAAC08B,SAAb,CAXQ;AAYnBoC,sBAAU,EAAE,CAAC9+B,WAAW,CAAC8+B,UAAb,CAZO;AAanBC,uBAAW,EAAE,CAAC/+B,WAAW,CAAC++B,WAAb,CAbM;AAcnBC,8BAAkB,EAAE,CAACh/B,WAAW,CAACg/B,kBAAb,CAdD;AAenB30B,uBAAW,EAAE,CAACrK,WAAW,CAACqK,WAAb,CAfM;AAgBnB40B,oBAAQ,EAAE,CAACj/B,WAAW,CAACi/B,QAAb,CAhBS;AAiBnBC,4BAAgB,EAAE,CAACl/B,WAAW,CAACk/B,gBAAb,CAjBC;AAkBnB;AACA;AACA9b,iBAAK,EAAE,CAACpjB,WAAW,CAACojB,KAAb,CApBY;AAqBnB+b,gBAAI,EAAE,CAACn/B,WAAW,CAACm/B,IAAb,CArBa;AAsBnBxB,yBAAa,EAAE,CAAC39B,WAAW,CAAC29B,aAAb,CAtBI;AAuBnBgD,iBAAK,EAAE,CAAC3gC,WAAW,CAAC2gC,KAAb,CAvBY;AAwBnBtB,2BAAe,EAAE,CAACr/B,WAAW,CAACq/B,eAAb,CAxBE;AAyBnBC,2BAAe,EAAE,CAACt/B,WAAW,CAACs/B,eAAb,CAzBE;AA0BnBsB,mBAAO,EAAE,CAAC5gC,WAAW,CAAC4gC,OAAb,CA1BU;AA2BnBxB,qBAAS,EAAE,CAACp/B,WAAW,CAACo/B,SAAZ,IAAyB,IAAzB,GAAgC,IAAhC,GAAuCp/B,WAAW,CAACo/B,SAApD,CA3BQ;AA4BnBhuB,kBAAM,EAAC,CAACpR,WAAW,CAACoR,MAAb,CA5BY;AA6BnByvB,wBAAY,EAAC,CAAC7gC,WAAW,CAAC6gC,YAAb;AA7BM,WAAd,CAAP;AAiCD;;;oCACW;AACV,eAAK7gC,WAAL,GAAmB,IAAI,wFAAJ,EAAnB;AACA,eAAKkO,gBAAL;AACD;;;2CACe;AAAA;;AACd;AACA,eAAK+2C,aAAL,CAAmB18C,MAAnB,CAA0B,KAAKvI,WAA/B,EAA4CgC,SAA5C,CAAsD,UAAAC,MAAM,EAAI;AAC9D,gBAAIA,MAAM,GAAG,CAAb,EAAiB;AAEf,sBAAI,CAACjC,WAAL,CAAiBf,EAAjB,GAAsBgD,MAAtB;;AACA,sBAAI,CAACuQ,cAAL,CAAoBtO,IAApB,CAAyB,QAAI,CAAClE,WAA9B;;AACA,sBAAI,CAACgI,YAAL,CAAkBI,QAAlB,CAA2B3D,IAA3B;AACD,aALD,MAMK,CACJ;AACF,WATD;AAUD;;;2CACkBm2C,Q,EAA0B;AAC3C,eAAKxyC,QAAL,GAAgB,KAAKoyC,YAAL,CAAkBj2C,IAAlB,CACdq2C,QADc,EAEdrsC,MAAM,CAACy+C,MAAP,CAAc,EAAd,EAAkB;AAAE,qBAAO;AAAT,WAAlB,CAFc,CAAhB;AAID;;;sDAG6B1pD,K,EAAO;AACnC4V,iBAAO,CAACC,GAAR,CAAY7V,KAAZ;AACA,eAAKo8B,oBAAL,GAA4Bp8B,KAA5B;AAED;;;mCACU;AAAA;;AACT;AACA,eAAKtD,WAAL,GAAmB,IAAI,wFAAJ,EAAnB;AACA,eAAKA,WAAL,CAAiBf,EAAjB,GAAsB,CAAtB;AACA,eAAKe,WAAL,CAAiB0S,IAAjB,GAAwB,KAAKxS,QAAL,CAAc6H,WAAd,GAA4B2K,IAApD;AACA,eAAK1S,WAAL,CAAiBsgC,SAAjB,GAA6B,KAAKpgC,QAAL,CAAc6H,WAAd,GAA4Bu4B,SAAzD;AACA,eAAKtgC,WAAL,CAAiBo/B,SAAjB,GAA6B,KAAKl/B,QAAL,CAAc6H,WAAd,GAA4Bq3B,SAAzD;AACA,eAAKp/B,WAAL,CAAiBqK,WAAjB,GAA+B,KAAKnK,QAAL,CAAc6H,WAAd,GAA4BsC,WAA3D;AACA,eAAKrK,WAAL,CAAiBi/B,QAAjB,GAA4B,KAAK/+B,QAAL,CAAc6H,WAAd,GAA4Bk3B,QAAxD;AACA,eAAKj/B,WAAL,CAAiBg/B,kBAAjB,GACE,CAAC,KAAK9+B,QAAL,CAAc6H,WAAd,GAA4Bi3B,kBAD/B;AAEA,eAAKh/B,WAAL,CAAiBk/B,gBAAjB,GACE,KAAKh/B,QAAL,CAAc6H,WAAd,GAA4Bm3B,gBAD9B;AAEA,eAAKl/B,WAAL,CAAiB6+B,eAAjB,GACE,CAAC,KAAK3+B,QAAL,CAAc6H,WAAd,GAA4B82B,eAD/B;AAEA,eAAK7+B,WAAL,CAAiB08B,SAAjB,GAA6B,CAAC,KAAKx8B,QAAL,CAAc6H,WAAd,GAA4B20B,SAA1D;AACA,eAAK18B,WAAL,CAAiBojB,KAAjB,GAAyB,KAAKljB,QAAL,CAAc6H,WAAd,GAA4Bqb,KAArD;AACA,eAAKpjB,WAAL,CAAiB8+B,UAAjB,GAA8B,CAAC,KAAK5+B,QAAL,CAAc6H,WAAd,GAA4B+2B,UAA3D;AACA,eAAK9+B,WAAL,CAAiB++B,WAAjB,GAA+B,CAAC,KAAK7+B,QAAL,CAAc6H,WAAd,GAA4Bg3B,WAA5D;AACA,eAAK/+B,WAAL,CAAiBoR,MAAjB,GAA0B,CAAC,KAAKlR,QAAL,CAAc6H,WAAd,GAA4BqJ,MAAvD;AACA,eAAKpR,WAAL,CAAiBy2B,QAAjB,GAA4B,CAA5B;AACA,eAAKz2B,WAAL,CAAiB4gC,OAAjB,GAA2B,KAAK1gC,QAAL,CAAc6H,WAAd,GAA4B64B,OAAvD;AACA,eAAK5gC,WAAL,CAAiBm/B,IAAjB,GAAwB,KAAKj/B,QAAL,CAAc6H,WAAd,GAA4Bo3B,IAApD;AACA,eAAKn/B,WAAL,CAAiBq/B,eAAjB,GAAmC,KAAKn/B,QAAL,CAAc6H,WAAd,GAA4Bs3B,eAA/D;AACA,eAAKr/B,WAAL,CAAiBs/B,eAAjB,GAAmC,KAAKp/B,QAAL,CAAc6H,WAAd,GAA4Bu3B,eAA/D;AACA,eAAKt/B,WAAL,CAAiB6gC,YAAjB,GAAgC,KAAK3gC,QAAL,CAAc6H,WAAd,GAA4B84B,YAA5D;AACA,eAAK7gC,WAAL,CAAiB2gC,KAAjB,GAAyB,CAAC,KAAKzgC,QAAL,CAAc6H,WAAd,GAA4B44B,KAAtD;AAEA,eAAKjB,oBAAL,CAA0BjvB,OAA1B,CAAkC,UAAAC,OAAO,EAAI;AAC3C,gBAAIoe,GAAG,GAAG,IAAI,8FAAJ,EAAV;AACAA,eAAG,CAACgN,UAAJ,GAAiBprB,OAAO,CAACzR,EAAzB;AACA6vB,eAAG,CAAC7vB,EAAJ,GAAS,CAAT;AACA6vB,eAAG,CAAC2N,MAAJ,GAAa,CAAb;;AACA,oBAAI,CAACz8B,WAAL,CAAiBshC,YAAjB,CAA8Bp9B,IAA9B,CAAmC4qB,GAAnC;AACD,WAND;AAOA,eAAKqS,iBAAL,CAAuB1wB,OAAvB,CAA+B,UAAAC,OAAO,EAAI;AACxC,gBAAIoe,GAAG,GAAG,IAAI,yFAAJ,EAAV;AACAA,eAAG,CAAC4S,OAAJ,GAAchxB,OAAO,CAACzR,EAAtB;AACA6vB,eAAG,CAAC7vB,EAAJ,GAAS,CAAT;AACA6vB,eAAG,CAAC2N,MAAJ,GAAa,CAAb;;AACA,oBAAI,CAACz8B,WAAL,CAAiBqhC,SAAjB,CAA2Bn9B,IAA3B,CAAgC4qB,GAAhC;AACD,WAND;AAOA5V,iBAAO,CAACC,GAAR,CAAY,KAAKnZ,WAAjB;AACAkZ,iBAAO,CAACC,GAAR,CAAY,KAAKnZ,WAAjB;AACA,eAAKilD,aAAL,CAAmB18C,MAAnB,CAA0B,KAAKvI,WAA/B,EAA4CgC,SAA5C,CAAsD,UAACM,IAAD,EAAU;AAC9D;AACA,oBAAI,CAACtC,WAAL,CAAiBf,EAAjB,GAAsBqD,IAAtB;;AACA,oBAAI,CAACkQ,cAAL,CAAoBtO,IAApB,CAAyB,QAAI,CAAClE,WAA9B;;AACA,oBAAI,CAACA,WAAL,GAAmB,IAAI,wFAAJ,EAAnB;;AACA,oBAAI,CAAC2nD,iBAAL;;AACAzuC,mBAAO,CAACC,GAAR,CAAY,WAAZ,EAAwB7W,IAAxB;;AACA,oBAAI,CAAC8F,QAAL,CAAc3D,IAAd;AACD,WARD;AASD;;;mDAG0BnB,K,EAAO;AAChC4V,iBAAO,CAACC,GAAR,CAAY7V,KAAZ;AACA,eAAK69B,iBAAL,GAAyB79B,KAAzB;AAED;;;kDACyBk+B,K,EAAc;AACtC,cAAIC,SAAS,GAAG,SAAZA,SAAY,CAACD,KAAD,EAAW;AACzBA,iBAAK,CAAC/wB,OAAN,CAAc,UAACC,OAAD,EAAa;AACzBA,qBAAO,CAAC,kBAAD,CAAP,GAA8B,kBAA9B;AACD,aAFD;AAGD,WAJD;;AAMA+wB,mBAAS,CAACD,KAAD,CAAT;AACD;;;0CACc;AACb,eAAKxhC,WAAL,CAAiB6+B,eAAjB,GAAmC,CAAC,KAAK3+B,QAAL,CAAc6H,WAAd,GAA4B82B,eAAhE;AACA,eAAK7+B,WAAL,CAAiB08B,SAAjB,GAA6B,CAAC,KAAKx8B,QAAL,CAAc6H,WAAd,GAA4B20B,SAA1D,CAFa,CAIb;;AAEI,cAAIqD,GAAG,GAAC,KAAK//B,WAAL,CAAiB08B,SAAjB,GAA2B,KAAK18B,WAAL,CAAiB6+B,eAApD;AACA,eAAK7+B,WAAL,CAAiBk/B,gBAAjB,GAAoC,EAAGa,GAAG,GAAC,KAAK//B,WAAL,CAAiB6+B,eAAtB,GAAuC,GAAzC,CAApC,CAPS,CAQT;;AAEA,eAAK3+B,QAAL,CAAc6sB,QAAd,CAAuB,kBAAvB,EAA2CC,QAA3C,CAAoD,KAAKhtB,WAAL,CAAiBk/B,gBAArE;AACL;;;4CACgB;AAAA;;AACf,eAAKgmB,eAAL,CAAqB7iD,MAArB,GAA8BL,SAA9B,CAAwC,UAACM,IAAD,EAAU;AAChD,oBAAI,CAACi9B,cAAL,GAAsBj9B,IAAtB;AACA,oBAAI,CAACk9B,eAAL,GAAuBl9B,IAAvB;AACA4W,mBAAO,CAACC,GAAR,CAAY,gBAAZ,EAA8B,QAAI,CAAComB,cAAnC;AACD,WAJD;AAKA,eAAKmB,YAAL,CAAkBr+B,MAAlB,GACCL,SADD,CACW,UAAAM,IAAI,EAAE;AAET,oBAAI,CAACy+B,SAAL,GAAez+B,IAAf;AACA4W,mBAAO,CAACC,GAAR,CAAY,WAAZ,EAAwB,QAAI,CAAC4nB,SAA7B;AACH,WALL;AAOI,eAAKrC,cAAL,CAAoBr8B,MAApB,GACCL,SADD,CACW,UAAAM,IAAI,EAAE;AAET,oBAAI,CAACm9B,YAAL,GAAkBn9B,IAAlB;AACA4W,mBAAO,CAACC,GAAR,CAAY,cAAZ,EAA2B,QAAI,CAACsmB,YAAhC;AACH,WALL;AAMJ,eAAKwlB,aAAL,CAAmBr2B,aAAnB,GAAmC5sB,SAAnC,CAA6C,UAACM,IAAD,EAAU;AACrD;AACE,oBAAI,CAACtC,WAAL,CAAiBsgC,SAAjB,GAA6Bh+B,IAA7B;;AACA,oBAAI,CAACpC,QAAL,CAAc6sB,QAAd,CAAuB,WAAvB,EAAoCC,QAApC,CAA6C,QAAI,CAAChtB,WAAL,CAAiBsgC,SAAjB,GAA2B,CAAxE;;AACApnB,mBAAO,CAACC,GAAR,CAAY,WAAZ,EAAyB,QAAI,CAACnZ,WAAL,CAAiBsgC,SAA1C;AACD,WALH;AAOA,eAAKtE,gBAAL,CAAsB35B,MAAtB,GAA+BL,SAA/B,CAAyC,UAACM,IAAD,EAAU;AACjD,oBAAI,CAAC+5B,aAAL,GAAqB/5B,IAArB;AACD,WAFD;AAGA,eAAKm+B,eAAL,CAAqBp+B,MAArB,GAA8BL,SAA9B,CAAwC,UAAAM,IAAI,EAAE;AAC5C,oBAAI,CAACw+B,QAAL,GAAcx+B,IAAd;AACA4W,mBAAO,CAACC,GAAR,CAAY,eAAZ,EAA4B,QAAI,CAAC2nB,QAAjC;AACD,WAHD;AAID;;;;;;;uBAjxBYkkB,sB,EAAsB,6I,EAAA,wH,EAAA,wI,EAAA,2H,EAAA,4I,EAAA,oI,EAAA,4I,EAAA,4I,EAAA,sJ,EAAA,0L,EAAA,uM,EAAA,2H,EAAA,qJ,EAAA,yK,EAAA,wK,EAAA,8K;AAAA,K;;;YAAtBA,sB;AAAsB,yC;AAAA;AAAA;;;;;;;;;;;;;;;;;;AC/CnC;;AAEI;;AACI;;AAA8B;AAAA,mBAAS,IAAAjxC,MAAA,EAAT;AAAiB,WAAjB;;AAC+F;;;;AAAuB;;AACpJ;;AAC0D;AAAA,mBAAS,IAAAC,IAAA,EAAT;AAAe,WAAf;;AACmE;;;;AAAsB;;AAEvJ;;AACA;;AA4FG;;AA0GP;;AACI;;AACA;;AACI;;AAAwB;;;;AAA0B;;AAClD;;AAAa;AAAA,mBAAU,IAAAi5C,iBAAA,QAAV;AAAmC,WAAnC;;AAGT;;AAIF;;AAMF;;AAEL;;AAuBC;;AAEJ;;AAEA;;AAEA;;AACI;;AACI;;AAAqC;;;;AAA6B;;AAElE;;AAEA;;AAEA;;AACI;;AACI;;AACI;;AAAgB;;AAAC;;AACjB;;AAAgB;;;;AAA4B;;AAC5C;;AAAgB;;;;AAAwB;;AACxC;;AAAgB;;;;AAAuB;;AACvC;;AAAgB;;;;AAAuB;;AAE3C;;AACJ;;AACA;;AACI;;AAYJ;;AACJ;;AACJ;;AAEJ;;AACA;;AA4CG;;AAoDA;;AACC;;AACI;;AAAiB;;;;AAAmC;;AACxD;;AAEA;;AACI;;AACA;;AAEI;;AAEI;;AACI;;AAAgB;;;;AAAuC;;AACvD;;AAAI;;AAAoB;;AAC5B;;AACA;;AACI;;AAAgB;;;;AAA0C;;AAC1D;;AAAI;;AAAuB;;AAC/B;;AAKA;;AACI;;AAAgB;;;;AAAwC;;AACxD;;AAAI;;AAAuB;;AAC/B;;AACJ;;AACJ;;AAqBA;;AACD;;AACP;;AACA;;AACI;;AAA8B;AAAA,mBAAS,IAAAl5C,MAAA,EAAT;AAAiB,WAAjB;;AAC+F;;;;AAAuB;;AACpJ;;AAE0D;AAAA,mBAAS,IAAAC,IAAA,EAAT;AAAe,WAAf;;AACmE;;;;AAAsB;;AAEvJ;;AACA;;AA0aA;;AAkDA;;;;AA15BqI;;AAAA;;AAGA;;AAAA;;AAG3H;;AAAA;;AA4FG;;AAAA;;AA6GmB;;AAAA;;AAIT;;AAAA;;AAYF;;AAAA;;AA+BwB;;AAAA;;AAEzB;;AAAA;;AAED;;AAAA;;AAMiB;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAKf;;AAAA;;AAiBf;;AAAA;;AA4CG;;AAAA;;AAsDgB;;AAAA;;AAUW;;AAAA;;AACZ;;AAAA;;AAGY;;AAAA;;AACZ;;AAAA;;AAOY;;AAAA;;AACZ;;AAAA;;AA6ByG;;AAAA;;AAIA;;AAAA;;;;;;;;;;sEDhZpHgxC,sB,EAAsB;cALlC,uDAKkC;eALxB;AACT7/C,kBAAQ,EAAE,oBADD;AAETC,qBAAW,EAAE,iCAFJ;AAGTC,mBAAS,EAAE,CAAC,iCAAD;AAHF,S;AAKwB,Q;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAqjBlC,uD;iBAAU,c,EAAgB;AAAE,sBAAQ;AAAV,W;;;gBAG1B,uD;iBAAU,c,EAAgB;AAAE,sBAAQ;AAAV,W;;;;;;;;;;;;;;;;;;;;AErmB3B;AAAA;;;AAAA;AAAA;AAAA;;QAAa6nD,a,GAyBT,uBAAYnpD,IAAZ,EAAiC;AAAA;;AAC7BA,UAAI,GAAGA,IAAI,GAAGA,IAAH,GAAU,EAArB;AACA,WAAK9E,EAAL,GAA2B8E,IAAI,CAAC9E,EAAL,GAA2B8E,IAAI,CAAC9E,EAAhC,GAAsD,CAAjF;AACA,WAAK8H,KAAL,GAA2BhD,IAAI,CAACgD,KAAL,GAA2BhD,IAAI,CAACgD,KAAhC,GAAsD,CAAjF;AACA,WAAK0vB,QAAL,GAA2B1yB,IAAI,CAAC0yB,QAAL,GAA2B1yB,IAAI,CAAC0yB,QAAhC,GAAsD,CAAjF;AACA,WAAKwI,QAAL,GAA2Bl7B,IAAI,CAACk7B,QAAL,GAA2Bl7B,IAAI,CAACk7B,QAAhC,GAAsD,CAAjF;AACA,WAAK0rB,SAAL,GAA2B5mD,IAAI,CAAC4mD,SAAL,GAA2B5mD,IAAI,CAAC4mD,SAAhC,GAAsD,CAAjF;AACA,WAAKluB,MAAL,GAA2B14B,IAAI,CAAC04B,MAAL,GAA2B14B,IAAI,CAAC04B,MAAhC,GAAsD,CAAjF;AACA,WAAKwtB,QAAL,GAA6BlmD,IAAI,CAACkmD,QAAL,GAA6BlmD,IAAI,CAACkmD,QAAlC,GAA0D,CAAvF;AACA,WAAKv3C,IAAL,GAA2B3O,IAAI,CAAC2O,IAAL,GAA2B3O,IAAI,CAAC2O,IAAhC,GAAsD,EAAjF;AACA,WAAKxK,MAAL,GAA2BnE,IAAI,CAACmE,MAAL,GAA2BnE,IAAI,CAACmE,MAAhC,GAAsD,EAAjF;AACA,WAAK/H,MAAL,GAA2B4D,IAAI,CAAC5D,MAAL,GAA2B4D,IAAI,CAAC5D,MAAhC,GAAsD,EAAjF;AACA,WAAK2qD,WAAL,GAA2B/mD,IAAI,CAAC+mD,WAAL,GAA2B/mD,IAAI,CAAC+mD,WAAhC,GAAsD,CAAjF;AACA,WAAKtkD,KAAL,GAA2BzC,IAAI,CAACyC,KAAL,GAA2BzC,IAAI,CAACyC,KAAhC,GAAsD,CAAjF;AACA,WAAK2mD,eAAL,GAA2BppD,IAAI,CAACopD,eAAL,GAA2BppD,IAAI,CAACopD,eAAhC,GAAsD,CAAjF;AACA,WAAKjC,gBAAL,GAA2BnnD,IAAI,CAACmnD,gBAAL,GAA2BnnD,IAAI,CAACmnD,gBAAhC,GAAsD,CAAjF;AACA,WAAKD,QAAL,GAA2BlnD,IAAI,CAACknD,QAAL,GAA2BlnD,IAAI,CAACknD,QAAhC,GAAsD,CAAjF;AACA,WAAKG,aAAL,GAA2BrnD,IAAI,CAACqnD,aAAL,GAA2BrnD,IAAI,CAACqnD,aAAhC,GAAsD,CAAjF;AACA,WAAKC,YAAL,GAA2BtnD,IAAI,CAACsnD,YAAL,GAA2BtnD,IAAI,CAACsnD,YAAhC,GAAsD,EAAjF;AACA,WAAKT,SAAL,GAA2B7mD,IAAI,CAAC6mD,SAAL,GAA2B7mD,IAAI,CAAC6mD,SAAhC,GAAsD,CAAjF;AACA,WAAKC,UAAL,GAA2B9mD,IAAI,CAAC8mD,UAAL,GAA2B9mD,IAAI,CAAC8mD,UAAhC,GAAsD,CAAjF;AACA,WAAKuC,oBAAL,GAA2BrpD,IAAI,CAACqpD,oBAAL,GAA2BrpD,IAAI,CAACqpD,oBAAhC,GAAsD,CAAjF;AACA,WAAKpC,YAAL,GAA2BjnD,IAAI,CAACinD,YAAL,GAA2BjnD,IAAI,CAACinD,YAAhC,GAAsD,CAAjF;AACA,WAAKD,cAAL,GAA2BhnD,IAAI,CAACgnD,cAAL,GAA2BhnD,IAAI,CAACgnD,cAAhC,GAAsD,CAAjF;AACA,WAAKI,IAAL,GAA2BpnD,IAAI,CAAConD,IAAL,GAA2BpnD,IAAI,CAAConD,IAAhC,GAAsD,CAAjF;AACA,WAAKG,KAAL,GAA2BvnD,IAAI,CAACunD,KAAL,GAA2BvnD,IAAI,CAACunD,KAAhC,GAAsD,EAAjF;AACH,K;;;;;;;;;;;;;;;;;ACpDH;AAAA;;;AAAA;AAAA;AAAA;;QAAa+B,e,GAGX,yBAAYtpD,IAAZ,EAAoC;AAAA;;AAChCA,UAAI,GAAGA,IAAI,GAAGA,IAAH,GAAU,EAArB;AACA,WAAK9E,EAAL,GAAU8E,IAAI,CAAC9E,EAAL,GAAU8E,IAAI,CAAC9E,EAAf,GAAoB,CAA9B;AACA,WAAKyT,IAAL,GAAY3O,IAAI,CAAC2O,IAAL,GAAY3O,IAAI,CAAC2O,IAAjB,GAAwB,EAApC;AACH,K;;;;;;;;;;;;;;;;;ACNL;AAAA;;;AAAA;AAAA;AAAA;;QAAa46C,S,GAYT,mBAAYvpD,IAAZ,EAA6B;AAAA;;AACzBA,UAAI,GAAGA,IAAI,GAAGA,IAAH,GAAU,EAArB;AACA,WAAKhG,EAAL,GAAUgG,IAAI,CAAChG,EAAL,GAAUgG,IAAI,CAAChG,EAAf,GAAoB,CAA9B;AACA,WAAKyJ,KAAL,GAA2BzD,IAAI,CAACyD,KAAL,GAA2BzD,IAAI,CAACyD,KAAhC,GAAsD,CAAjF;AACA,WAAK0hD,QAAL,GAA2BnlD,IAAI,CAACmlD,QAAL,GAA2BnlD,IAAI,CAACmlD,QAAhC,GAAsD,CAAjF;AACA,WAAK7gD,QAAL,GAA2BtE,IAAI,CAACsE,QAAL,GAA2BtE,IAAI,CAACsE,QAAhC,GAAsD,CAAjF;AACA,WAAKohD,UAAL,GAA2B1lD,IAAI,CAAC0lD,UAAL,GAA2B1lD,IAAI,CAAC0lD,UAAhC,GAAsD,CAAjF;AACA,WAAKQ,QAAL,GAAyBlmD,IAAI,CAACkmD,QAAL,GAAyBlmD,IAAI,CAACkmD,QAA9B,GAAkD,CAA3E;AACA,WAAKP,kBAAL,GAA2B3lD,IAAI,CAAC2lD,kBAAL,GAA2B3lD,IAAI,CAAC2lD,kBAAhC,GAAsD,CAAjF;AACA,WAAKC,kBAAL,GAA0B5lD,IAAI,CAAC4lD,kBAAL,GAA0B5lD,IAAI,CAAC4lD,kBAA/B,GAAoD,CAA9E;AACA,WAAKvkB,IAAL,GAAYrhC,IAAI,CAACqhC,IAAL,GAAYrhC,IAAI,CAACqhC,IAAjB,GAAwB,EAApC;AACA,WAAKikB,IAAL,GAAYtlD,IAAI,CAACslD,IAAL,GAAYtlD,IAAI,CAACslD,IAAjB,GAAwB,EAApC;AACH,K;;;;;;;;;;;;;;;;;ACvBL;AAAA;;;AAAA;AAAA;AAAA;;QAAakE,gB,GAsCT,0BAAYxpD,IAAZ,EAAoC;AAAA;;AAChCA,UAAI,GAAGA,IAAI,GAAGA,IAAH,GAAU,EAArB;AACA,WAAK9E,EAAL,GAAU8E,IAAI,CAAC9E,EAAL,GAAU8E,IAAI,CAAC9E,EAAf,GAAoB,CAA9B;AACA,WAAKopD,aAAL,GAAqBtkD,IAAI,CAACskD,aAAL,GAAqBtkD,IAAI,CAACskD,aAA1B,GAA0C,EAA/D;AACA,WAAK8B,IAAL,GAAYpmD,IAAI,CAAComD,IAAL,GAAYpmD,IAAI,CAAComD,IAAjB,GAAwB,EAApC;AACA,WAAK7B,eAAL,GAAuBvkD,IAAI,CAACukD,eAAL,GAAuBvkD,IAAI,CAACukD,eAA5B,GAA8C,EAArE;AACA,WAAKriC,IAAL,GAAYliB,IAAI,CAACkiB,IAAL,GAAYliB,IAAI,CAACkiB,IAAjB,GAAwB,EAApC;AACA,WAAK0iC,aAAL,GAAqB5kD,IAAI,CAAC4kD,aAAL,GAAqB5kD,IAAI,CAAC4kD,aAA1B,GAA0C,EAA/D;AACA,WAAKrzC,QAAL,GAAgBvR,IAAI,CAACuR,QAAL,GAAgBvR,IAAI,CAACuR,QAArB,GAAgC,CAAhD;AACA,WAAKjP,QAAL,GAAgBtC,IAAI,CAACsC,QAAL,GAAgBtC,IAAI,CAACsC,QAArB,GAAgC,CAAhD;AACA,WAAKikD,UAAL,GAAkBvmD,IAAI,CAACumD,UAAL,GAAkBvmD,IAAI,CAACumD,UAAvB,GAAoC,CAAtD;AACA,WAAKtB,aAAL,GAAqBjlD,IAAI,CAACilD,aAAL,GAAqBjlD,IAAI,CAACilD,aAA1B,GAA0C,CAA/D;AACA,WAAKT,WAAL,GAAmBxkD,IAAI,CAACwkD,WAAL,GAAmBxkD,IAAI,CAACwkD,WAAxB,GAAsC,IAAzD;AACA,WAAK6B,YAAL,GAAoBrmD,IAAI,CAACqmD,YAAL,GAAoBrmD,IAAI,CAACqmD,YAAzB,GAAwC,IAA5D;AACA,WAAK5oB,KAAL,GAAaz9B,IAAI,CAACy9B,KAAL,GAAaz9B,IAAI,CAACy9B,KAAlB,GAA0B,EAAvC;AACA,WAAKgsB,UAAL,GAAuBzpD,IAAI,CAACypD,UAAL,GAAuBzpD,IAAI,CAACypD,UAA5B,GAA8C,CAArE;AACA,WAAK9C,mBAAL,GAAgC3mD,IAAI,CAAC2mD,mBAAL,GAA+B3mD,IAAI,CAAC2mD,mBAApC,GAA8D,CAA9F;AACA,WAAKe,SAAL,GAAgC1nD,IAAI,CAAC0nD,SAAL,GAA+B1nD,IAAI,CAAC0nD,SAApC,GAA8D,CAA9F;AACA,WAAKC,WAAL,GAAgC3nD,IAAI,CAAC2nD,WAAL,GAA+B3nD,IAAI,CAAC2nD,WAApC,GAA8D,CAA9F;AACA,WAAK3F,mBAAL,GAAgChiD,IAAI,CAACgiD,mBAAL,GAA+BhiD,IAAI,CAACgiD,mBAApC,GAA8D,CAA9F;AACA,WAAKwF,wBAAL,GAAgCxnD,IAAI,CAACwnD,wBAAL,GAA+BxnD,IAAI,CAACwnD,wBAApC,GAA8D,CAA9F;AACA,WAAK1F,gBAAL,GAAgC9hD,IAAI,CAAC8hD,gBAAL,GAA+B9hD,IAAI,CAAC8hD,gBAApC,GAA8D,CAA9F;AACA,WAAKnnC,MAAL,GAAuB3a,IAAI,CAAC2a,MAAL,GAAuB3a,IAAI,CAAC2a,MAA5B,GAA8C,EAArE;AACA,WAAK0oC,QAAL,GAAuBrjD,IAAI,CAACqjD,QAAL,GAAuBrjD,IAAI,CAACqjD,QAA5B,GAA8C,EAArE;AACA,WAAKC,SAAL,GAAuBtjD,IAAI,CAACsjD,SAAL,GAAuBtjD,IAAI,CAACsjD,SAA5B,GAA8C,EAArE;AACA,WAAKC,YAAL,GAAuBvjD,IAAI,CAACujD,YAAL,GAAuBvjD,IAAI,CAACujD,YAA5B,GAA8C,EAArE;AACA,WAAKC,UAAL,GAAuBxjD,IAAI,CAACwjD,UAAL,GAAuBxjD,IAAI,CAACwjD,UAA5B,GAA8C,EAArE;AACA,WAAKC,eAAL,GAAuBzjD,IAAI,CAACyjD,eAAL,GAAuBzjD,IAAI,CAACyjD,eAA5B,GAA8C,EAArE;AACA,WAAKC,WAAL,GAAuB1jD,IAAI,CAAC0jD,WAAL,GAAuB1jD,IAAI,CAAC0jD,WAA5B,GAA8C,EAArE;AACA,WAAKC,SAAL,GAAuB3jD,IAAI,CAAC2jD,SAAL,GAAuB3jD,IAAI,CAAC2jD,SAA5B,GAA8C,EAArE;AACA,WAAK+F,KAAL,GAAuB1pD,IAAI,CAAC0pD,KAAL,GAAuB1pD,IAAI,CAAC0pD,KAA5B,GAA8C,EAArE;AACA,WAAK3G,QAAL,GAAuB/iD,IAAI,CAAC+iD,QAAL,GAAuB/iD,IAAI,CAAC+iD,QAA5B,GAA8C,EAArE;AACA,WAAKE,WAAL,GAAuBjjD,IAAI,CAACijD,WAAL,GAAuBjjD,IAAI,CAACijD,WAA5B,GAA8C,EAArE;AACA,WAAKC,aAAL,GAAuBljD,IAAI,CAACkjD,aAAL,GAAuBljD,IAAI,CAACkjD,aAA5B,GAA8C,EAArE;AACA,WAAKC,eAAL,GAAuBnjD,IAAI,CAACmjD,eAAL,GAAuBnjD,IAAI,CAACmjD,eAA5B,GAA8C,EAArE;AACA,WAAKC,SAAL,GAAuBpjD,IAAI,CAACojD,SAAL,GAAuBpjD,IAAI,CAACojD,SAA5B,GAA8C,EAArE;AACA,WAAK4B,QAAL,GAAsBhlD,IAAI,CAACglD,QAAL,GAAsBhlD,IAAI,CAACglD,QAA3B,GAA4C,EAAlE;AACA,WAAK0B,WAAL,GAAmB1mD,IAAI,CAAC0mD,WAAL,GAAmB1mD,IAAI,CAAC0mD,WAAxB,GAAsC,EAAzD;AACH,K;;;;;;;;;;;;;;;;;AC9EL;AAAA;;;AAAA;AAAA;AAAA;;QAAaiD,Q,GAaX,kBAAY3pD,IAAZ,EAA6B;AAAA;;AACvBA,UAAI,GAAGA,IAAI,GAAGA,IAAH,GAAU,EAArB;AACA,WAAK9E,EAAL,GAAU8E,IAAI,CAAC9E,EAAL,GAAU8E,IAAI,CAAC9E,EAAf,GAAoB,CAA9B;AACA,WAAKusD,UAAL,GAAkBznD,IAAI,CAACynD,UAAL,GAAkBznD,IAAI,CAACynD,UAAvB,GAAoC,CAAtD;AACA,WAAKL,IAAL,GAAYpnD,IAAI,CAAConD,IAAL,GAAYpnD,IAAI,CAAConD,IAAjB,GAAwB,CAApC;AACA,WAAKlB,QAAL,GAAgBlmD,IAAI,CAACkmD,QAAL,GAAgBlmD,IAAI,CAACkmD,QAArB,GAAgC,CAAhD;AACA,WAAK+B,MAAL,GAAcjoD,IAAI,CAACioD,MAAL,GAAcjoD,IAAI,CAACioD,MAAnB,GAA4B,CAA1C;AACA,WAAKD,KAAL,GAAahoD,IAAI,CAACgoD,KAAL,GAAahoD,IAAI,CAACgoD,KAAlB,GAA0B,CAAvC;AACA,WAAKpC,kBAAL,GAA0B5lD,IAAI,CAAC4lD,kBAAL,GAA0B5lD,IAAI,CAAC4lD,kBAA/B,GAAoD,CAA9E;AACA,WAAKgE,MAAL,GAAc5pD,IAAI,CAAC4pD,MAAL,GAAc5pD,IAAI,CAAC4pD,MAAnB,GAA4B,KAA1C;AACA,WAAKzlD,MAAL,GAAcnE,IAAI,CAACmE,MAAL,GAAcnE,IAAI,CAACmE,MAAnB,GAA4B,EAA1C;AACA,WAAK/H,MAAL,GAAc4D,IAAI,CAAC5D,MAAL,GAAc4D,IAAI,CAAC5D,MAAnB,GAA4B,EAA1C;AACA,WAAKytD,OAAL,GAAe7pD,IAAI,CAAC6pD,OAAL,GAAe7pD,IAAI,CAAC6pD,OAApB,GAA8B,EAA7C;AACA,WAAKC,OAAL,GAAe9pD,IAAI,CAAC8pD,OAAL,GAAe9pD,IAAI,CAAC8pD,OAApB,GAA8B,EAA7C;AACH,K;;;;;;;;;;;;;;;;;AC5BL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAUaC,S;AAaX,yBAAoB7vD,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAZpB,aAAA+rB,SAAA,GAAkB,CAAE3rB,YAAY,CAACC,OAAb,CAAqB,WAArB,CAApB;AAEA,aAAAJ,OAAA,GAAU,yEAAYC,UAAtB;AACC,aAAAC,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AAUA;;;;iCAEK;AAEJ,iBAAO,KAAKH,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,2BACqC,KAAK8rB,SAD1C,GACsD,KAAKzrB,WAD3D,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCAEOZ,E,EAAS;AAEf;AACA,iBAAO,KAAKE,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,0BACoCH,EADpC,GACyC,KAAKQ,WAD9C,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;sCACaI,O,EAAwB;AAEpC;AACA,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,oBACsCa,OADtC,EAC8C,KAAKR,WADnD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;4BAEGI,O,EAAwB;AAC1B;AACA,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,oBACsCa,OADtC,EAC8C,KAAKR,WADnD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCAEMZ,E,EAAU;AACf,iBAAO,KAAKE,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,2BACqCH,EADrC,GAC0C,KAAKQ,WAD/C,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;;;;;uBAlDUmvD,S,EAAS,uH;AAAA,K;;;aAATA,S;AAAS,eAATA,SAAS,K;AAAA,kBAFR;;;;;sEAEDA,S,EAAS;cAHrB,wDAGqB;eAHV;AACV1uD,oBAAU,EAAE;AADF,S;AAGU,Q;;;;;;;;;;;;;;;;;;;;;;ACVtB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAUa2uD,S;AAaX,yBAAoB9vD,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAZpB,aAAAC,OAAA,GAAU,yEAAYC,UAAtB;AACA,aAAA6rB,SAAA,GAAkB,CAAE3rB,YAAY,CAACC,OAAb,CAAqB,WAArB,CAApB;AAEC,aAAAF,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AAUA;;;;iCAEK;AAEJ,iBAAO,KAAKH,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,2BACqC,KAAK8rB,SAD1C,GACsD,KAAKzrB,WAD3D,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCAEOZ,E,EAAS;AAEf;AACA,iBAAO,KAAKE,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,0BACoCH,EADpC,GACyC,KAAKQ,WAD9C,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;sCACaI,O,EAAwB;AAEpC;AACA,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,2BACsC,KAAK8rB,SAD3C,GACwDjrB,OADxD,EACgE,KAAKR,WADrE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;4BAEGI,O,EAAwB;AAC1B;AACA,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,oBACsCa,OADtC,EAC8C,KAAKR,WADnD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCAEMZ,E,EAAU;AACf,iBAAO,KAAKE,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,2BACqCH,EADrC,GAC0C,KAAKQ,WAD/C,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;;;;;uBAlDUovD,S,EAAS,uH;AAAA,K;;;aAATA,S;AAAS,eAATA,SAAS,K;AAAA,kBAFR;;;;;sEAEDA,S,EAAS;cAHrB,wDAGqB;eAHV;AACV3uD,oBAAU,EAAE;AADF,S;AAGU,Q;;;;;;;;;;;;;;;;;;;;;;ACVtB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAUa4uD,O;AAaX,uBAAoB/vD,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAZpB,aAAAC,OAAA,GAAU,yEAAYC,UAAtB;AACA,aAAA6rB,SAAA,GAAkB,CAAE3rB,YAAY,CAACC,OAAb,CAAqB,WAArB,CAApB;AAEC,aAAAF,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AAUA;;;;iCAEK;AAEJ,iBAAO,KAAKH,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,wBACwC,KAAKK,WAD7C,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BACMI,O,EAA2B;AAEhC,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,mCACqDa,OADrD,EAC6D,KAAKR,WADlE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;wCACY;AAEX,iBAAO,KAAKV,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,+BAC+C,KAAKK,WADpD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;;;;;uBAlCUqvD,O,EAAO,uH;AAAA,K;;;aAAPA,O;AAAO,eAAPA,OAAO,K;AAAA,kBAFN;;;;;sEAEDA,O,EAAO;cAHnB,wDAGmB;eAHR;AACV5uD,oBAAU,EAAE;AADF,S;AAGQ,Q;;;;;;;;;;;;;;;;;;;;;;ACVpB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAWa6uD,iB;AAYX,iCAAoBhwD,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAXlB,aAAA+rB,SAAA,GAAkB,CAAE3rB,YAAY,CAACC,OAAb,CAAqB,WAArB,CAApB;AACA,aAAAJ,OAAA,GAAU,yEAAYC,UAAtB;AACD,aAAAC,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AAUA;;;;iCAKQW,O,EAAyB;AAEhC;AACA,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,4BACuC,KAAK8rB,SAD5C,GACyDjrB,OADzD,EACiE,KAAKR,WADtE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;sCACU;AACT;AACA,iBAAO,KAAKV,IAAL,CACJQ,GADI,WACW,KAAKP,OADhB,iCAC8C,KAAK8rB,SADnD,GAC+D,KAAKzrB,WADpE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;4BACGI,O,EAAwB;AAC1B;AACA,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,oBACsCa,OADtC,EAC8C,KAAKR,WADnD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCAEMZ,E,EAAU;AACf,iBAAO,KAAKE,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,2BACqCH,EADrC,GAC0C,KAAKQ,WAD/C,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;;;;;uBA3CUsvD,iB,EAAiB,uH;AAAA,K;;;aAAjBA,iB;AAAiB,eAAjBA,iBAAiB,K;AAAA,kBAFhB;;;;;sEAEDA,iB,EAAiB;cAH7B,wDAG6B;eAHlB;AACV7uD,oBAAU,EAAE;AADF,S;AAGkB,Q;;;;;;;;;;;;;;;;;;;;;;ACX9B;AAAA;;;AAAA;AAAA;AAAA;;QAAa8uD,a,GAQT,uBAAYpkD,GAAZ,EAA8B;AAAA;;AAC1BA,SAAG,GAAGA,GAAG,GAAEA,GAAF,GAAM,EAAf;AACA,WAAK7K,EAAL,GAAU6K,GAAG,CAAC7K,EAAJ,GAAQ6K,GAAG,CAAC7K,EAAZ,GAAe,CAAzB;AACA,WAAKkB,MAAL,GAAc2J,GAAG,CAAC3J,MAAJ,GAAY2J,GAAG,CAAC3J,MAAhB,GAAuB,EAArC;AACA,WAAK+H,MAAL,GAAc4B,GAAG,CAAC5B,MAAJ,GAAY4B,GAAG,CAAC5B,MAAhB,GAAuB,EAArC;AACA,WAAK9D,IAAL,GAAY0F,GAAG,CAAC1F,IAAJ,GAAU0F,GAAG,CAAC1F,IAAd,GAAmB,EAA/B;AACA,WAAK+pD,KAAL,GAAarkD,GAAG,CAACqkD,KAAJ,GAAWrkD,GAAG,CAACqkD,KAAf,GAAqB,CAAlC;AACA,WAAKC,MAAL,GAActkD,GAAG,CAACskD,MAAJ,GAAYtkD,GAAG,CAACskD,MAAhB,GAAuB,KAArC;AACH,K;;;;;;;;;;;;;;;;;AChBL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAUaniC,e;AACT,+BAAoBhuB,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAGpB,aAAA+rB,SAAA,GAAkB,CAAE3rB,YAAY,CAACC,OAAb,CAAqB,WAArB,CAApB;AAEA,aAAAJ,OAAA,GAAU,yEAAYC,UAAtB;AACC,aAAAC,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AALA;;;;iCAaK;AAEJ,iBAAO,KAAKH,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,6BACuC,KAAK8rB,SAD5C,GACwD,KAAKzrB,WAD7D,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCACOZ,E,EAAS;AAEf,iBAAO,KAAKE,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,8BACwCH,EADxC,GAC6C,KAAKQ,WADlD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BACMI,O,EAAsB;AAE3B,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,6BACwC,KAAK8rB,SAD7C,GAC0DjrB,OAD1D,EACkE,KAAKR,WADvE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;yCACgBI,O,EAAwB;AAEvC,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,uCACkD,KAAK8rB,SADvD,GACoEjrB,OADpE,EAC4E,KAAKR,WADjF,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BAEMI,O,EAAsB;AAC3B,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,sBACwCa,OADxC,EACgD,KAAKR,WADrD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCAEMI,O,EAAsB;AAC3B,iBAAO,KAAKd,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,6BACuCa,OAAO,CAACE,EAD/C,GACoD,KAAKV,WADzD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;mCAEUI,O,EAAyB;AAClC,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,0BAC2CgB,IAAI,CAACC,SAAL,CAAeJ,OAAf,CAD3C,EACmE,KAAKR,WADxE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;oCACW2c,Q,EAAoB;AAC9B,cAAI9c,OAAO,GAAG,IAAI,gEAAJ,EAAd;AAEAA,iBAAO,CAAC+c,MAAR,CAAe,cAAf,EAA+B,qBAA/B;AACA/c,iBAAO,CAAC+c,MAAR,CAAe,QAAf,EAAyB,kBAAzB;AAEA,cAAMhd,WAAW,GAAG;AAAEC,mBAAO,EAAEA;AAAX,WAApB;AAEA,iBAAO,KAAKP,IAAL,CAAUe,IAAV,WAAkB,KAAKd,OAAvB,kCAAsD,KAAK8rB,SAA3D,GAAyE1O,QAAzE,EAAmF/c,WAAnF,CAAP;AACD;;;;;;;uBAnEQ0tB,e,EAAe,uH;AAAA,K;;;aAAfA,e;AAAe,eAAfA,eAAe,K;AAAA,kBAFd;;;;;sEAEDA,e,EAAe;cAH3B,wDAG2B;eAHhB;AACV7sB,oBAAU,EAAE;AADF,S;AAGgB,Q;;;;;;;;;;;;;;;;;;;;;;ACV5B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;;ACgBwB;;;;;;AAEI;;;;;;AACJ;;AACkB;;AAAsB;;;;;;AAAtB;;AAAA;;;;;;AAClB;;AAEI;;;;AAAwC;;;;AAAxC;;AAAA;;;;;;AAMJ;;;;;;AAEI;;;;;;AACJ;;AACkB;;AAAsB;;;;;;AAAtB;;AAAA;;;;;;AAClB;;AAEI;;;;AAAwC;;;;AAAxC;;AAAA;;;;;;AASJ;;AAEI;;AAA2B;;;;;;AAD3B;;AACA;;AAAA;;;;;;AAUJ;;;;;;AAEI;;;;;;AACJ;;AACiB;;AAAqB;;;;;;AAArB;;AAAA;;;;;;AACjB;;AAEI;;;;AAAuC;;;;AAAvC;;AAAA;;;;;;;;AAMJ;;AAE8B;AAAA;;AAAA;;AAAA;AAAA;;AACkC;;;;AACjD;;;;;;AAHX;;AAE4D;;AAAA;;;;;;;;AAEhE;;AAE8B;AAAA;;AAAA;;AAAA;AAAA;;AACkC;;;;AAC/C;;;;;;AAHb;;AAE4D;;AAAA;;;;;;AA0BpE;;AACI;;AAAmB;;AAA4C;;AAC/D;;AACJ;;;;;;;;AAFuB;;AAAA;;;;;;AAF3B;;AACI;;AAIJ;;;;;;AAJS;;AAAA;;;;;;AAKT;;AAEI;;AACI;;AAAqD;;;;AAA2C;;AACpG;;AACA;;AACJ;;;;;;AAH6D;;AAAA;;;;;;;;AAiB7E;;AACI;;AAAG;AAAA;;AAAA;;AAAA,yCAAuB,OAAvB;AAA8B,SAA9B;;AAAgC;;AAAI;;AAC3C;;;;;;;;AA0FoC;;AAEI;;AAAoB;;AACZ;;AAEI;AAAA;;AAAA;;AAAA,sCAAsB,UAAtB;AAAgC,SAAhC;;AAC8D;;;;AAEnD;;AAAS;;AAAI;;AACxC;;;;;;AAHgB;;AAAA;;AAA8D;;AAAA;;;;;;;;AAqC1E;;AAA4D;;AAEpD;AAAA;;AAAA;;AAAA;;AAAA,gDAA4B,CAA5B;AAA6B,SAA7B;;AAAgC;;AAAQ;;AAAI;;;;;;;;AAD5C;;AAAA;;AACgC;;AAAA;;;;;;AAJ5C;;AAEI;;AAGJ;;;;;;AAHwB;;AAAA;;;;;;;;AASpC;;AACI;;AACI;;AACI;;AACgC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AADhC;;AAEA;;AACJ;;AACJ;;AACA;;AAAgB;;AAAwC;;AACxD;;AAAgB;;AAAa;;AAC7B;;AAAI;;AAAyC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC0C;;;;AAClE;;AAAS;;AAC9B;;AAAI;;AAAoD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC+B;;;;AAClE;;AAAS;;AAC9B;;AAAI;;AAAmD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC+B;;;;AACjE;;AAAS;;AAClC;;;;;;;;;AAhBgE;;AAAA,8FAAsB,SAAtB,EAAsB,2BAAtB;;AAEhB;;AAAA;;AAG5B;;AAAA;;AACA;;AAAA;;AAER;;AAAA;;AAA+E;;AAAA;;AAG/E;;AAAA;;AAA+E;;AAAA;;AAG/E;;AAAA;;AAA8E;;AAAA;;;;;;;;;;;;;;;;;;;;;;AA7JlH;;AA0BI;;AACI;;AAEI;;AACI;;AACI;;AACI;;AAAqB;AAAA;;AAAA;;AAAA;AAAA,WAAwB,OAAxB,EAAwB;AAAA;;AAAA;;AAAA;AAAA,SAAxB,EAAwB,QAAxB,EAAwB;AAAA;;AAAA;;AAAA;AAAA,SAAxB;;;;AAArB;;AAEJ;;AACJ;;AACJ;;AACJ;;AAEA;;AACI;;AACI;;AACJ;;AACA;;AACI;;AAEI;AAAA;;AAAA;;AAAA;AAAA;;AAAsE;;;;AAC3D;;AAEnB;;AACJ;;AACA;;AACI;;AACI;;AACJ;;AACA;;AAAyC;AAAA;;AAAA;;AAAA;AAAA;;AAAzC;;AAEA;;AAAQ;AAAA;;AAAA;;AAAA,iBAAS,YAAT;AAA0B,SAA1B;;AAA+D;;;;AAAiC;;AAE5G;;AAEJ;;AAGA;;AAEI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AAEI;;AAGI;AAAA;;AAAA;;AAAA;AAAA;;AAHJ;;AAIA;;AAAmC;;AAAM;;AAC7C;;AACJ;;AACA;;AAGI;;AACJ;;AACA;;AAUJ;;AACJ;;AACJ;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,cAA5B;AAA0C,SAA1C;;AACjB;;AAEoF;;AACxF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,cAA5B;AAA0C,SAA1C;;AAEf;;;;AACR;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,eAA5B;AAA2C,SAA3C;;AACjB;;AAEqF;;AACzF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,eAA5B;AAA2C,SAA3C;;AAEf;;;;AACR;;AACA;;AACA;;AACI;;AAEI;;AACI;;;;AACJ;;AACA;;AACI;;AAEI;;AACJ;;AACA;;AAMJ;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AAoBJ;;AACA;;AACI;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAEA;;AAEI;;AAA6E;;AAAM;;AAEnF;;AAEI;;AACI;;AACI;;AACwB;AAAA;;AAAA;;AAAA;AAAA,WAAyB,aAAzB,EAAyB;AAAA;;AAAA;;AAAA;AAAA,SAAzB;;AAKxB;;AACJ;;AACJ;;AACJ;;AAEA;;AAA0E;;AAAM;;AAEpF;;AACJ;;;;;;;;;;;;;;AArK2E;;AAAA;;AAD9B;;AAcM;;AAAA;;AAAuC;;AAAA;;AAWP;;AAAA;;AAoBnC;;AAAA,kHAAsC,eAAtC,EAAsC,0CAAtC;;AAwB2C;;AAAA;;AAC1D;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAE4D;;AAAA;;AAC3D;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAGJ;;AAAA;;AAIQ;;AAAA;;AAKI;;AAAA;;AAaZ;;AAAA;;AA6CgB;;AAAA,iGAAyB,eAAzB,EAAyB,IAAzB,EAAyB,YAAzB,EAAyB,2BAAzB,EAAyB,cAAzB,EAAyB,oBAAzB,EAAyB,qBAAzB,EAAyB,IAAzB,EAAyB,oBAAzB,EAAyB,IAAzB,EAAyB,wBAAzB,EAAyB,IAAzB,EAAyB,oBAAzB,EAAyB,IAAzB,EAAyB,SAAzB,EAAyB,CAAzB;;;;;;AAoBxC;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AAIA;;;;QD7USivD,mB;AAGX;AACA;AACA;AACA;AACA,mCAAoB/uD,WAApB,EAAsDC,YAAtD,EAA6FC,QAA7F,EACUC,aADV,EACuDC,SADvD,EACoF;AAAA;;AADhE,aAAAJ,WAAA,GAAAA,WAAA;AAAkC,aAAAC,YAAA,GAAAA,YAAA;AAAuC,aAAAC,QAAA,GAAAA,QAAA;AACnF,aAAAC,aAAA,GAAAA,aAAA;AAA6C,aAAAC,SAAA,GAAAA,SAAA;AAEvD,aAAAE,aAAA,GAAqB,OAArB;AAEA,aAAAC,eAAA,GAA0B,UAA1B;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,cAAA,GAAiB,CAAC,QAAD,EAAW,QAAX,CAAjB;AAEA,aAAAC,WAAA,GAA6B,IAAI,4DAAJ,EAA7B;AACA,aAAAC,MAAA,GAA2B,EAA3B,CAVoF,CAWpF;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,aAAAC,QAAA,GAAsB,IAAI,wDAAJ,CAAc;AAClCjB,YAAE,EAAE,IAAI,0DAAJ,EAD8B;AAElCkB,gBAAM,EAAE,IAAI,0DAAJ,EAF0B;AAGlC+H,gBAAM,EAAE,IAAI,0DAAJ,EAH0B;AAIlCimD,eAAK,EAAE,IAAI,0DAAJ,EAJ2B;AAKlC/pD,cAAI,EAAE,IAAI,0DAAJ;AAL4B,SAAd,CAAtB;AAOA,aAAAkqD,SAAA,GAAgB,oEAAhB;AACA,aAAAC,YAAA,GAA6B,EAA7B;AA+IA,aAAAluD,eAAA,GAA0B,EAA1B;AACA,aAAAC,aAAA,GAAwB,EAAxB,CA1KoF,CA6KpF;;AACA,aAAAC,YAAA,sBAAmB,KAAKN,MAAxB;AACA,aAAAO,UAAA,sBAAiB,KAAKD,YAAtB;AACA,aAAAE,aAAA,sBAAoB,KAAKF,YAAzB;AACA,aAAAG,MAAA,GAAiB,KAAKT,MAAL,CAAYU,MAAZ,GAAqB,CAAtC;AAEA,aAAAC,YAAA,GAAoB,KAApB;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,kBAAA,GAAqB,CAAC,CAAD,EAAI,EAAJ,EAAQ,EAAR,CAArB;AACA,aAAAC,QAAA,GAAW,EAAX;AACA,aAAAC,cAAA,GAAiB,EAAjB;AAEA,aAAAC,QAAA,GAAoB,IAApB;AAEA,aAAAC,WAAA,GAAc,CAAd;AACA,aAAAC,SAAA,GAAY,CAAZ;AAGA,aAAAC,YAAA,GAAe,IAAI,sFAAJ,EAAf;AACA,aAAAC,UAAA,GAAa,IAAI,kFAAJ,EAAb;AACA,aAAAC,aAAA,GAAgB,IAAI,wFAAJ,EAAhB;AAqJA,aAAAC,YAAA,GAAgC,EAAhC;AAcA,aAAAC,UAAA,GAAkB,EAAlB;AApWC;;;;mCA0BO;AACN0X,iBAAO,CAACC,GAAR,CAAY,OAAZ;AACAD,iBAAO,CAACC,GAAR,CAAY,KAAKnZ,WAAjB;AAGA,eAAKyB,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACA,eAAKoD,SAAL,GAAiB;AAAEC,iBAAK,EAAE,cAAT;AAAyBC,oBAAQ,EAAE,KAAKH,IAAL,KAAc,OAAd,GAAwB,QAAxB,GAAmC;AAAtE,WAAjB;AACA,eAAK3B,YAAL,GAAoB,CAClB;AAAE6B,iBAAK,EAAE,cAAT;AAAyBC,oBAAQ,EAAE,KAAKH,IAAL,KAAc,OAAd,GAAwB,QAAxB,GAAmC;AAAtE,WADkB,EAElB;AAAEE,iBAAK,EAAE,eAAT;AAA0BC,oBAAQ,EAAE;AAApC,WAFkB,CAApB;AAIA,eAAKC,QAAL;AACAqX,iBAAO,CAACC,GAAR,CAAY,KAAKlZ,MAAjB,EAZM,CAaN;AACD;;;qCAES;AACR,iBAAO,KAAKX,WAAL,CAAiB6G,KAAjB,CAAuB;AAC5BlH,cAAE,EAAE,CAAC,KAAKe,WAAL,CAAiBf,EAAjB,IAAuB,CAAvB,GAA2B,KAAKe,WAAL,CAAiBf,EAA5C,GAAiD,CAAlD,CADwB;AAE5BkB,kBAAM,EAAE,CAAC,KAAKH,WAAL,CAAiBG,MAAlB,EAA0B,0DAAW0N,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWE,SAAX,CAAqB,CAArB,CAAtB,CAAnB,CAA1B,CAFoB;AAG5B9F,kBAAM,EAAE,CAAC,KAAKlI,WAAL,CAAiBkI,MAAlB,EAA0B,0DAAW2F,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWC,OAAX,CAAmB,4CAAnB,CAAtB,CAAnB,CAA1B,CAHoB;AAI5BogD,iBAAK,EAAE,CAAC,KAAKnuD,WAAL,CAAiBmuD,KAAlB,EAAyB,0DAAWtgD,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,CAAnB,CAAzB,CAJqB;AAK5B1J,gBAAI,EAAE,CAAC,KAAKpE,WAAL,CAAiBmuD,KAAlB,EAAyB,0DAAWrgD,QAApC;AALsB,WAAvB,CAAP;AAOD;;;oCAEW;AACV;AACA,eAAKxN,aAAL,GAAqB,SAArB;AAEA,eAAKN,WAAL,GAAmB,IAAI,4DAAJ,EAAnB;AACA,eAAKA,WAAL,CAAiBf,EAAjB,GAAsB,CAAtB;AACA,eAAKe,WAAL,CAAiBG,MAAjB,GAA0B,KAAKD,QAAL,CAAc6H,WAAd,GAA4B5H,MAAtD;AACA,eAAKH,WAAL,CAAiBkI,MAAjB,GAA0B,KAAKhI,QAAL,CAAc6H,WAAd,GAA4BG,MAAtD;AACA,eAAKlI,WAAL,CAAiBmuD,KAAjB,GAAyB,KAAKjuD,QAAL,CAAc6H,WAAd,GAA4BomD,KAArD;AACA,eAAKnuD,WAAL,CAAiBoE,IAAjB,GAAwB,KAAKlE,QAAL,CAAc6H,WAAd,GAA4B3D,IAApD;AAGA,eAAK8J,gBAAL;AACD;;;2CAEe;AAAA;;AACd,eAAK3O,YAAL,CAAkBgJ,MAAlB,CAAyB,KAAKvI,WAA9B,EAA2CgC,SAA3C,CAAqD,UAAAC,MAAM,EAAI;AAC7D,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAACJ,QAAL;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAACkE,YAAL,CAAkB,QAAI,CAAC9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,mBAAvB,CAArD;;AACA,sBAAI,CAACkK,UAAL,CAAgB7H,IAAhB;AACD,aALD,MAMK;AACH,sBAAI,CAACtC,UAAL,CAAgB,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAAhB,EAAiD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,WAAvB,CAAjD;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAXD;AAYD;;;qCAEY;AACX,eAAKa,SAAL,GAAiB,KAAKD,WAAtB;AACA,eAAKZ,aAAL,GAAqB,SAArB;AAEA,cAAI+N,OAAO,GAAG,IAAI,4DAAJ,CAAkB;AAC9BpP,cAAE,EAAE,KAAKe,WAAL,CAAiBf,EADS;AAE9BkB,kBAAM,EAAE,KAAKD,QAAL,CAAc6H,WAAd,GAA4B5H,MAFN;AAG9B+H,kBAAM,EAAE,KAAKhI,QAAL,CAAc6H,WAAd,GAA4BG,MAHN;AAI9BimD,iBAAK,EAAE,KAAKjuD,QAAL,CAAc6H,WAAd,GAA4BomD,KAJL;AAK9B/pD,gBAAI,EAAE,KAAKlE,QAAL,CAAc6H,WAAd,GAA4B3D;AALJ,WAAlB,CAAd;;AAQA,cAAGiK,OAAO,IAAI,KAAKrO,WAAnB,EAA+B;AAC7B,iBAAKsO,iBAAL,CAAuBD,OAAvB;AACD,WAFD,MAGI;AACF,iBAAK/B,UAAL,CAAgB7H,IAAhB;AACD;AACF;;;0CAEiB8J,M,EAAM;AAAA;;AAEtB2K,iBAAO,CAACC,GAAR,CAAY5K,MAAM,CAAC4/C,KAAnB;AAEA,eAAK5uD,YAAL,CAAkBiJ,MAAlB,CAAyB+F,MAAzB,EAAiCvM,SAAjC,CAA2C,UAAAC,MAAM,EAAI;AACnD,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAACJ,QAAL;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAACkE,YAAL,CAAkB,QAAI,CAAC9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,oBAAvB,CAArD;;AAEA,sBAAI,CAACkK,UAAL,CAAgB7H,IAAhB;AACD,aAND,MAOK;AACH,sBAAI,CAACtC,UAAL,CAAgB,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAAhB,EAAiD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,YAAvB,CAAjD;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAZD;AAaD,S,CAED;AACA;AACA;;;;uCACe;AACb,eAAKa,SAAL,GAAiB,KAAKD,WAAtB,CADa,CAEb;;AACA,eAAKZ,aAAL,GAAqB,SAArB;AACA,eAAKwB,mBAAL;AACD,S,CAED;;;;8CACmB;AAAA;;AACjB,eAAKvC,YAAL,CAAkBwC,UAAlB,CAA6B,KAAKR,YAAlC,EAAgDS,SAAhD,CAA0D,UAAAC,MAAM,EAAI;AAClE,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAACJ,QAAL;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAAC4B,gBAAL;AACD,aAJD,MAKK;AACH,sBAAI,CAACC,UAAL,CAAgB,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAAhB,EAAiD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,cAAvB,CAAjD;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAVD;AAWD;;;mCAmDU;AAAA;;AACT,eAAKA,aAAL,GAAqB,SAArB;AACA,eAAKf,YAAL,CAAkB8C,MAAlB,GAA2BL,SAA3B,CACE,UAAAM,IAAI,EAAI;AACN4W,mBAAO,CAACC,GAAR,CAAY,OAAZ;AACAD,mBAAO,CAACC,GAAR,CAAY7W,IAAZ;AAEA,oBAAI,CAACrC,MAAL,GAAcqC,IAAd;;AACA,oBAAI,CAACC,QAAL;;AACA,oBAAI,CAACC,UAAL;;AACA,oBAAI,CAAClC,aAAL,GAAqB,EAArB;AACD,WATH;AAYD;;;mCAEU;AACT,eAAKE,UAAL,GAAkB,KAAKa,UAAL,CAAgBkB,QAAhB,CAAyB,KAAKb,SAAL,CAAeE,QAAxC,EAAkD,KAAK3B,MAAvD,CAAlB;AACA,eAAKwC,UAAL;AACD;;;0CAEiB;AAChB,eAAKtB,SAAL,GAAiB,KAAKD,WAAtB;AACA,eAAKV,UAAL,GAAkB,KAAKA,UAAL,CAAgBkC,KAAhB,GAAwBC,OAAxB,EAAlB;AACA,eAAKF,UAAL;AACD;;;qCAEY;AACX,eAAKlC,YAAL,GAAoB,KAAKa,YAAL,CAAkBqB,UAAlB,CAA6B,KAAKjB,UAAlC,EAA8C,KAAKzB,cAAnD,EAAmE,KAAKS,UAAxE,CAApB;;AACA,cAAI,KAAKW,SAAL,KAAmB,CAAvB,EAA0B;AACxB,iBAAKyB,YAAL,CAAkB,KAAK/B,YAAvB,EAAqC,CAArC;AACD,WAFD,MAGK;AACH,iBAAK+B,YAAL,CAAkB,KAAK/B,YAAvB,EACEgC,IAAI,CAACC,IAAL,CAAW,KAAKvC,YAAL,CAAkBI,MAAlB,GAA2B,KAAKE,YAA3C,KAA6D,KAAKM,SAAlE,GACE,KAAKA,SADP,GAEE0B,IAAI,CAACC,IAAL,CAAW,KAAKvC,YAAL,CAAkBI,MAAlB,GAA2B,KAAKE,YAA3C,CAHJ;AAKD;;AACD,eAAKM,SAAL,GAAiB,CAAjB;AACD;;;qCAEY4B,e,EAAyBC,c,EAAwB;AAC5D,eAAKnC,YAAL,GAAoBkC,eAApB;AACA,eAAK7B,WAAL,GAAmB8B,cAAnB;AACA,eAAKvC,aAAL,GAAqB,KAAKF,YAAL,CAAkBmC,KAAlB,CAAwB,CAACM,cAAc,GAAG,CAAlB,IAAwBD,eAAhD,EAAmEA,eAAe,GAAGC,cAArF,CAArB;AACD;;;mCAEUC,O,EAAc;AACvB,cAAI,KAAKvB,SAAL,CAAeC,KAAf,KAAyBsB,OAAO,CAACtB,KAArC,EAA4C;AAC1C,iBAAKV,QAAL,GAAgB,CAAC,KAAKA,QAAtB;AACA,gBAAMiC,OAAO,GAAG,KAAKhC,WAArB;AACA,iBAAKiC,eAAL;AACA,iBAAKjC,WAAL,GAAmBgC,OAAnB;AACD,WALD,MAMK;AACH,iBAAKjC,QAAL,GAAgB,IAAhB;AACA,iBAAKS,SAAL,GAAiBuB,OAAjB;AACA,iBAAKV,QAAL;AACD;AACF;;;gCAEOZ,K,EAAY;AAClB,iBAAO,KAAK7B,YAAL,CAAkBsD,IAAlB,CAAuB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC1B,KAAF,KAAYA,KAAhB;AAAA,WAAxB,CAAP;AACD;;;mCAEU2B,K,EAAuB;AAChC,eAAKpC,WAAL,GAAmBoC,KAAK,CAACC,IAAzB;AACA,eAAKX,YAAL,CAAkB,KAAK/B,YAAvB,EAAqC,KAAKK,WAA1C;AACD;;;uCAEc;AACb,eAAKK,YAAL,GAAoB,EAApB;AACA,eAAKR,QAAL,GAAgB,EAAhB;AACA,eAAKC,cAAL,GAAsB,EAAtB;AACA,eAAKyB,UAAL;AACD;;;kCAESe,M,EAAM;AACd,cAAIA,MAAM,CAACC,MAAP,CAAcC,OAAlB,EAA2B;AACzB,iBAAK3C,QAAL,sBAAoB,KAAKR,YAAzB;AACD,WAFD,MAEO;AACL,iBAAKQ,QAAL,GAAgB,EAAhB;AACD;;AACD,eAAK4C,iBAAL;AACD;;;4CAEgB;AACf,cAAI,KAAK5C,QAAL,CAAcJ,MAAd,IAAwB,KAAKJ,YAAL,CAAkBI,MAA9C,EAAsD;AACpD,iBAAKK,cAAL,GAAsB,SAAtB;AACD,WAFD,MAEO,IAAI,KAAKD,QAAL,CAAcJ,MAAd,KAAyB,CAA7B,EAAgC;AACrC,iBAAKK,cAAL,GAAsB,eAAtB;AACD,WAFM,MAEC;AACN,iBAAKA,cAAL,GAAsB,EAAtB;AACD;AACF;;;mCAEU4C,C,EAAgB;AACzB,iBAAO,KAAK7C,QAAL,CAAc8C,SAAd,CAAwB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC7E,EAAF,KAAS2E,CAAC,CAAC3E,EAAf;AAAA,WAAzB,IAA8C,CAAC,CAAtD;AACD;;;iCAEQ8E,I,EAAmB;AAC1B,cAAI,KAAKC,UAAL,CAAgBD,IAAhB,CAAJ,EAA2B;AACzB,iBAAKhD,QAAL,GAAgB,KAAKA,QAAL,CAAckD,MAAd,CAAqB,UAAAH,CAAC;AAAA,qBAAIA,CAAC,CAAC7E,EAAF,KAAS8E,IAAI,CAAC9E,EAAlB;AAAA,aAAtB,CAAhB;AACD,WAFD,MAEO;AACL,iBAAK8B,QAAL,CAAcmD,IAAd,CAAmBH,IAAnB;AACD;;AACD,eAAKJ,iBAAL;AACD;;;mCAEUQ,I,EAAWxG,I,EAAS;AAC7B,iBAAOwG,IAAI,CAACf,IAAL,CAAU,UAAAU,CAAC;AAAA,mBAAIA,CAAC,CAACM,IAAF,KAAWzG,IAAf;AAAA,WAAX,CAAP;AACD;;;6CAIiB;AAChB,eAAK0C,eAAL,GAAuB,KAAvB;AACA,eAAKL,WAAL,GAAmB,IAAI,4DAAJ,EAAnB;AACA,eAAKE,QAAL,GAAgB,KAAK2H,UAAL,EAAhB;AACA,eAAKyE,UAAL,CAAgB/H,IAAhB;AACD;;;yCAEgBtF,E,EAAO;AAAA;;AACtBia,iBAAO,CAACC,GAAR,CAAY,cAAZ;AACAD,iBAAO,CAACC,GAAR,CAAY,KAAKnZ,WAAjB;AACAkZ,iBAAO,CAACC,GAAR,CAAY,KAAKlZ,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAACpE,EAAF,KAAS,CAAb;AAAA,WAAlB,CAAZ;AAEA,eAAKoB,eAAL,GAAuB,MAAvB;AACA,eAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,WAAlB,CAAnB;AACA,0DAAG,KAAKe,WAAR,EAAqBgC,SAArB,CAA+B,UAAAM,IAAI,EAAI;AACrC,oBAAI,CAACtC,WAAL,GAAmBsC,IAAnB;AACD,WAFD;AAGA,eAAKpC,QAAL,GAAgB,KAAK2H,UAAL,EAAhB;AACA,eAAKyE,UAAL,CAAgB/H,IAAhB;AACD;;;yCAEgBtF,E,EAAO;AAAA;;AACtB,eAAKoB,eAAL,GAAuB,MAAvB;AACA,eAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,WAAlB,CAAnB;AACA,0DAAG,KAAKe,WAAR,EAAqBgC,SAArB,CAA+B,UAAAM,IAAI,EAAI;AACrC,oBAAI,CAACtC,WAAL,GAAmBsC,IAAnB;AACD,WAFD;AAGA,eAAKpC,QAAL,GAAgB,KAAK2H,UAAL,EAAhB;AACA,eAAKyE,UAAL,CAAgB/H,IAAhB;AACD;;;qCAGYtF,E,EAAO;AAClB,cAAIA,EAAE,IAAI,CAAV,EAAa;AACX,iBAAKoB,eAAL,GAAuB,KAAvB;AACA,iBAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,aAAlB,CAAnB;AACA,iBAAKsC,YAAL,GAAoB,CAAC,KAAKtB,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,aAAlB,CAAD,CAApB;AACA,iBAAKqF,QAAL,CAAcC,IAAd;AACD,WALD,MAMK,IAAItF,EAAE,KAAK,UAAX,EAAuB;AAC1B,iBAAKsC,YAAL,sBAAwB,KAAKR,QAA7B;AACA,iBAAKuD,QAAL,CAAcC,IAAd;AACD;AACF;;;2CAKe;AACd,cAAI,KAAKhD,YAAL,CAAkBZ,MAAlB,KAA6B,CAAjC,EAAoC;AAClC,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,QAAQ,KAAKvC,eAApC,CADF;AAED,WAHD,MAIK,IAAI,KAAK0B,YAAL,CAAkBZ,MAAlB,KAA6B,CAAjC,EAAoC;AACvC,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,QAAQ,KAAKvC,eAAb,GAA+B,GAAtD,CADF;AAED,WAHI,MAIA,IAAI,KAAK0B,YAAL,CAAkBZ,MAAlB,GAA2B,CAA3B,IAAgC,KAAKY,YAAL,CAAkBZ,MAAlB,GAA2B,EAA/D,EAAmE;AACtE,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAKb,YAAL,CAAkBZ,MADiC,GACxB,GADwB,GAClB,KAAKjB,SAAL,CAAe0C,OAAf,CAAuB,KAAKvC,eAAL,GAAuB,UAA9C,CADnC;AAED,WAHI,MAIA;AACH,iBAAK2E,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAKb,YAAL,CAAkBZ,MADiC,GACxB,GADwB,GAClB,KAAKjB,SAAL,CAAe0C,OAAf,CAAuB,KAAKvC,eAAL,GAAuB,MAA9C,CADnC;AAED;;AAED,eAAK0B,YAAL,GAAoB,EAApB;AACA,eAAKR,QAAL,GAAgB,EAAhB;AAEA,eAAK4C,iBAAL;;AACA,cAAI,KAAK3C,cAAL,KAAwB,EAA5B,EAAgC;AAC9B,iBAAKJ,YAAL,GAAoB,KAApB;AACD;;AACD,eAAK0D,QAAL,CAAcG,IAAd;AACD;;;qCAEYC,W,EAAqBC,S,EAAiB;AACjD,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBE,OADnB,EAC4B;AAAEC,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD5B;AAED;;;mCACUL,W,EAAqBC,S,EAAiB;AAC/C,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBjH,KADnB,EAC0B;AAAEoH,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD1B;AAED;;;8CACqB;AACpB,eAAKlD,QAAL;AACA,eAAKyC,QAAL,CAAcG,IAAd;AACD;;;sCAEa;AAAA;;AACZ,eAAKlF,YAAL,CAAkB8C,MAAlB,GAA2BL,SAA3B,CACE,UAAAM,IAAI,EAAI;AACN,oBAAI,CAACrC,MAAL,GAAcqC,IAAd;;AACA,oBAAI,CAACE,UAAL;AACD,WAJH;AAMD;;;qCAEY;AAAA;;AACX,cAAMwC,UAAU,GAAG,KAAKxD,UAAxB;AACA,eAAKA,UAAL,GAAkB,EAAlB;AACAyD,oBAAU,CAAC,YAAM;AACf,oBAAI,CAACzD,UAAL,GAAkBwD,UAAlB;AACD,WAFS,EAEP,CAFO,CAAV;AAGD;;;mCAEU1B,K,EAAO;AAChB,cAAIgY,QAAQ,GAAG,IAAIoB,QAAJ,EAAf;AACA,eAAKC,YAAL,GAAoBrZ,KAAK,CAACG,MAAN,CAAamZ,KAAb,CAAmB,CAAnB,CAApB;AACAtB,kBAAQ,CAACC,MAAT,CAAgB,QAAhB,EAA0B,KAAKoB,YAA/B;AAEA,eAAKpd,YAAL,CAAkBsd,WAAlB,CAA8BvB,QAA9B,EAAwCtZ,SAAxC,CAAkD,UAAAC,MAAM,EAAI,CAE3D,CAFD;AAKD;;;;;;;uBApbUosD,mB,EAAmB,2H,EAAA,iI,EAAA,wH,EAAA,4I,EAAA,sI;AAAA,K;;;YAAnBA,mB;AAAmB,qC;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;AClBhC;;AACI;;AACI;;AACI;;AAAkE;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAA0B,WAA1B;;AAE9D;;AAAyB;;AAAO;;AACpC;;AACA;;AACI;;AACI;;;;AAA4C;;AACpD;;AACA;;AACI;;AACI;;AACI;;AAAqC;;;;AAAgC;;AACrE;;AAGA;;AAEA;;AAGA;;AACJ;;AAEA;;AACI;;AAAqC;;;;AAAgC;;AACrE;;AAGA;;AAEA;;AAGA;;AACJ;;AACA;;AACI;;AAAqC;;;;AAA+B;;AACpE;;;;AAIA;;AAGJ;;AAII;;AACJ;;AAEA;;AACI;;AAAqC;;;;AAA+B;;AACpE;;AAGA;;AAEA;;AAGA;;AACJ;;AAGA;;AACI;;AAKA;;AAKA;;AAA8B;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAA0B,WAA1B;;AACoD;;;;AACnE;;AACnB;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAEA;;AACI;;AACI;;AACI;;AAAkE;AAAA;;AAAA;;AAAA,mBAAS,WAAT;AAAwB,WAAxB;;AAE9D;;AAAyB;;AAAO;;AACpC;;AACA;;AACI;;AACI;;;;AACW;;AACnB;;AACA;;AACI;;AAMA;;AAQA;;AACI;;AAA2D;AAAA,mBAAS,IAAAnpD,YAAA,EAAT;AAAuB,WAAvB;;AAEK;;;;AAAwB;;AACxF;;AAA8B;AAAA;;AAAA;;AAAA,mBAAS,WAAT;AAAwB,WAAxB;;AACoD;;;;AACnE;;AACnB;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AAIA;;AAwMA;;AAIA;;AAKA;;AAKA;;AAIA;;;;AArVoB;;AAAA;;AAG0C;;AAAA;;AAED;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAMiC;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAKiC;;AAAA;;AAGrC;;AAAA;;AACA;;AACW;;AAAA;;AAW0B;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAOI;;AAAA;;AAKA;;AAAA;;AAM0E;;AAAA;;AAkBtF;;AAAA;;AAIiC;;AAAA;;AAM4B;;AAAA;;AAUzD;;AAAA;;AAC4D;;AAAA;;AAEkB;;AAAA;;AAOhG;;AAAA;;AAID;;AAAA;;;;;;;;;;sEDlHQmpD,mB,EAAmB;cAL/B,uDAK+B;eALrB;AACTlpD,kBAAQ,EAAE,gBADD;AAETC,qBAAW,EAAE,6BAFJ;AAGTC,mBAAS,EAAE,CAAC,6BAAD;AAHF,S;AAKqB,Q;;;;;;;;;;;;;;gBAC7B,uD;iBAAU,W;;;gBA6TV,uD;iBAAU,Y;;;gBACV,uD;iBAAU,U;;;;;;;;;;;;;;;;;;;;AElVb;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QASampD,gB;AAEX,gCAAqB7uD,MAArB,EAAqC;AAAA;;AAAhB,aAAAA,MAAA,GAAAA,MAAA;AADrB,aAAAvB,KAAA,GAAQ,EAAR;AAEE,iBADmC,CAEnC;AACA;AACA;AACA;AACA;;;;mCAEM,CACN;AAED;;;;;;;uBAbUowD,gB,EAAgB,uH;AAAA,K;;;YAAhBA,gB;AAAgB,kC;AAAA,e;AAAA,c;AAAA,o3B;AAAA;AAAA;ACT7B;;AACI;;AACI;;AACJ;;AACA;;AACI;;AAEI;;AACI;;AACI;;AAAmE;;AAC/D;;AAAI;;;;AAA4B;;AACpC;;AACJ;;AACJ;;AACJ;;AACA;;AAEI;;AACI;;AACI;;AAAoE;;AAChE;;AAAI;;;;AAAyB;;AACjC;;AACJ;;AACJ;;AACJ;;AACA;;AAEI;;AACI;;AACI;;AAAiE;;AAC7D;;AAAI;;;;AAA0B;;AAClC;;AACJ;;AACJ;;AACJ;;AACA;;AAEI;;AACI;;AACI;;AAA+D;;AAC3D;;AAAI;;;;AAAuB;;AAC/B;;AACJ;;AACJ;;AACJ;;AACA;;AAEI;;AACI;;AACI;;AAAiE;;AAC7D;;AAAI;;;;AAA0B;;AAClC;;AACJ;;AACJ;;AACJ;;AACA;;AAEI;;AACI;;AACI;;AAAuE;;AACnE;;AAAI;;;;AAA+B;;AACvC;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;;;AAxD4B;;AAAA;;AAUA;;AAAA;;AAUA;;AAAA;;AAUA;;AAAA;;AAUA;;AAAA;;AAUA;;AAAA;;;;;;;;;;sEDnDfA,gB,EAAgB;cAL5B,uDAK4B;eALlB;AACTrpD,kBAAQ,EAAE,aADD;AAETC,qBAAW,EAAE,0BAFJ;AAGTC,mBAAS,EAAE,CAAC,0BAAD;AAHF,S;AAKkB,Q;;;;;;;;;;;;;;;;;;;;;;AET7B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QA4IaopD,c;;;;;YAAAA,c;AAAc,kBAFb,oEAEa;;;;yBAAdA,c;AAAc,O;AAAA,iBAJd,CAAC,yDAAD,EAAU,0EAAV,C;AAA2B,gBArE7B,CACP,6DADO,EAEP,wEAFO,EAGP,mGAHO,EAIP,qEAJO,EAKP,oEALO,EAMP,sEANO,EAOP,iEAAkB98C,aAAlB,CAAgC,uEAAYC,QAA5C,CAPO,EAQP,2DARO,EASP,mEATO,EAUP,iEAAYC,OAAZ,EAVO,EAWP,oEAXO,EAYP,mEAZO,EAaP,oEAbO,EAcP,2DAdO,EAeP,yEAfO,EAgBP,oFAhBO,EAiBP,yGAjBO,EAkBP,+DAAWA,OAAX,EAlBO,EAmBP,kEAnBO,EAoBP,6EAAeA,OAAf,EApBO,EAqBP,2EArBO,EAsBP,sEAtBO,EAuBP,gGAvBO,EAwBP,qEAAcA,OAAd,EAxBO,EAyBP,qEAAcA,OAAd,EAzBO,EA0BP,wEA1BO,EA2BP,+DA3BO,EA4BP,0EA5BO,EA6BP,kFAA0BA,OAA1B,EA7BO,CAqE6B;;;;2HAI3B48C,c,EAAc;AAAA,uBAvCvB,oEAuCuB,EAtCvB,qFAsCuB,EArCvB,yEAqCuB,EApCvB,sEAoCuB,EAnCvB,4EAmCuB,EAlCvB,+EAkCuB,EAjCvB,gGAiCuB,EAhCvB,+EAgCuB,EA/BvB,sEA+BuB,EA9BvB,wFA8BuB,EA7BvB;AACA,kGA4BuB,EA3BvB,sFA2BuB,EA1BvB,gFA0BuB,EAzBvB,6FAyBuB,EAxBvB,qEAwBuB,EAvBvB,8EAuBuB,EApBvB,gIAoBuB,EAnBvB,4IAmBuB,EAlBvB,4GAkBuB,EAjBvB,4GAiBuB,EAhBvB,kFAgBuB,EAfvB,mHAeuB,EAdvB,yHAcuB,EAbvB,kIAauB,EAZvB,sIAYuB,EAXvB,0FAWuB,EAVvB,qJAUuB,EATvB,6IASuB,EARvB,kIAQuB,EAPvB,8IAOuB,EANvB,iLAMuB;AANU,kBAlEjC,6DAkEiC,EAjEjC,wEAiEiC,EAhEjC,mGAgEiC,EA/DjC,qEA+DiC,EA9DjC,oEA8DiC,EA7DjC,sEA6DiC,EA7DjB,gEA6DiB,EA3DjC,2DA2DiC,EA1DjC,mEA0DiC,EA1Dd,gEA0Dc,EAxDjC,oEAwDiC,EAvDjC,mEAuDiC,EAtDjC,oEAsDiC,EArDjC,2DAqDiC,EApDjC,yEAoDiC,EAnDjC,oFAmDiC,EAlDjC,yGAkDiC,EAlDT,8DAkDS,EAhDjC,kEAgDiC,EAhDnB,4EAgDmB,EA9CjC,2EA8CiC,EA7CjC,sEA6CiC,EA5CjC,gGA4CiC,EA5CZ,oEA4CY,EA5CZ,oEA4CY,EAzCjC,wEAyCiC,EAxCjC,+DAwCiC,EAvCjC,0EAuCiC,EAvCjB,iFAuCiB;AAMV,O;AA7CP,K;;;;;uEA6CPA,c,EAAc;cA1E1B,uDA0E0B;eA1EjB;AACR38C,iBAAO,EAAE,CACP,6DADO,EAEP,wEAFO,EAGP,mGAHO,EAIP,qEAJO,EAKP,oEALO,EAMP,sEANO,EAOP,iEAAkBH,aAAlB,CAAgC,uEAAYC,QAA5C,CAPO,EAQP,2DARO,EASP,mEATO,EAUP,iEAAYC,OAAZ,EAVO,EAWP,oEAXO,EAYP,mEAZO,EAaP,oEAbO,EAcP,2DAdO,EAeP,yEAfO,EAgBP,oFAhBO,EAiBP,yGAjBO,EAkBP,+DAAWA,OAAX,EAlBO,EAmBP,kEAnBO,EAoBP,6EAAeA,OAAf,EApBO,EAqBP,2EArBO,EAsBP,sEAtBO,EAuBP,gGAvBO,EAwBP,qEAAcA,OAAd,EAxBO,EAyBP,qEAAcA,OAAd,EAzBO,EA0BP,wEA1BO,EA2BP,+DA3BO,EA4BP,0EA5BO,EA6BP,kFAA0BA,OAA1B,EA7BO,CADD;AAkCRE,sBAAY,EAAE,CACZ,oEADY,EAEZ,qFAFY,EAGZ,yEAHY,EAIZ,sEAJY,EAKZ,4EALY,EAMZ,+EANY,EAOZ,gGAPY,EAQZ,+EARY,EASZ,sEATY,EAUZ,wFAVY,EAWZ;AACA,oGAZY,EAaZ,sFAbY,EAcZ,gFAdY,EAeZ,6FAfY,EAgBZ,qEAhBY,EAiBZ,8EAjBY,EAoBZ,gIApBY,EAqBZ,4IArBY,EAsBZ,4GAtBY,EAuBZ,4GAvBY,EAwBZ,kFAxBY,EAyBZ,mHAzBY,EA0BZ,yHA1BY,EA2BZ,kIA3BY,EA4BZ,sIA5BY,EA6BZ,0FA7BY,EA8BZ,qJA9BY,EA+BZ,6IA/BY,EAgCZ,kIAhCY,EAiCZ,8IAjCY,EAkCZ,iLAlCY,CAlCN;AAsERC,mBAAS,EAAE,CAAC,yDAAD,EAAU,0EAAV,CAtEH;AAuER;AACA06B,mBAAS,EAAE,CAAC,oEAAD;AAxEH,S;AA0EiB,Q;;;;;;;;;;;;;;;;;;AC5I3B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAiCA,QAAMz6B,MAAM,GAAW,CACnB;AACIC,UAAI,EAAE,EADV;AACcC,eAAS,EAAE;AADzB,KADmB,EAMnB;AACC;AAAED,UAAI,EAAE,WAAR;AAAqBC,eAAS,EAAE;AAAhC,KAPkB,EAQX;AAAED,UAAI,EAAE,WAAR;AAAqBC,eAAS,EAAE;AAAhC,KARW,EASX;AACA;AAAED,UAAI,EAAE,UAAR;AAAoBC,eAAS,EAAE;AAA/B,KAVW,EAWX;AAAED,UAAI,EAAE,gBAAR;AAA0BC,eAAS,EAAE;AAArC,KAXW,EAYX;AAAED,UAAI,EAAE,wBAAR;AAAkCC,eAAS,EAAE;AAA7C,KAZW,EAaX;AACA;AAAED,UAAI,EAAE,oBAAR;AAA8BC,eAAS,EAAE;AAAzC,KAdW,EAeX;AAAED,UAAI,EAAE,gBAAR;AAA0BC,eAAS,EAAE;AAArC,KAfW,EAgBX;AACA;AAAED,UAAI,EAAE,SAAR;AAAmBC,eAAS,EAAE;AAA9B,KAjBW,EAkBX;AAAED,UAAI,EAAE,qBAAR;AAA+BC,eAAS,EAAE;AAA1C,KAlBW,EAmBX;AAAED,UAAI,EAAE,kBAAR;AAA4BC,eAAS,EAAE;AAAvC,KAnBW,EAoBX;AAAED,UAAI,EAAE,oBAAR;AAA8BC,eAAS,EAAE;AAAzC,KApBW,EAqBX;AAAED,UAAI,EAAE,sBAAR;AAAgCC,eAAS,EAAE;AAA3C,KArBW,EAsBX;AAAED,UAAI,EAAE,mBAAR;AAA6BC,eAAS,EAAE;AAAxC,KAtBW,EAuBX;AACA;AAAED,UAAI,EAAE,SAAR;AAAmBC,eAAS,EAAE;AAA9B,KAxBW,EAyBX;AAAED,UAAI,EAAE,kBAAR;AAA4BC,eAAS,EAAE;AAAvC,KAzBW,EA0BX;AAAED,UAAI,EAAE,eAAR;AAAyBC,eAAS,EAAE;AAApC,KA1BW,EA2BX;AAAED,UAAI,EAAE,mBAAR;AAA6BC,eAAS,EAAE;AAAxC,KA3BW,EA4BX;AAAED,UAAI,EAAE,wBAAR;AAAkCC,eAAS,EAAE;AAA7C,KA5BW,EA6BX;AAAED,UAAI,EAAE,yBAAR;AAAmCC,eAAS,EAAE;AAA9C,KA7BW,EA8BX;AAAED,UAAI,EAAE,0BAAR;AAAoCC,eAAS,EAAE;AAA/C,KA9BW,EA+BX;AAAED,UAAI,EAAE,6BAAR;AAAuCC,eAAS,EAAE;AAAlD,KA/BW,EAgCX;AAAED,UAAI,EAAE,2BAAR;AAAqCC,eAAS,EAAE;AAAhD,KAhCW,EAiCX;AAAED,UAAI,EAAE,wBAAR;AAAkCC,eAAS,EAAE;AAA7C,KAjCW,EAkCX;AAAED,UAAI,EAAE,2BAAR;AAAqCC,eAAS,EAAE;AAAhD,KAlCW,EAmCX;AAAED,UAAI,EAAE,oCAAR;AAA8CC,eAAS,EAAE;AAAzD,KAnCW,EAqCX;AACA;AAAED,UAAI,EAAE,UAAR;AAAoBC,eAAS,EAAE;AAA/B,KAtCW,EAuCX;AAAED,UAAI,EAAE,oBAAR;AAA8BC,eAAS,EAAE;AAAzC,KAvCW,EAyCX;AAAED,UAAI,EAAE,wBAAR;AAAkCC,eAAS,EAAE;AAA7C,KAzCW,EA2CX;AAAED,UAAI,EAAE,0DAAR;AAAoEC,eAAS,EAAE;AAA/E,KA3CW,EA4CX;AAAED,UAAI,EAAE,6CAAR;AAAuDC,eAAS,EAAE;AAAlE,KA5CW,EA6CX;AAAED,UAAI,EAAE,oCAAR;AAA8CC,eAAS,EAAE;AAAzD,KA7CW,EA8CX;AAAED,UAAI,EAAE,uCAAR;AAAiDC,eAAS,EAAE;AAA5D,KA9CW,CAAvB;;QAsDau8C,qB;;;;;YAAAA;;;;yBAAAA,qB;AAAqB,O;AAAA,gBAHrB,CAAC,6DAAar8C,QAAb,CAAsBJ,MAAtB,CAAD,CAGqB,EAFpB,4DAEoB;;;;0HAArBy8C,qB,EAAqB;AAAA;AAAA,kBAFpB,4DAEoB;AAAA,O;AAFR,K;;;;;sEAEbA,qB,EAAqB;cAJjC,sDAIiC;eAJxB;AACN58C,iBAAO,EAAE,CAAC,6DAAaO,QAAb,CAAsBJ,MAAtB,CAAD,CADH;AAENnU,iBAAO,EAAE,CAAC,4DAAD;AAFH,S;AAIwB,Q;;;;;;;;;;;;;;;;;;ACrFlC;AAAA;;;AAAA;AAAA;AAAA;;QAAa6wD,Y,GAgBT,sBAAY7kD,GAAZ,EAA6B;AAAA;;AACzBA,SAAG,GAAGA,GAAG,GAAEA,GAAF,GAAM,EAAf;AACA,WAAK7K,EAAL,GAAU6K,GAAG,CAAC7K,EAAJ,GAAQ6K,GAAG,CAAC7K,EAAZ,GAAe,CAAzB;AACA,WAAKysD,WAAL,GAAmB5hD,GAAG,CAAC4hD,WAAJ,GAAiB5hD,GAAG,CAAC4hD,WAArB,GAAiC,CAApD;AACA,WAAKrD,aAAL,GAAqBv+C,GAAG,CAACu+C,aAAJ,GAAmBv+C,GAAG,CAACu+C,aAAvB,GAAqC,EAA1D;AACA,WAAKC,eAAL,GAAuBx+C,GAAG,CAACw+C,eAAJ,GAAqBx+C,GAAG,CAACw+C,eAAzB,GAAyC,EAAhE;AACA,WAAK+B,UAAL,GAAkBvgD,GAAG,CAACugD,UAAJ,GAAgBvgD,GAAG,CAACugD,UAApB,GAA+B,EAAjD;AACA,WAAK1B,aAAL,GAAqB7+C,GAAG,CAAC6+C,aAAJ,GAAmB7+C,GAAG,CAAC6+C,aAAvB,GAAqC,EAA1D;AACA,WAAK1iC,IAAL,GAAYnc,GAAG,CAACmc,IAAJ,GAAUnc,GAAG,CAACmc,IAAd,GAAmB,EAA/B;AACA,WAAK2oC,IAAL,GAAY9kD,GAAG,CAAC8kD,IAAJ,GAAU9kD,GAAG,CAAC8kD,IAAd,GAAmB,EAA/B;AACA,WAAKrG,WAAL,GAAmBz+C,GAAG,CAACy+C,WAAJ,GAAiBz+C,GAAG,CAACy+C,WAArB,GAAiC,IAAIjiD,IAAJ,EAApD;AACA,WAAK8jD,YAAL,GAAoBtgD,GAAG,CAACsgD,YAAJ,GAAkBtgD,GAAG,CAACsgD,YAAtB,GAAmC,IAAI9jD,IAAJ,EAAvD;AACA,WAAKgP,QAAL,GAAgBxL,GAAG,CAACwL,QAAJ,GAAcxL,GAAG,CAACwL,QAAlB,GAA2B,CAA3C;AACA,WAAKoJ,MAAL,GAAc5U,GAAG,CAAC4U,MAAJ,GAAW5U,GAAG,CAAC4U,MAAf,GAAuB,EAArC;AACA,WAAK4rC,UAAL,GAAkBxgD,GAAG,CAACwgD,UAAJ,GAAgBxgD,GAAG,CAACwgD,UAApB,GAA+B,CAAjD;AACA,WAAKjkD,QAAL,GAAgByD,GAAG,CAACzD,QAAJ,GAAcyD,GAAG,CAACzD,QAAlB,GAA2B,CAA3C;AACA,WAAKwyB,KAAL,GAAa/uB,GAAG,CAAC+uB,KAAJ,GAAW/uB,GAAG,CAAC+uB,KAAf,GAAqB,EAAlC;AACH,K;;;;;;;;;;;;;;;;;ACnCL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAUag2B,c;AACT,8BAAoB5wD,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAGpB,aAAA+rB,SAAA,GAAkB,CAAE3rB,YAAY,CAACC,OAAb,CAAqB,WAArB,CAApB;AAEA,aAAAJ,OAAA,GAAU,yEAAYC,UAAtB;AACC,aAAAC,KAAA,GAAQ,4pCAAR;AACA,aAAAG,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AALA;;;;iCAaK;AAEJ,iBAAO,KAAKH,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,4BACsC,KAAK8rB,SAD3C,GACuD,KAAKzrB,WAD5D,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;yCACa;AAEZ,iBAAO,KAAKV,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,oCAC8C,KAAK8rB,SADnD,GAC+D,KAAKzrB,WADpE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;uCAEW;AAEV,iBAAO,KAAKV,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,qCAC+C,KAAK8rB,SADpD,GACgE,KAAKzrB,WADrE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCAEOZ,E,EAAS;AAEf,iBAAO,KAAKE,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,6BACuCH,EADvC,GAC4C,KAAKQ,WADjD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;8BACKiwD,I,EAAYxwD,K,EAAY;AAC7B,cAAIG,WAAW,GAAG;AACfC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,+BAAiB,YAAYJ;AAHP,aAAhB;AADM,WAAlB;AAQC,iBAAO,KAAKH,IAAL,CACJQ,GADI,6DAC0DmwD,IAD1D,WACqE,KAAKrwD,WAD1E,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;6BACIZ,E,EAAW+wD,Q,EAAgB;AAC9B,iBAAO,KAAK7wD,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,0BACoCH,EADpC,cAC0C+wD,QAD1C,cACsD,KAAK9kC,SAD3D,GACuE,KAAKzrB,WAD5E,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BACMI,O,EAAqB;AAC1B,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,4BACuC,KAAK8rB,SAD5C,GACyDjrB,OADzD,EACiE,KAAKR,WADtE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BACMI,O,EAAqB;AAC1B,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,qBACuCa,OADvC,EAC+C,KAAKR,WADpD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCACMI,O,EAAqB;AAC1B,iBAAO,KAAKd,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,4BACsCa,OAAO,CAACE,EAD9C,GACmD,KAAKV,WADxD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;mCAEUI,O,EAAwB;AACjC,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,yBAC0CgB,IAAI,CAACC,SAAL,CAAeJ,OAAf,CAD1C,EACkE,KAAKR,WADvE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;uCACW;AACV,iBAAO,KAAKV,IAAL,CACNQ,GADM,WACS,KAAKP,OADd,yBACoC,KAAK8rB,SADzC,GAENtrB,IAFM,CAED,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFC,CAAP;AAGD;;;yCACgBM,E,EAAS;AAExB,iBAAO,KAAKhB,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,2BACqCe,EADrC,cAC2C,KAAK+qB,SADhD,GAC4D,KAAKzrB,WADjE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;8CACqBM,E,EAAS;AAE7B,iBAAO,KAAKhB,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,oCAC8Ce,EAD9C,cACoD,KAAK+qB,SADzD,GACqE,KAAKzrB,WAD1E,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;oCACW2c,Q,EAAoB;AAC9B,cAAI9c,OAAO,GAAG,IAAI,gEAAJ,EAAd;AAEAA,iBAAO,CAAC+c,MAAR,CAAe,cAAf,EAA+B,qBAA/B;AACA/c,iBAAO,CAAC+c,MAAR,CAAe,QAAf,EAAyB,kBAAzB;AAEA,cAAMhd,WAAW,GAAG;AAAEC,mBAAO,EAAEA;AAAX,WAApB;AAEA,iBAAO,KAAKP,IAAL,CAAUe,IAAV,WAAkB,KAAKd,OAAvB,iCAAqD,KAAK8rB,SAA1D,GAAwE1O,QAAxE,EAAkF/c,WAAlF,CAAP;AACD;;;;;;;uBA3GQswD,c,EAAc,uH;AAAA,K;;;aAAdA,c;AAAc,eAAdA,cAAc,K;AAAA,kBAFb;;;;;sEAEDA,c,EAAc;cAH1B,wDAG0B;eAHf;AACVzvD,oBAAU,EAAE;AADF,S;AAGe,Q;;;;;;;;;;;;;;;;;;;;;;ACV3B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;AC2DwB;;AAAoD;;;;AAAqD;;;;;;AAArD;;AAAA;;;;;;AACpD;;AAA+E;;;;AAAyD;;;;;;AAAzD;;AAAA;;;;;;AAC/E;;AAAqD;;;;AAA4B;;;;AAA5B;;AAAA;;;;;;AACrD;;AAAqD;;;;AAA4B;;;;AAA5B;;AAAA;;;;;;AAL7D;;AACI;;AACI;;AACA;;AACA;;AACA;;AACA;;AACJ;;AACJ;;;;;;AANe;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;;;AAIf;;AAEI;;AACI;;AAAqD;;;;AAA2C;;AACpG;;AACA;;AACJ;;;;;;AAH6D;;AAAA;;;;;;;;AAiB7E;;AACI;;AAAG;AAAA;;AAAA;;AAAA,yCAAuB,OAAvB;AAA8B,SAA9B;;AAAgC;;AAAI;;AAC3C;;;;;;;;AAkEoC;;AAEI;;AAAoB;;AACZ;;AAEI;AAAA;;AAAA;;AAAA,sCAAsB,UAAtB;AAAgC,SAAhC;;AAC8D;;;;AAEnD;;AAAS;;AAAI;;AAQxC;;;;;;AAVgB;;AAAA;;AAA8D;;AAAA;;;;;;;;AA0F1E;;AAA4D;;AAEpD;AAAA;;AAAA;;AAAA;;AAAA,gDAA4B,CAA5B;AAA6B,SAA7B;;AAAgC;;AAAQ;;AAAI;;;;;;;;AAD5C;;AAAA;;AACgC;;AAAA;;;;;;AAJ5C;;AAEI;;AAGJ;;;;;;AAHwB;;AAAA;;;;;;AAqBhC;;AAAwC;;;;AAAuB;;;;AAAvB;;AAAA;;;;;;AACxC;;AAAwC;;;;AAA0B;;;;AAA1B;;AAAA;;;;;;AACxC;;AAAwC;;;;AAA2B;;;;AAA3B;;AAAA;;;;;;AAIxC;;AAAgF;;;;AAA0B;;;;;;AAA1B;;AAAA;;;;;;AAChF;;AAAkF;;;;AAA0B;;;;;;AAA1B;;AAAA;;;;;;AAClF;;AAAoF;;;;AAA0B;;;;;;AAA1B;;AAAA;;;;;;AACpF;;AAAuF;;;;AAA0B;;;;;;AAA1B;;AAAA;;;;;;AACvF;;AAAoF;;;;AAA0B;;;;;;AAA1B;;AAAA;;;;;;;;AApBxF;;AACI;;AACI;;AACI;;AACgC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AADhC;;AAEA;;AACJ;;AACJ;;AACA;;AAAgB;;AAAqB;;AAErC;;AACA;;AACA;;AACA;;AAAgB;;;;AAAwC;;AACxD;;AAAgB;;;;AAAuC;;AACvD;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAAgB;;AAAkB;;AAElC;;AAAI;;AAC0E;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA0E;;;;AACnI;;AAAS;;AACtB;;AAAI;;AAAyC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AACsC;;;;AAClE;;AAAS;;AAClC;;AAAI;;AAAmD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC+B;;;;AACjE;;AAAS;;AAClC;;;;;;;;;AA9BgE;;AAAA,8FAAsB,SAAtB,EAAsB,2BAAtB;;AAEhB;;AAAA;;AAG5B;;AAAA;;AAEA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAEkC;;AAAA;;AACD;;AAAA;;AACA;;AAAA;;AACC;;AAAA;;AACH;;AAAA;;AAE/B;;AAAA;;AAGR;;AAAA;;AAAgJ;;AAAA;;AAG5I;;AAAA;;AAA+E;;AAAA;;AAGnF;;AAAA;;AAA8E;;AAAA;;;;;;;;;;;;;;;;;;;;;;AA1MlH;;AACI;;AACI;;AAEI;;AACI;;AACI;;AACI;;AAAqB;AAAA;;AAAA;;AAAA;AAAA,WAAwB,OAAxB,EAAwB;AAAA;;AAAA;;AAAA;AAAA,SAAxB,EAAwB,QAAxB,EAAwB;AAAA;;AAAA;;AAAA;AAAA,SAAxB;;;;AAArB;;AAEJ;;AACJ;;AACJ;;AACJ;;AAEA;;AACI;;AACI;;AACJ;;AACA;;AACI;;AAEI;AAAA;;AAAA;;AAAA;AAAA;;AAAsE;;;;AAC3D;;AAEnB;;AACJ;;AACA;;AACI;;AACI;;AACJ;;AACA;;AAAyC;AAAA;;AAAA;;AAAA;AAAA;;AAAzC;;AAEA;;AAAQ;AAAA;;AAAA;;AAAA,iBAAS,YAAT;AAA0B,SAA1B;;AAA+D;;;;AAAiC;;AAE5G;;AAEJ;;AAIA;;AAEI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AAEI;;AAGI;AAAA;;AAAA;;AAAA;AAAA;;AAHJ;;AAIA;;AAAmC;;AAAM;;AAC7C;;AACJ;;AACA;;AAGI;;AACJ;;AACA;;AAiBJ;;AACJ;;AACJ;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,eAA5B;AAA2C,SAA3C;;AACjB;;AAEqF;;AACzF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,eAA5B;AAA2C,SAA3C;;AAEf;;;;AACR;;AAWA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,aAA5B;AAAyC,SAAzC;;AACjB;;AAEmF;;AACvF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,aAA5B;AAAyC,SAAzC;;AAEf;;;;AACR;;AAEA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,oBAA5B;AAAgD,SAAhD;;AACjB;;AAE0F;;AAC9F;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,oBAA5B;AAAgD,SAAhD;;AAEf;;;;AACR;;AAEA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,qBAA5B;AAAiD,SAAjD;;AACjB;;AAE2F;;AAC/F;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,qBAA5B;AAAiD,SAAjD;;AAEf;;;;AACR;;AAEA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,eAA5B;AAA2C,SAA3C;;AACjB;;AAEqF;;AACzF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,eAA5B;AAA2C,SAA3C;;AAEf;;;;AACR;;AAEA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,mBAA5B;AAA+C,SAA/C;;AACjB;;AAEyF;;AAC7F;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,mBAA5B;AAA+C,SAA/C;;AAEf;;;;AACR;;AACA;;AACA;;AACI;;AAEI;;AACI;;;;AACJ;;AACA;;AACI;;AAEI;;AACJ;;AACA;;AAMJ;;AACJ;;AACJ;;AACA;;AACA;;AACJ;;AACA;;AACI;;AAkCJ;;AACA;;AACI;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAEA;;AAEI;;AAA6E;;AAAM;;AAEnF;;AAEI;;AACI;;AACI;;AACwB;AAAA;;AAAA;;AAAA;AAAA,WAAyB,aAAzB,EAAyB;AAAA;;AAAA;;AAAA;AAAA,SAAzB;;AAKxB;;AACJ;;AACJ;;AACJ;;AAEA;;AAA0E;;AAAM;;AAEpF;;AACJ;;;;;;;;;;;;;;AAtP2E;;AAAA;;AAD9B;;AAcM;;AAAA;;AAAuC;;AAAA;;AAWP;;AAAA;;AAqBnC;;AAAA,iHAAsC,eAAtC,EAAsC,yCAAtC;;AA+B4C;;AAAA;;AAC3D;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAY0D;;AAAA;;AACzD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAGiE;;AAAA;;AAChE;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAGkE;;AAAA;;AACjE;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAG4D;;AAAA;;AAC3D;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAGgE;;AAAA;;AAC/D;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAGJ;;AAAA;;AAIQ;;AAAA;;AAKI;;AAAA;;AAeZ;;AAAA;;AAsEgB;;AAAA,gGAAyB,eAAzB,EAAyB,IAAzB,EAAyB,YAAzB,EAAyB,0BAAzB,EAAyB,cAAzB,EAAyB,mBAAzB,EAAyB,qBAAzB,EAAyB,IAAzB,EAAyB,oBAAzB,EAAyB,IAAzB,EAAyB,wBAAzB,EAAyB,GAAzB,EAAyB,oBAAzB,EAAyB,GAAzB,EAAyB,SAAzB,EAAyB,CAAzB;;;;;;AAoBxC;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AAIA;;;;QDrVS2vD,iB;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA,iCAAoBzvD,WAApB,EAAsDC,YAAtD,EAA4FC,QAA5F,EACUC,aADV,EACuDC,SADvD,EAC2FC,MAD3F,EAC4G;AAAA;;AADxF,aAAAL,WAAA,GAAAA,WAAA;AAAkC,aAAAC,YAAA,GAAAA,YAAA;AAAsC,aAAAC,QAAA,GAAAA,QAAA;AAClF,aAAAC,aAAA,GAAAA,aAAA;AAA6C,aAAAC,SAAA,GAAAA,SAAA;AAAoC,aAAAC,MAAA,GAAAA,MAAA;AAE3F,aAAAC,aAAA,GAAqB,OAArB;AAEA,aAAAC,eAAA,GAA0B,SAA1B;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,cAAA,GAAiB,CAAC,eAAD,CAAjB;AAEA,aAAAC,WAAA,GAA4B,IAAI,0DAAJ,EAA5B;AACA,aAAAC,MAAA,GAA0B,CACxB;AACA;AACA;AACA;AACA;AALwB,SAA1B;AAQA,aAAAC,QAAA,GAAsB,IAAI,wDAAJ,CAAc;AAClCjB,YAAE,EAAE,IAAI,0DAAJ,EAD8B;AAElCkB,gBAAM,EAAE,IAAI,0DAAJ,EAF0B;AAGlC+H,gBAAM,EAAE,IAAI,0DAAJ;AAH0B,SAAd,CAAtB;AAyEA,aAAA7H,eAAA,GAA0B,EAA1B;AACA,aAAAC,aAAA,GAAwB,EAAxB,CA5F4G,CA+F5G;;AACA,aAAAC,YAAA,sBAAmB,KAAKN,MAAxB;AACA,aAAAO,UAAA,sBAAiB,KAAKD,YAAtB;AACA,aAAAE,aAAA,sBAAoB,KAAKF,YAAzB;AACA,aAAAG,MAAA,GAAiB,KAAKT,MAAL,CAAYU,MAAZ,GAAqB,CAAtC;AAEA,aAAAC,YAAA,GAAoB,KAApB;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,kBAAA,GAAqB,CAAC,CAAD,EAAI,EAAJ,EAAQ,EAAR,CAArB;AACA,aAAAC,QAAA,GAAW,EAAX;AACA,aAAAC,cAAA,GAAiB,EAAjB;AAEA,aAAAC,QAAA,GAAoB,IAApB;AAEA,aAAAC,WAAA,GAAc,CAAd;AACA,aAAAC,SAAA,GAAY,CAAZ;AAGA,aAAAC,YAAA,GAAe,IAAI,sFAAJ,EAAf;AACA,aAAAC,UAAA,GAAa,IAAI,kFAAJ,EAAb;AACA,aAAAC,aAAA,GAAgB,IAAI,wFAAJ,EAAhB;AA4HA,aAAAC,YAAA,GAA+B,EAA/B;AAcA,aAAAC,UAAA,GAAkB,EAAlB;AAwEA,aAAAwtD,MAAA,GAAS,EAAT;AACA,aAAAF,QAAA,GAAW,EAAX;AACA,aAAAG,MAAA,GAAS,CAAT;AAvUC;;;;mCAuBO;AACN/1C,iBAAO,CAACC,GAAR,CAAY,OAAZ;AACAD,iBAAO,CAACC,GAAR,CAAY,KAAKnZ,WAAjB;AAGA,eAAKyB,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACA,eAAKoD,SAAL,GAAiB;AAAEC,iBAAK,EAAE,eAAT;AAA0BC,oBAAQ,EAAE;AAApC,WAAjB;AACA,eAAK9B,YAAL,GAAoB,CAClB;AAAE6B,iBAAK,EAAE,eAAT;AAA0BC,oBAAQ,EAAE;AAApC,WADkB,EAElB;AAAED,iBAAK,EAAE,wBAAT;AAAmCC,oBAAQ,EAAE;AAA7C,WAFkB,EAGlB;AAAED,iBAAK,EAAE,aAAT;AAAwBC,oBAAQ,EAAE;AAAlC,WAHkB,EAIlB;AAAED,iBAAK,EAAE,oBAAT;AAA+BC,oBAAQ,EAAE;AAAzC,WAJkB,EAKlB;AAAED,iBAAK,EAAE,qBAAT;AAAgCC,oBAAQ,EAAE;AAA1C,WALkB,EAMlB;AAAED,iBAAK,EAAE,eAAT;AAA0BC,oBAAQ,EAAE;AAApC,WANkB,EAOlB;AAAED,iBAAK,EAAE,mBAAT;AAA8BC,oBAAQ,EAAE;AAAxC,WAPkB,CAApB;AASA,eAAKC,QAAL;AACAqX,iBAAO,CAACC,GAAR,CAAY,KAAKlZ,MAAjB;AACD,S,CAED;AACA;AACA;;;;uCACe;AACb,eAAKkB,SAAL,GAAiB,KAAKD,WAAtB,CADa,CAEb;;AACA,eAAKZ,aAAL,GAAqB,SAArB;AACA,eAAKwB,mBAAL;AACD,S,CAED;;;;8CACmB;AAAA;;AACjB,eAAKvC,YAAL,CAAkBwC,UAAlB,CAA6B,KAAKR,YAAlC,EAAgDS,SAAhD,CAA0D,UAAAC,MAAM,EAAI;AAClE,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAACJ,QAAL;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAAC4B,gBAAL;AACD,aAJD,MAKK;AACH,sBAAI,CAACC,UAAL,CAAgB,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAAhB,EAAiD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,cAAvB,CAAjD;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAVD;AAWD;;;mCAmDU;AAAA;;AACT;AACA,eAAKA,aAAL,GAAqB,SAArB;AACA,eAAKf,YAAL,CAAkB8C,MAAlB,GAA2BL,SAA3B,CACE,UAAAM,IAAI,EAAI;AACN,oBAAI,CAAChC,aAAL,GAAqB,EAArB;AAEA,oBAAI,CAACL,MAAL,GAAcqC,IAAd;;AACA,oBAAI,CAACC,QAAL;AACD,WANH;AASD;;;mCAEU;AACT,eAAK/B,UAAL,GAAkB,KAAKa,UAAL,CAAgBkB,QAAhB,CAAyB,KAAKb,SAAL,CAAeE,QAAxC,EAAkD,KAAK3B,MAAvD,CAAlB;AACA,eAAKwC,UAAL;AACD;;;0CAEiB;AAChB,eAAKtB,SAAL,GAAiB,KAAKD,WAAtB;AACA,eAAKV,UAAL,GAAkB,KAAKA,UAAL,CAAgBkC,KAAhB,GAAwBC,OAAxB,EAAlB;AACA,eAAKF,UAAL;AACD;;;qCAEY;AACX,eAAKlC,YAAL,GAAoB,KAAKa,YAAL,CAAkBqB,UAAlB,CAA6B,KAAKjB,UAAlC,EAA8C,KAAKzB,cAAnD,EAAmE,KAAKS,UAAxE,CAApB;;AACA,cAAI,KAAKW,SAAL,KAAmB,CAAvB,EAA0B;AACxB,iBAAKyB,YAAL,CAAkB,KAAK/B,YAAvB,EAAqC,CAArC;AACD,WAFD,MAGK;AACH,iBAAK+B,YAAL,CAAkB,KAAK/B,YAAvB,EACEgC,IAAI,CAACC,IAAL,CAAW,KAAKvC,YAAL,CAAkBI,MAAlB,GAA2B,KAAKE,YAA3C,KAA6D,KAAKM,SAAlE,GACE,KAAKA,SADP,GAEE0B,IAAI,CAACC,IAAL,CAAW,KAAKvC,YAAL,CAAkBI,MAAlB,GAA2B,KAAKE,YAA3C,CAHJ;AAKD;;AACD,eAAKM,SAAL,GAAiB,CAAjB;AACD;;;qCAEY4B,e,EAAyBC,c,EAAwB;AAC5D,eAAKnC,YAAL,GAAoBkC,eAApB;AACA,eAAK7B,WAAL,GAAmB8B,cAAnB;AACA,eAAKvC,aAAL,GAAqB,KAAKF,YAAL,CAAkBmC,KAAlB,CAAwB,CAACM,cAAc,GAAG,CAAlB,IAAwBD,eAAhD,EAAmEA,eAAe,GAAGC,cAArF,CAArB;AACD;;;mCAEUC,O,EAAc;AACvB,cAAI,KAAKvB,SAAL,CAAeC,KAAf,KAAyBsB,OAAO,CAACtB,KAArC,EAA4C;AAC1C,iBAAKV,QAAL,GAAgB,CAAC,KAAKA,QAAtB;AACA,gBAAMiC,OAAO,GAAG,KAAKhC,WAArB;AACA,iBAAKiC,eAAL;AACA,iBAAKjC,WAAL,GAAmBgC,OAAnB;AACD,WALD,MAMK;AACH,iBAAKjC,QAAL,GAAgB,IAAhB;AACA,iBAAKS,SAAL,GAAiBuB,OAAjB;AACA,iBAAKV,QAAL;AACD;AACF;;;gCAEOZ,K,EAAY;AAClB,iBAAO,KAAK7B,YAAL,CAAkBsD,IAAlB,CAAuB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC1B,KAAF,KAAYA,KAAhB;AAAA,WAAxB,CAAP;AACD;;;mCAEU2B,K,EAAuB;AAChC,eAAKpC,WAAL,GAAmBoC,KAAK,CAACC,IAAzB;AACA,eAAKX,YAAL,CAAkB,KAAK/B,YAAvB,EAAqC,KAAKK,WAA1C;AACD;;;uCAEc;AACb,eAAKK,YAAL,GAAoB,EAApB;AACA,eAAKR,QAAL,GAAgB,EAAhB;AACA,eAAKC,cAAL,GAAsB,EAAtB;AACA,eAAKyB,UAAL;AACD;;;kCAESe,M,EAAM;AACd,cAAIA,MAAM,CAACC,MAAP,CAAcC,OAAlB,EAA2B;AACzB,iBAAK3C,QAAL,sBAAoB,KAAKR,YAAzB;AACD,WAFD,MAEO;AACL,iBAAKQ,QAAL,GAAgB,EAAhB;AACD;;AACD,eAAK4C,iBAAL;AACD;;;4CAEgB;AACf,cAAI,KAAK5C,QAAL,CAAcJ,MAAd,IAAwB,KAAKJ,YAAL,CAAkBI,MAA9C,EAAsD;AACpD,iBAAKK,cAAL,GAAsB,SAAtB;AACD,WAFD,MAEO,IAAI,KAAKD,QAAL,CAAcJ,MAAd,KAAyB,CAA7B,EAAgC;AACrC,iBAAKK,cAAL,GAAsB,eAAtB;AACD,WAFM,MAEC;AACN,iBAAKA,cAAL,GAAsB,EAAtB;AACD;AACF;;;mCAEU4C,C,EAAe;AACxB,iBAAO,KAAK7C,QAAL,CAAc8C,SAAd,CAAwB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC7E,EAAF,KAAS2E,CAAC,CAAC3E,EAAf;AAAA,WAAzB,IAA8C,CAAC,CAAtD;AACD;;;iCAEQ8E,I,EAAkB;AACzB,cAAI,KAAKC,UAAL,CAAgBD,IAAhB,CAAJ,EAA2B;AACzB,iBAAKhD,QAAL,GAAgB,KAAKA,QAAL,CAAckD,MAAd,CAAqB,UAAAH,CAAC;AAAA,qBAAIA,CAAC,CAAC7E,EAAF,KAAS8E,IAAI,CAAC9E,EAAlB;AAAA,aAAtB,CAAhB;AACD,WAFD,MAEO;AACL,iBAAK8B,QAAL,CAAcmD,IAAd,CAAmBH,IAAnB;AACD;;AACD,eAAKJ,iBAAL;AACD;;;mCAEUQ,I,EAAWxG,I,EAAS;AAC7B,iBAAOwG,IAAI,CAACf,IAAL,CAAU,UAAAU,CAAC;AAAA,mBAAIA,CAAC,CAACM,IAAF,KAAWzG,IAAf;AAAA,WAAX,CAAP;AACD;;;6CAGiB;AACjB,eAAKgC,MAAL,CAAY0E,QAAZ,CAAqB,CAAC,qCAAD,CAArB;AACA;;;yCAEgBpF,E,EAAO,CACtB;AACA;AACD;;;qCAGYA,E,EAAO;AAClB,cAAIA,EAAE,IAAI,CAAV,EAAa;AACX,iBAAKoB,eAAL,GAAuB,KAAvB;AACA,iBAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,aAAlB,CAAnB;AACA,iBAAKsC,YAAL,GAAoB,CAAC,KAAKtB,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,aAAlB,CAAD,CAApB;AACA,iBAAKqF,QAAL,CAAcC,IAAd;AACD,WALD,MAMK,IAAItF,EAAE,KAAK,UAAX,EAAuB;AAC1B,iBAAKsC,YAAL,sBAAwB,KAAKR,QAA7B;AACA,iBAAKuD,QAAL,CAAcC,IAAd;AACD;AACF;;;2CAKe;AACd,cAAI,KAAKhD,YAAL,CAAkBZ,MAAlB,KAA6B,CAAjC,EAAoC;AAClC,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,QAAQ,KAAKvC,eAApC,CADF;AAED,WAHD,MAIK,IAAI,KAAK0B,YAAL,CAAkBZ,MAAlB,KAA6B,CAAjC,EAAoC;AACvC,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,QAAQ,KAAKvC,eAAb,GAA+B,GAAtD,CADF;AAED,WAHI,MAIA,IAAI,KAAK0B,YAAL,CAAkBZ,MAAlB,GAA2B,CAA3B,IAAgC,KAAKY,YAAL,CAAkBZ,MAAlB,GAA2B,EAA/D,EAAmE;AACtE,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAKb,YAAL,CAAkBZ,MADiC,GACxB,GADwB,GAClB,KAAKjB,SAAL,CAAe0C,OAAf,CAAuB,KAAKvC,eAAL,GAAuB,UAA9C,CADnC;AAED,WAHI,MAIA;AACH,iBAAK2E,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAKb,YAAL,CAAkBZ,MADiC,GACxB,GADwB,GAClB,KAAKjB,SAAL,CAAe0C,OAAf,CAAuB,KAAKvC,eAAL,GAAuB,MAA9C,CADnC;AAED;;AAED,eAAK0B,YAAL,GAAoB,EAApB;AACA,eAAKR,QAAL,GAAgB,EAAhB;AAEA,eAAK4C,iBAAL;;AACA,cAAI,KAAK3C,cAAL,KAAwB,EAA5B,EAAgC;AAC9B,iBAAKJ,YAAL,GAAoB,KAApB;AACD;;AACD,eAAK0D,QAAL,CAAcG,IAAd;AACD;;;qCAEYC,W,EAAqBC,S,EAAiB;AACjD,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBE,OADnB,EAC4B;AAAEC,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD5B;AAED;;;mCACUL,W,EAAqBC,S,EAAiB;AAC/C,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBjH,KADnB,EAC0B;AAAEoH,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD1B;AAED;;;8CACqB;AACpB,eAAKlD,QAAL;AACA,eAAKyC,QAAL,CAAcG,IAAd;AACD;;;sCAEa;AAAA;;AACZ,eAAKlF,YAAL,CAAkB8C,MAAlB,GAA2BL,SAA3B,CACE,UAAAM,IAAI,EAAI;AACN,oBAAI,CAACrC,MAAL,GAAcqC,IAAd;;AACA,oBAAI,CAACE,UAAL;AACD,WAJH;AAMD;;;qCAEY;AAAA;;AACX,cAAMwC,UAAU,GAAG,KAAKxD,UAAxB;AACA,eAAKA,UAAL,GAAkB,EAAlB;AACAyD,oBAAU,CAAC,YAAM;AACf,oBAAI,CAACzD,UAAL,GAAkBwD,UAAlB;AACD,WAFS,EAEP,CAFO,CAAV;AAGD;;;+BACG;AAAA;;AACF,eAAKzF,YAAL,CAAkB2vD,IAAlB,CAAuB,KAAKD,MAA5B,EAAmC,KAAKH,QAAxC,EACC9sD,SADD,CACW,UAAAC,MAAM,EAAE;AACjB,gBAAGA,MAAM,IAAI,IAAb,EAAkB;AACpB,sBAAI,CAACuC,YAAL,CAAkB,QAAI,CAAC9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,wCAAvB,CAArD;;AACI,kBAAIiB,CAAC,GAAG,QAAI,CAACpD,MAAL,CAAY4D,SAAZ,CAAsB,UAAAC,CAAC;AAAA,uBAAEA,CAAC,CAAC7E,EAAF,IAAQ,QAAI,CAACgwD,MAAf;AAAA,eAAvB,CAAR;;AACA,kBAAG5rD,CAAC,GAAG,CAAC,CAAR,EAAU;AACR,wBAAI,CAACpD,MAAL,CAAYoD,CAAZ,EAAeqb,MAAf,GAAwB,aAAxB;AACD;AACF;AACF,WATD;AAUD;;;8BAIKzf,E,EAAE;AAAA;;AACN,mBADM,CAEN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACF,eAAKM,YAAL,CAAkB4vD,gBAAlB,CAAmClwD,EAAnC,EACC+C,SADD,CACW,UAAAC,MAAM,EAAG;AAClBiX,mBAAO,CAACC,GAAR,CAAYlX,MAAZ;AACA,oBAAI,CAAC+sD,MAAL,GAAc/sD,MAAd;AACA,gFAAU,yEAAYqyB,MAAtB,iCAAmDryB,MAAnD,GAA6D,YAA7D,EAHkB,CAIlB;AACF;AACA;AACA;AACC,WATD;AAUC;;;wCAGehD,E,EAAE;AAChB;AACA,eAAKgwD,MAAL,GAAchwD,EAAd;AACA,eAAKqN,UAAL,CAAgB/H,IAAhB;AACD;;;mCAEUjB,K,EAAO;AAChB,cAAIgY,QAAQ,GAAG,IAAIoB,QAAJ,EAAf;AACA,eAAKC,YAAL,GAAoBrZ,KAAK,CAACG,MAAN,CAAamZ,KAAb,CAAmB,CAAnB,CAApB;AACAtB,kBAAQ,CAACC,MAAT,CAAgB,QAAhB,EAA0B,KAAKoB,YAA/B;AAEA,eAAKpd,YAAL,CAAkBsd,WAAlB,CAA8BvB,QAA9B,EAAwCtZ,SAAxC,CAAkD,UAAAC,MAAM,EAAI,CAE3D,CAFD;AAKD;;;;;;;uBApYU8sD,iB,EAAiB,2H,EAAA,+H,EAAA,wH,EAAA,4I,EAAA,sI,EAAA,wH;AAAA,K;;;YAAjBA,iB;AAAiB,mC;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;ACtB9B;;AACI;;AACI;;AACI;;AAAkE;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAA0B,WAA1B;;AAE9D;;AAAyB;;AAAO;;AACpC;;AACA;;AACI;;AACI;;;;AAAmD;;AAC3D;;AACA;;AACI;;AACI;;AACI;;AAAqC;;;;AAA0B;;AAC/D;;AACmD;AAAA;AAAA;;;;AADnD;;AAIA;;AACJ;;AAIA;;AACI;;AAE0D;AAAA,mBAAS,IAAAG,IAAA,EAAT;AAAe,WAAf;;AACM;;;;AACjD;;AAKnB;;AAEJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAEA;;AACI;;AACI;;AACI;;AAAkE;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAAwB,WAAxB;;AAE9D;;AAAyB;;AAAO;;AACpC;;AACA;;AACI;;AACI;;;;AACW;;AACnB;;AACA;;AACI;;AASA;;AAQA;;AACI;;AAA2D;AAAA,mBAAS,IAAAhqD,YAAA,EAAT;AAAuB,WAAvB;;AAEK;;;;AAAwB;;AACxF;;AAA8B;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAAwB,WAAxB;;AACoD;;;;AACnE;;AACnB;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AAIA;;AAgQA;;AAIA;;AAKA;;AAKA;;AAIA;;;;AAjWoB;;AAAA;;AAKyC;;AAAA;;AAGjC;;AAAA;;AAD+C;;AAU/C;;AAAA;;AAE4D;;AAAA;;AAuBpE;;AAAA;;AAIiC;;AAAA;;AAS4B;;AAAA;;AAUzD;;AAAA;;AAC4D;;AAAA;;AAEkB;;AAAA;;AAOhG;;AAAA;;AAID;;AAAA;;;;;;;;;;sEDlEQ6pD,iB,EAAiB;cAL7B,uDAK6B;eALnB;AACT5pD,kBAAQ,EAAE,cADD;AAETC,qBAAW,EAAE,2BAFJ;AAGTC,mBAAS,EAAE,CAAC,2BAAD;AAHF,S;AAKmB,Q;;;;;;;;;;;;;;;;gBAuP3B,uD;iBAAU,U;;;gBA2HV,uD;iBAAU,Y;;;;;;;;;;;;;;;;;;;;AE1Yb;AAAA;;;AAAA;AAAA;AAAA;;QAAaioD,S,GAoBT,mBAAYxjD,GAAZ,EAA0B;AAAA;;AACtBA,SAAG,GAAGA,GAAG,GAAEA,GAAF,GAAM,EAAf;AACA,WAAK7K,EAAL,GAAU6K,GAAG,CAAC7K,EAAJ,GAAQ6K,GAAG,CAAC7K,EAAZ,GAAe,CAAzB;AACA,WAAKiJ,MAAL,GAAc4B,GAAG,CAAC5B,MAAJ,GAAY4B,GAAG,CAAC5B,MAAhB,GAAuB,EAArC;AACA,WAAK/H,MAAL,GAAc2J,GAAG,CAAC3J,MAAJ,GAAY2J,GAAG,CAAC3J,MAAhB,GAAuB,EAArC;AACA,WAAKiE,IAAL,GAAY0F,GAAG,CAAC1F,IAAJ,GAAU0F,GAAG,CAAC1F,IAAd,GAAmB,EAA/B;AACA,WAAKi1B,UAAL,GAAkBvvB,GAAG,CAACuvB,UAAJ,GAAgBvvB,GAAG,CAACuvB,UAApB,GAA+B,EAAjD;AACA,WAAK5xB,IAAL,GAAYqC,GAAG,CAACrC,IAAJ,GAAUqC,GAAG,CAACrC,IAAd,GAAmB,CAA/B;AACA,WAAK6xB,KAAL,GAAaxvB,GAAG,CAACwvB,KAAJ,GAAWxvB,GAAG,CAACwvB,KAAf,GAAqB,CAAlC;AACA,WAAK9yB,KAAL,GAAasD,GAAG,CAACtD,KAAJ,GAAWsD,GAAG,CAACtD,KAAf,GAAqB,CAAlC;AACA,WAAKmzB,UAAL,GAAkB7vB,GAAG,CAAC6vB,UAAJ,GAAgB7vB,GAAG,CAAC6vB,UAApB,GAA+B,EAAjD;AACA,WAAKtvB,WAAL,GAAmBP,GAAG,CAACO,WAAJ,GAAiBP,GAAG,CAACO,WAArB,GAAiC,EAApD;AACA,WAAKmvB,aAAL,GAAqB1vB,GAAG,CAAC0vB,aAAJ,GAAmB1vB,GAAG,CAAC0vB,aAAvB,GAAqC,EAA1D;AACA,WAAKC,aAAL,GAAqB3vB,GAAG,CAAC2vB,aAAJ,GAAmB3vB,GAAG,CAAC2vB,aAAvB,GAAqC,EAA1D;AACA,WAAKA,aAAL,GAAqB3vB,GAAG,CAAC2vB,aAAJ,GAAmB3vB,GAAG,CAAC2vB,aAAvB,GAAqC,EAA1D;AACA,WAAKC,aAAL,GAAqB5vB,GAAG,CAAC4vB,aAAJ,GAAmB5vB,GAAG,CAAC4vB,aAAvB,GAAqC,CAA1D;AACA,WAAK01B,YAAL,GAAoBtlD,GAAG,CAACslD,YAAJ,GAAkBtlD,GAAG,CAACslD,YAAtB,GAAmC,CAAvD;AACA,WAAKC,aAAL,GAAqBvlD,GAAG,CAACulD,aAAJ,GAAmBvlD,GAAG,CAACulD,aAAvB,GAAqC,KAA1D;AACH,K;;;;;;;;;;;;;;;;;ACtCL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAUaC,W;AACT,2BAAoBrxD,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAIpB,aAAA+rB,SAAA,GAAkB,CAAE3rB,YAAY,CAACC,OAAb,CAAqB,WAArB,CAApB;AACA,aAAAJ,OAAA,GAAU,yEAAYC,UAAtB;AACC,aAAAC,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AALA;;;;iCAaK;AAEJ,iBAAO,KAAKH,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,yBACmC,KAAK8rB,SADxC,GACoD,KAAKzrB,WADzD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCACOZ,E,EAAS;AAEf,iBAAO,KAAKE,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,0BACoCH,EADpC,GACyC,KAAKQ,WAD9C,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;oCACW6iC,K,EAAiB;AAE3B,iBAAO,KAAKvjC,IAAL,CACJe,IADI,WACS,KAAKd,OADd,8BACyC,KAAK8rB,SAD9C,GAC0DwX,KAD1D,EACgE,KAAKjjC,WADrE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BAEMI,O,EAAkB;AAEvB,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,yBACoC,KAAK8rB,SADzC,GACsDjrB,OADtD,EAC8D,KAAKR,WADnE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BAEMI,O,EAAkB;AACvB,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,kBACoCa,OADpC,EAC4C,KAAKR,WADjD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCAEMI,O,EAAkB;AACvB,iBAAO,KAAKd,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,yBACmCa,OAAO,CAACE,EAD3C,GACgD,KAAKV,WADrD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;mCAEUI,O,EAAqB;AAC9B,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,sBACuCgB,IAAI,CAACC,SAAL,CAAeJ,OAAf,CADvC,EAC+D,KAAKR,WADpE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;;;;;uBA1DQ2wD,W,EAAW,uH;AAAA,K;;;aAAXA,W;AAAW,eAAXA,WAAW,K;AAAA,kBAFV;;;;;sEAEDA,W,EAAW;cAHvB,wDAGuB;eAHZ;AACVlwD,oBAAU,EAAE;AADF,S;AAGY,Q;;;;;;;;;;;;;;;;;;;;;;ACTxB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;ACc4B;;AAAqD;;AAA0C;;;;;;;;AAA5D;;AAAkB;;AAAA;;;;;;AAwBzD;;;;;;AAEI;;;;;;AACJ;;AACgB;;AAAoB;;;;;;AAApB;;AAAA;;;;;;AAChB;;AAEI;;;;AAA+B;;;;AAA/B;;AAAA;;;;;;AAKJ;;;;;;AAEI;;;;;;AACJ;;AACkB;;AAAsB;;;;;;AAAtB;;AAAA;;;;;;AAClB;;AAEI;;;;AAAoC;;;;AAApC;;AAAA;;;;;;AAKJ;;;;;;AAEI;;;;;;AACJ;;AACkB;;AAAsB;;;;;;AAAtB;;AAAA;;;;;;AAClB;;AAEI;;;;AAAoC;;;;AAApC;;AAAA;;;;;;AAOJ;;;;;;AAEI;;;;;;AACJ;;AACsB;;AAA0B;;;;;;AAA1B;;AAAA;;;;;;AACtB;;AAEI;;;;AAAwC;;;;AAAxC;;AAAA;;;;;;AAMJ;;;;;;AAEI;;;;;;AACJ;;AACgB;;AAAoB;;;;;;AAApB;;AAAA;;;;;;AAChB;;AAEI;;;;AAAkC;;;;AAAlC;;AAAA;;;;;;AAMJ;;;;;;AAEI;;;;;;AACJ;;AACiB;;AAAqB;;;;;;AAArB;;AAAA;;;;;;AACjB;;AAEI;;;;AAAmC;;;;AAAnC;;AAAA;;;;;;AAMJ;;;;;;AAEI;;;;;;AACJ;;AACiB;;AAAqB;;;;;;AAArB;;AAAA;;;;;;AACjB;;AAEI;;;;AAAmC;;;;AAAnC;;AAAA;;;;;;;;AAOJ;;AAE8B;AAAA;;AAAA;;AAAA;AAAA;;AACkC;;;;AACjD;;;;;;AAHX;;AAE4D;;AAAA;;;;;;;;AAEhE;;AAE8B;AAAA;;AAAA;;AAAA;AAAA;;AACkC;;;;AAC/C;;;;;;AAHb;;AAE4D;;AAAA;;;;;;AA2BpE;;AACI;;AAAmB;;AAA4C;;AAC/D;;AACJ;;;;;;;;AAFuB;;AAAA;;;;;;AAF3B;;AACI;;AAIJ;;;;;;AAJS;;AAAA;;;;;;AAKT;;AACI;;AACI;;AAAqD;;;;AAA+B;;AACxF;;AACA;;AACJ;;;;AAH6D;;AAAA;;;;;;;;AAiB7E;;AACI;;AAAG;AAAA;;AAAA;;AAAA,yCAAuB,OAAvB;AAA8B,SAA9B;;AAAgC;;AAAI;;AAC3C;;;;;;;;AAwDoC;;AAEI;;AAAoB;;AACZ;;AAEI;AAAA;;AAAA;;AAAA,sCAAsB,UAAtB;AAAgC,SAAhC;;AAC8D;;;;AAEnD;;AAAS;;AAAI;;AACxB;;AAAoB;;AAChB;;AAEI;AAAA;;AAAA;;AAAA;AAAA;;AAC8D;;;;AAEnD;;AAAS;;AAAI;;AAChD;;;;;;AAVgB;;AAAA;;AAA8D;;AAAA;;AAOtD;;AAAA;;AAA8D;;AAAA;;;;;;;;AA6DlF;;AAA4D;;AAEpD;AAAA;;AAAA;;AAAA;;AAAA,gDAA4B,CAA5B;AAA6B,SAA7B;;AAAgC;;AAAQ;;AAAI;;;;;;;;AAD5C;;AAAA;;AACgC;;AAAA;;;;;;AAJ5C;;AAEI;;AAGJ;;;;;;AAHwB;;AAAA;;;;;;;;AASpC;;AACI;;AACI;;AACI;;AACgC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AADhC;;AAEA;;AACJ;;AACJ;;AACA;;AAAgB;;AAAwC;;AACxD;;AAAgB;;AAAkB;;AAClC;;AAAgB;;AAAY;;AAC5B;;AAAgB;;AAAa;;AAC7B;;AAAgB;;AAAa;;AAC7B;;AAAI;;AAAyC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC0C;;;;AAClE;;AAAS;;AAC9B;;AAAI;;AAAoD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC+B;;;;AAClE;;AAAS;;AAC9B;;AAAI;;AAAmD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC+B;;;;AACjE;;AAAS;;AAMlC;;;;;;;;;AAxBgE;;AAAA,8FAAsB,SAAtB,EAAsB,2BAAtB;;AAEhB;;AAAA;;AAG5B;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAER;;AAAA;;AAA+E;;AAAA;;AAG/E;;AAAA;;AAA+E;;AAAA;;AAG/E;;AAAA;;AAA8E;;AAAA;;;;;;;;;;;;;;;;;;;;;;AA7JlH;;AACI;;AACI;;AAEI;;AACI;;AACI;;AACI;;AAAqB;AAAA;;AAAA;;AAAA;AAAA,WAAwB,OAAxB,EAAwB;AAAA;;AAAA;;AAAA;AAAA,SAAxB,EAAwB,QAAxB,EAAwB;AAAA;;AAAA;;AAAA;AAAA,SAAxB;;;;AAArB;;AAEJ;;AACJ;;AACJ;;AACJ;;AAEA;;AACI;;AACI;;AACJ;;AACA;;AACI;;AAEI;AAAA;;AAAA;;AAAA;AAAA;;AAAsE;;;;AAC3D;;AAEnB;;AACJ;;AAEJ;;AAGA;;AAEI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AAEI;;AAGI;AAAA;;AAAA;;AAAA;AAAA;;AAHJ;;AAIA;;AAAmC;;AAAM;;AAC7C;;AACJ;;AACA;;AAGI;;AACJ;;AACA;;AAiBJ;;AACJ;;AACJ;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,UAA5B;AAAsC,SAAtC;;AACjB;;AAEgF;;AACpF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,UAA5B;AAAsC,SAAtC;;AAEf;;;;AACR;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,gBAA5B;AAA4C,SAA5C;;AACjB;;AAEsF;;AAC1F;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,gBAA5B;AAA4C,SAA5C;;AAEf;;;;AACR;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,UAA5B;AAAsC,SAAtC;;AACjB;;AAEgF;;AACpF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,UAA5B;AAAsC,SAAtC;;AAEf;;;;AACR;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,WAA5B;AAAuC,SAAvC;;AACjB;;AAEiF;;AACrF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,WAA5B;AAAuC,SAAvC;;AAEf;;;;AACR;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,WAA5B;AAAuC,SAAvC;;AACjB;;AAEiF;;AACrF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,WAA5B;AAAuC,SAAvC;;AAEf;;;;AACR;;AACA;;AACA;;AACI;;AAEI;;AACI;;;;AACJ;;AACA;;AACI;;AAEI;;AACJ;;AACA;;AAMJ;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AA4BJ;;AACA;;AACI;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAEA;;AAEI;;AAA6E;;AAAM;;AAEnF;;AAEI;;AACI;;AACI;;AACwB;AAAA;;AAAA;;AAAA;AAAA,WAAyB,aAAzB,EAAyB;AAAA;;AAAA;;AAAA;AAAA,SAAzB;;AAKxB;;AACJ;;AACJ;;AACJ;;AAEA;;AAA0E;;AAAM;;AAEpF;;AACJ;;;;;;;;;;;;;;AAzM2E;;AAAA;;AAD9B;;AAcM;;AAAA;;AAAuC;;AAAA;;AAsB1C;;AAAA,kHAAsC,eAAtC,EAAsC,0CAAtC;;AA+BuC;;AAAA;;AACtD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAE6D;;AAAA;;AAC5D;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAEuD;;AAAA;;AACtD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAEwD;;AAAA;;AACvD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAEwD;;AAAA;;AACvD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAGJ;;AAAA;;AAIQ;;AAAA;;AAKI;;AAAA;;AAaZ;;AAAA;;AA2DgB;;AAAA,iGAAyB,eAAzB,EAAyB,IAAzB,EAAyB,YAAzB,EAAyB,2BAAzB,EAAyB,cAAzB,EAAyB,oBAAzB,EAAyB,qBAAzB,EAAyB,IAAzB,EAAyB,oBAAzB,EAAyB,IAAzB,EAAyB,wBAAzB,EAAyB,IAAzB,EAAyB,oBAAzB,EAAyB,IAAzB,EAAyB,SAAzB,EAAyB,CAAzB;;;;;;AAoBxC;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AAIA;;;;QDhZSmwD,c;AACX;AACA;AACA;AACA;AACA,8BAAoBjwD,WAApB,EAAsDC,YAAtD,EAAyFC,QAAzF,EACUC,aADV,EACuDC,SADvD,EAC2F0M,iBAD3F,EACgI;AAAA;;AAD5G,aAAA9M,WAAA,GAAAA,WAAA;AAAkC,aAAAC,YAAA,GAAAA,YAAA;AAAmC,aAAAC,QAAA,GAAAA,QAAA;AAC/E,aAAAC,aAAA,GAAAA,aAAA;AAA6C,aAAAC,SAAA,GAAAA,SAAA;AAAoC,aAAA0M,iBAAA,GAAAA,iBAAA;AAE3F,aAAAo6C,KAAA,GAAwB,EAAxB;AACA,aAAA5mD,aAAA,GAAqB,OAArB;AAEA,aAAAC,eAAA,GAA0B,MAA1B;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,cAAA,GAAiB,CAAC,QAAD,EAAW,QAAX,CAAjB;AAEA,aAAAC,WAAA,GAAyB,IAAI,oDAAJ,EAAzB;AACA,aAAAC,MAAA,GAAuB,EAAvB,CAXgI,CAYhI;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,aAAAC,QAAA,GAAsB,IAAI,wDAAJ,CAAc;AAClCjB,YAAE,EAAE,IAAI,0DAAJ,EAD8B;AAElCkB,gBAAM,EAAE,IAAI,0DAAJ,EAF0B;AAGlC+H,gBAAM,EAAE,IAAI,0DAAJ,EAH0B;AAIlCmxB,oBAAU,EAAE,IAAI,0DAAJ,EAJsB;AAKlC5xB,cAAI,EAAE,IAAI,0DAAJ,EAL4B;AAMlC6xB,eAAK,EAAE,IAAI,0DAAJ,EAN2B;AAOlC9yB,eAAK,EAAE,IAAI,0DAAJ,EAP2B;AAQlC4oD,sBAAY,EAAC,IAAI,0DAAJ,EARqB;AASlC71B,oBAAU,EAAC,IAAI,0DAAJ,EATuB;AAUlCn1B,cAAI,EAAC,IAAI,0DAAJ;AAV6B,SAAd,CAAtB;AAoLA,aAAA/D,eAAA,GAA0B,EAA1B;AACA,aAAAC,aAAA,GAAwB,EAAxB,CAxMgI,CA2MhI;;AACA,aAAAC,YAAA,sBAAmB,KAAKN,MAAxB;AACA,aAAAO,UAAA,sBAAiB,KAAKD,YAAtB;AACA,aAAAE,aAAA,sBAAoB,KAAKF,YAAzB;AACA,aAAAG,MAAA,GAAiB,KAAKT,MAAL,CAAYU,MAAZ,GAAqB,CAAtC;AAEA,aAAAC,YAAA,GAAoB,KAApB;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,kBAAA,GAAqB,CAAC,CAAD,EAAI,EAAJ,EAAQ,EAAR,CAArB;AACA,aAAAC,QAAA,GAAW,EAAX;AACA,aAAAC,cAAA,GAAiB,EAAjB;AAEA,aAAAC,QAAA,GAAoB,IAApB;AAEA,aAAAC,WAAA,GAAc,CAAd;AACA,aAAAC,SAAA,GAAY,CAAZ;AAGA,aAAAC,YAAA,GAAe,IAAI,sFAAJ,EAAf;AACA,aAAAC,UAAA,GAAa,IAAI,kFAAJ,EAAb;AACA,aAAAC,aAAA,GAAgB,IAAI,wFAAJ,EAAhB;AAoJA,aAAAC,YAAA,GAA4B,EAA5B;AAcA,aAAAC,UAAA,GAAkB,EAAlB;AAjYC;;;;mCA+BO;AAAA;;AACN0X,iBAAO,CAACC,GAAR,CAAY,OAAZ;AACAD,iBAAO,CAACC,GAAR,CAAY,KAAKnZ,WAAjB;AAGA,eAAKyB,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACA,eAAKoD,SAAL,GAAiB;AAAEC,iBAAK,EAAE,UAAT;AAAqBC,oBAAQ,EAAE,KAAKH,IAAL,KAAc,OAAd,GAAwB,QAAxB,GAAmC;AAAlE,WAAjB;AACA,eAAK3B,YAAL,GAAoB,CAClB;AAAE6B,iBAAK,EAAE,UAAT;AAAqBC,oBAAQ,EAAE,KAAKH,IAAL,KAAc,OAAd,GAAwB,QAAxB,GAAmC;AAAlE,WADkB,EAElB;AAAEE,iBAAK,EAAE,gBAAT;AAA2BC,oBAAQ,EAAE;AAArC,WAFkB,EAGlB;AAAED,iBAAK,EAAE,UAAT;AAAqBC,oBAAQ,EAAE;AAA/B,WAHkB,EAIlB;AAAED,iBAAK,EAAE,WAAT;AAAsBC,oBAAQ,EAAE;AAAhC,WAJkB,EAKlB;AAAED,iBAAK,EAAE,WAAT;AAAsBC,oBAAQ,EAAE;AAAhC,WALkB,CAApB;AAOA,eAAKC,QAAL;AACAqX,iBAAO,CAACC,GAAR,CAAY,KAAKlZ,MAAjB;AACA,eAAKmM,iBAAL,CAAuB/J,MAAvB,GACCL,SADD,CACW,UAAAwkD,KAAK,EAAI;AAClB,oBAAI,CAACA,KAAL,GAAaA,KAAb;AACD,WAHD,EAhBM,CAoBN;AACD;;;qCAES;AAER,iBAAO,KAAKlnD,WAAL,CAAiB6G,KAAjB,CAAuB;AAC5BlH,cAAE,EAAE,CAAC,KAAKe,WAAL,CAAiBf,EAAjB,IAAuB,CAAvB,GAA2B,KAAKe,WAAL,CAAiBf,EAA5C,GAAiD,CAAlD,CADwB;AAE5BkB,kBAAM,EAAE,CAAC,KAAKH,WAAL,CAAiBG,MAAlB,EAA0B,0DAAW0N,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWE,SAAX,CAAqB,CAArB,CAAtB,CAAnB,CAA1B,CAFoB;AAG5B9F,kBAAM,EAAE,CAAC,KAAKlI,WAAL,CAAiBkI,MAAlB,EAA0B,0DAAW2F,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,CAAnB,CAA1B,CAHoB;AAI5BurB,sBAAU,EAAE,CAAC,KAAKr5B,WAAL,CAAiBq5B,UAAlB,EAA8B,0DAAWxrB,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,CAAnB,CAA9B,CAJgB;AAK5BrG,gBAAI,EAAE,CAAC,KAAKzH,WAAL,CAAiByH,IAAlB,EAAwB,0DAAWoG,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,CAAnB,CAAxB,CALsB;AAM5BwrB,iBAAK,EAAE,CAAC,KAAKt5B,WAAL,CAAiBs5B,KAAlB,EAAyB,0DAAWzrB,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,CAAnB,CAAzB,CANqB;AAO5BtH,iBAAK,EAAE,CAAC,KAAKxG,WAAL,CAAiBwG,KAAlB,EAAyB,0DAAWqH,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,CAAnB,CAAzB,CAPqB;AAQ5BshD,wBAAY,EAAE,CAAC,KAAKpvD,WAAL,CAAiBovD,YAAlB,EAAgC,0DAAWthD,QAA3C,CARc;AAS5ByrB,sBAAU,EAAE,CAAC,KAAKv5B,WAAL,CAAiBu5B,UAAlB,EAA8B,0DAAWzrB,QAAzC,CATgB;AAU5B1J,gBAAI,EAAE,CAAC,KAAKpE,WAAL,CAAiBoE,IAAlB,EAAwB,0DAAW0J,QAAnC;AAVsB,WAAvB,CAAP;AAYD;;;oCAEW;AAAA;;AACV;AACA,eAAKxN,aAAL,GAAqB,SAArB;AACA;AACA,eAAKN,WAAL,GAAmB,IAAI,oDAAJ,EAAnB,CAJU,CAKV;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,eAAKA,WAAL,GAAmB,KAAKE,QAAL,CAAc6H,WAAd,EAAnB;AACA,cAAI1E,CAAC,GAAG,KAAKmjD,KAAL,CAAW3iD,SAAX,CAAqB,UAAAC,CAAC;AAAA,mBAAEA,CAAC,CAAC7E,EAAF,IAAQ,QAAI,CAACe,WAAL,CAAiBovD,YAA3B;AAAA,WAAtB,CAAR;;AACA,cAAG/rD,CAAC,GAAG,CAAC,CAAR,EAAU;AACR,iBAAKrD,WAAL,CAAiB25B,UAAjB,GAA8B,KAAK6sB,KAAL,CAAWnjD,CAAX,EAAcogD,kBAA5C;AACD;;AACD,eAAKv1C,gBAAL;AACD;;;2CAEe;AAAA;;AACd;AACA,eAAK3O,YAAL,CAAkBgJ,MAAlB,CAAyB,KAAKvI,WAA9B,EAA2CgC,SAA3C,CAAqD,UAAAC,MAAM,EAAI;AAC7D,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAACJ,QAAL;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAACkE,YAAL,CAAkB,QAAI,CAAC9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,mBAAvB,CAArD;;AACA,sBAAI,CAAC4F,YAAL,CAAkBI,QAAlB,CAA2B3D,IAA3B;AACD,aALD,MAMK;AACH,sBAAI,CAACtC,UAAL,CAAgB,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAAhB,EAAiD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,WAAvB,CAAjD;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAXD;AAYD;;;qCAEY;AACX;AACA,eAAKa,SAAL,GAAiB,KAAKD,WAAtB;AAEA,eAAKZ,aAAL,GAAqB,SAArB;AACA,cAAI+N,OAAO,GAAG,IAAI,oDAAJ,CAAc;AAC1BpP,cAAE,EAAE,KAAKe,WAAL,CAAiBf,EADK;AAE1BkB,kBAAM,EAAE,KAAKD,QAAL,CAAc6H,WAAd,GAA4B5H,MAFV;AAG1B+H,kBAAM,EAAE,KAAKhI,QAAL,CAAc6H,WAAd,GAA4BG,MAHV;AAI1BmxB,sBAAU,EAAG,KAAKn5B,QAAL,CAAc6H,WAAd,GAA4BsxB,UAJf;AAK1B5xB,gBAAI,EAAG,KAAKvH,QAAL,CAAc6H,WAAd,GAA4BN,IALT;AAM1B6xB,iBAAK,EAAG,KAAKp5B,QAAL,CAAc6H,WAAd,GAA4BuxB,KANV;AAO1B9yB,iBAAK,EAAG,KAAKtG,QAAL,CAAc6H,WAAd,GAA4BvB,KAPV;AAQ1B4oD,wBAAY,EAAG,KAAKlvD,QAAL,CAAc6H,WAAd,GAA4BqnD;AARjB,WAAd,CAAd;;AAWA,cAAG/gD,OAAO,IAAI,KAAKrO,WAAnB,EAA+B;AAC7B,gBAAIqD,CAAC,GAAG,KAAKmjD,KAAL,CAAW3iD,SAAX,CAAqB,UAAAC,CAAC;AAAA,qBAAEA,CAAC,CAAC7E,EAAF,IAAQoP,OAAO,CAAC+gD,YAAlB;AAAA,aAAtB,CAAR;;AACA,gBAAG/rD,CAAC,GAAG,CAAC,CAAR,EAAU;AACRgL,qBAAO,CAACsrB,UAAR,GAAqB,KAAK6sB,KAAL,CAAWnjD,CAAX,EAAcogD,kBAAnC;AACD;;AACD,iBAAKn1C,iBAAL,CAAuBD,OAAvB;AACD,WAND,MAOI;AACF,iBAAKrG,YAAL,CAAkBI,QAAlB,CAA2B3D,IAA3B;AACD;AACF;;;0CAEiB8J,M,EAAM;AAAA;;AAEtB,eAAKhP,YAAL,CAAkBiJ,MAAlB,CAAyB+F,MAAzB,EAAiCvM,SAAjC,CAA2C,UAAAC,MAAM,EAAI;AACnD,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAACJ,QAAL;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAACkE,YAAL,CAAkB,QAAI,CAAC9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,oBAAvB,CAArD;;AAEA,sBAAI,CAAC4F,YAAL,CAAkBI,QAAlB,CAA2B3D,IAA3B;AACD,aAND,MAOK;AACH,sBAAI,CAACtC,UAAL,CAAgB,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAAhB,EAAiD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,YAAvB,CAAjD;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAZD;AAaD,S,CAED;AACA;AACA;;;;uCACe;AACb,eAAKa,SAAL,GAAiB,KAAKD,WAAtB,CADa,CAEb;;AACA,eAAKZ,aAAL,GAAqB,SAArB;AACA,eAAKwB,mBAAL;AACD,S,CAED;;;;8CACmB;AAAA;;AACjB,eAAKvC,YAAL,CAAkBwC,UAAlB,CAA6B,KAAKR,YAAlC,EAAgDS,SAAhD,CAA0D,UAAAC,MAAM,EAAI;AAClE,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAACJ,QAAL;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAAC4B,gBAAL;AACD,aAJD,MAKK;AACH,sBAAI,CAACC,UAAL,CAAgB,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAAhB,EAAiD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,cAAvB,CAAjD;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAVD;AAWD;;;mCAmDU;AAAA;;AACT,eAAKA,aAAL,GAAqB,SAArB;AACA,eAAKf,YAAL,CAAkB8C,MAAlB,GAA2BL,SAA3B,CACE,UAAAM,IAAI,EAAI;AACN4W,mBAAO,CAACC,GAAR,CAAY7W,IAAZ;AAEA,oBAAI,CAACrC,MAAL,GAAcqC,IAAd;;AACA,oBAAI,CAACC,QAAL;;AACA,oBAAI,CAACC,UAAL;;AACA,oBAAI,CAAClC,aAAL,GAAqB,EAArB;AACD,WARH;AAWD;;;mCAEU;AACT,eAAKE,UAAL,GAAkB,KAAKa,UAAL,CAAgBkB,QAAhB,CAAyB,KAAKb,SAAL,CAAeE,QAAxC,EAAkD,KAAK3B,MAAvD,CAAlB;AACA,eAAKwC,UAAL;AACD;;;0CAEiB;AAChB,eAAKtB,SAAL,GAAiB,KAAKD,WAAtB;AACA,eAAKV,UAAL,GAAkB,KAAKA,UAAL,CAAgBkC,KAAhB,GAAwBC,OAAxB,EAAlB;AACA,eAAKF,UAAL;AACD;;;qCAEY;AACX,eAAKlC,YAAL,GAAoB,KAAKa,YAAL,CAAkBqB,UAAlB,CAA6B,KAAKjB,UAAlC,EAA8C,KAAKzB,cAAnD,EAAmE,KAAKS,UAAxE,CAApB;;AACA,cAAI,KAAKW,SAAL,KAAmB,CAAvB,EAA0B;AACxB,iBAAKyB,YAAL,CAAkB,KAAK/B,YAAvB,EAAqC,CAArC;AACD,WAFD,MAGK;AACH,iBAAK+B,YAAL,CAAkB,KAAK/B,YAAvB,EACEgC,IAAI,CAACC,IAAL,CAAW,KAAKvC,YAAL,CAAkBI,MAAlB,GAA2B,KAAKE,YAA3C,KAA6D,KAAKM,SAAlE,GACE,KAAKA,SADP,GAEE0B,IAAI,CAACC,IAAL,CAAW,KAAKvC,YAAL,CAAkBI,MAAlB,GAA2B,KAAKE,YAA3C,CAHJ;AAKD;;AACD,eAAKM,SAAL,GAAiB,CAAjB;AACD;;;qCAEY4B,e,EAAyBC,c,EAAwB;AAC5D,eAAKnC,YAAL,GAAoBkC,eAApB;AACA,eAAK7B,WAAL,GAAmB8B,cAAnB;AACA,eAAKvC,aAAL,GAAqB,KAAKF,YAAL,CAAkBmC,KAAlB,CAAwB,CAACM,cAAc,GAAG,CAAlB,IAAwBD,eAAhD,EAAmEA,eAAe,GAAGC,cAArF,CAArB;AACD;;;mCAEUC,O,EAAc;AACvB,cAAI,KAAKvB,SAAL,CAAeC,KAAf,KAAyBsB,OAAO,CAACtB,KAArC,EAA4C;AAC1C,iBAAKV,QAAL,GAAgB,CAAC,KAAKA,QAAtB;AACA,gBAAMiC,OAAO,GAAG,KAAKhC,WAArB;AACA,iBAAKiC,eAAL;AACA,iBAAKjC,WAAL,GAAmBgC,OAAnB;AACD,WALD,MAMK;AACH,iBAAKjC,QAAL,GAAgB,IAAhB;AACA,iBAAKS,SAAL,GAAiBuB,OAAjB;AACA,iBAAKV,QAAL;AACD;AACF;;;gCAEOZ,K,EAAY;AAClB,iBAAO,KAAK7B,YAAL,CAAkBsD,IAAlB,CAAuB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC1B,KAAF,KAAYA,KAAhB;AAAA,WAAxB,CAAP;AACD;;;mCAEU2B,K,EAAuB;AAChC,eAAKpC,WAAL,GAAmBoC,KAAK,CAACC,IAAzB;AACA,eAAKX,YAAL,CAAkB,KAAK/B,YAAvB,EAAqC,KAAKK,WAA1C;AACD;;;uCAEc;AACb,eAAKK,YAAL,GAAoB,EAApB;AACA,eAAKR,QAAL,GAAgB,EAAhB;AACA,eAAKC,cAAL,GAAsB,EAAtB;AACA,eAAKyB,UAAL;AACD;;;kCAESe,M,EAAM;AACd,cAAIA,MAAM,CAACC,MAAP,CAAcC,OAAlB,EAA2B;AACzB,iBAAK3C,QAAL,sBAAoB,KAAKR,YAAzB;AACD,WAFD,MAEO;AACL,iBAAKQ,QAAL,GAAgB,EAAhB;AACD;;AACD,eAAK4C,iBAAL;AACD;;;4CAEgB;AACf,cAAI,KAAK5C,QAAL,CAAcJ,MAAd,IAAwB,KAAKJ,YAAL,CAAkBI,MAA9C,EAAsD;AACpD,iBAAKK,cAAL,GAAsB,SAAtB;AACD,WAFD,MAEO,IAAI,KAAKD,QAAL,CAAcJ,MAAd,KAAyB,CAA7B,EAAgC;AACrC,iBAAKK,cAAL,GAAsB,eAAtB;AACD,WAFM,MAEC;AACN,iBAAKA,cAAL,GAAsB,EAAtB;AACD;AACF;;;mCAEU4C,C,EAAY;AACrB,iBAAO,KAAK7C,QAAL,CAAc8C,SAAd,CAAwB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC7E,EAAF,KAAS2E,CAAC,CAAC3E,EAAf;AAAA,WAAzB,IAA8C,CAAC,CAAtD;AACD;;;iCAEQ8E,I,EAAe;AACtB,cAAI,KAAKC,UAAL,CAAgBD,IAAhB,CAAJ,EAA2B;AACzB,iBAAKhD,QAAL,GAAgB,KAAKA,QAAL,CAAckD,MAAd,CAAqB,UAAAH,CAAC;AAAA,qBAAIA,CAAC,CAAC7E,EAAF,KAAS8E,IAAI,CAAC9E,EAAlB;AAAA,aAAtB,CAAhB;AACD,WAFD,MAEO;AACL,iBAAK8B,QAAL,CAAcmD,IAAd,CAAmBH,IAAnB;AACD;;AACD,eAAKJ,iBAAL;AACD;;;mCAEUQ,I,EAAWxG,I,EAAS;AAC7B,iBAAOwG,IAAI,CAACf,IAAL,CAAU,UAAAU,CAAC;AAAA,mBAAIA,CAAC,CAACM,IAAF,KAAWzG,IAAf;AAAA,WAAX,CAAP;AACD;;;6CAIiB;AAChB,eAAK0C,eAAL,GAAuB,KAAvB;AACA,eAAKL,WAAL,GAAmB,IAAI,oDAAJ,EAAnB;AACA,eAAKE,QAAL,GAAgB,KAAK2H,UAAL,EAAhB;AACA,eAAKG,YAAL,CAAkBzD,IAAlB;AACD;;;yCAEgBtF,E,EAAO;AAAA;;AACtBia,iBAAO,CAACC,GAAR,CAAY,cAAZ;AACAD,iBAAO,CAACC,GAAR,CAAY,KAAKnZ,WAAjB;AACAkZ,iBAAO,CAACC,GAAR,CAAY,KAAKlZ,MAAjB;AAEA,eAAKI,eAAL,GAAuB,MAAvB;AACA,eAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,WAAlB,CAAnB;AACA,0DAAG,KAAKe,WAAR,EAAqBgC,SAArB,CAA+B,UAAAM,IAAI,EAAI;AACrC,oBAAI,CAACtC,WAAL,GAAmBsC,IAAnB;AACD,WAFD;AAGA,eAAKpC,QAAL,GAAgB,KAAK2H,UAAL,EAAhB;AACA,eAAKG,YAAL,CAAkBzD,IAAlB;AACD;;;yCAEgBtF,E,EAAO;AAAA;;AACtB,eAAKoB,eAAL,GAAuB,MAAvB;AACA,eAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,WAAlB,CAAnB;AACA,0DAAG,KAAKe,WAAR,EAAqBgC,SAArB,CAA+B,UAAAM,IAAI,EAAI;AACrC,oBAAI,CAACtC,WAAL,GAAmBsC,IAAnB;AACD,WAFD;AAGA,eAAKpC,QAAL,GAAgB,KAAK2H,UAAL,EAAhB;AACA,eAAKG,YAAL,CAAkBzD,IAAlB;AACD;;;qCAGYtF,E,EAAO;AAClB,cAAIA,EAAE,IAAI,CAAV,EAAa;AACX,iBAAKoB,eAAL,GAAuB,KAAvB;AACA,iBAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,aAAlB,CAAnB;AACA,iBAAKsC,YAAL,GAAoB,CAAC,KAAKtB,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,aAAlB,CAAD,CAApB;AACA,iBAAKqF,QAAL,CAAcC,IAAd;AACD,WALD,MAMK,IAAItF,EAAE,KAAK,UAAX,EAAuB;AAC1B,iBAAKsC,YAAL,sBAAwB,KAAKR,QAA7B;AACA,iBAAKuD,QAAL,CAAcC,IAAd;AACD;AACF;;;2CAKe;AACd,cAAI,KAAKhD,YAAL,CAAkBZ,MAAlB,KAA6B,CAAjC,EAAoC;AAClC,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,QAAQ,KAAKvC,eAApC,CADF;AAED,WAHD,MAIK,IAAI,KAAK0B,YAAL,CAAkBZ,MAAlB,KAA6B,CAAjC,EAAoC;AACvC,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,QAAQ,KAAKvC,eAAb,GAA+B,GAAtD,CADF;AAED,WAHI,MAIA,IAAI,KAAK0B,YAAL,CAAkBZ,MAAlB,GAA2B,CAA3B,IAAgC,KAAKY,YAAL,CAAkBZ,MAAlB,GAA2B,EAA/D,EAAmE;AACtE,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAKb,YAAL,CAAkBZ,MADiC,GACxB,GADwB,GAClB,KAAKjB,SAAL,CAAe0C,OAAf,CAAuB,KAAKvC,eAAL,GAAuB,UAA9C,CADnC;AAED,WAHI,MAIA;AACH,iBAAK2E,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAKb,YAAL,CAAkBZ,MADiC,GACxB,GADwB,GAClB,KAAKjB,SAAL,CAAe0C,OAAf,CAAuB,KAAKvC,eAAL,GAAuB,MAA9C,CADnC;AAED;;AAED,eAAK0B,YAAL,GAAoB,EAApB;AACA,eAAKR,QAAL,GAAgB,EAAhB;AAEA,eAAK4C,iBAAL;;AACA,cAAI,KAAK3C,cAAL,KAAwB,EAA5B,EAAgC;AAC9B,iBAAKJ,YAAL,GAAoB,KAApB;AACD;;AACD,eAAK0D,QAAL,CAAcG,IAAd;AACD;;;qCAEYC,W,EAAqBC,S,EAAiB;AACjD,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBE,OADnB,EAC4B;AAAEC,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD5B;AAED;;;mCACUL,W,EAAqBC,S,EAAiB;AAC/C,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBjH,KADnB,EAC0B;AAAEoH,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD1B;AAED;;;8CACqB;AACpB,eAAKlD,QAAL;AACA,eAAKyC,QAAL,CAAcG,IAAd;AACD;;;sCAEa;AAAA;;AACZ,eAAKlF,YAAL,CAAkB8C,MAAlB,GAA2BL,SAA3B,CACE,UAAAM,IAAI,EAAI;AACN,oBAAI,CAACrC,MAAL,GAAcqC,IAAd;;AACA,oBAAI,CAACE,UAAL;AACD,WAJH;AAMD;;;qCAEY;AAAA;;AACX,cAAMwC,UAAU,GAAG,KAAKxD,UAAxB;AACA,eAAKA,UAAL,GAAkB,EAAlB;AACAyD,oBAAU,CAAC,YAAM;AACf,oBAAI,CAACzD,UAAL,GAAkBwD,UAAlB;AACD,WAFS,EAEP,CAFO,CAAV;AAGD;;;+BACG;AACF,eAAKzF,YAAL,CAAkBiwD,WAAlB,CAA8B,KAAKzuD,QAAnC,EACCiB,SADD,CACW,UAAAM,IAAI,EAAI;AACjB4W,mBAAO,CAACC,GAAR,CAAY7W,IAAZ;AACD,WAHD;AAID;;;;;;;uBAzcUitD,c,EAAc,2H,EAAA,yH,EAAA,wH,EAAA,4I,EAAA,qI,EAAA,mJ;AAAA,K;;;YAAdA,c;AAAc,gC;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;ACvB3B;;AACI;;AAEI;;AACI;;AACI;;AACI;;;;AAAsC;;AAC9C;;AACA;;AACI;;AAEI;;AACI;;AAAqC;;;;AAAsB;;AAC3D;;AACI;;AAAsC;;;;AAAsB;;AAC5D;;AACJ;;AACJ;;AACA;;AACI;;AAAqC;;;;AAA6B;;AAClE;;AACI;;AAAwB;;;;AAAqB;;AAC7C;;AAAwB;;;;AAAqB;;AACjD;;AACJ;;AAaA;;AACI;;AAAqC;;;;AAAsB;;AAC3D;;AAGA;;AAEA;;AAGA;;AACJ;;AACA;;AACI;;AAAqC;;;;AAA4B;;AACjE;;AAGA;;AAEA;;AAGA;;AACJ;;AACA;;AACI;;AAAqC;;;;AAA4B;;AACjE;;AAGA;;AAEA;;AAGA;;AACJ;;AAGA;;AACI;;AAAqC;;;;AAAsB;;AAC3D;;AAGA;;AAEA;;AAGA;;AACJ;;AAEA;;AACI;;AAAqC;;;;AAA0B;;AAC/D;;AAGA;;AAEA;;AAGA;;AACJ;;AAEA;;AACI;;AAAqC;;;;AAA2B;;AAChE;;AAGA;;AAEA;;AAGA;;AACJ;;AAEA;;AACI;;AAAqC;;;;AAA2B;;AAChE;;AAGA;;AAEA;;AAGA;;AACJ;;AAIA;;AACI;;AAKA;;AAKA;;AAA8B;AAAA;;AAAA;;AAAA,mBAAS,mBAAT;AAAqC,WAArC;;AACoD;;;;AACnE;;AACnB;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAGA;;AACI;;AACI;;AACI;;AAAkE;AAAA;;AAAA;;AAAA,mBAAS,WAAT;AAAwB,WAAxB;;AAE9D;;AAAyB;;AAAO;;AACpC;;AACA;;AACI;;AACI;;;;AACW;;AACnB;;AACA;;AACI;;AAMA;;AAOA;;AACI;;AAA2D;AAAA,mBAAS,IAAArqD,YAAA,EAAT;AAAuB,WAAvB;;AAEK;;;;AAAwB;;AACxF;;AAA8B;AAAA;;AAAA;;AAAA,mBAAS,WAAT;AAAwB,WAAxB;;AACoD;;;;AACnE;;AACnB;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AAIA;;AAmNA;;AAIA;;AAKA;;AAKA;;AAIA;;AAKA;;;;AAraoB;;AAAA;;AAG0C;;AAAA;;AAGD;;AAAA;;AAEP;;AAAA;;AAAY;;AAAA;;AAC9B;;AAAA;;AAIyB;;AAAA;;AAEzB;;AAAA;;AAAgB;;AAAA;;AAChB;;AAAA;;AAAgB;;AAAA;;AAgBS;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAKiC;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAKiC;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAOiC;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAMiC;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAMiC;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAMiC;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAQI;;AAAA;;AAKA;;AAAA;;AAM0E;;AAAA;;AAmBtF;;AAAA;;AAIiC;;AAAA;;AAM4B;;AAAA;;AASzD;;AAAA;;AAC4D;;AAAA;;AAEkB;;AAAA;;AAOhG;;AAAA;;AAID;;AAAA;;;;;;;;;;sED1KQqqD,c,EAAc;cAL1B,uDAK0B;eALhB;AACTpqD,kBAAQ,EAAE,WADD;AAETC,qBAAW,EAAE,wBAFJ;AAGTC,mBAAS,EAAE,CAAC,wBAAD;AAHF,S;AAKgB,Q;;;;;;;;;;;;;;;;gBAyVxB,uD;iBAAU,c,EAAgB;AAAE,sBAAQ;AAAV,W;;;gBAC1B,uD;iBAAU,U;;;;;;;;;;;;;;;;;;;;AEjXb;AAAA;;;AAAA;AAAA;AAAA;;QAAaoqD,gB,GAIT,0BAAY3lD,GAAZ,EAAiC;AAAA;;AAC7BA,SAAG,GAAGA,GAAG,GAAEA,GAAF,GAAM,EAAf;AACA,WAAK7K,EAAL,GAAU6K,GAAG,CAAC7K,EAAJ,GAAQ6K,GAAG,CAAC7K,EAAZ,GAAe,CAAzB;AACA,WAAKiJ,MAAL,GAAc4B,GAAG,CAAC5B,MAAJ,GAAY4B,GAAG,CAAC5B,MAAhB,GAAuB,EAArC;AACA,WAAK/H,MAAL,GAAc2J,GAAG,CAAC3J,MAAJ,GAAY2J,GAAG,CAAC3J,MAAhB,GAAuB,EAArC;AACH,K;;;;;;;;;;;;;;;;;ACTL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAUauvD,kB;AACT,kCAAoBzxD,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAIpB,aAAA+rB,SAAA,GAAkB,CAAE3rB,YAAY,CAACC,OAAb,CAAqB,WAArB,CAApB;AACA,aAAAJ,OAAA,GAAU,yEAAYC,UAAtB;AACC,aAAAC,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AALA;;;;iCAaK;AAEJ,iBAAO,KAAKH,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,gCAC0C,KAAK8rB,SAD/C,GAC2D,KAAKzrB,WADhE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCACOZ,E,EAAS;AAEf,iBAAO,KAAKE,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,iCAC2CH,EAD3C,GACgD,KAAKQ,WADrD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BACMI,O,EAAyB;AAE9B,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,gCAC2C,KAAK8rB,SADhD,GAC6DjrB,OAD7D,EACqE,KAAKR,WAD1E,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BAEMI,O,EAAyB;AAC9B,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,yBAC2Ca,OAD3C,EACmD,KAAKR,WADxD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCAEMI,O,EAAyB;AAC9B,iBAAO,KAAKd,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,gCAC0Ca,OAAO,CAACE,EADlD,GACuD,KAAKV,WAD5D,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;mCAEUI,O,EAA4B;AACrC,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,6BAC8CgB,IAAI,CAACC,SAAL,CAAeJ,OAAf,CAD9C,EACsE,KAAKR,WAD3E,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;;;;;uBAnDQ+wD,kB,EAAkB,uH;AAAA,K;;;aAAlBA,kB;AAAkB,eAAlBA,kBAAkB,K;AAAA,kBAFjB;;;;;sEAEDA,kB,EAAkB;cAH9B,wDAG8B;eAHnB;AACVtwD,oBAAU,EAAE;AADF,S;AAGmB,Q;;;;;;;;;;;;;;;;;;;;;;ACV/B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;ACgBwB;;;;;;AAEI;;;;;;AACJ;;AACkB;;AAAsB;;;;;;AAAtB;;AAAA;;;;;;AAClB;;AAEI;;;;AAA2C;;;;AAA3C;;AAAA;;;;;;AAMJ;;;;;;AAEI;;;;;;AACJ;;AACkB;;AAAsB;;;;;;AAAtB;;AAAA;;;;;;AAClB;;AAEI;;;;AAA2C;;;;AAA3C;;AAAA;;;;;;;;AAKJ;;AAE8B;AAAA;;AAAA;;AAAA;AAAA;;AACkC;;;;AACjD;;;;;;AAHX;;AAE4D;;AAAA;;;;;;;;AAEhE;;AAE8B;AAAA;;AAAA;;AAAA;AAAA;;AACkC;;;;AAC/C;;;;;;AAHb;;AAE4D;;AAAA;;;;;;AA0BpE;;AACI;;AAAmB;;AAA4C;;AAC/D;;AACJ;;;;;;;;AAFuB;;AAAA;;;;;;AAF3B;;AACI;;AAIJ;;;;;;AAJS;;AAAA;;;;;;AAKT;;AAEI;;AACI;;AAAqD;;;;AAA2C;;AACpG;;AACA;;AACJ;;;;;;AAH6D;;AAAA;;;;;;;;AAiB7E;;AACI;;AAAG;AAAA;;AAAA;;AAAA,yCAAuB,OAAvB;AAA8B,SAA9B;;AAAgC;;AAAI;;AAC3C;;;;;;;;AAwDoC;;AAEI;;AAAoB;;AACZ;;AAEI;AAAA;;AAAA;;AAAA,sCAAsB,UAAtB;AAAgC,SAAhC;;AAC8D;;;;AAEnD;;AAAS;;AAAI;;AACxC;;;;;;AAHgB;;AAAA;;AAA8D;;AAAA;;;;;;;;AA6B1E;;AAA4D;;AAEpD;AAAA;;AAAA;;AAAA;;AAAA,gDAA4B,CAA5B;AAA6B,SAA7B;;AAAgC;;AAAQ;;AAAI;;;;;;;;AAD5C;;AAAA;;AACgC;;AAAA;;;;;;AAJ5C;;AAEI;;AAGJ;;;;;;AAHwB;;AAAA;;;;;;;;AASpC;;AACI;;AACI;;AACI;;AACgC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AADhC;;AAEA;;AACJ;;AACJ;;AACA;;AAAgB;;AAAwC;;AACxD;;AAAI;;AAAyC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC0C;;;;AAClE;;AAAS;;AAC9B;;AAAI;;AAAoD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC+B;;;;AAClE;;AAAS;;AAC9B;;AAAI;;AAAmD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC+B;;;;AACjE;;AAAS;;AAClC;;;;;;;;;AAfgE;;AAAA,8FAAsB,SAAtB,EAAsB,2BAAtB;;AAEhB;;AAAA;;AAG5B;;AAAA;;AAER;;AAAA;;AAA+E;;AAAA;;AAG/E;;AAAA;;AAA+E;;AAAA;;AAG/E;;AAAA;;AAA8E;;AAAA;;;;;;;;;;;;;;;;;;;;;;AAlHlH;;AACI;;AACI;;AAEI;;AACI;;AACI;;AACI;;AAAqB;AAAA;;AAAA;;AAAA;AAAA,WAAwB,OAAxB,EAAwB;AAAA;;AAAA;;AAAA;AAAA,SAAxB,EAAwB,QAAxB,EAAwB;AAAA;;AAAA;;AAAA;AAAA,SAAxB;;;;AAArB;;AAEJ;;AACJ;;AACJ;;AACJ;;AAEA;;AACI;;AACI;;AACJ;;AACA;;AACI;;AAEI;AAAA;;AAAA;;AAAA;AAAA;;AAAsE;;;;AAC3D;;AAEnB;;AACJ;;AAEJ;;AAGA;;AAEI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AAEI;;AAGI;AAAA;;AAAA;;AAAA;AAAA;;AAHJ;;AAIA;;AAAmC;;AAAM;;AAC7C;;AACJ;;AACA;;AAGI;;AACJ;;AACA;;AAUJ;;AACJ;;AACJ;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,iBAA5B;AAA6C,SAA7C;;AACjB;;AAEuF;;AAC3F;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,iBAA5B;AAA6C,SAA7C;;AAEf;;;;AACR;;AACA;;AACA;;AACI;;AAEI;;AACI;;;;AACJ;;AACA;;AACI;;AAEI;;AACJ;;AACA;;AAMJ;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AAmBJ;;AACA;;AACI;;AACA;;AACA;;AACA;;AACA;;AACA;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAEA;;AAEI;;AAA6E;;AAAM;;AAEnF;;AAEI;;AACI;;AACI;;AACwB;AAAA;;AAAA;;AAAA;AAAA,WAAyB,aAAzB,EAAyB;AAAA;;AAAA;;AAAA;AAAA,SAAzB;;AAKxB;;AACJ;;AACJ;;AACJ;;AAEA;;AAA0E;;AAAM;;AAEpF;;AACJ;;;;;;;;;;;;;;AAjJ2E;;AAAA;;AAD9B;;AAcM;;AAAA;;AAAuC;;AAAA;;AAsB1C;;AAAA,kHAAsC,eAAtC,EAAsC,0CAAtC;;AAwB8C;;AAAA;;AAC7D;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAGJ;;AAAA;;AAIQ;;AAAA;;AAKI;;AAAA;;AAaZ;;AAAA;;AA0CgB;;AAAA,iGAAyB,eAAzB,EAAyB,IAAzB,EAAyB,YAAzB,EAAyB,2BAAzB,EAAyB,cAAzB,EAAyB,oBAAzB,EAAyB,qBAAzB,EAAyB,IAAzB,EAAyB,oBAAzB,EAAyB,IAAzB,EAAyB,wBAAzB,EAAyB,IAAzB,EAAyB,oBAAzB,EAAyB,IAAzB,EAAyB,SAAzB,EAAyB,CAAzB;;;;;;AAoBxC;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AAIA;;;;QDlQSuwD,qB;AACX;AACA;AACA;AACA;AACA,qCAAoBrwD,WAApB,EAAsDC,YAAtD,EAAgGC,QAAhG,EACUC,aADV,EACuDC,SADvD,EACoF;AAAA;;AADhE,aAAAJ,WAAA,GAAAA,WAAA;AAAkC,aAAAC,YAAA,GAAAA,YAAA;AAA0C,aAAAC,QAAA,GAAAA,QAAA;AACtF,aAAAC,aAAA,GAAAA,aAAA;AAA6C,aAAAC,SAAA,GAAAA,SAAA;AAEvD,aAAAE,aAAA,GAAqB,OAArB;AAEA,aAAAC,eAAA,GAA0B,aAA1B;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,cAAA,GAAiB,CAAC,QAAD,EAAW,QAAX,CAAjB;AAEA,aAAAC,WAAA,GAAgC,IAAI,kEAAJ,EAAhC;AACA,aAAAC,MAAA,GAA8B,CAC5B;AAAChB,YAAE,EAAC,CAAJ;AAAOiJ,gBAAM,EAAC,OAAd;AAAuB/H,gBAAM,EAAC;AAA9B,SAD4B,EAE5B;AAAClB,YAAE,EAAC,CAAJ;AAAOiJ,gBAAM,EAAC,gBAAd;AAAgC/H,gBAAM,EAAC;AAAvC,SAF4B,EAG5B;AAAClB,YAAE,EAAC,CAAJ;AAAOiJ,gBAAM,EAAC,cAAd;AAA8B/H,gBAAM,EAAC;AAArC,SAH4B,EAI5B;AAAClB,YAAE,EAAC,CAAJ;AAAOiJ,gBAAM,EAAC,YAAd;AAA4B/H,gBAAM,EAAC;AAAnC,SAJ4B,EAK5B;AAAClB,YAAE,EAAC,CAAJ;AAAOiJ,gBAAM,EAAC,OAAd;AAAuB/H,gBAAM,EAAC;AAA9B,SAL4B,CAA9B;AAOA,aAAAD,QAAA,GAAsB,IAAI,wDAAJ,CAAc;AAClCjB,YAAE,EAAE,IAAI,0DAAJ,EAD8B;AAElCkB,gBAAM,EAAE,IAAI,0DAAJ,EAF0B;AAGlC+H,gBAAM,EAAE,IAAI,0DAAJ;AAH0B,SAAd,CAAtB;AA2IA,aAAA7H,eAAA,GAA0B,EAA1B;AACA,aAAAC,aAAA,GAAwB,EAAxB,CA7JoF,CAgKpF;;AACA,aAAAC,YAAA,sBAAmB,KAAKN,MAAxB;AACA,aAAAO,UAAA,sBAAiB,KAAKD,YAAtB;AACA,aAAAE,aAAA,sBAAoB,KAAKF,YAAzB;AACA,aAAAG,MAAA,GAAiB,KAAKT,MAAL,CAAYU,MAAZ,GAAqB,CAAtC;AAEA,aAAAC,YAAA,GAAoB,KAApB;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,kBAAA,GAAqB,CAAC,CAAD,EAAI,EAAJ,EAAQ,EAAR,CAArB;AACA,aAAAC,QAAA,GAAW,EAAX;AACA,aAAAC,cAAA,GAAiB,EAAjB;AAEA,aAAAC,QAAA,GAAoB,IAApB;AAEA,aAAAC,WAAA,GAAc,CAAd;AACA,aAAAC,SAAA,GAAY,CAAZ;AAGA,aAAAC,YAAA,GAAe,IAAI,sFAAJ,EAAf;AACA,aAAAC,UAAA,GAAa,IAAI,kFAAJ,EAAb;AACA,aAAAC,aAAA,GAAgB,IAAI,wFAAJ,EAAhB;AAqJA,aAAAC,YAAA,GAAmC,EAAnC;AAcA,aAAAC,UAAA,GAAkB,EAAlB;AAvVC;;;;mCAsBO;AACN0X,iBAAO,CAACC,GAAR,CAAY,OAAZ;AACAD,iBAAO,CAACC,GAAR,CAAY,KAAKnZ,WAAjB;AAGA,eAAKyB,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACA,eAAKoD,SAAL,GAAiB;AAAEC,iBAAK,EAAE,iBAAT;AAA4BC,oBAAQ,EAAE,KAAKH,IAAL,KAAc,OAAd,GAAwB,QAAxB,GAAmC;AAAzE,WAAjB;AACA,eAAK3B,YAAL,GAAoB,CAClB;AAAE6B,iBAAK,EAAE,iBAAT;AAA4BC,oBAAQ,EAAE,KAAKH,IAAL,KAAc,OAAd,GAAwB,QAAxB,GAAmC;AAAzE,WADkB,CAApB;AAGA,eAAKI,QAAL;AACAqX,iBAAO,CAACC,GAAR,CAAY,KAAKlZ,MAAjB,EAXM,CAYN;AACD;;;qCAES;AACR,iBAAO,KAAKX,WAAL,CAAiB6G,KAAjB,CAAuB;AAC5BlH,cAAE,EAAE,CAAC,KAAKe,WAAL,CAAiBf,EAAjB,IAAuB,CAAvB,GAA2B,KAAKe,WAAL,CAAiBf,EAA5C,GAAiD,CAAlD,CADwB;AAE5BkB,kBAAM,EAAE,CAAC,KAAKH,WAAL,CAAiBG,MAAlB,EAA0B,0DAAW0N,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWE,SAAX,CAAqB,CAArB,CAAtB,CAAnB,CAA1B,CAFoB;AAG5B9F,kBAAM,EAAE,CAAC,KAAKlI,WAAL,CAAiBkI,MAAlB,EAA0B,0DAAW2F,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWC,OAAX,CAAmB,4CAAnB,CAAtB,CAAnB,CAA1B;AAHoB,WAAvB,CAAP;AAKD;;;oCAEW;AACV;AACA,eAAKzN,aAAL,GAAqB,SAArB;AAEA,eAAKN,WAAL,GAAmB,IAAI,kEAAJ,EAAnB;AACA,eAAKA,WAAL,CAAiBf,EAAjB,GAAsB,CAAtB;AACA,eAAKe,WAAL,CAAiBG,MAAjB,GAA0B,KAAKD,QAAL,CAAc6H,WAAd,GAA4B5H,MAAtD;AACA,eAAKH,WAAL,CAAiBkI,MAAjB,GAA0B,KAAKhI,QAAL,CAAc6H,WAAd,GAA4BG,MAAtD;AAGA,eAAKgG,gBAAL;AACD;;;2CAEe;AAAA;;AACd,eAAK3O,YAAL,CAAkBgJ,MAAlB,CAAyB,KAAKvI,WAA9B,EAA2CgC,SAA3C,CAAqD,UAAAC,MAAM,EAAI;AAC7D,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAACJ,QAAL;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAACkE,YAAL,CAAkB,QAAI,CAAC9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,mBAAvB,CAArD;;AACA,sBAAI,CAACkK,UAAL,CAAgB7H,IAAhB;AACD,aALD,MAMK;AACH,sBAAI,CAACtC,UAAL,CAAgB,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAAhB,EAAiD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,WAAvB,CAAjD;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAXD;AAYD;;;qCAEY;AACX,eAAKa,SAAL,GAAiB,KAAKD,WAAtB;AACA,eAAKZ,aAAL,GAAqB,SAArB;AAEA,cAAI+N,OAAO,GAAG,IAAI,kEAAJ,CAAqB;AACjCpP,cAAE,EAAE,KAAKe,WAAL,CAAiBf,EADY;AAEjCkB,kBAAM,EAAE,KAAKD,QAAL,CAAc6H,WAAd,GAA4B5H,MAFH;AAGjC+H,kBAAM,EAAE,KAAKhI,QAAL,CAAc6H,WAAd,GAA4BG;AAHH,WAArB,CAAd;;AAMA,cAAGmG,OAAO,IAAI,KAAKrO,WAAnB,EAA+B;AAC7B,iBAAKsO,iBAAL,CAAuBD,OAAvB;AACD,WAFD,MAGI;AACF,iBAAK/B,UAAL,CAAgB7H,IAAhB;AACD;AACF;;;0CAEiB8J,M,EAAM;AAAA;;AAEtB,eAAKhP,YAAL,CAAkBiJ,MAAlB,CAAyB+F,MAAzB,EAAiCvM,SAAjC,CAA2C,UAAAC,MAAM,EAAI;AACnD,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAACJ,QAAL;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAACkE,YAAL,CAAkB,QAAI,CAAC9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,oBAAvB,CAArD;;AAEA,sBAAI,CAACkK,UAAL,CAAgB7H,IAAhB;AACD,aAND,MAOK;AACH,sBAAI,CAACtC,UAAL,CAAgB,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAAhB,EAAiD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,YAAvB,CAAjD;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAZD;AAaD,S,CAED;AACA;AACA;;;;uCACe;AACb,eAAKa,SAAL,GAAiB,KAAKD,WAAtB,CADa,CAEb;;AACA,eAAKZ,aAAL,GAAqB,SAArB;AACA,eAAKwB,mBAAL;AACD,S,CAED;;;;8CACmB;AAAA;;AACjB,eAAKvC,YAAL,CAAkBwC,UAAlB,CAA6B,KAAKR,YAAlC,EAAgDS,SAAhD,CAA0D,UAAAC,MAAM,EAAI;AAClE,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAACJ,QAAL;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAAC4B,gBAAL;AACD,aAJD,MAKK;AACH,sBAAI,CAACC,UAAL,CAAgB,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAAhB,EAAiD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,cAAvB,CAAjD;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAVD;AAWD;;;mCAmDU;AAAA;;AACT,eAAKA,aAAL,GAAqB,SAArB;AACA,eAAKf,YAAL,CAAkB8C,MAAlB,GAA2BL,SAA3B,CACE,UAAAM,IAAI,EAAI;AACN4W,mBAAO,CAACC,GAAR,CAAY,OAAZ;AACAD,mBAAO,CAACC,GAAR,CAAY7W,IAAZ;AAEA,oBAAI,CAACrC,MAAL,GAAcqC,IAAd;;AACA,oBAAI,CAACC,QAAL;;AACA,oBAAI,CAACC,UAAL;;AACA,oBAAI,CAAClC,aAAL,GAAqB,EAArB;AACD,WATH;AAYD;;;mCAEU;AACT,eAAKE,UAAL,GAAkB,KAAKa,UAAL,CAAgBkB,QAAhB,CAAyB,KAAKb,SAAL,CAAeE,QAAxC,EAAkD,KAAK3B,MAAvD,CAAlB;AACA,eAAKwC,UAAL;AACD;;;0CAEiB;AAChB,eAAKtB,SAAL,GAAiB,KAAKD,WAAtB;AACA,eAAKV,UAAL,GAAkB,KAAKA,UAAL,CAAgBkC,KAAhB,GAAwBC,OAAxB,EAAlB;AACA,eAAKF,UAAL;AACD;;;qCAEY;AACX,eAAKlC,YAAL,GAAoB,KAAKa,YAAL,CAAkBqB,UAAlB,CAA6B,KAAKjB,UAAlC,EAA8C,KAAKzB,cAAnD,EAAmE,KAAKS,UAAxE,CAApB;;AACA,cAAI,KAAKW,SAAL,KAAmB,CAAvB,EAA0B;AACxB,iBAAKyB,YAAL,CAAkB,KAAK/B,YAAvB,EAAqC,CAArC;AACD,WAFD,MAGK;AACH,iBAAK+B,YAAL,CAAkB,KAAK/B,YAAvB,EACEgC,IAAI,CAACC,IAAL,CAAW,KAAKvC,YAAL,CAAkBI,MAAlB,GAA2B,KAAKE,YAA3C,KAA6D,KAAKM,SAAlE,GACE,KAAKA,SADP,GAEE0B,IAAI,CAACC,IAAL,CAAW,KAAKvC,YAAL,CAAkBI,MAAlB,GAA2B,KAAKE,YAA3C,CAHJ;AAKD;;AACD,eAAKM,SAAL,GAAiB,CAAjB;AACD;;;qCAEY4B,e,EAAyBC,c,EAAwB;AAC5D,eAAKnC,YAAL,GAAoBkC,eAApB;AACA,eAAK7B,WAAL,GAAmB8B,cAAnB;AACA,eAAKvC,aAAL,GAAqB,KAAKF,YAAL,CAAkBmC,KAAlB,CAAwB,CAACM,cAAc,GAAG,CAAlB,IAAwBD,eAAhD,EAAmEA,eAAe,GAAGC,cAArF,CAArB;AACD;;;mCAEUC,O,EAAc;AACvB,cAAI,KAAKvB,SAAL,CAAeC,KAAf,KAAyBsB,OAAO,CAACtB,KAArC,EAA4C;AAC1C,iBAAKV,QAAL,GAAgB,CAAC,KAAKA,QAAtB;AACA,gBAAMiC,OAAO,GAAG,KAAKhC,WAArB;AACA,iBAAKiC,eAAL;AACA,iBAAKjC,WAAL,GAAmBgC,OAAnB;AACD,WALD,MAMK;AACH,iBAAKjC,QAAL,GAAgB,IAAhB;AACA,iBAAKS,SAAL,GAAiBuB,OAAjB;AACA,iBAAKV,QAAL;AACD;AACF;;;gCAEOZ,K,EAAY;AAClB,iBAAO,KAAK7B,YAAL,CAAkBsD,IAAlB,CAAuB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC1B,KAAF,KAAYA,KAAhB;AAAA,WAAxB,CAAP;AACD;;;mCAEU2B,K,EAAuB;AAChC,eAAKpC,WAAL,GAAmBoC,KAAK,CAACC,IAAzB;AACA,eAAKX,YAAL,CAAkB,KAAK/B,YAAvB,EAAqC,KAAKK,WAA1C;AACD;;;uCAEc;AACb,eAAKK,YAAL,GAAoB,EAApB;AACA,eAAKR,QAAL,GAAgB,EAAhB;AACA,eAAKC,cAAL,GAAsB,EAAtB;AACA,eAAKyB,UAAL;AACD;;;kCAESe,M,EAAM;AACd,cAAIA,MAAM,CAACC,MAAP,CAAcC,OAAlB,EAA2B;AACzB,iBAAK3C,QAAL,sBAAoB,KAAKR,YAAzB;AACD,WAFD,MAEO;AACL,iBAAKQ,QAAL,GAAgB,EAAhB;AACD;;AACD,eAAK4C,iBAAL;AACD;;;4CAEgB;AACf,cAAI,KAAK5C,QAAL,CAAcJ,MAAd,IAAwB,KAAKJ,YAAL,CAAkBI,MAA9C,EAAsD;AACpD,iBAAKK,cAAL,GAAsB,SAAtB;AACD,WAFD,MAEO,IAAI,KAAKD,QAAL,CAAcJ,MAAd,KAAyB,CAA7B,EAAgC;AACrC,iBAAKK,cAAL,GAAsB,eAAtB;AACD,WAFM,MAEC;AACN,iBAAKA,cAAL,GAAsB,EAAtB;AACD;AACF;;;mCAEU4C,C,EAAmB;AAC5B,iBAAO,KAAK7C,QAAL,CAAc8C,SAAd,CAAwB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC7E,EAAF,KAAS2E,CAAC,CAAC3E,EAAf;AAAA,WAAzB,IAA8C,CAAC,CAAtD;AACD;;;iCAEQ8E,I,EAAsB;AAC7B,cAAI,KAAKC,UAAL,CAAgBD,IAAhB,CAAJ,EAA2B;AACzB,iBAAKhD,QAAL,GAAgB,KAAKA,QAAL,CAAckD,MAAd,CAAqB,UAAAH,CAAC;AAAA,qBAAIA,CAAC,CAAC7E,EAAF,KAAS8E,IAAI,CAAC9E,EAAlB;AAAA,aAAtB,CAAhB;AACD,WAFD,MAEO;AACL,iBAAK8B,QAAL,CAAcmD,IAAd,CAAmBH,IAAnB;AACD;;AACD,eAAKJ,iBAAL;AACD;;;mCAEUQ,I,EAAWxG,I,EAAS;AAC7B,iBAAOwG,IAAI,CAACf,IAAL,CAAU,UAAAU,CAAC;AAAA,mBAAIA,CAAC,CAACM,IAAF,KAAWzG,IAAf;AAAA,WAAX,CAAP;AACD;;;6CAIiB;AAChB,eAAK0C,eAAL,GAAuB,KAAvB;AACA,eAAKL,WAAL,GAAmB,IAAI,kEAAJ,EAAnB;AACA,eAAKE,QAAL,GAAgB,KAAK2H,UAAL,EAAhB;AACA,eAAKyE,UAAL,CAAgB/H,IAAhB;AACD;;;yCAEgBtF,E,EAAO;AAAA;;AACtBia,iBAAO,CAACC,GAAR,CAAY,cAAZ;AACAD,iBAAO,CAACC,GAAR,CAAY,KAAKnZ,WAAjB;AACAkZ,iBAAO,CAACC,GAAR,CAAY,KAAKlZ,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAACpE,EAAF,KAAS,CAAb;AAAA,WAAlB,CAAZ;AAEA,eAAKoB,eAAL,GAAuB,MAAvB;AACA,eAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,WAAlB,CAAnB;AACA,0DAAG,KAAKe,WAAR,EAAqBgC,SAArB,CAA+B,UAAAM,IAAI,EAAI;AACrC,oBAAI,CAACtC,WAAL,GAAmBsC,IAAnB;AACD,WAFD;AAGA,eAAKpC,QAAL,GAAgB,KAAK2H,UAAL,EAAhB;AACA,eAAKyE,UAAL,CAAgB/H,IAAhB;AACD;;;yCAEgBtF,E,EAAO;AAAA;;AACtB,eAAKoB,eAAL,GAAuB,MAAvB;AACA,eAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,WAAlB,CAAnB;AACA,0DAAG,KAAKe,WAAR,EAAqBgC,SAArB,CAA+B,UAAAM,IAAI,EAAI;AACrC,oBAAI,CAACtC,WAAL,GAAmBsC,IAAnB;AACD,WAFD;AAGA,eAAKpC,QAAL,GAAgB,KAAK2H,UAAL,EAAhB;AACA,eAAKyE,UAAL,CAAgB/H,IAAhB;AACD;;;qCAGYtF,E,EAAO;AAClB,cAAIA,EAAE,IAAI,CAAV,EAAa;AACX,iBAAKoB,eAAL,GAAuB,KAAvB;AACA,iBAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,aAAlB,CAAnB;AACA,iBAAKsC,YAAL,GAAoB,CAAC,KAAKtB,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,aAAlB,CAAD,CAApB;AACA,iBAAKqF,QAAL,CAAcC,IAAd;AACD,WALD,MAMK,IAAItF,EAAE,KAAK,UAAX,EAAuB;AAC1B,iBAAKsC,YAAL,sBAAwB,KAAKR,QAA7B;AACA,iBAAKuD,QAAL,CAAcC,IAAd;AACD;AACF;;;2CAKe;AACd,cAAI,KAAKhD,YAAL,CAAkBZ,MAAlB,KAA6B,CAAjC,EAAoC;AAClC,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,QAAQ,KAAKvC,eAApC,CADF;AAED,WAHD,MAIK,IAAI,KAAK0B,YAAL,CAAkBZ,MAAlB,KAA6B,CAAjC,EAAoC;AACvC,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,QAAQ,KAAKvC,eAAb,GAA+B,GAAtD,CADF;AAED,WAHI,MAIA,IAAI,KAAK0B,YAAL,CAAkBZ,MAAlB,GAA2B,CAA3B,IAAgC,KAAKY,YAAL,CAAkBZ,MAAlB,GAA2B,EAA/D,EAAmE;AACtE,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAKb,YAAL,CAAkBZ,MADiC,GACxB,GADwB,GAClB,KAAKjB,SAAL,CAAe0C,OAAf,CAAuB,KAAKvC,eAAL,GAAuB,UAA9C,CADnC;AAED,WAHI,MAIA;AACH,iBAAK2E,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAKb,YAAL,CAAkBZ,MADiC,GACxB,GADwB,GAClB,KAAKjB,SAAL,CAAe0C,OAAf,CAAuB,KAAKvC,eAAL,GAAuB,MAA9C,CADnC;AAED;;AAED,eAAK0B,YAAL,GAAoB,EAApB;AACA,eAAKR,QAAL,GAAgB,EAAhB;AAEA,eAAK4C,iBAAL;;AACA,cAAI,KAAK3C,cAAL,KAAwB,EAA5B,EAAgC;AAC9B,iBAAKJ,YAAL,GAAoB,KAApB;AACD;;AACD,eAAK0D,QAAL,CAAcG,IAAd;AACD;;;qCAEYC,W,EAAqBC,S,EAAiB;AACjD,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBE,OADnB,EAC4B;AAAEC,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD5B;AAED;;;mCACUL,W,EAAqBC,S,EAAiB;AAC/C,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBjH,KADnB,EAC0B;AAAEoH,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD1B;AAED;;;8CACqB;AACpB,eAAKlD,QAAL;AACA,eAAKyC,QAAL,CAAcG,IAAd;AACD;;;sCAEa;AAAA;;AACZ,eAAKlF,YAAL,CAAkB8C,MAAlB,GAA2BL,SAA3B,CACE,UAAAM,IAAI,EAAI;AACN,oBAAI,CAACrC,MAAL,GAAcqC,IAAd;;AACA,oBAAI,CAACE,UAAL;AACD,WAJH;AAMD;;;qCAEY;AAAA;;AACX,cAAMwC,UAAU,GAAG,KAAKxD,UAAxB;AACA,eAAKA,UAAL,GAAkB,EAAlB;AACAyD,oBAAU,CAAC,YAAM;AACf,oBAAI,CAACzD,UAAL,GAAkBwD,UAAlB;AACD,WAFS,EAEP,CAFO,CAAV;AAGD;;;;;;;uBAzZU2qD,qB,EAAqB,2H,EAAA,uI,EAAA,wH,EAAA,4I,EAAA,qI;AAAA,K;;;YAArBA,qB;AAAqB,wC;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;ACnBlC;;AACI;;AACI;;AACI;;AAAkE;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAA0B,WAA1B;;AAE9D;;AAAyB;;AAAO;;AACpC;;AACA;;AACI;;AACI;;;;AAA+C;;AACvD;;AACA;;AACI;;AACI;;AACI;;AAAqC;;;;AAAmC;;AACxE;;AAGA;;AAEA;;AAGA;;AACJ;;AAEA;;AACI;;AAAqC;;;;AAAmC;;AACxE;;AAGA;;AAEA;;AAGA;;AACJ;;AAEA;;AACI;;AAKA;;AAKA;;AAA8B;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAA0B,WAA1B;;AACoD;;;;AACnE;;AACnB;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAEA;;AACI;;AACI;;AACI;;AAAkE;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAAwB,WAAxB;;AAE9D;;AAAyB;;AAAO;;AACpC;;AACA;;AACI;;AACI;;;;AACW;;AACnB;;AACA;;AACI;;AAMA;;AAQA;;AACI;;AAA2D;AAAA,mBAAS,IAAAzqD,YAAA,EAAT;AAAuB,WAAvB;;AAEK;;;;AAAwB;;AACxF;;AAA8B;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAAwB,WAAxB;;AACoD;;;;AACnE;;AACnB;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AAIA;;AA2JA;;AAIA;;AAKA;;AAKA;;AAIA;;AAKA;;;;AAhRoB;;AAAA;;AAG0C;;AAAA;;AAED;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAMiC;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAMI;;AAAA;;AAKA;;AAAA;;AAM0E;;AAAA;;AAkBtF;;AAAA;;AAIiC;;AAAA;;AAM4B;;AAAA;;AAUzD;;AAAA;;AAC4D;;AAAA;;AAEkB;;AAAA;;AAOhG;;AAAA;;AAID;;AAAA;;;;;;;;;;sEDpFQyqD,qB,EAAqB;cALjC,uDAKiC;eALvB;AACTxqD,kBAAQ,EAAE,mBADD;AAETC,qBAAW,EAAE,gCAFJ;AAGTC,mBAAS,EAAE,CAAC,gCAAD;AAHF,S;AAKuB,Q;;;;;;;;;;;;;;gBA+S/B,uD;iBAAU,Y;;;gBACV,uD;iBAAU,U;;;;;;;;;;;;;;;;;;;;AEpUb;AAAA;;;AAAA;AAAA;AAAA;;QAAa4L,Y,GAIT,sBAAYnH,GAAZ,EAA6B;AAAA;;AACzBA,SAAG,GAAGA,GAAG,GAAEA,GAAF,GAAM,EAAf;AACA,WAAK7K,EAAL,GAAU6K,GAAG,CAAC7K,EAAJ,GAAQ6K,GAAG,CAAC7K,EAAZ,GAAe,CAAzB;AACA,WAAKiJ,MAAL,GAAc4B,GAAG,CAAC5B,MAAJ,GAAY4B,GAAG,CAAC5B,MAAhB,GAAuB,EAArC;AACA,WAAK/H,MAAL,GAAc2J,GAAG,CAAC3J,MAAJ,GAAY2J,GAAG,CAAC3J,MAAhB,GAAuB,EAArC;AACH,K;;;;;;;;;;;;;;;;;ACTL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAUa+Q,c;AACT,8BAAoBjT,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAIpB,aAAA+rB,SAAA,GAAkB,CAAE3rB,YAAY,CAACC,OAAb,CAAqB,WAArB,CAApB;AACA,aAAAJ,OAAA,GAAU,yEAAYC,UAAtB;AACC,aAAAC,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AALA;;;;iCAaK;AAEJ,iBAAO,KAAKH,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,4BACsC,KAAK8rB,SAD3C,GACuD,KAAKzrB,WAD5D,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCACOZ,E,EAAS;AAEf,iBAAO,KAAKE,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,6BACuCH,EADvC,GAC4C,KAAKQ,WADjD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BACMI,O,EAAqB;AAE1B,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,4BACuC,KAAK8rB,SAD5C,GACyDjrB,OADzD,EACiE,KAAKR,WADtE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BAEMI,O,EAAqB;AAC1B,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,qBACuCa,OADvC,EAC+C,KAAKR,WADpD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCAEMI,O,EAAqB;AAC1B,iBAAO,KAAKd,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,4BACsCa,OAAO,CAACE,EAD9C,GACmD,KAAKV,WADxD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;mCAEUI,O,EAAwB;AACjC,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,yBAC0CgB,IAAI,CAACC,SAAL,CAAeJ,OAAf,CAD1C,EACkE,KAAKR,WADvE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;;;;;uBAnDQuS,c,EAAc,uH;AAAA,K;;;aAAdA,c;AAAc,eAAdA,cAAc,K;AAAA,kBAFb;;;;;sEAEDA,c,EAAc;cAH1B,wDAG0B;eAHf;AACV9R,oBAAU,EAAE;AADF,S;AAGe,Q;;;;;;;;;;;;;;;;;;;;;;ACV3B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;ACgBwB;;;;;;AAEI;;;;;;AACJ;;AACkB;;AAAsB;;;;;;AAAtB;;AAAA;;;;;;AAClB;;AAEI;;;;AAAuC;;;;AAAvC;;AAAA;;;;;;AAMJ;;;;;;AAEI;;;;;;AACJ;;AACkB;;AAAsB;;;;;;AAAtB;;AAAA;;;;;;AAClB;;AAEI;;;;AAAuC;;;;AAAvC;;AAAA;;;;;;;;AAKJ;;AAE8B;AAAA;;AAAA;;AAAA;AAAA;;AACkC;;;;AACjD;;;;;;AAHX;;AAE4D;;AAAA;;;;;;;;AAEhE;;AAE8B;AAAA;;AAAA;;AAAA;AAAA;;AACkC;;;;AAC/C;;;;;;AAHb;;AAE4D;;AAAA;;;;;;AA0BpE;;AACI;;AAAmB;;AAA4C;;AAC/D;;AACJ;;;;;;;;AAFuB;;AAAA;;;;;;AAF3B;;AACI;;AAIJ;;;;;;AAJS;;AAAA;;;;;;AAKT;;AAEI;;AACI;;AAAqD;;;;AAA2C;;AACpG;;AACA;;AACJ;;;;;;AAH6D;;AAAA;;;;;;;;AAiB7E;;AACI;;AAAG;AAAA;;AAAA;;AAAA,yCAAuB,OAAvB;AAA8B,SAA9B;;AAAgC;;AAAI;;AAC3C;;;;;;;;AAwDoC;;AAEI;;AAAoB;;AACZ;;AAEI;AAAA;;AAAA;;AAAA,sCAAsB,UAAtB;AAAgC,SAAhC;;AAC8D;;;;AAEnD;;AAAS;;AAAI;;AACxC;;;;;;AAHgB;;AAAA;;AAA8D;;AAAA;;;;;;;;AA6B1E;;AAA4D;;AAEpD;AAAA;;AAAA;;AAAA;;AAAA,gDAA4B,CAA5B;AAA6B,SAA7B;;AAAgC;;AAAQ;;AAAI;;;;;;;;AAD5C;;AAAA;;AACgC;;AAAA;;;;;;AAJ5C;;AAEI;;AAGJ;;;;;;AAHwB;;AAAA;;;;;;;;AASpC;;AACI;;AACI;;AACI;;AACgC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AADhC;;AAEA;;AACJ;;AACJ;;AACA;;AAAgB;;AAAwC;;AACxD;;AAAI;;AAAyC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC0C;;;;AAClE;;AAAS;;AAC9B;;AAAI;;AAAoD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC+B;;;;AAClE;;AAAS;;AAC9B;;AAAI;;AAAmD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC+B;;;;AACjE;;AAAS;;AAClC;;;;;;;;;AAfgE;;AAAA,8FAAsB,SAAtB,EAAsB,2BAAtB;;AAEhB;;AAAA;;AAG5B;;AAAA;;AAER;;AAAA;;AAA+E;;AAAA;;AAG/E;;AAAA;;AAA+E;;AAAA;;AAG/E;;AAAA;;AAA8E;;AAAA;;;;;;;;;;;;;;;;;;;;;;AAlHlH;;AACI;;AACI;;AAEI;;AACI;;AACI;;AACI;;AAAqB;AAAA;;AAAA;;AAAA;AAAA,WAAwB,OAAxB,EAAwB;AAAA;;AAAA;;AAAA;AAAA,SAAxB,EAAwB,QAAxB,EAAwB;AAAA;;AAAA;;AAAA;AAAA,SAAxB;;;;AAArB;;AAEJ;;AACJ;;AACJ;;AACJ;;AAEA;;AACI;;AACI;;AACJ;;AACA;;AACI;;AAEI;AAAA;;AAAA;;AAAA;AAAA;;AAAsE;;;;AAC3D;;AAEnB;;AACJ;;AAEJ;;AAGA;;AAEI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AAEI;;AAGI;AAAA;;AAAA;;AAAA;AAAA;;AAHJ;;AAIA;;AAAmC;;AAAM;;AAC7C;;AACJ;;AACA;;AAGI;;AACJ;;AACA;;AAUJ;;AACJ;;AACJ;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,aAA5B;AAAyC,SAAzC;;AACjB;;AAEmF;;AACvF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,aAA5B;AAAyC,SAAzC;;AAEf;;;;AACR;;AACA;;AACA;;AACI;;AAEI;;AACI;;;;AACJ;;AACA;;AACI;;AAEI;;AACJ;;AACA;;AAMJ;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AAmBJ;;AACA;;AACI;;AACA;;AACA;;AACA;;AACA;;AACA;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAEA;;AAEI;;AAA6E;;AAAM;;AAEnF;;AAEI;;AACI;;AACI;;AACwB;AAAA;;AAAA;;AAAA;AAAA,WAAyB,aAAzB,EAAyB;AAAA;;AAAA;;AAAA;AAAA,SAAzB;;AAKxB;;AACJ;;AACJ;;AACJ;;AAEA;;AAA0E;;AAAM;;AAEpF;;AACJ;;;;;;;;;;;;;;AAjJ2E;;AAAA;;AAD9B;;AAcM;;AAAA;;AAAuC;;AAAA;;AAsB1C;;AAAA,kHAAsC,eAAtC,EAAsC,0CAAtC;;AAwB0C;;AAAA;;AACzD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAGJ;;AAAA;;AAIQ;;AAAA;;AAKI;;AAAA;;AAaZ;;AAAA;;AA0CgB;;AAAA,iGAAyB,eAAzB,EAAyB,IAAzB,EAAyB,YAAzB,EAAyB,2BAAzB,EAAyB,cAAzB,EAAyB,oBAAzB,EAAyB,qBAAzB,EAAyB,IAAzB,EAAyB,oBAAzB,EAAyB,IAAzB,EAAyB,wBAAzB,EAAyB,IAAzB,EAAyB,oBAAzB,EAAyB,IAAzB,EAAyB,SAAzB,EAAyB,CAAzB;;;;;;AAoBxC;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AAIA;;;;QDpQSwwD,iB;AACX;AACA;AACA;AACA;AACA,iCAAoBtwD,WAApB,EAAsDC,YAAtD,EAA4FC,QAA5F,EACUC,aADV,EACuDC,SADvD,EACoF;AAAA;;AADhE,aAAAJ,WAAA,GAAAA,WAAA;AAAkC,aAAAC,YAAA,GAAAA,YAAA;AAAsC,aAAAC,QAAA,GAAAA,QAAA;AAClF,aAAAC,aAAA,GAAAA,aAAA;AAA6C,aAAAC,SAAA,GAAAA,SAAA;AAEvD,aAAAE,aAAA,GAAqB,OAArB;AAEA,aAAAC,eAAA,GAA0B,SAA1B;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,cAAA,GAAiB,CAAC,QAAD,EAAW,QAAX,CAAjB;AAEA,aAAAC,WAAA,GAA4B,IAAI,0DAAJ,EAA5B;AACA,aAAAC,MAAA,GAA0B,EAA1B,CAVoF,CAWpF;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,aAAAC,QAAA,GAAsB,IAAI,wDAAJ,CAAc;AAClCjB,YAAE,EAAE,IAAI,0DAAJ,EAD8B;AAElCkB,gBAAM,EAAE,IAAI,0DAAJ,EAF0B;AAGlC+H,gBAAM,EAAE,IAAI,0DAAJ;AAH0B,SAAd,CAAtB;AA2IA,aAAA7H,eAAA,GAA0B,EAA1B;AACA,aAAAC,aAAA,GAAwB,EAAxB,CA9JoF,CAiKpF;;AACA,aAAAC,YAAA,sBAAmB,KAAKN,MAAxB;AACA,aAAAO,UAAA,sBAAiB,KAAKD,YAAtB;AACA,aAAAE,aAAA,sBAAoB,KAAKF,YAAzB;AACA,aAAAG,MAAA,GAAiB,KAAKT,MAAL,CAAYU,MAAZ,GAAqB,CAAtC;AAEA,aAAAC,YAAA,GAAoB,KAApB;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,kBAAA,GAAqB,CAAC,CAAD,EAAI,EAAJ,EAAQ,EAAR,CAArB;AACA,aAAAC,QAAA,GAAW,EAAX;AACA,aAAAC,cAAA,GAAiB,EAAjB;AAEA,aAAAC,QAAA,GAAoB,IAApB;AAEA,aAAAC,WAAA,GAAc,CAAd;AACA,aAAAC,SAAA,GAAY,CAAZ;AAGA,aAAAC,YAAA,GAAe,IAAI,sFAAJ,EAAf;AACA,aAAAC,UAAA,GAAa,IAAI,kFAAJ,EAAb;AACA,aAAAC,aAAA,GAAgB,IAAI,wFAAJ,EAAhB;AAqJA,aAAAC,YAAA,GAA+B,EAA/B;AAcA,aAAAC,UAAA,GAAkB,EAAlB;AAxVC;;;;mCAuBO;AACN0X,iBAAO,CAACC,GAAR,CAAY,OAAZ;AACAD,iBAAO,CAACC,GAAR,CAAY,KAAKnZ,WAAjB;AAGA,eAAKyB,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACA,eAAKoD,SAAL,GAAiB;AAAEC,iBAAK,EAAE,aAAT;AAAwBC,oBAAQ,EAAE,KAAKH,IAAL,KAAc,OAAd,GAAwB,QAAxB,GAAmC;AAArE,WAAjB;AACA,eAAK3B,YAAL,GAAoB,CAClB;AAAE6B,iBAAK,EAAE,aAAT;AAAwBC,oBAAQ,EAAE,KAAKH,IAAL,KAAc,OAAd,GAAwB,QAAxB,GAAmC;AAArE,WADkB,CAApB;AAGA,eAAKI,QAAL;AACAqX,iBAAO,CAACC,GAAR,CAAY,KAAKlZ,MAAjB,EAXM,CAYN;AACD;;;qCAES;AACR,iBAAO,KAAKX,WAAL,CAAiB6G,KAAjB,CAAuB;AAC5BlH,cAAE,EAAE,CAAC,KAAKe,WAAL,CAAiBf,EAAjB,IAAuB,CAAvB,GAA2B,KAAKe,WAAL,CAAiBf,EAA5C,GAAiD,CAAlD,CADwB;AAE5BkB,kBAAM,EAAE,CAAC,KAAKH,WAAL,CAAiBG,MAAlB,EAA0B,0DAAW0N,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWE,SAAX,CAAqB,CAArB,CAAtB,CAAnB,CAA1B,CAFoB;AAG5B9F,kBAAM,EAAE,CAAC,KAAKlI,WAAL,CAAiBkI,MAAlB,EAA0B,0DAAW2F,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWC,OAAX,CAAmB,4CAAnB,CAAtB,CAAnB,CAA1B;AAHoB,WAAvB,CAAP;AAKD;;;oCAEW;AACV;AACA,eAAKzN,aAAL,GAAqB,SAArB;AAEA,eAAKN,WAAL,GAAmB,IAAI,0DAAJ,EAAnB;AACA,eAAKA,WAAL,CAAiBf,EAAjB,GAAsB,CAAtB;AACA,eAAKe,WAAL,CAAiBG,MAAjB,GAA0B,KAAKD,QAAL,CAAc6H,WAAd,GAA4B5H,MAAtD;AACA,eAAKH,WAAL,CAAiBkI,MAAjB,GAA0B,KAAKhI,QAAL,CAAc6H,WAAd,GAA4BG,MAAtD;AAGA,eAAKgG,gBAAL;AACD;;;2CAEe;AAAA;;AACd,eAAK3O,YAAL,CAAkBgJ,MAAlB,CAAyB,KAAKvI,WAA9B,EAA2CgC,SAA3C,CAAqD,UAAAC,MAAM,EAAI;AAC7D,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAACJ,QAAL;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAACkE,YAAL,CAAkB,QAAI,CAAC9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,mBAAvB,CAArD;;AACA,sBAAI,CAACkK,UAAL,CAAgB7H,IAAhB;AACD,aALD,MAMK;AACH,sBAAI,CAACtC,UAAL,CAAgB,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAAhB,EAAiD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,WAAvB,CAAjD;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAXD;AAYD;;;qCAEY;AACX,eAAKa,SAAL,GAAiB,KAAKD,WAAtB;AACA,eAAKZ,aAAL,GAAqB,SAArB;AAEA,cAAI+N,OAAO,GAAG,IAAI,0DAAJ,CAAiB;AAC7BpP,cAAE,EAAE,KAAKe,WAAL,CAAiBf,EADQ;AAE7BkB,kBAAM,EAAE,KAAKD,QAAL,CAAc6H,WAAd,GAA4B5H,MAFP;AAG7B+H,kBAAM,EAAE,KAAKhI,QAAL,CAAc6H,WAAd,GAA4BG;AAHP,WAAjB,CAAd;;AAMA,cAAGmG,OAAO,IAAI,KAAKrO,WAAnB,EAA+B;AAC7B,iBAAKsO,iBAAL,CAAuBD,OAAvB;AACD,WAFD,MAGI;AACF,iBAAK/B,UAAL,CAAgB7H,IAAhB;AACD;AACF;;;0CAEiB8J,M,EAAM;AAAA;;AAEtB,eAAKhP,YAAL,CAAkBiJ,MAAlB,CAAyB+F,MAAzB,EAAiCvM,SAAjC,CAA2C,UAAAC,MAAM,EAAI;AACnD,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAACJ,QAAL;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAACkE,YAAL,CAAkB,QAAI,CAAC9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,oBAAvB,CAArD;;AAEA,sBAAI,CAACkK,UAAL,CAAgB7H,IAAhB;AACD,aAND,MAOK;AACH,sBAAI,CAACtC,UAAL,CAAgB,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAAhB,EAAiD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,YAAvB,CAAjD;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAZD;AAaD,S,CAED;AACA;AACA;;;;uCACe;AACb,eAAKa,SAAL,GAAiB,KAAKD,WAAtB,CADa,CAEb;;AACA,eAAKZ,aAAL,GAAqB,SAArB;AACA,eAAKwB,mBAAL;AACD,S,CAED;;;;8CACmB;AAAA;;AACjB,eAAKvC,YAAL,CAAkBwC,UAAlB,CAA6B,KAAKR,YAAlC,EAAgDS,SAAhD,CAA0D,UAAAC,MAAM,EAAI;AAClE,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAACJ,QAAL;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAAC4B,gBAAL;AACD,aAJD,MAKK;AACH,sBAAI,CAACC,UAAL,CAAgB,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAAhB,EAAiD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,cAAvB,CAAjD;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAVD;AAWD;;;mCAmDU;AAAA;;AACT,eAAKA,aAAL,GAAqB,SAArB;AACA,eAAKf,YAAL,CAAkB8C,MAAlB,GAA2BL,SAA3B,CACE,UAAAM,IAAI,EAAI;AACN4W,mBAAO,CAACC,GAAR,CAAY,OAAZ;AACAD,mBAAO,CAACC,GAAR,CAAY7W,IAAZ;AAEA,oBAAI,CAACrC,MAAL,GAAcqC,IAAd;;AACA,oBAAI,CAACC,QAAL;;AACA,oBAAI,CAACC,UAAL;;AACA,oBAAI,CAAClC,aAAL,GAAqB,EAArB;AACD,WATH;AAYD;;;mCAEU;AACT,eAAKE,UAAL,GAAkB,KAAKa,UAAL,CAAgBkB,QAAhB,CAAyB,KAAKb,SAAL,CAAeE,QAAxC,EAAkD,KAAK3B,MAAvD,CAAlB;AACA,eAAKwC,UAAL;AACD;;;0CAEiB;AAChB,eAAKtB,SAAL,GAAiB,KAAKD,WAAtB;AACA,eAAKV,UAAL,GAAkB,KAAKA,UAAL,CAAgBkC,KAAhB,GAAwBC,OAAxB,EAAlB;AACA,eAAKF,UAAL;AACD;;;qCAEY;AACX,eAAKlC,YAAL,GAAoB,KAAKa,YAAL,CAAkBqB,UAAlB,CAA6B,KAAKjB,UAAlC,EAA8C,KAAKzB,cAAnD,EAAmE,KAAKS,UAAxE,CAApB;;AACA,cAAI,KAAKW,SAAL,KAAmB,CAAvB,EAA0B;AACxB,iBAAKyB,YAAL,CAAkB,KAAK/B,YAAvB,EAAqC,CAArC;AACD,WAFD,MAGK;AACH,iBAAK+B,YAAL,CAAkB,KAAK/B,YAAvB,EACEgC,IAAI,CAACC,IAAL,CAAW,KAAKvC,YAAL,CAAkBI,MAAlB,GAA2B,KAAKE,YAA3C,KAA6D,KAAKM,SAAlE,GACE,KAAKA,SADP,GAEE0B,IAAI,CAACC,IAAL,CAAW,KAAKvC,YAAL,CAAkBI,MAAlB,GAA2B,KAAKE,YAA3C,CAHJ;AAKD;;AACD,eAAKM,SAAL,GAAiB,CAAjB;AACD;;;qCAEY4B,e,EAAyBC,c,EAAwB;AAC5D,eAAKnC,YAAL,GAAoBkC,eAApB;AACA,eAAK7B,WAAL,GAAmB8B,cAAnB;AACA,eAAKvC,aAAL,GAAqB,KAAKF,YAAL,CAAkBmC,KAAlB,CAAwB,CAACM,cAAc,GAAG,CAAlB,IAAwBD,eAAhD,EAAmEA,eAAe,GAAGC,cAArF,CAArB;AACD;;;mCAEUC,O,EAAc;AACvB,cAAI,KAAKvB,SAAL,CAAeC,KAAf,KAAyBsB,OAAO,CAACtB,KAArC,EAA4C;AAC1C,iBAAKV,QAAL,GAAgB,CAAC,KAAKA,QAAtB;AACA,gBAAMiC,OAAO,GAAG,KAAKhC,WAArB;AACA,iBAAKiC,eAAL;AACA,iBAAKjC,WAAL,GAAmBgC,OAAnB;AACD,WALD,MAMK;AACH,iBAAKjC,QAAL,GAAgB,IAAhB;AACA,iBAAKS,SAAL,GAAiBuB,OAAjB;AACA,iBAAKV,QAAL;AACD;AACF;;;gCAEOZ,K,EAAY;AAClB,iBAAO,KAAK7B,YAAL,CAAkBsD,IAAlB,CAAuB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC1B,KAAF,KAAYA,KAAhB;AAAA,WAAxB,CAAP;AACD;;;mCAEU2B,K,EAAuB;AAChC,eAAKpC,WAAL,GAAmBoC,KAAK,CAACC,IAAzB;AACA,eAAKX,YAAL,CAAkB,KAAK/B,YAAvB,EAAqC,KAAKK,WAA1C;AACD;;;uCAEc;AACb,eAAKK,YAAL,GAAoB,EAApB;AACA,eAAKR,QAAL,GAAgB,EAAhB;AACA,eAAKC,cAAL,GAAsB,EAAtB;AACA,eAAKyB,UAAL;AACD;;;kCAESe,M,EAAM;AACd,cAAIA,MAAM,CAACC,MAAP,CAAcC,OAAlB,EAA2B;AACzB,iBAAK3C,QAAL,sBAAoB,KAAKR,YAAzB;AACD,WAFD,MAEO;AACL,iBAAKQ,QAAL,GAAgB,EAAhB;AACD;;AACD,eAAK4C,iBAAL;AACD;;;4CAEgB;AACf,cAAI,KAAK5C,QAAL,CAAcJ,MAAd,IAAwB,KAAKJ,YAAL,CAAkBI,MAA9C,EAAsD;AACpD,iBAAKK,cAAL,GAAsB,SAAtB;AACD,WAFD,MAEO,IAAI,KAAKD,QAAL,CAAcJ,MAAd,KAAyB,CAA7B,EAAgC;AACrC,iBAAKK,cAAL,GAAsB,eAAtB;AACD,WAFM,MAEC;AACN,iBAAKA,cAAL,GAAsB,EAAtB;AACD;AACF;;;mCAEU4C,C,EAAe;AACxB,iBAAO,KAAK7C,QAAL,CAAc8C,SAAd,CAAwB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC7E,EAAF,KAAS2E,CAAC,CAAC3E,EAAf;AAAA,WAAzB,IAA8C,CAAC,CAAtD;AACD;;;iCAEQ8E,I,EAAkB;AACzB,cAAI,KAAKC,UAAL,CAAgBD,IAAhB,CAAJ,EAA2B;AACzB,iBAAKhD,QAAL,GAAgB,KAAKA,QAAL,CAAckD,MAAd,CAAqB,UAAAH,CAAC;AAAA,qBAAIA,CAAC,CAAC7E,EAAF,KAAS8E,IAAI,CAAC9E,EAAlB;AAAA,aAAtB,CAAhB;AACD,WAFD,MAEO;AACL,iBAAK8B,QAAL,CAAcmD,IAAd,CAAmBH,IAAnB;AACD;;AACD,eAAKJ,iBAAL;AACD;;;mCAEUQ,I,EAAWxG,I,EAAS;AAC7B,iBAAOwG,IAAI,CAACf,IAAL,CAAU,UAAAU,CAAC;AAAA,mBAAIA,CAAC,CAACM,IAAF,KAAWzG,IAAf;AAAA,WAAX,CAAP;AACD;;;6CAIiB;AAChB,eAAK0C,eAAL,GAAuB,KAAvB;AACA,eAAKL,WAAL,GAAmB,IAAI,0DAAJ,EAAnB;AACA,eAAKE,QAAL,GAAgB,KAAK2H,UAAL,EAAhB;AACA,eAAKyE,UAAL,CAAgB/H,IAAhB;AACD;;;yCAEgBtF,E,EAAO;AAAA;;AACtBia,iBAAO,CAACC,GAAR,CAAY,cAAZ;AACAD,iBAAO,CAACC,GAAR,CAAY,KAAKnZ,WAAjB;AACAkZ,iBAAO,CAACC,GAAR,CAAY,KAAKlZ,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAACpE,EAAF,KAAS,CAAb;AAAA,WAAlB,CAAZ;AAEA,eAAKoB,eAAL,GAAuB,MAAvB;AACA,eAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,WAAlB,CAAnB;AACA,0DAAG,KAAKe,WAAR,EAAqBgC,SAArB,CAA+B,UAAAM,IAAI,EAAI;AACrC,oBAAI,CAACtC,WAAL,GAAmBsC,IAAnB;AACD,WAFD;AAGA,eAAKpC,QAAL,GAAgB,KAAK2H,UAAL,EAAhB;AACA,eAAKyE,UAAL,CAAgB/H,IAAhB;AACD;;;yCAEgBtF,E,EAAO;AAAA;;AACtB,eAAKoB,eAAL,GAAuB,MAAvB;AACA,eAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,WAAlB,CAAnB;AACA,0DAAG,KAAKe,WAAR,EAAqBgC,SAArB,CAA+B,UAAAM,IAAI,EAAI;AACrC,oBAAI,CAACtC,WAAL,GAAmBsC,IAAnB;AACD,WAFD;AAGA,eAAKpC,QAAL,GAAgB,KAAK2H,UAAL,EAAhB;AACA,eAAKyE,UAAL,CAAgB/H,IAAhB;AACD;;;qCAGYtF,E,EAAO;AAClB,cAAIA,EAAE,IAAI,CAAV,EAAa;AACX,iBAAKoB,eAAL,GAAuB,KAAvB;AACA,iBAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,aAAlB,CAAnB;AACA,iBAAKsC,YAAL,GAAoB,CAAC,KAAKtB,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,aAAlB,CAAD,CAApB;AACA,iBAAKqF,QAAL,CAAcC,IAAd;AACD,WALD,MAMK,IAAItF,EAAE,KAAK,UAAX,EAAuB;AAC1B,iBAAKsC,YAAL,sBAAwB,KAAKR,QAA7B;AACA,iBAAKuD,QAAL,CAAcC,IAAd;AACD;AACF;;;2CAKe;AACd,cAAI,KAAKhD,YAAL,CAAkBZ,MAAlB,KAA6B,CAAjC,EAAoC;AAClC,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,QAAQ,KAAKvC,eAApC,CADF;AAED,WAHD,MAIK,IAAI,KAAK0B,YAAL,CAAkBZ,MAAlB,KAA6B,CAAjC,EAAoC;AACvC,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,QAAQ,KAAKvC,eAAb,GAA+B,GAAtD,CADF;AAED,WAHI,MAIA,IAAI,KAAK0B,YAAL,CAAkBZ,MAAlB,GAA2B,CAA3B,IAAgC,KAAKY,YAAL,CAAkBZ,MAAlB,GAA2B,EAA/D,EAAmE;AACtE,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAKb,YAAL,CAAkBZ,MADiC,GACxB,GADwB,GAClB,KAAKjB,SAAL,CAAe0C,OAAf,CAAuB,KAAKvC,eAAL,GAAuB,UAA9C,CADnC;AAED,WAHI,MAIA;AACH,iBAAK2E,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAKb,YAAL,CAAkBZ,MADiC,GACxB,GADwB,GAClB,KAAKjB,SAAL,CAAe0C,OAAf,CAAuB,KAAKvC,eAAL,GAAuB,MAA9C,CADnC;AAED;;AAED,eAAK0B,YAAL,GAAoB,EAApB;AACA,eAAKR,QAAL,GAAgB,EAAhB;AAEA,eAAK4C,iBAAL;;AACA,cAAI,KAAK3C,cAAL,KAAwB,EAA5B,EAAgC;AAC9B,iBAAKJ,YAAL,GAAoB,KAApB;AACD;;AACD,eAAK0D,QAAL,CAAcG,IAAd;AACD;;;qCAEYC,W,EAAqBC,S,EAAiB;AACjD,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBE,OADnB,EAC4B;AAAEC,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD5B;AAED;;;mCACUL,W,EAAqBC,S,EAAiB;AAC/C,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBjH,KADnB,EAC0B;AAAEoH,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD1B;AAED;;;8CACqB;AACpB,eAAKlD,QAAL;AACA,eAAKyC,QAAL,CAAcG,IAAd;AACD;;;sCAEa;AAAA;;AACZ,eAAKlF,YAAL,CAAkB8C,MAAlB,GAA2BL,SAA3B,CACE,UAAAM,IAAI,EAAI;AACN,oBAAI,CAACrC,MAAL,GAAcqC,IAAd;;AACA,oBAAI,CAACE,UAAL;AACD,WAJH;AAMD;;;qCAEY;AAAA;;AACX,cAAMwC,UAAU,GAAG,KAAKxD,UAAxB;AACA,eAAKA,UAAL,GAAkB,EAAlB;AACAyD,oBAAU,CAAC,YAAM;AACf,oBAAI,CAACzD,UAAL,GAAkBwD,UAAlB;AACD,WAFS,EAEP,CAFO,CAAV;AAGD;;;;;;;uBA1ZU4qD,iB,EAAiB,2H,EAAA,+H,EAAA,wH,EAAA,4I,EAAA,qI;AAAA,K;;;YAAjBA,iB;AAAiB,mC;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;ACjB9B;;AACI;;AACI;;AACI;;AAAkE;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAA0B,WAA1B;;AAE9D;;AAAyB;;AAAO;;AACpC;;AACA;;AACI;;AACI;;;;AAA+C;;AACvD;;AACA;;AACI;;AACI;;AACI;;AAAqC;;;;AAA+B;;AACpE;;AAGA;;AAEA;;AAGA;;AACJ;;AAEA;;AACI;;AAAqC;;;;AAA+B;;AACpE;;AAGA;;AAEA;;AAGA;;AACJ;;AAEA;;AACI;;AAKA;;AAKA;;AAA8B;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAA0B,WAA1B;;AACoD;;;;AACnE;;AACnB;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAEA;;AACI;;AACI;;AACI;;AAAkE;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAAwB,WAAxB;;AAE9D;;AAAyB;;AAAO;;AACpC;;AACA;;AACI;;AACI;;;;AACW;;AACnB;;AACA;;AACI;;AAMA;;AAQA;;AACI;;AAA2D;AAAA,mBAAS,IAAA1qD,YAAA,EAAT;AAAuB,WAAvB;;AAEK;;;;AAAwB;;AACxF;;AAA8B;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAAwB,WAAxB;;AACoD;;;;AACnE;;AACnB;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AAIA;;AA2JA;;AAIA;;AAKA;;AAKA;;AAIA;;AAKA;;;;AAhRoB;;AAAA;;AAG0C;;AAAA;;AAED;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAMiC;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAMI;;AAAA;;AAKA;;AAAA;;AAM0E;;AAAA;;AAkBtF;;AAAA;;AAIiC;;AAAA;;AAM4B;;AAAA;;AAUzD;;AAAA;;AAC4D;;AAAA;;AAEkB;;AAAA;;AAOhG;;AAAA;;AAID;;AAAA;;;;;;;;;;sEDtFQ0qD,iB,EAAiB;cAL7B,uDAK6B;eALnB;AACTzqD,kBAAQ,EAAE,cADD;AAETC,qBAAW,EAAE,2BAFJ;AAGTC,mBAAS,EAAE,CAAC,2BAAD;AAHF,S;AAKmB,Q;;;;;;;;;;;;;;gBAgT3B,uD;iBAAU,Y;;;gBACV,uD;iBAAU,U;;;;;;;;;;;;;;;;;;;;AEnUb;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;ACgBwB;;AAAoD;;;;AAAqD;;;;;;AAArD;;AAAA;;;;;;AACpD;;AAA+E;;;;AAAyD;;;;;;AAAzD;;AAAA;;;;;;AAC/E;;AAAqD;;;;AAA4B;;;;AAA5B;;AAAA;;;;;;AACrD;;AAAqD;;;;AAA4B;;;;AAA5B;;AAAA;;;;;;AAL7D;;AACI;;AACI;;AACA;;AACA;;AACA;;AACA;;AACJ;;AACJ;;;;;;AANe;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;;;AAIf;;AAEI;;AACI;;AAAqD;;;;AAA2C;;AACpG;;AACA;;AACJ;;;;;;AAH6D;;AAAA;;;;;;;;AAiB7E;;AACI;;AAAG;AAAA;;AAAA;;AAAA,yCAAuB,OAAvB;AAA8B,SAA9B;;AAAgC;;AAAI;;AAC3C;;;;;;;;AA0DoC;;AAEI;;AAAoB;;AACZ;;AAEI;AAAA;;AAAA;;AAAA,sCAAsB,UAAtB;AAAgC,SAAhC;;AAC8D;;;;AAEnD;;AAAS;;AAAI;;AACxC;;;;;;AAHgB;;AAAA;;AAA8D;;AAAA;;;;;;;;AAqE1E;;AAA4D;;AAEpD;AAAA;;AAAA;;AAAA;;AAAA,gDAA4B,CAA5B;AAA6B,SAA7B;;AAAgC;;AAAQ;;AAAI;;;;;;;;AAD5C;;AAAA;;AACgC;;AAAA;;;;;;AAJ5C;;AAEI;;AAGJ;;;;;;AAHwB;;AAAA;;;;;;AAqBhC;;AAA4C;;;;AAAuB;;;;AAAvB;;AAAA;;;;;;AAC5C;;AAA4C;;;;AAA0B;;;;AAA1B;;AAAA;;;;;;AAC5C;;AAA4C;;;;AAA2B;;;;AAA3B;;AAAA;;;;;;AAGxC;;AAAgF;;;;AAA0B;;;;;;AAA1B;;AAAA;;;;;;AAChF;;AAAkF;;;;AAA0B;;;;;;AAA1B;;AAAA;;;;;;AAClF;;AAAoF;;;;AAA0B;;;;;;AAA1B;;AAAA;;;;;;AACpF;;AAAuF;;;;AAA0B;;;;;;AAA1B;;AAAA;;;;;;AACvF;;AAAoF;;;;AAA0B;;;;;;AAA1B;;AAAA;;;;;;;;AApB5F;;AACI;;AACI;;AACI;;AACgC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AADhC;;AAEA;;AACJ;;AACJ;;AACA;;AAAgB;;AAAY;;AAC5B;;AAAgB;;AAAkB;;AAClC;;AAAgB;;AAAa;;AAC7B;;AACA;;AACA;;AAEA;;AACI;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGJ;;AAAI;;AAA4C;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AACD;;;;AAC1B;;AAAS;;AAIlC;;;;;;;;;AA3BgE;;AAAA,8FAAsB,SAAtB,EAAsB,2BAAtB;;AAEhB;;AAAA;;AAG5B;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAGsC;;AAAA;;AACD;;AAAA;;AACA;;AAAA;;AACC;;AAAA;;AACH;;AAAA;;AAKJ;;AAAA;;;;;;;;;;;;;;;;;;;;;;AAtK3E;;AACI;;AAEQ;;AAEA;;AACI;;AAEI;;AACI;;AAAqB;AAAA;;AAAA;;AAAA;AAAA,WAAwB,OAAxB,EAAwB;AAAA;;AAAA;;AAAA;AAAA,SAAxB,EAAwB,QAAxB,EAAwB;AAAA;;AAAA;;AAAA;AAAA,SAAxB;;;;AAArB;;AAEJ;;AACJ;;AACJ;;AACJ;;AAeJ;;AAGA;;AAEI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AAEI;;AAGI;AAAA;;AAAA;;AAAA;AAAA;;AAHJ;;AAIA;;AAAmC;;AAAM;;AAC7C;;AACJ;;AACA;;AAGI;;AACJ;;AACA;;AAUJ;;AACJ;;AACJ;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,eAA5B;AAA2C,SAA3C;;AACjB;;AAEqF;;AACzF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,eAA5B;AAA2C,SAA3C;;AAEf;;;;AACR;;AAEA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,wBAA5B;AAAoD,SAApD;;AACjB;;AAE8F;;AAClG;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,wBAA5B;AAAoD,SAApD;;AAEf;;;;AACR;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,wBAA5B;AAAoD,SAApD;;AACjB;;AAE8F;;AAClG;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,wBAA5B;AAAoD,SAApD;;AAEf;;;;AACR;;AAEA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,aAA5B;AAAyC,SAAzC;;AACjB;;AAEmF;;AACvF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,aAA5B;AAAyC,SAAzC;;AAEf;;;;AACR;;AAMA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,eAA5B;AAA2C,SAA3C;;AACjB;;AAEqF;;AACzF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,eAA5B;AAA2C,SAA3C;;AAEf;;;;AACR;;AAGA;;AACI;;AAEI;;AACI;;;;AACJ;;AACA;;AACI;;AAEI;;AACJ;;AACA;;AAMJ;;AACJ;;AACJ;;AACA;;AACJ;;AACA;;AACI;;AA+BJ;;AACA;;AAEI;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAEA;;AAEI;;AAA6E;;AAAM;;AAEnF;;AAEI;;AACI;;AACI;;AACwB;AAAA;;AAAA;;AAAA;AAAA,WAAyB,aAAzB,EAAyB;AAAA;;AAAA;;AAAA;AAAA,SAAzB;;AAKxB;;AACJ;;AACJ;;AACJ;;AAEA;;AAA0E;;AAAM;;AAEpF;;AACJ;;;;;;;;;;;;;;AAhN2E;;AAAA;;AAD9B;;AAoCG;;AAAA,iHAAsC,eAAtC,EAAsC,yCAAtC;;AAwB4C;;AAAA;;AAC3D;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAGqE;;AAAA;;AACpE;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAEqE;;AAAA;;AACpE;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAG0D;;AAAA;;AACzD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAO4D;;AAAA;;AAC3D;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAIJ;;AAAA;;AAIQ;;AAAA;;AAKI;;AAAA;;AAcZ;;AAAA;;AAgEgB;;AAAA,gGAAyB,eAAzB,EAAyB,IAAzB,EAAyB,YAAzB,EAAyB,0BAAzB,EAAyB,cAAzB,EAAyB,mBAAzB,EAAyB,qBAAzB,EAAyB,IAAzB,EAAyB,oBAAzB,EAAyB,GAAzB,EAAyB,wBAAzB,EAAyB,GAAzB,EAAyB,oBAAzB,EAAyB,GAAzB,EAAyB,SAAzB,EAAyB,CAAzB;;;;;;AAoBxC;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AAIA;;;;QDtQSwqD,kB;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA,kCAAoBvwD,WAApB,EAAsDC,YAAtD,EAA4FC,QAA5F,EACUC,aADV,EACuDC,SADvD,EACoF;AAAA;;AADhE,aAAAJ,WAAA,GAAAA,WAAA;AAAkC,aAAAC,YAAA,GAAAA,YAAA;AAAsC,aAAAC,QAAA,GAAAA,QAAA;AAClF,aAAAC,aAAA,GAAAA,aAAA;AAA6C,aAAAC,SAAA,GAAAA,SAAA;AAEvD,aAAAE,aAAA,GAAqB,OAArB;AAEA,aAAAC,eAAA,GAA0B,SAA1B;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,cAAA,GAAiB,CAAC,IAAD,CAAjB;AAEA,aAAAC,WAAA,GAA8B,IAAI,mEAAJ,EAA9B;AACA,aAAAC,MAAA,GAA4B,EAA5B;AACA,aAAAC,QAAA,GAAsB,IAAI,wDAAJ,CAAc;AAClCjB,YAAE,EAAE,IAAI,0DAAJ,EAD8B;AAElCkB,gBAAM,EAAE,IAAI,0DAAJ,EAF0B;AAGlC+H,gBAAM,EAAE,IAAI,0DAAJ;AAH0B,SAAd,CAAtB;AAmEA,aAAA7H,eAAA,GAA0B,EAA1B;AACA,aAAAC,aAAA,GAAwB,EAAxB,CA/EoF,CAkFpF;;AACA,aAAAC,YAAA,sBAAmB,KAAKN,MAAxB;AACA,aAAAO,UAAA,sBAAiB,KAAKD,YAAtB;AACA,aAAAE,aAAA,sBAAoB,KAAKF,YAAzB;AACA,aAAAG,MAAA,GAAiB,KAAKT,MAAL,CAAYU,MAAZ,GAAqB,CAAtC;AAEA,aAAAC,YAAA,GAAoB,KAApB;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,kBAAA,GAAqB,CAAC,CAAD,EAAI,EAAJ,EAAQ,EAAR,CAArB;AACA,aAAAC,QAAA,GAAW,EAAX;AACA,aAAAC,cAAA,GAAiB,EAAjB;AAEA,aAAAC,QAAA,GAAoB,IAApB;AAEA,aAAAC,WAAA,GAAc,CAAd;AACA,aAAAC,SAAA,GAAY,CAAZ;AAGA,aAAAC,YAAA,GAAe,IAAI,sFAAJ,EAAf;AACA,aAAAC,UAAA,GAAa,IAAI,kFAAJ,EAAb;AACA,aAAAC,aAAA,GAAgB,IAAI,wFAAJ,EAAhB;AAgIA,aAAAC,YAAA,GAA+B,EAA/B;AAcA,aAAAC,UAAA,GAAkB,EAAlB;AApPC;;;;mCAgBO;AACN0X,iBAAO,CAACC,GAAR,CAAY,OAAZ;AACAD,iBAAO,CAACC,GAAR,CAAY,KAAKnZ,WAAjB;AAGA,eAAKyB,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACA,eAAKoD,SAAL,GAAiB;AAAEC,iBAAK,EAAE,IAAT;AAAeC,oBAAQ,EAAE;AAAzB,WAAjB;AACA,eAAK9B,YAAL,GAAoB,CAClB;AAAE6B,iBAAK,EAAE,IAAT;AAAeC,oBAAQ,EAAE;AAAzB,WADkB,CAApB;AAGA,eAAKC,QAAL;AACAqX,iBAAO,CAACC,GAAR,CAAY,KAAKlZ,MAAjB;AACD,S,CAED;AACA;AACA;;;;uCACe;AACb,eAAKkB,SAAL,GAAiB,KAAKD,WAAtB,CADa,CAEb;;AACA,eAAKZ,aAAL,GAAqB,SAArB;AACA,eAAKwB,mBAAL;AACD,S,CAED;;;;8CACmB;AAAA;;AACjB,eAAKvC,YAAL,CAAkBwC,UAAlB,CAA6B,KAAKR,YAAlC,EAAgDS,SAAhD,CAA0D,UAAAC,MAAM,EAAI;AAClE,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAACJ,QAAL;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAAC4B,gBAAL;AACD,aAJD,MAKK;AACH,sBAAI,CAACC,UAAL,CAAgB,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAAhB,EAAiD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,cAAvB,CAAjD;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAVD;AAWD;;;mCAmDU;AAAA;;AACT,eAAKA,aAAL,GAAqB,SAArB;AACA,eAAKf,YAAL,CAAkBuwD,YAAlB,GAAiC9tD,SAAjC,CACE,UAAAM,IAAI,EAAI;AACN4W,mBAAO,CAACC,GAAR,CAAY,OAAZ;AACAD,mBAAO,CAACC,GAAR,CAAY7W,IAAZ;AAEA,oBAAI,CAACrC,MAAL,GAAcqC,IAAd;;AACA,oBAAI,CAACC,QAAL;AACD,WAPH;AAUD;;;mCAEU;AACT,eAAK/B,UAAL,GAAkB,KAAKa,UAAL,CAAgBkB,QAAhB,CAAyB,KAAKb,SAAL,CAAeE,QAAxC,EAAkD,KAAK3B,MAAvD,CAAlB;AACA,eAAKwC,UAAL;AACD;;;0CAEiB;AAChB,eAAKtB,SAAL,GAAiB,KAAKD,WAAtB;AACA,eAAKV,UAAL,GAAkB,KAAKA,UAAL,CAAgBkC,KAAhB,GAAwBC,OAAxB,EAAlB;AACA,eAAKF,UAAL;AACD;;;qCAEY;AACX;AACA,eAAKlC,YAAL,GAAoB,KAAKa,YAAL,CAAkBqB,UAAlB,CAA6B,KAAKjB,UAAlC,EAA8C,KAAKzB,cAAnD,EAAmE,KAAKS,UAAxE,CAApB;;AACA,cAAI,KAAKW,SAAL,KAAmB,CAAvB,EAA0B;AACxB,iBAAKyB,YAAL,CAAkB,KAAK/B,YAAvB,EAAqC,CAArC;AACD,WAFD,MAGK;AACH,iBAAK+B,YAAL,CAAkB,KAAK/B,YAAvB,EACEgC,IAAI,CAACC,IAAL,CAAW,KAAKvC,YAAL,CAAkBI,MAAlB,GAA2B,KAAKE,YAA3C,KAA6D,KAAKM,SAAlE,GACE,KAAKA,SADP,GAEE0B,IAAI,CAACC,IAAL,CAAW,KAAKvC,YAAL,CAAkBI,MAAlB,GAA2B,KAAKE,YAA3C,CAHJ;AAKD;;AACD,eAAKM,SAAL,GAAiB,CAAjB;AACD;;;qCAEY4B,e,EAAyBC,c,EAAwB;AAC5D;AAEA,eAAKnC,YAAL,GAAoBkC,eAApB;AACA,eAAK7B,WAAL,GAAmB8B,cAAnB;AACA,eAAKvC,aAAL,GAAqB,KAAKF,YAAL,CAAkBmC,KAAlB,CAAwB,CAACM,cAAc,GAAG,CAAlB,IAAwBD,eAAhD,EAAmEA,eAAe,GAAGC,cAArF,CAArB;AACD;;;mCAEUC,O,EAAc;AACvB,cAAI,KAAKvB,SAAL,CAAeC,KAAf,KAAyBsB,OAAO,CAACtB,KAArC,EAA4C;AAC1C,iBAAKV,QAAL,GAAgB,CAAC,KAAKA,QAAtB;AACA,gBAAMiC,OAAO,GAAG,KAAKhC,WAArB;AACA,iBAAKiC,eAAL;AACA,iBAAKjC,WAAL,GAAmBgC,OAAnB;AACD,WALD,MAMK;AACH,iBAAKjC,QAAL,GAAgB,IAAhB;AACA,iBAAKS,SAAL,GAAiBuB,OAAjB;AACA,iBAAKV,QAAL;AACD;AACF;;;gCAEOZ,K,EAAY;AAClB,iBAAO,KAAK7B,YAAL,CAAkBsD,IAAlB,CAAuB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC1B,KAAF,KAAYA,KAAhB;AAAA,WAAxB,CAAP;AACD;;;mCAEU2B,K,EAAuB;AAChC,eAAKpC,WAAL,GAAmBoC,KAAK,CAACC,IAAzB;AACA,eAAKX,YAAL,CAAkB,KAAK/B,YAAvB,EAAqC,KAAKK,WAA1C;AACD;;;uCAEc;AACb,eAAKK,YAAL,GAAoB,EAApB;AACA,eAAKR,QAAL,GAAgB,EAAhB;AACA,eAAKC,cAAL,GAAsB,EAAtB;AACA,eAAKyB,UAAL;AACD;;;kCAESe,M,EAAM;AACd,cAAIA,MAAM,CAACC,MAAP,CAAcC,OAAlB,EAA2B;AACzB,iBAAK3C,QAAL,sBAAoB,KAAKR,YAAzB;AACD,WAFD,MAEO;AACL,iBAAKQ,QAAL,GAAgB,EAAhB;AACD;;AACD,eAAK4C,iBAAL;AACD;;;4CAEgB;AACf,cAAI,KAAK5C,QAAL,CAAcJ,MAAd,IAAwB,KAAKJ,YAAL,CAAkBI,MAA9C,EAAsD;AACpD,iBAAKK,cAAL,GAAsB,SAAtB;AACD,WAFD,MAEO,IAAI,KAAKD,QAAL,CAAcJ,MAAd,KAAyB,CAA7B,EAAgC;AACrC,iBAAKK,cAAL,GAAsB,eAAtB;AACD,WAFM,MAEC;AACN,iBAAKA,cAAL,GAAsB,EAAtB;AACD;AACF;;;mCAEU4C,C,EAAe;AACxB,iBAAO,KAAK7C,QAAL,CAAc8C,SAAd,CAAwB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC7E,EAAF,KAAS2E,CAAC,CAAC3E,EAAf;AAAA,WAAzB,IAA8C,CAAC,CAAtD;AACD;;;iCAEQ8E,I,EAAkB;AACzB,cAAI,KAAKC,UAAL,CAAgBD,IAAhB,CAAJ,EAA2B;AACzB,iBAAKhD,QAAL,GAAgB,KAAKA,QAAL,CAAckD,MAAd,CAAqB,UAAAH,CAAC;AAAA,qBAAIA,CAAC,CAAC7E,EAAF,KAAS8E,IAAI,CAAC9E,EAAlB;AAAA,aAAtB,CAAhB;AACD,WAFD,MAEO;AACL,iBAAK8B,QAAL,CAAcmD,IAAd,CAAmBH,IAAnB;AACD;;AACD,eAAKJ,iBAAL;AACD;;;mCAEUQ,I,EAAWxG,I,EAAS;AAC7B,iBAAOwG,IAAI,CAACf,IAAL,CAAU,UAAAU,CAAC;AAAA,mBAAIA,CAAC,CAACM,IAAF,KAAWzG,IAAf;AAAA,WAAX,CAAP;AACD;;;6CAGiB,CAChB;AACA;AACD;;;yCAEgBsB,E,EAAO,CACtB;AACA;AACD;;;qCAGYA,E,EAAO;AAClB,cAAIA,EAAE,IAAI,CAAV,EAAa;AACX,iBAAKoB,eAAL,GAAuB,KAAvB;AACA,iBAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACurD,IAAF,KAAW3vD,EAAf;AAAA,aAAlB,CAAnB;AACA,iBAAKsC,YAAL,GAAoB,CAAC,KAAKtB,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACurD,IAAF,KAAW3vD,EAAf;AAAA,aAAlB,CAAD,CAApB;AACA,iBAAKqF,QAAL,CAAcC,IAAd;AACD,WALD,MAMK,IAAItF,EAAE,KAAK,UAAX,EAAuB;AAC1B,iBAAKsC,YAAL,sBAAwB,KAAKR,QAA7B;AACA,iBAAKuD,QAAL,CAAcC,IAAd;AACD;AACF;;;2CAKe;AACd,cAAI,KAAKhD,YAAL,CAAkBZ,MAAlB,KAA6B,CAAjC,EAAoC;AAClC,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,QAAQ,KAAKvC,eAApC,CADF;AAED,WAHD,MAIK,IAAI,KAAK0B,YAAL,CAAkBZ,MAAlB,KAA6B,CAAjC,EAAoC;AACvC,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,QAAQ,KAAKvC,eAAb,GAA+B,GAAtD,CADF;AAED,WAHI,MAIA,IAAI,KAAK0B,YAAL,CAAkBZ,MAAlB,GAA2B,CAA3B,IAAgC,KAAKY,YAAL,CAAkBZ,MAAlB,GAA2B,EAA/D,EAAmE;AACtE,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAKb,YAAL,CAAkBZ,MADiC,GACxB,GADwB,GAClB,KAAKjB,SAAL,CAAe0C,OAAf,CAAuB,KAAKvC,eAAL,GAAuB,UAA9C,CADnC;AAED,WAHI,MAIA;AACH,iBAAK2E,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAKb,YAAL,CAAkBZ,MADiC,GACxB,GADwB,GAClB,KAAKjB,SAAL,CAAe0C,OAAf,CAAuB,KAAKvC,eAAL,GAAuB,MAA9C,CADnC;AAED;;AAED,eAAK0B,YAAL,GAAoB,EAApB;AACA,eAAKR,QAAL,GAAgB,EAAhB;AAEA,eAAK4C,iBAAL;;AACA,cAAI,KAAK3C,cAAL,KAAwB,EAA5B,EAAgC;AAC9B,iBAAKJ,YAAL,GAAoB,KAApB;AACD;;AACD,eAAK0D,QAAL,CAAcG,IAAd;AACD;;;qCAEYC,W,EAAqBC,S,EAAiB;AACjD,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBE,OADnB,EAC4B;AAAEC,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD5B;AAED;;;mCACUL,W,EAAqBC,S,EAAiB;AAC/C,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBjH,KADnB,EAC0B;AAAEoH,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD1B;AAED;;;8CACqB;AACpB,eAAKlD,QAAL;AACA,eAAKyC,QAAL,CAAcG,IAAd;AACD;;;sCAEa;AAAA;;AACZ,eAAKlF,YAAL,CAAkBuwD,YAAlB,GAAiC9tD,SAAjC,CACE,UAAAM,IAAI,EAAI;AACN,oBAAI,CAACrC,MAAL,GAAcqC,IAAd;;AACA,oBAAI,CAACE,UAAL;AACD,WAJH;AAMD;;;qCAEY;AAAA;;AACX,cAAMwC,UAAU,GAAG,KAAKxD,UAAxB;AACA,eAAKA,UAAL,GAAkB,EAAlB;AACAyD,oBAAU,CAAC,YAAM;AACf,oBAAI,CAACzD,UAAL,GAAkBwD,UAAlB;AACD,WAFS,EAEP,CAFO,CAAV;AAGD;;;8BACK/F,E,EAAE;AACN;AACF,eAAKM,YAAL,CAAkBwwD,qBAAlB,CAAwC9wD,EAAxC,EACC+C,SADD,CACW,UAAAC,MAAM,EAAG;AAClBiX,mBAAO,CAACC,GAAR,CAAYlX,MAAZ;AACA,gFAAU,yEAAYqyB,MAAtB,iCAAmDryB,MAAnD,GAA6D,YAA7D,EAFkB,CAGlB;AACF;AACA;AACA;AACC,WARD;AASC;;;;;;;uBA7UU4tD,kB,EAAkB,2H,EAAA,wI,EAAA,wH,EAAA,4I,EAAA,sI;AAAA,K;;;YAAlBA,kB;AAAkB,oC;AAAA;AAAA;;;;;;;;;;;;;;;;;ACvB/B;;AACI;;AACI;;AACI;;AAAkE;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAAwB,WAAxB;;AAE9D;;AAAyB;;AAAO;;AACpC;;AACA;;AACI;;AACI;;;;AACW;;AACnB;;AACA;;AACI;;AASA;;AAQA;;AACI;;AAA2D;AAAA,mBAAS,IAAA3qD,YAAA,EAAT;AAAuB,WAAvB;;AAEK;;;;AAAwB;;AACxF;;AAA8B;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAAwB,WAAxB;;AACoD;;;;AACnE;;AACnB;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AAIA;;AA4NA;;AAIA;;AAKA;;AAKA;;AAIA;;AAKA;;;;AAxRoB;;AAAA;;AAIiC;;AAAA;;AAS4B;;AAAA;;AAUzD;;AAAA;;AAC4D;;AAAA;;AAEkB;;AAAA;;AAOhG;;AAAA;;AAID;;AAAA;;;;;;;;;;sEDvBQ2qD,kB,EAAkB;cAL9B,uDAK8B;eALpB;AACT1qD,kBAAQ,EAAE,eADD;AAETC,qBAAW,EAAE,4BAFJ;AAGTC,mBAAS,EAAE,CAAC,4BAAD;AAHF,S;AAKoB,Q;;;;;;;;;;;;;;gBA6O5B,uD;iBAAU,U;;;;;;;;;;;;;;;;;;;;AErQb;AAAA;;;AAAA;AAAA;AAAA;;QAAa2qD,U,GAMT,oBAAYlmD,GAAZ,EAA2B;AAAA;;AACvBA,SAAG,GAAGA,GAAG,GAAEA,GAAF,GAAM,EAAf;AACA,WAAK7K,EAAL,GAAU6K,GAAG,CAAC7K,EAAJ,GAAQ6K,GAAG,CAAC7K,EAAZ,GAAe,CAAzB;AACA,WAAKiJ,MAAL,GAAc4B,GAAG,CAAC5B,MAAJ,GAAY4B,GAAG,CAAC5B,MAAhB,GAAuB,EAArC;AACA,WAAK/H,MAAL,GAAc2J,GAAG,CAAC3J,MAAJ,GAAY2J,GAAG,CAAC3J,MAAhB,GAAuB,EAArC;AACA,WAAKkU,KAAL,GAAavK,GAAG,CAACuK,KAAJ,GAAWvK,GAAG,CAACuK,KAAf,GAAqB,EAAlC;AACA,WAAK47C,IAAL,GAAYnmD,GAAG,CAACmmD,IAAJ,GAAUnmD,GAAG,CAACmmD,IAAd,GAAmB,EAA/B;AACH,K;;;;;;;;;;;;;;;;;ACbL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAUaC,Y;AACT,4BAAoBjyD,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAIpB,aAAA+rB,SAAA,GAAkB,CAAE3rB,YAAY,CAACC,OAAb,CAAqB,WAArB,CAApB;AACA,aAAAJ,OAAA,GAAU,yEAAYC,UAAtB;AACC,aAAAC,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AALA;;;;iCAaK;AAEJ,iBAAO,KAAKH,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,0BACoC,KAAK8rB,SADzC,GACqD,KAAKzrB,WAD1D,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCACOZ,E,EAAS;AAEf,iBAAO,KAAKE,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,2BACqCH,EADrC,GAC0C,KAAKQ,WAD/C,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BACMI,O,EAAmB;AAExB,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,0BACqC,KAAK8rB,SAD1C,GACuDjrB,OADvD,EAC+D,KAAKR,WADpE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BAEMI,O,EAAmB;AACxB,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,mBACqCa,OADrC,EAC6C,KAAKR,WADlD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCAEMI,O,EAAmB;AACxB,iBAAO,KAAKd,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,0BACoCa,OAAO,CAACE,EAD5C,GACiD,KAAKV,WADtD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;mCAEUI,O,EAAsB;AAC/B,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,uBACwCgB,IAAI,CAACC,SAAL,CAAeJ,OAAf,CADxC,EACgE,KAAKR,WADrE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;;;;;uBAnDQuxD,Y,EAAY,uH;AAAA,K;;;aAAZA,Y;AAAY,eAAZA,YAAY,K;AAAA,kBAFX;;;;;sEAEDA,Y,EAAY;cAHxB,wDAGwB;eAHb;AACV9wD,oBAAU,EAAE;AADF,S;AAGa,Q;;;;;;;;;;;;;;;;;;;;;;ACTzB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;ACewB;;;;;;AAEI;;;;;;AACJ;;AACkB;;AAAsB;;;;;;AAAtB;;AAAA;;;;;;AAClB;;AAEI;;;;AAAqC;;;;AAArC;;AAAA;;;;;;AAMJ;;;;;;AAEI;;;;;;AACJ;;AACkB;;AAAsB;;;;;;AAAtB;;AAAA;;;;;;AAClB;;AAEI;;;;AAAqC;;;;AAArC;;AAAA;;;;;;AAMJ;;;;;;AAEI;;;;;;AACJ;;AACiB;;AAAqB;;;;;;AAArB;;AAAA;;;;;;AACjB;;AAEI;;;;AAAoC;;;;AAApC;;AAAA;;;;;;AAMJ;;;;;;AAEI;;;;;;AACJ;;AACgB;;AAAoB;;;;;;AAApB;;AAAA;;;;;;AAChB;;AAEI;;;;AAAmC;;;;AAAnC;;AAAA;;;;;;;;AAKJ;;AAE8B;AAAA;;AAAA;;AAAA;AAAA;;AACkC;;;;AACjD;;;;;;AAHX;;AAE4D;;AAAA;;;;;;;;AAEhE;;AAE8B;AAAA;;AAAA;;AAAA;AAAA;;AACkC;;;;AAC/C;;;;;;AAHb;;AAE4D;;AAAA;;;;;;AA0BpE;;AACI;;AAAmB;;AAA4C;;AAC/D;;AACJ;;;;;;;;AAFuB;;AAAA;;;;;;AAF3B;;AACI;;AAIJ;;;;;;AAJS;;AAAA;;;;;;AAKT;;AAEI;;AACI;;AAAqD;;;;AAA2C;;AACpG;;AACA;;AACJ;;;;;;AAH6D;;AAAA;;;;;;;;AAiB7E;;AACI;;AAAG;AAAA;;AAAA;;AAAA,yCAAuB,OAAvB;AAA8B,SAA9B;;AAAgC;;AAAI;;AAC3C;;;;;;;;AAwDoC;;AAEI;;AAAoB;;AACZ;;AAEI;AAAA;;AAAA;;AAAA,sCAAsB,UAAtB;AAAgC,SAAhC;;AAC8D;;;;AAEnD;;AAAS;;AAAI;;AACxC;;;;;;AAHgB;;AAAA;;AAA8D;;AAAA;;;;;;;;AA6C1E;;AAA4D;;AAEpD;AAAA;;AAAA;;AAAA;;AAAA,gDAA4B,CAA5B;AAA6B,SAA7B;;AAAgC;;AAAQ;;AAAI;;;;;;;;AAD5C;;AAAA;;AACgC;;AAAA;;;;;;AAJ5C;;AAEI;;AAGJ;;;;;;AAHwB;;AAAA;;;;;;;;AASpC;;AACI;;AACI;;AACI;;AACgC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AADhC;;AAEA;;AACJ;;AACJ;;AACA;;AAAgB;;AAAwC;;AACxD;;AAAgB;;AAAa;;AAC7B;;AAAgB;;AAAY;;AAC5B;;AAAI;;AAAyC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC0C;;;;AAClE;;AAAS;;AAC9B;;AAAI;;AAAoD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC+B;;;;AAClE;;AAAS;;AAC9B;;AAAI;;AAAmD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC+B;;;;AACjE;;AAAS;;AAClC;;;;;;;;;AAjBgE;;AAAA,8FAAsB,SAAtB,EAAsB,2BAAtB;;AAEhB;;AAAA;;AAG5B;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAER;;AAAA;;AAA+E;;AAAA;;AAG/E;;AAAA;;AAA+E;;AAAA;;AAG/E;;AAAA;;AAA8E;;AAAA;;;;;;;;;;;;;;;;;;;;;;AApIlH;;AACI;;AACI;;AAEI;;AACI;;AACI;;AACI;;AAAqB;AAAA;;AAAA;;AAAA;AAAA,WAAwB,OAAxB,EAAwB;AAAA;;AAAA;;AAAA;AAAA,SAAxB,EAAwB,QAAxB,EAAwB;AAAA;;AAAA;;AAAA;AAAA,SAAxB;;;;AAArB;;AAEJ;;AACJ;;AACJ;;AACJ;;AAEA;;AACI;;AACI;;AACJ;;AACA;;AACI;;AAEI;AAAA;;AAAA;;AAAA;AAAA;;AAAsE;;;;AAC3D;;AAEnB;;AACJ;;AAEJ;;AAGA;;AAEI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AAEI;;AAGI;AAAA;;AAAA;;AAAA;AAAA;;AAHJ;;AAIA;;AAAmC;;AAAM;;AAC7C;;AACJ;;AACA;;AAGI;;AACJ;;AACA;;AAUJ;;AACJ;;AACJ;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,WAA5B;AAAuC,SAAvC;;AACjB;;AAEiF;;AACrF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,WAA5B;AAAuC,SAAvC;;AAEf;;;;AACR;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,YAA5B;AAAwC,SAAxC;;AACjB;;AAEkF;;AACtF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,YAA5B;AAAwC,SAAxC;;AAEf;;;;AACR;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,WAA5B;AAAuC,SAAvC;;AACjB;;AAEiF;;AACrF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,WAA5B;AAAuC,SAAvC;;AAEf;;;;AACR;;AACA;;AACA;;AACI;;AAEI;;AACI;;;;AACJ;;AACA;;AACI;;AAEI;;AACJ;;AACA;;AAMJ;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AAqBJ;;AACA;;AACI;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAEA;;AAEI;;AAA6E;;AAAM;;AAEnF;;AAEI;;AACI;;AACI;;AACwB;AAAA;;AAAA;;AAAA;AAAA,WAAyB,aAAzB,EAAyB;AAAA;;AAAA;;AAAA;AAAA,SAAzB;;AAKxB;;AACJ;;AACJ;;AACJ;;AAEA;;AAA0E;;AAAM;;AAEpF;;AACJ;;;;;;;;;;;;;;AAvK2E;;AAAA;;AAD9B;;AAcM;;AAAA;;AAAuC;;AAAA;;AAsB1C;;AAAA,kHAAsC,eAAtC,EAAsC,0CAAtC;;AAwBwC;;AAAA;;AACvD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAEyD;;AAAA;;AACxD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAEwD;;AAAA;;AACvD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAGJ;;AAAA;;AAIQ;;AAAA;;AAKI;;AAAA;;AAaZ;;AAAA;;AAgDgB;;AAAA,iGAAyB,eAAzB,EAAyB,IAAzB,EAAyB,YAAzB,EAAyB,2BAAzB,EAAyB,cAAzB,EAAyB,oBAAzB,EAAyB,qBAAzB,EAAyB,IAAzB,EAAyB,oBAAzB,EAAyB,IAAzB,EAAyB,wBAAzB,EAAyB,IAAzB,EAAyB,oBAAzB,EAAyB,IAAzB,EAAyB,SAAzB,EAAyB,CAAzB;;;;;;AAoBxC;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AAIA;;;;QDpTS+wD,c;AACX;AACA;AACA;AACA;AACA,8BAAoB7wD,WAApB,EAAsDC,YAAtD,EAA0FC,QAA1F,EACUC,aADV,EACuDC,SADvD,EACoF;AAAA;;AADhE,aAAAJ,WAAA,GAAAA,WAAA;AAAkC,aAAAC,YAAA,GAAAA,YAAA;AAAoC,aAAAC,QAAA,GAAAA,QAAA;AAChF,aAAAC,aAAA,GAAAA,aAAA;AAA6C,aAAAC,SAAA,GAAAA,SAAA;AAEvD,aAAAE,aAAA,GAAqB,OAArB;AAEA,aAAAC,eAAA,GAA0B,OAA1B;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,cAAA,GAAiB,CAAC,QAAD,EAAW,QAAX,EAAqB,OAArB,EAA8B,MAA9B,CAAjB;AAEA,aAAAC,WAAA,GAA0B,IAAI,sDAAJ,EAA1B;AACA,aAAAC,MAAA,GAAwB,EAAxB,CAVoF,CAWpF;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,aAAAC,QAAA,GAAsB,IAAI,wDAAJ,CAAc;AAClCjB,YAAE,EAAE,IAAI,0DAAJ,EAD8B;AAElCkB,gBAAM,EAAE,IAAI,0DAAJ,EAF0B;AAGlC+H,gBAAM,EAAE,IAAI,0DAAJ,EAH0B;AAIlCmM,eAAK,EAAE,IAAI,0DAAJ,EAJ2B;AAKlC47C,cAAI,EAAE,IAAI,0DAAJ;AAL4B,SAAd,CAAtB;AAqJA,aAAA5vD,eAAA,GAA0B,EAA1B;AACA,aAAAC,aAAA,GAAwB,EAAxB,CAxKoF,CA2KpF;;AACA,aAAAC,YAAA,sBAAmB,KAAKN,MAAxB;AACA,aAAAO,UAAA,sBAAiB,KAAKD,YAAtB;AACA,aAAAE,aAAA,sBAAoB,KAAKF,YAAzB;AACA,aAAAG,MAAA,GAAiB,KAAKT,MAAL,CAAYU,MAAZ,GAAqB,CAAtC;AAEA,aAAAC,YAAA,GAAoB,KAApB;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,kBAAA,GAAqB,CAAC,CAAD,EAAI,EAAJ,EAAQ,EAAR,CAArB;AACA,aAAAC,QAAA,GAAW,EAAX;AACA,aAAAC,cAAA,GAAiB,EAAjB;AAEA,aAAAC,QAAA,GAAoB,IAApB;AAEA,aAAAC,WAAA,GAAc,CAAd;AACA,aAAAC,SAAA,GAAY,CAAZ;AAGA,aAAAC,YAAA,GAAe,IAAI,sFAAJ,EAAf;AACA,aAAAC,UAAA,GAAa,IAAI,kFAAJ,EAAb;AACA,aAAAC,aAAA,GAAgB,IAAI,wFAAJ,EAAhB;AAqJA,aAAAC,YAAA,GAA6B,EAA7B;AAcA,aAAAC,UAAA,GAAkB,EAAlB;AAlWC;;;;mCAyBO;AACN0X,iBAAO,CAACC,GAAR,CAAY,OAAZ;AACAD,iBAAO,CAACC,GAAR,CAAY,KAAKnZ,WAAjB;AAGA,eAAKyB,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACA,eAAKoD,SAAL,GAAiB;AAAEC,iBAAK,EAAE,WAAT;AAAsBC,oBAAQ,EAAE,KAAKH,IAAL,KAAc,OAAd,GAAwB,QAAxB,GAAmC;AAAnE,WAAjB;AACA,eAAK3B,YAAL,GAAoB,CAClB;AAAE6B,iBAAK,EAAE,WAAT;AAAsBC,oBAAQ,EAAE,KAAKH,IAAL,KAAc,OAAd,GAAwB,QAAxB,GAAmC;AAAnE,WADkB,EAElB;AAAEE,iBAAK,EAAE,YAAT;AAAuBC,oBAAQ,EAAE;AAAjC,WAFkB,EAGlB;AAAED,iBAAK,EAAE,WAAT;AAAsBC,oBAAQ,EAAE;AAAhC,WAHkB,CAApB;AAKA,eAAKC,QAAL;AACAqX,iBAAO,CAACC,GAAR,CAAY,KAAKlZ,MAAjB,EAbM,CAcN;AACD;;;qCAES;AACR,iBAAO,KAAKX,WAAL,CAAiB6G,KAAjB,CAAuB;AAC5BlH,cAAE,EAAE,CAAC,KAAKe,WAAL,CAAiBf,EAAjB,IAAuB,CAAvB,GAA2B,KAAKe,WAAL,CAAiBf,EAA5C,GAAiD,CAAlD,CADwB;AAE5BkB,kBAAM,EAAE,CAAC,KAAKH,WAAL,CAAiBG,MAAlB,EAA0B,0DAAW0N,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWE,SAAX,CAAqB,CAArB,CAAtB,CAAnB,CAA1B,CAFoB;AAG5B9F,kBAAM,EAAE,CAAC,KAAKlI,WAAL,CAAiBkI,MAAlB,EAA0B,0DAAW2F,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWC,OAAX,CAAmB,4CAAnB,CAAtB,CAAnB,CAA1B,CAHoB;AAI5BsG,iBAAK,EAAE,CAAC,KAAKrU,WAAL,CAAiBqU,KAAlB,EAAyB,0DAAWxG,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWsiD,KAAjC,CAAnB,CAAzB,CAJqB;AAK5BH,gBAAI,EAAE,CAAC,KAAKjwD,WAAL,CAAiBiwD,IAAlB,EAAwB,0DAAWpiD,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWE,SAAX,CAAqB,CAArB,CAAtB,CAAnB,CAAxB;AALsB,WAAvB,CAAP;AAOD;;;oCAEW;AACV;AACA,eAAK1N,aAAL,GAAqB,SAArB;AAEA,eAAKN,WAAL,GAAmB,IAAI,sDAAJ,EAAnB;AACA,eAAKA,WAAL,CAAiBf,EAAjB,GAAsB,CAAtB;AACA,eAAKe,WAAL,CAAiBG,MAAjB,GAA0B,KAAKD,QAAL,CAAc6H,WAAd,GAA4B5H,MAAtD;AACA,eAAKH,WAAL,CAAiBkI,MAAjB,GAA0B,KAAKhI,QAAL,CAAc6H,WAAd,GAA4BG,MAAtD;AACA,eAAKlI,WAAL,CAAiBqU,KAAjB,GAAyB,KAAKnU,QAAL,CAAc6H,WAAd,GAA4BsM,KAArD;AACA,eAAKrU,WAAL,CAAiBiwD,IAAjB,GAAwB,KAAK/vD,QAAL,CAAc6H,WAAd,GAA4BkoD,IAApD;AAGA,eAAK/hD,gBAAL;AACD;;;2CAEe;AAAA;;AACd,eAAK3O,YAAL,CAAkBgJ,MAAlB,CAAyB,KAAKvI,WAA9B,EAA2CgC,SAA3C,CAAqD,UAAAC,MAAM,EAAI;AAC7D,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAACJ,QAAL;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAACkE,YAAL,CAAkB,QAAI,CAAC9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,mBAAvB,CAArD;;AACA,sBAAI,CAACkK,UAAL,CAAgB7H,IAAhB;AACD,aALD,MAMK;AACH,sBAAI,CAACtC,UAAL,CAAgB,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAAhB,EAAiD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,WAAvB,CAAjD;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAXD;AAYD;;;qCAEY;AACX,eAAKa,SAAL,GAAiB,KAAKD,WAAtB;AACA,eAAKZ,aAAL,GAAqB,SAArB;AAEA,cAAI+N,OAAO,GAAG,IAAI,sDAAJ,CAAe;AAC3BpP,cAAE,EAAE,KAAKe,WAAL,CAAiBf,EADM;AAE3BkB,kBAAM,EAAE,KAAKD,QAAL,CAAc6H,WAAd,GAA4B5H,MAFT;AAG3B+H,kBAAM,EAAE,KAAKhI,QAAL,CAAc6H,WAAd,GAA4BG,MAHT;AAI3BmM,iBAAK,EAAE,KAAKnU,QAAL,CAAc6H,WAAd,GAA4BsM,KAJR;AAK3B47C,gBAAI,EAAE,KAAK/vD,QAAL,CAAc6H,WAAd,GAA4BkoD;AALP,WAAf,CAAd;;AAQA,cAAG5hD,OAAO,IAAI,KAAKrO,WAAnB,EAA+B;AAC7B,iBAAKsO,iBAAL,CAAuBD,OAAvB;AACD,WAFD,MAGI;AACF,iBAAK/B,UAAL,CAAgB7H,IAAhB;AACD;AACF;;;0CAEiB8J,M,EAAM;AAAA;;AAEtB,eAAKhP,YAAL,CAAkBiJ,MAAlB,CAAyB+F,MAAzB,EAAiCvM,SAAjC,CAA2C,UAAAC,MAAM,EAAI;AACnD,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAACJ,QAAL;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAACkE,YAAL,CAAkB,QAAI,CAAC9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,oBAAvB,CAArD;;AAEA,sBAAI,CAACkK,UAAL,CAAgB7H,IAAhB;AACD,aAND,MAOK;AACH,sBAAI,CAACtC,UAAL,CAAgB,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAAhB,EAAiD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,YAAvB,CAAjD;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAZD;AAaD,S,CAED;AACA;AACA;;;;uCACe;AACb,eAAKa,SAAL,GAAiB,KAAKD,WAAtB,CADa,CAEb;;AACA,eAAKZ,aAAL,GAAqB,SAArB;AACA,eAAKwB,mBAAL;AACD,S,CAED;;;;8CACmB;AAAA;;AACjB,eAAKvC,YAAL,CAAkBwC,UAAlB,CAA6B,KAAKR,YAAlC,EAAgDS,SAAhD,CAA0D,UAAAC,MAAM,EAAI;AAClE,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAACJ,QAAL;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAAC4B,gBAAL;AACD,aAJD,MAKK;AACH,sBAAI,CAACC,UAAL,CAAgB,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAAhB,EAAiD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,cAAvB,CAAjD;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAVD;AAWD;;;mCAmDU;AAAA;;AACT,eAAKA,aAAL,GAAqB,SAArB;AACA,eAAKf,YAAL,CAAkB8C,MAAlB,GAA2BL,SAA3B,CACE,UAAAM,IAAI,EAAI;AACN4W,mBAAO,CAACC,GAAR,CAAY,OAAZ;AACAD,mBAAO,CAACC,GAAR,CAAY7W,IAAZ;AAEA,oBAAI,CAACrC,MAAL,GAAcqC,IAAd;;AACA,oBAAI,CAACC,QAAL;;AACA,oBAAI,CAACC,UAAL;;AACA,oBAAI,CAAClC,aAAL,GAAqB,EAArB;AACD,WATH;AAYD;;;mCAEU;AACT,eAAKE,UAAL,GAAkB,KAAKa,UAAL,CAAgBkB,QAAhB,CAAyB,KAAKb,SAAL,CAAeE,QAAxC,EAAkD,KAAK3B,MAAvD,CAAlB;AACA,eAAKwC,UAAL;AACD;;;0CAEiB;AAChB,eAAKtB,SAAL,GAAiB,KAAKD,WAAtB;AACA,eAAKV,UAAL,GAAkB,KAAKA,UAAL,CAAgBkC,KAAhB,GAAwBC,OAAxB,EAAlB;AACA,eAAKF,UAAL;AACD;;;qCAEY;AACX,eAAKlC,YAAL,GAAoB,KAAKa,YAAL,CAAkBqB,UAAlB,CAA6B,KAAKjB,UAAlC,EAA8C,KAAKzB,cAAnD,EAAmE,KAAKS,UAAxE,CAApB;;AACA,cAAI,KAAKW,SAAL,KAAmB,CAAvB,EAA0B;AACxB,iBAAKyB,YAAL,CAAkB,KAAK/B,YAAvB,EAAqC,CAArC;AACD,WAFD,MAGK;AACH,iBAAK+B,YAAL,CAAkB,KAAK/B,YAAvB,EACEgC,IAAI,CAACC,IAAL,CAAW,KAAKvC,YAAL,CAAkBI,MAAlB,GAA2B,KAAKE,YAA3C,KAA6D,KAAKM,SAAlE,GACE,KAAKA,SADP,GAEE0B,IAAI,CAACC,IAAL,CAAW,KAAKvC,YAAL,CAAkBI,MAAlB,GAA2B,KAAKE,YAA3C,CAHJ;AAKD;;AACD,eAAKM,SAAL,GAAiB,CAAjB;AACD;;;qCAEY4B,e,EAAyBC,c,EAAwB;AAC5D,eAAKnC,YAAL,GAAoBkC,eAApB;AACA,eAAK7B,WAAL,GAAmB8B,cAAnB;AACA,eAAKvC,aAAL,GAAqB,KAAKF,YAAL,CAAkBmC,KAAlB,CAAwB,CAACM,cAAc,GAAG,CAAlB,IAAwBD,eAAhD,EAAmEA,eAAe,GAAGC,cAArF,CAArB;AACD;;;mCAEUC,O,EAAc;AACvB,cAAI,KAAKvB,SAAL,CAAeC,KAAf,KAAyBsB,OAAO,CAACtB,KAArC,EAA4C;AAC1C,iBAAKV,QAAL,GAAgB,CAAC,KAAKA,QAAtB;AACA,gBAAMiC,OAAO,GAAG,KAAKhC,WAArB;AACA,iBAAKiC,eAAL;AACA,iBAAKjC,WAAL,GAAmBgC,OAAnB;AACD,WALD,MAMK;AACH,iBAAKjC,QAAL,GAAgB,IAAhB;AACA,iBAAKS,SAAL,GAAiBuB,OAAjB;AACA,iBAAKV,QAAL;AACD;AACF;;;gCAEOZ,K,EAAY;AAClB,iBAAO,KAAK7B,YAAL,CAAkBsD,IAAlB,CAAuB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC1B,KAAF,KAAYA,KAAhB;AAAA,WAAxB,CAAP;AACD;;;mCAEU2B,K,EAAuB;AAChC,eAAKpC,WAAL,GAAmBoC,KAAK,CAACC,IAAzB;AACA,eAAKX,YAAL,CAAkB,KAAK/B,YAAvB,EAAqC,KAAKK,WAA1C;AACD;;;uCAEc;AACb,eAAKK,YAAL,GAAoB,EAApB;AACA,eAAKR,QAAL,GAAgB,EAAhB;AACA,eAAKC,cAAL,GAAsB,EAAtB;AACA,eAAKyB,UAAL;AACD;;;kCAESe,M,EAAM;AACd,cAAIA,MAAM,CAACC,MAAP,CAAcC,OAAlB,EAA2B;AACzB,iBAAK3C,QAAL,sBAAoB,KAAKR,YAAzB;AACD,WAFD,MAEO;AACL,iBAAKQ,QAAL,GAAgB,EAAhB;AACD;;AACD,eAAK4C,iBAAL;AACD;;;4CAEgB;AACf,cAAI,KAAK5C,QAAL,CAAcJ,MAAd,IAAwB,KAAKJ,YAAL,CAAkBI,MAA9C,EAAsD;AACpD,iBAAKK,cAAL,GAAsB,SAAtB;AACD,WAFD,MAEO,IAAI,KAAKD,QAAL,CAAcJ,MAAd,KAAyB,CAA7B,EAAgC;AACrC,iBAAKK,cAAL,GAAsB,eAAtB;AACD,WAFM,MAEC;AACN,iBAAKA,cAAL,GAAsB,EAAtB;AACD;AACF;;;mCAEU4C,C,EAAa;AACtB,iBAAO,KAAK7C,QAAL,CAAc8C,SAAd,CAAwB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC7E,EAAF,KAAS2E,CAAC,CAAC3E,EAAf;AAAA,WAAzB,IAA8C,CAAC,CAAtD;AACD;;;iCAEQ8E,I,EAAgB;AACvB,cAAI,KAAKC,UAAL,CAAgBD,IAAhB,CAAJ,EAA2B;AACzB,iBAAKhD,QAAL,GAAgB,KAAKA,QAAL,CAAckD,MAAd,CAAqB,UAAAH,CAAC;AAAA,qBAAIA,CAAC,CAAC7E,EAAF,KAAS8E,IAAI,CAAC9E,EAAlB;AAAA,aAAtB,CAAhB;AACD,WAFD,MAEO;AACL,iBAAK8B,QAAL,CAAcmD,IAAd,CAAmBH,IAAnB;AACD;;AACD,eAAKJ,iBAAL;AACD;;;mCAEUQ,I,EAAWxG,I,EAAS;AAC7B,iBAAOwG,IAAI,CAACf,IAAL,CAAU,UAAAU,CAAC;AAAA,mBAAIA,CAAC,CAACM,IAAF,KAAWzG,IAAf;AAAA,WAAX,CAAP;AACD;;;6CAIiB;AAChB,eAAK0C,eAAL,GAAuB,KAAvB;AACA,eAAKL,WAAL,GAAmB,IAAI,sDAAJ,EAAnB;AACA,eAAKE,QAAL,GAAgB,KAAK2H,UAAL,EAAhB;AACA,eAAKyE,UAAL,CAAgB/H,IAAhB;AACD;;;yCAEgBtF,E,EAAO;AAAA;;AACtBia,iBAAO,CAACC,GAAR,CAAY,cAAZ;AACAD,iBAAO,CAACC,GAAR,CAAY,KAAKnZ,WAAjB;AACAkZ,iBAAO,CAACC,GAAR,CAAY,KAAKlZ,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAACpE,EAAF,KAAS,CAAb;AAAA,WAAlB,CAAZ;AAEA,eAAKoB,eAAL,GAAuB,MAAvB;AACA,eAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,WAAlB,CAAnB;AACA,0DAAG,KAAKe,WAAR,EAAqBgC,SAArB,CAA+B,UAAAM,IAAI,EAAI;AACrC,oBAAI,CAACtC,WAAL,GAAmBsC,IAAnB;AACD,WAFD;AAGA,eAAKpC,QAAL,GAAgB,KAAK2H,UAAL,EAAhB;AACA,eAAKyE,UAAL,CAAgB/H,IAAhB;AACD;;;yCAEgBtF,E,EAAO;AAAA;;AACtB,eAAKoB,eAAL,GAAuB,MAAvB;AACA,eAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,WAAlB,CAAnB;AACA,0DAAG,KAAKe,WAAR,EAAqBgC,SAArB,CAA+B,UAAAM,IAAI,EAAI;AACrC,oBAAI,CAACtC,WAAL,GAAmBsC,IAAnB;AACD,WAFD;AAGA,eAAKpC,QAAL,GAAgB,KAAK2H,UAAL,EAAhB;AACA,eAAKyE,UAAL,CAAgB/H,IAAhB;AACD;;;qCAGYtF,E,EAAO;AAClB,cAAIA,EAAE,IAAI,CAAV,EAAa;AACX,iBAAKoB,eAAL,GAAuB,KAAvB;AACA,iBAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,aAAlB,CAAnB;AACA,iBAAKsC,YAAL,GAAoB,CAAC,KAAKtB,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,aAAlB,CAAD,CAApB;AACA,iBAAKqF,QAAL,CAAcC,IAAd;AACD,WALD,MAMK,IAAItF,EAAE,KAAK,UAAX,EAAuB;AAC1B,iBAAKsC,YAAL,sBAAwB,KAAKR,QAA7B;AACA,iBAAKuD,QAAL,CAAcC,IAAd;AACD;AACF;;;2CAKe;AACd,cAAI,KAAKhD,YAAL,CAAkBZ,MAAlB,KAA6B,CAAjC,EAAoC;AAClC,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,QAAQ,KAAKvC,eAApC,CADF;AAED,WAHD,MAIK,IAAI,KAAK0B,YAAL,CAAkBZ,MAAlB,KAA6B,CAAjC,EAAoC;AACvC,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,QAAQ,KAAKvC,eAAb,GAA+B,GAAtD,CADF;AAED,WAHI,MAIA,IAAI,KAAK0B,YAAL,CAAkBZ,MAAlB,GAA2B,CAA3B,IAAgC,KAAKY,YAAL,CAAkBZ,MAAlB,GAA2B,EAA/D,EAAmE;AACtE,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAKb,YAAL,CAAkBZ,MADiC,GACxB,GADwB,GAClB,KAAKjB,SAAL,CAAe0C,OAAf,CAAuB,KAAKvC,eAAL,GAAuB,UAA9C,CADnC;AAED,WAHI,MAIA;AACH,iBAAK2E,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAKb,YAAL,CAAkBZ,MADiC,GACxB,GADwB,GAClB,KAAKjB,SAAL,CAAe0C,OAAf,CAAuB,KAAKvC,eAAL,GAAuB,MAA9C,CADnC;AAED;;AAED,eAAK0B,YAAL,GAAoB,EAApB;AACA,eAAKR,QAAL,GAAgB,EAAhB;AAEA,eAAK4C,iBAAL;;AACA,cAAI,KAAK3C,cAAL,KAAwB,EAA5B,EAAgC;AAC9B,iBAAKJ,YAAL,GAAoB,KAApB;AACD;;AACD,eAAK0D,QAAL,CAAcG,IAAd;AACD;;;qCAEYC,W,EAAqBC,S,EAAiB;AACjD,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBE,OADnB,EAC4B;AAAEC,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD5B;AAED;;;mCACUL,W,EAAqBC,S,EAAiB;AAC/C,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBjH,KADnB,EAC0B;AAAEoH,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD1B;AAED;;;8CACqB;AACpB,eAAKlD,QAAL;AACA,eAAKyC,QAAL,CAAcG,IAAd;AACD;;;sCAEa;AAAA;;AACZ,eAAKlF,YAAL,CAAkB8C,MAAlB,GAA2BL,SAA3B,CACE,UAAAM,IAAI,EAAI;AACN,oBAAI,CAACrC,MAAL,GAAcqC,IAAd;;AACA,oBAAI,CAACE,UAAL;AACD,WAJH;AAMD;;;qCAEY;AAAA;;AACX,cAAMwC,UAAU,GAAG,KAAKxD,UAAxB;AACA,eAAKA,UAAL,GAAkB,EAAlB;AACAyD,oBAAU,CAAC,YAAM;AACf,oBAAI,CAACzD,UAAL,GAAkBwD,UAAlB;AACD,WAFS,EAEP,CAFO,CAAV;AAGD;;;;;;;uBApaUmrD,c,EAAc,2H,EAAA,2H,EAAA,wH,EAAA,4I,EAAA,qI;AAAA,K;;;YAAdA,c;AAAc,gC;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;ACjB3B;;AACI;;AACI;;AACI;;AAAkE;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAA0B,WAA1B;;AAE9D;;AAAyB;;AAAO;;AACpC;;AACA;;AACI;;AACI;;;;AAA+C;;AACvD;;AACA;;AACI;;AACI;;AACI;;AAAqC;;;;AAA6B;;AAClE;;AAGA;;AAEA;;AAGA;;AACJ;;AAEA;;AACI;;AAAqC;;;;AAA6B;;AAClE;;AAGA;;AAEA;;AAGA;;AACJ;;AAEA;;AACI;;AAAqC;;;;AAA4B;;AACjE;;AAGA;;AAEA;;AAGA;;AACJ;;AAEA;;AACI;;AAAqC;;;;AAA2B;;AAChE;;AAGA;;AAEA;;AAGA;;AACJ;;AAEA;;AACI;;AAKA;;AAKA;;AAA8B;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAA0B,WAA1B;;AACoD;;;;AACnE;;AACnB;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAEA;;AACI;;AACI;;AACI;;AAAkE;AAAA;;AAAA;;AAAA,mBAAS,WAAT;AAAwB,WAAxB;;AAE9D;;AAAyB;;AAAO;;AACpC;;AACA;;AACI;;AACI;;;;AACW;;AACnB;;AACA;;AACI;;AAMA;;AAQA;;AACI;;AAA2D;AAAA,mBAAS,IAAAjrD,YAAA,EAAT;AAAuB,WAAvB;;AAEK;;;;AAAwB;;AACxF;;AAA8B;AAAA;;AAAA;;AAAA,mBAAS,WAAT;AAAwB,WAAxB;;AACoD;;;;AACnE;;AACnB;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AAIA;;AAiLA;;AAIA;;AAKA;;AAKA;;AAIA;;AAKA;;;;AAhUoB;;AAAA;;AAG0C;;AAAA;;AAED;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAMiC;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAMiC;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAMiC;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAMI;;AAAA;;AAKA;;AAAA;;AAM0E;;AAAA;;AAkBtF;;AAAA;;AAIiC;;AAAA;;AAM4B;;AAAA;;AAUzD;;AAAA;;AAC4D;;AAAA;;AAEkB;;AAAA;;AAOhG;;AAAA;;AAID;;AAAA;;;;;;;;;;sEDhHQirD,c,EAAc;cAL1B,uDAK0B;eALhB;AACThrD,kBAAQ,EAAE,WADD;AAETC,qBAAW,EAAE,wBAFJ;AAGTC,mBAAS,EAAE,CAAC,wBAAD;AAHF,S;AAKgB,Q;;;;;;;;;;;;;;gBA0TxB,uD;iBAAU,Y;;;gBACV,uD;iBAAU,U;;;;;;;;;;;;;;;;;;;;AE7Ub;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACWoB;;AAAgE;;AAAe;;;;;;AAAjC;;AAAkB;;AAAA;;;;;;AAMhE;;AAA2D;;AAAe;;;;;;AAAjC;;AAAkB;;AAAA;;;;;;AAO3D;;AAA6D;;AAAe;;;;;;AAAjC;;AAAkB;;AAAA;;;;;;;;AA2DzE;;AACI;;AAA8C;AAAA;;AAAA;;AAAA;AAAA;;AAAsD;;;;AAA6B;;AAAS;;AAE9I;;;;;;AAFsE;;AAAA;;AAAkC;;AAAA;;AAAsC;;AAAA;;;;;;AAlFtJ;;AACI;;AACI;;AACA;;AAAI;;;;AAAiD;;AACrD;;AACA;;AACI;;AACI;;AAAwB;;;;AAAgC;;AACxD;;AACI;;AACJ;;AACJ;;AACA;;AACI;;AAAwB;;;;AAA2B;;AACnD;;AACI;;AAEJ;;AACJ;;AACA;;AACI;;AAAwB;;;;AAA6B;;AACrD;;AACI;;AAEJ;;AACJ;;AACJ;;AACA;;AAEA;;AACI;;AACI;;AAAO;;;;AAAwB;;AAC/B;;AACJ;;AACA;;AACZ;;AACA;;AACgB;;AACI;;AACI;;AAEA;;AACiC;;;;AAAiC;;AACtE;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AACI;;AAAO;;;;AAA0B;;AACjC;;AACJ;;AACA;;AACI;;AAAO;;;;AAA0B;;AACjC;;AACJ;;AACJ;;AACA;;AACI;;AACI;;AAAO;;;;AAAyB;;AAChC;;AACJ;;AACA;;AACI;;AAAO;;;;AAA0B;;AACjC;;AACJ;;AAEJ;;AACA;;AACI;;AACI;;AAAO;;;;AAA8B;;AACrC;;AAEJ;;AACA;;AACI;;AAAO;;;;AAA8B;;AACrC;;AAEJ;;AACJ;;AACA;;AACA;;AAIJ;;AAOJ;;;;;;AA5FM;;AAGM;;AAAA;;AAI4B;;AAAA;;AAEZ;;AAAA;;AAIY;;AAAA;;AAEZ;;AAAA;;AAKY;;AAAA;;AAEZ;;AAAA;;AASL;;AAAA;;AAWkC;;AAAA;;AAOlC;;AAAA;;AAIA;;AAAA;;AAMA;;AAAA;;AAIA;;AAAA;;AAOA;;AAAA;;AAKA;;AAAA;;AAMV;;AAAA;;;;QD7DAgrD,gC;AAYT,gDAAoBld,cAApB,EAA4D5zC,YAA5D,EAAyGE,aAAzG,EAAsJC,SAAtJ,EAAmL4wD,cAAnL,EAAgNC,sBAAhN,EAA6PC,gBAA7P,EAAmSC,YAAnS,EAAyU;AAAA;;AAAA;;AAArT,aAAAtd,cAAA,GAAAA,cAAA;AAAwC,aAAA5zC,YAAA,GAAAA,YAAA;AAA6C,aAAAE,aAAA,GAAAA,aAAA;AAA6C,aAAAC,SAAA,GAAAA,SAAA;AAA6I,aAAA+wD,YAAA,GAAAA,YAAA;AAXnS,aAAAC,gBAAA,GAA0B,EAA1B;AACA,aAAAC,WAAA,GAA8B,EAA9B;AACA,aAAAC,aAAA,GAAkC,EAAlC;AAKA,aAAAC,YAAA,GAAsC,EAAtC;AAEA,aAAAC,WAAA,GAAsB,EAAtB;AAGI,aAAK3d,cAAL,CAAoBO,MAApB,CAA2B1xC,SAA3B,CAAqC,UAAC0xC,MAAD,EAAoB;AACrD,kBAAI,CAACqd,UAAL,GAAkBrd,MAAM,CAAC,OAAD,CAAxB;AACA,kBAAI,CAAChP,MAAL,GAAc,CAACgP,MAAM,CAAC,IAAD,CAArB;AACH,SAHD;AAIA4c,sBAAc,CAACjuD,MAAf,GAAwBL,SAAxB,CACI,UAAA+B,IAAI,EAAI;AACJ,kBAAI,CAAC6sD,aAAL,GAAqB7sD,IAArB;AACH,SAHL;AAKAwsD,8BAAsB,CAACluD,MAAvB,GAAgCL,SAAhC,CACI,UAAA+B,IAAI,EAAI;AACJ,kBAAI,CAAC2sD,gBAAL,GAAwB3sD,IAAxB;AACH,SAHL;AAKAysD,wBAAgB,CAACnuD,MAAjB,GAA0BL,SAA1B,CACI,UAAA+B,IAAI,EAAI;AACJ,kBAAI,CAAC4sD,WAAL,GAAmB5sD,IAAnB;AACH,SAHL;AAKH;;;;mCACU;AAAA;;AACP,cAAI,KAAKgtD,UAAL,IAAmB,KAAvB,EAA8B;AAC1B,iBAAKD,WAAL,GAAmB,aAAnB;AACH,WAFD,MAEO;AACH,iBAAKA,WAAL,GAAmB,QAAnB;AACH;;AACD,cAAI,KAAKC,UAAL,IAAmB,KAAvB,EAA8B;AAC1B,iBAAKxxD,YAAL,CAAkB8C,MAAlB,GAA2BL,SAA3B,CACI,UAAAM,IAAI,EAAI;AACJ,sBAAI,CAACuuD,YAAL,GAAoBvuD,IAApB;;AACA,kBAAIoL,KAAK,GAAG,QAAI,CAACmjD,YAAL,CAAkBhtD,SAAlB,CAA4B,UAAA6J,KAAK;AAAA,uBAAIA,KAAK,CAACzO,EAAN,IAAY,CAAC,QAAI,CAACylC,MAAtB;AAAA,eAAjC,CAAZ;;AACA,kBAAIh3B,KAAK,GAAG,CAAC,CAAb,EAAgB;AACZ,wBAAI,CAACsjD,YAAL,GAAoB,QAAI,CAACH,YAAL,CAAkB,CAACnjD,KAAnB,CAApB;;AACA,wBAAI,CAACujD,QAAL;AACH;AACJ,aARL;AAUH,WAXD,MAWO;AACH,iBAAKA,QAAL;AACH;AACJ;;;mCACU;AACP,kBAAQ,KAAKF,UAAb;AACI,iBAAK,MAAL;AAAa;AACT,qBAAKG,QAAL;AACA;AACH;;AACD,iBAAK,MAAL;AAAa;AACT,qBAAKC,QAAL;AACA;AACH;;AACD;AAAS;AACL,qBAAKC,OAAL;AACA;AACH;AAZL;AAcH;;;kCACS;AACN,eAAKC,YAAL,GAAoB,IAAI,wDAAJ,CAAc;AAC9BC,2BAAe,EAAE,IAAI,0DAAJ,CAAgB,IAAhB,EAAsB,0DAAWxjD,QAAjC,CADa;AAE9ByjD,2BAAe,EAAE,IAAI,0DAAJ,CAAgB,IAAhB,EAAsB,0DAAWzjD,QAAjC,CAFa;AAG9B0jD,6BAAiB,EAAE,IAAI,0DAAJ,CAAgB,IAAhB,EAAsB,0DAAW1jD,QAAjC,CAHW;AAI9B2jD,0BAAc,EAAE,IAAI,0DAAJ,CAAgB,IAAhB,EAAsB,0DAAW3jD,QAAjC,CAJc;AAK9B4jD,6BAAiB,EAAE,IAAI,0DAAJ,CAAgB,KAAhB,CALW;AAM9BC,kCAAsB,EAAE,IAAI,0DAAJ,CAAgB,IAAhB,EAAsB,0DAAW7jD,QAAjC,CANM;AAO9B8jD,kCAAsB,EAAE,IAAI,0DAAJ,CAAgB,IAAhB,EAAsB,0DAAW9jD,QAAjC,CAPM;AAQ9B+jD,yBAAa,EAAE,IAAI,0DAAJ,CAAgB,IAAhB,EAAsB,0DAAW/jD,QAAjC,CARe;AAS9BgkD,gCAAoB,EAAE,IAAI,0DAAJ,CAAgB,IAAhB,EAAsB,0DAAWhkD,QAAjC,CATQ;AAU9BikD,2BAAe,EAAE,IAAI,0DAAJ,CAAgB,IAAhB,EAAsB,0DAAWjkD,QAAjC,CAVa;AAW9BkkD,6BAAiB,EAAE,IAAI,0DAAJ,CAAgB,IAAhB,EAAsB,0DAAWlkD,QAAjC;AAXW,WAAd,CAApB;AAaH;;;mCAEU;AACP,cAAMmkD,QAAQ,GAAa,IAAI,wDAAJ,CAAa,OAAb,CAA3B;AACA,cAAIC,aAAa,GAAGD,QAAQ,CAACpd,SAAT,CAAmB,KAAKmc,YAAL,CAAkB1qD,IAArC,EAA2C,YAA3C,CAApB;AACA,eAAK+qD,YAAL,GAAoB,IAAI,wDAAJ,CAAc;AAC9BC,2BAAe,EAAE,IAAI,0DAAJ,CAAgB,KAAKN,YAAL,CAAkB9oD,MAAlC,EAA0C,0DAAW4F,QAArD,CADa;AAE9ByjD,2BAAe,EAAE,IAAI,0DAAJ,CAAgB,KAAKP,YAAL,CAAkB7wD,MAAlC,EAA0C,0DAAW2N,QAArD,CAFa;AAG9B0jD,6BAAiB,EAAE,IAAI,0DAAJ,CAAgB,KAAKR,YAAL,CAAkBv6B,QAAlC,EAA4C,0DAAW3oB,QAAvD,CAHW;AAI9B2jD,0BAAc,EAAE,IAAI,0DAAJ,CAAgB,KAAKT,YAAL,CAAkBx6B,SAAlC,EAA6C,0DAAW1oB,QAAxD,CAJc;AAK9B4jD,6BAAiB,EAAE,IAAI,0DAAJ,CAAgB,KAAKV,YAAL,CAAkBmB,iBAAlC,CALW;AAM9BR,kCAAsB,EAAE,IAAI,0DAAJ,CAAgB,KAAKX,YAAL,CAAkBoB,aAAlC,EAAiD,0DAAWtkD,QAA5D,CANM;AAO9B8jD,kCAAsB,EAAE,IAAI,0DAAJ,CAAgB,KAAKZ,YAAL,CAAkBqB,aAAlC,EAAiD,0DAAWvkD,QAA5D,CAPM;AAQ9B+jD,yBAAa,EAAE,IAAI,0DAAJ,CAAgBK,aAAhB,EAA+B,0DAAWpkD,QAA1C,CARe;AAS9BgkD,gCAAoB,EAAE,IAAI,0DAAJ,CAAgB,KAAKd,YAAL,CAAkBl1B,UAAlC,EAA8C,0DAAWhuB,QAAzD,CATQ;AAU9BikD,2BAAe,EAAE,IAAI,0DAAJ,CAAgB,KAAKf,YAAL,CAAkBzqD,SAAlC,EAA6C,0DAAWuH,QAAxD,CAVa;AAW9BkkD,6BAAiB,EAAE,IAAI,0DAAJ,CAAgB,KAAKhB,YAAL,CAAkBxD,UAAlC,EAA8C,0DAAW1/C,QAAzD;AAXW,WAAd,CAApB;AAaH;;;mCAEU;AACP,cAAMmkD,QAAQ,GAAa,IAAI,wDAAJ,CAAa,OAAb,CAA3B;AACA,cAAIC,aAAa,GAAGD,QAAQ,CAACpd,SAAT,CAAmB,KAAKmc,YAAL,CAAkB1qD,IAArC,EAA2C,YAA3C,CAApB;AACA,eAAK+qD,YAAL,GAAoB,IAAI,wDAAJ,CAAc;AAC9BC,2BAAe,EAAE,IAAI,0DAAJ,CAAgB;AAAElqD,mBAAK,EAAE,KAAK4pD,YAAL,CAAkB9oD,MAA3B;AAAmCoqD,sBAAQ,EAAE;AAA7C,aAAhB,CADa;AAE9Bf,2BAAe,EAAE,IAAI,0DAAJ,CAAgB;AAAEnqD,mBAAK,EAAE,KAAK4pD,YAAL,CAAkB7wD,MAA3B;AAAmCmyD,sBAAQ,EAAE;AAA7C,aAAhB,CAFa;AAG9Bd,6BAAiB,EAAE,IAAI,0DAAJ,CAAgB;AAAEpqD,mBAAK,EAAE,KAAK4pD,YAAL,CAAkBv6B,QAA3B;AAAqC67B,sBAAQ,EAAE;AAA/C,aAAhB,CAHW;AAI9Bb,0BAAc,EAAE,IAAI,0DAAJ,CAAgB;AAAErqD,mBAAK,EAAE,KAAK4pD,YAAL,CAAkBx6B,SAA3B;AAAsC87B,sBAAQ,EAAE;AAAhD,aAAhB,CAJc;AAK9BZ,6BAAiB,EAAE,IAAI,0DAAJ,CAAgB;AAAEtqD,mBAAK,EAAE,KAAK4pD,YAAL,CAAkBmB,iBAA3B;AAA8CG,sBAAQ,EAAE;AAAxD,aAAhB,CALW;AAM9BX,kCAAsB,EAAE,IAAI,0DAAJ,CAAgB;AAAEvqD,mBAAK,EAAE,KAAK4pD,YAAL,CAAkBoB,aAA3B;AAA0CE,sBAAQ,EAAE;AAApD,aAAhB,CANM;AAO9BV,kCAAsB,EAAE,IAAI,0DAAJ,CAAgB;AAAExqD,mBAAK,EAAE,KAAK4pD,YAAL,CAAkBqB,aAA3B;AAA0CC,sBAAQ,EAAE;AAApD,aAAhB,CAPM;AAQ9BT,yBAAa,EAAE,IAAI,0DAAJ,CAAgB;AAAEzqD,mBAAK,EAAE8qD,aAAT;AAAwBI,sBAAQ,EAAE;AAAlC,aAAhB,CARe;AAS9BR,gCAAoB,EAAE,IAAI,0DAAJ,CAAgB;AAAE1qD,mBAAK,EAAE,KAAK4pD,YAAL,CAAkBl1B,UAA3B;AAAuCw2B,sBAAQ,EAAE;AAAjD,aAAhB,CATQ;AAU9BP,2BAAe,EAAE,IAAI,0DAAJ,CAAgB;AAAE3qD,mBAAK,EAAE,KAAK4pD,YAAL,CAAkBzqD,SAA3B;AAAsC+rD,sBAAQ,EAAE;AAAhD,aAAhB,CAVa;AAW9BN,6BAAiB,EAAE,IAAI,0DAAJ,CAAgB;AAAE5qD,mBAAK,EAAE,KAAK4pD,YAAL,CAAkBxD,UAA3B;AAAuC8E,sBAAQ,EAAE;AAAjD,aAAhB;AAXW,WAAd,CAApB;AAaH;;;kCAES;AACN,cAAI,KAAKvB,UAAL,IAAmB,KAAvB,EAA8B;AAC1B,iBAAK/8C,IAAL;AACH,WAFD,MAEO;AACH,iBAAKu+C,MAAL;AACH;AACJ;;;+BAEM;AAAA;;AACH,eAAKC,SAAL;AACA,cAAIC,YAAY,GAAG,KAAKpB,YAAL,CAAkBtpD,WAAlB,EAAnB;AACA,cAAI2qD,mBAAmB,GAAG,IAAI,4EAAJ,EAA1B;AACAA,6BAAmB,CAACzzD,EAApB,GAAyB,CAAzB;AACAyzD,6BAAmB,CAACxqD,MAApB,GAA6BuqD,YAAY,CAACnB,eAA1C;AACAoB,6BAAmB,CAACvyD,MAApB,GAA6BsyD,YAAY,CAAClB,eAA1C;AACAmB,6BAAmB,CAACj8B,QAApB,GAA+Bg8B,YAAY,CAACjB,iBAA5C;AACAkB,6BAAmB,CAACl8B,SAApB,GAAgCi8B,YAAY,CAAChB,cAA7C;AACAiB,6BAAmB,CAACP,iBAApB,GAAwCM,YAAY,CAACf,iBAArD;AACAgB,6BAAmB,CAACN,aAApB,GAAoCK,YAAY,CAACd,sBAAjD;AACAe,6BAAmB,CAACL,aAApB,GAAoCI,YAAY,CAACb,sBAAjD;AACAc,6BAAmB,CAACpsD,IAApB,GAA2BmsD,YAAY,CAACZ,aAAxC;AACAa,6BAAmB,CAAC52B,UAApB,GAAiC22B,YAAY,CAACX,oBAA9C;AACAY,6BAAmB,CAACnsD,SAApB,GAAgCksD,YAAY,CAACV,eAA7C;AACAW,6BAAmB,CAAClF,UAApB,GAAiCiF,YAAY,CAACT,iBAA9C;AACAU,6BAAmB,CAACpI,UAApB,GAAiCmI,YAAY,CAACjB,iBAAb,GAAiCiB,YAAY,CAAChB,cAA/E;AACA,eAAKhB,YAAL,CAAkB9E,QAAlB,CAA2B+G,mBAA3B,EAAgD1wD,SAAhD,CACI,UAAAC,MAAM,EAAI;AACN,gBAAIA,MAAJ,EAAY;AACR,sBAAI,CAAC0wD,SAAL;AACH,aAFD,MAEO;AACH,sBAAI,CAACC,OAAL;AACH;AACJ,WAPL;AAUH;;;iCAEQ;AAAA;;AACL,eAAKJ,SAAL;AACA,cAAIC,YAAY,GAAG,KAAKpB,YAAL,CAAkBtpD,WAAlB,EAAnB;AACA,cAAI2qD,mBAAmB,GAAG,IAAI,4EAAJ,EAA1B;AACAA,6BAAmB,CAACzzD,EAApB,GAAyB,CAAC,KAAKylC,MAA/B;AACAguB,6BAAmB,CAACxqD,MAApB,GAA6BuqD,YAAY,CAACnB,eAA1C;AACAoB,6BAAmB,CAACvyD,MAApB,GAA6BsyD,YAAY,CAAClB,eAA1C;AACAmB,6BAAmB,CAACj8B,QAApB,GAA+Bg8B,YAAY,CAACjB,iBAA5C;AACAkB,6BAAmB,CAACl8B,SAApB,GAAgCi8B,YAAY,CAAChB,cAA7C;AACAiB,6BAAmB,CAACP,iBAApB,GAAwCM,YAAY,CAACf,iBAArD;AACAgB,6BAAmB,CAACN,aAApB,GAAoCK,YAAY,CAACd,sBAAjD;AACAe,6BAAmB,CAACL,aAApB,GAAoCI,YAAY,CAACb,sBAAjD;AACAc,6BAAmB,CAACpsD,IAApB,GAA2BmsD,YAAY,CAACZ,aAAxC;AACAa,6BAAmB,CAAC52B,UAApB,GAAiC22B,YAAY,CAACX,oBAA9C;AACAY,6BAAmB,CAACnsD,SAApB,GAAgCksD,YAAY,CAACV,eAA7C;AACAW,6BAAmB,CAAClF,UAApB,GAAiCiF,YAAY,CAACT,iBAA9C;AACAU,6BAAmB,CAACpI,UAApB,GAAiCmI,YAAY,CAACjB,iBAAb,GAAiCiB,YAAY,CAAChB,cAA/E;AACA,eAAKhB,YAAL,CAAkBjoD,MAAlB,CAAyBkqD,mBAAzB,EAA8C1wD,SAA9C,CACI,UAAAC,MAAM,EAAI;AACN,gBAAIA,MAAJ,EAAY;AACRiX,qBAAO,CAACC,GAAR,CAAY,UAAZ;;AACA,sBAAI,CAACw5C,SAAL;AACH,aAHD,MAGO;AACH,sBAAI,CAACC,OAAL;AACH;AACJ,WARL;AAWH;;;oCAEQ;AAEL,eAAKnzD,aAAL,CAAmBmF,MAAnB,CAA0B,KAAKlF,SAAL,CAAe0C,OAAf,CAAuB,MAAvB,CAA1B,EACI,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,oBAAvB,CADJ,EAEI,wEAAiBywD,IAFrB,EAE2B;AAAE/tD,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAF3B;AAGH;;;kCAEM;AACH,eAAKtF,aAAL,CAAmBmF,MAAnB,CAA0B,KAAKlF,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAA1B,EACI,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,iBAAvB,CADJ,EAEI,wEAAiB1E,KAFrB,EAE4B;AAAEoH,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAF5B;AAGH;;;oCAEQ;AAEL,eAAKtF,aAAL,CAAmBmF,MAAnB,CAA0B,KAAKlF,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAA1B,EACI,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,gBAAvB,CADJ,EAEI,wEAAiByC,OAFrB,EAE8B;AAAEC,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAF9B;AAGH;;;;;;;uBA/MQsrD,gC,EAAgC,+H,EAAA,oJ,EAAA,4I,EAAA,qI,EAAA,qI,EAAA,6I,EAAA,mI,EAAA,oJ;AAAA,K;;;YAAhCA,gC;AAAgC,iD;AAAA,c;AAAA,a;AAAA,89C;AAAA;AAAA;ACrB7C;;AACA;;;;AAAiC;;AAAA;;;;;;;;;;sEDoBpBA,gC,EAAgC;cAN5C,uDAM4C;eANlC;AACP;AACAlrD,kBAAQ,EAAE,4BAFH;AAGPC,qBAAW,EAAE,2CAHN;AAIPC,mBAAS,EAAE,CAAC,2CAAD;AAJJ,S;AAMkC,Q;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEtB7C;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACaoB;;AAA4D;;AAAe;;;;;;AAAjC;;AAAkB;;AAAA;;;;;;AAa5D;;AAAiE;;AAAe;;;;;;AAAjC;;AAAkB;;AAAA;;;;;;;;AAiC7E;;AACI;;AAA8C;AAAA;;AAAA;;AAAA;AAAA;;AAAsD;;;;AAA6B;;AAAS;;AAE9I;;;;;;AAFsE;;AAAA;;AAAkC;;AAAA;;AAAsC;;AAAA;;;;;;AAzDtJ;;AACI;;AACI;;AACA;;AAAI;;;;AAA6B;;AACjC;;AACA;;AACI;;AAEI;;AAAwB;;;;AAA6B;;AACrD;;AACI;;AACJ;;AACJ;;AAQA;;AACI;;AAAwB;;;;AAAgC;;AACxD;;AACI;;AAEJ;;AACJ;;AACJ;;AACA;;AACA;;AACI;;AACI;;AAAO;;;;AAA0B;;AACjC;;AACJ;;AACA;;AACI;;AAAO;;;;AAA0B;;AACjC;;AACJ;;AACJ;;AACA;;AACI;;AAAO;;;;AAAwB;;AAC/B;;AACJ;;AACA;;AACI;;AACI;;AAAO;;;;AAAsB;;AAC7B;;AACJ;;AACA;;AACI;;AAAO;;;;AAA2B;;AAClC;;AACJ;;AAEJ;;AAEA;;AACA;;AAIJ;;AAOJ;;;;;;AAnEM;;AAGM;;AAAA;;AAK4B;;AAAA;;AAEZ;;AAAA;;AAWY;;AAAA;;AAEZ;;AAAA;;AAQL;;AAAA;;AAIA;;AAAA;;AAKJ;;AAAA;;AAKI;;AAAA;;AAIA;;AAAA;;AAOV;;AAAA;;;;QDnCAytD,qB;AAYT,qCAAoBnzD,MAApB,EAA2CwzC,cAA3C,EAAkF1zC,aAAlF,EAA+HC,SAA/H,EAA4JqzD,UAA5J,EAAoLxC,sBAApL,EAAiOyC,aAAjO,EAAuQC,WAAvQ,EAAiS;AAAA;;AAAA;;AAA7Q,aAAAtzD,MAAA,GAAAA,MAAA;AAAuB,aAAAwzC,cAAA,GAAAA,cAAA;AAAuC,aAAA1zC,aAAA,GAAAA,aAAA;AAA6C,aAAAC,SAAA,GAAAA,SAAA;AAAwI,aAAAuzD,WAAA,GAAAA,WAAA;AAXvQ,aAAAC,iBAAA,GAA0C,CAAC;AAACj0D,YAAE,EAAC,GAAJ;AAAQiJ,gBAAM,EAAC,MAAf;AAAsB/H,gBAAM,EAAC;AAA7B,SAAD,EAA0C;AAAClB,YAAE,EAAC,GAAJ;AAAQiJ,gBAAM,EAAC,KAAf;AAAqB/H,gBAAM,EAAC;AAA5B,SAA1C,EAAgF;AAAClB,YAAE,EAAC,GAAJ;AAAQiJ,gBAAM,EAAC,OAAf;AAAuB/H,gBAAM,EAAC;AAA9B,SAAhF,CAA1C;AACA,aAAAgzD,QAAA,GAAwB,EAAxB;AACA,aAAAtqC,WAAA,GAA8B,EAA9B;AAKA,aAAA+nC,aAAA,GAAkC,EAAlC;AAEA,aAAAE,WAAA,GAAsB,EAAtB;AAGI,aAAK3d,cAAL,CAAoBO,MAApB,CAA2B1xC,SAA3B,CAAqC,UAAC0xC,MAAD,EAAoB;AACrD,kBAAI,CAACqd,UAAL,GAAkBrd,MAAM,CAAC,OAAD,CAAxB;AACA,kBAAI,CAAChP,MAAL,GAAc,CAACgP,MAAM,CAAC,IAAD,CAArB;AACH,SAHD;AAIAqf,kBAAU,CAAC1wD,MAAX,GAAoBL,SAApB,CACI,UAAA+B,IAAI,EAAI;AACJ,kBAAI,CAACovD,QAAL,GAAgBpvD,IAAhB;AACH,SAHL;AAMAivD,qBAAa,CAAC3wD,MAAd,GAAuBL,SAAvB,CACI,UAAA+B,IAAI,EAAI;AACJ,kBAAI,CAAC8kB,WAAL,GAAmB9kB,IAAnB;AACH,SAHL;AAKH;;;;mCACU;AAAA;;AACP,cAAI,KAAKgtD,UAAL,IAAmB,KAAvB,EAA8B;AAC1B,iBAAKD,WAAL,GAAmB,aAAnB;AACH,WAFD,MAEO;AACH,iBAAKA,WAAL,GAAmB,QAAnB;AACH;;AACD,cAAI,KAAKC,UAAL,IAAmB,KAAvB,EAA8B;AAC1B,iBAAKkC,WAAL,CAAiB5wD,MAAjB,GAA0BL,SAA1B,CACI,UAAAM,IAAI,EAAI;AACJ,sBAAI,CAACsuD,aAAL,GAAqBtuD,IAArB;;AACA,kBAAIoL,KAAK,GAAG,QAAI,CAACkjD,aAAL,CAAmB/sD,SAAnB,CAA6B,UAAA6J,KAAK;AAAA,uBAAIA,KAAK,CAACzO,EAAN,IAAY,CAAC,QAAI,CAACylC,MAAtB;AAAA,eAAlC,CAAZ;;AACA,kBAAIh3B,KAAK,GAAG,CAAC,CAAb,EAAgB;AACZ,wBAAI,CAAC0lD,aAAL,GAAqB,QAAI,CAACxC,aAAL,CAAmB,CAACljD,KAApB,CAArB;;AACA,wBAAI,CAACujD,QAAL;AACH;AACJ,aARL;AAUH,WAXD,MAWO;AACH,iBAAKA,QAAL;AACH;AACJ;;;mCACU;AACP,kBAAQ,KAAKF,UAAb;AACI,iBAAK,MAAL;AAAa;AACT,qBAAKG,QAAL;AACA;AACH;;AACD,iBAAK,MAAL;AAAa;AACT,qBAAKC,QAAL;AACA;AACH;;AACD;AAAS;AACL,qBAAKC,OAAL;AACA;AACH;AAZL;AAcH;;;kCACS;AACN,eAAKC,YAAL,GAAoB,IAAI,wDAAJ,CAAc;AAC9BC,2BAAe,EAAE,IAAI,0DAAJ,CAAgB,IAAhB,EAAsB,0DAAWxjD,QAAjC,CADa;AAE9ByjD,2BAAe,EAAE,IAAI,0DAAJ,CAAgB,IAAhB,EAAsB,0DAAWzjD,QAAjC,CAFa;AAG9BulD,4BAAgB,EAAE,IAAI,0DAAJ,CAAgB,IAAhB,EAAsB,0DAAWvlD,QAAjC,CAHY;AAI9BwlD,0BAAc,EAAE,IAAI,0DAAJ,CAAgB,IAAhB,EAAsB,0DAAWxlD,QAAjC,CAJc;AAK9BylD,+BAAmB,EAAE,IAAI,0DAAJ,CAAgB,IAAhB,EAAsB,0DAAWzlD,QAAjC,CALS;AAM9B0lD,6BAAiB,EAAE,IAAI,0DAAJ,CAAgB,IAAhB,CANW;AAO9BC,6BAAiB,EAAE,IAAI,0DAAJ,CAAgB,IAAhB,CAPW;AAQ9BC,gCAAoB,EAAE,IAAI,0DAAJ,CAAgB,IAAhB,EAAsB,0DAAW5lD,QAAjC;AARQ,WAAd,CAApB;AAUH;;;mCAEU;AAEP,eAAKujD,YAAL,GAAoB,IAAI,wDAAJ,CAAc;AAC9BC,2BAAe,EAAE,IAAI,0DAAJ,CAAgB,KAAK8B,aAAL,CAAmBlrD,MAAnC,EAA2C,0DAAW4F,QAAtD,CADa;AAE9ByjD,2BAAe,EAAE,IAAI,0DAAJ,CAAgB,KAAK6B,aAAL,CAAmBjzD,MAAnC,EAA2C,0DAAW2N,QAAtD,CAFa;AAG9BulD,4BAAgB,EAAE,IAAI,0DAAJ,CAAgB,KAAKD,aAAL,CAAmBh+C,OAAnC,EAA4C,0DAAWtH,QAAvD,CAHY;AAI9BwlD,0BAAc,EAAE,IAAI,0DAAJ,CAAgB,KAAKF,aAAL,CAAmBhpD,KAAnC,EAA0C,0DAAW0D,QAArD,CAJc;AAK9BylD,+BAAmB,EAAE,IAAI,0DAAJ,CAAgB,KAAKH,aAAL,CAAmB7sC,UAAnC,EAA+C,0DAAWzY,QAA1D,CALS;AAM9B0lD,6BAAiB,EAAE,IAAI,0DAAJ,CAAgB,KAAKJ,aAAL,CAAmB9oD,SAAnC,EAA8C,0DAAWwD,QAAzD,CANW;AAO9B2lD,6BAAiB,EAAE,IAAI,0DAAJ,CAAgB,KAAKL,aAAL,CAAmB3oD,MAAnC,EAA2C,0DAAWqD,QAAtD,CAPW;AAQ9B4lD,gCAAoB,EAAE,IAAI,0DAAJ,CAAgB,KAAKN,aAAL,CAAmBO,YAAnC,EAAiD,0DAAW7lD,QAA5D;AARQ,WAAd,CAApB;AAUH;;;mCAEU;AAEP,eAAKujD,YAAL,GAAoB,IAAI,wDAAJ,CAAc;AAC9BC,2BAAe,EAAE,IAAI,0DAAJ,CAAgB;AAAElqD,mBAAK,EAAE,KAAKgsD,aAAL,CAAmBlrD,MAA5B;AAAoCoqD,sBAAQ,EAAE;AAA9C,aAAhB,CADa;AAE9Bf,2BAAe,EAAE,IAAI,0DAAJ,CAAgB;AAAEnqD,mBAAK,EAAE,KAAKgsD,aAAL,CAAmBjzD,MAA5B;AAAoCmyD,sBAAQ,EAAE;AAA9C,aAAhB,CAFa;AAG9Be,4BAAgB,EAAE,IAAI,0DAAJ,CAAgB;AAAEjsD,mBAAK,EAAE,KAAKgsD,aAAL,CAAmBh+C,OAA5B;AAAqCk9C,sBAAQ,EAAE;AAA/C,aAAhB,CAHY;AAI9BgB,0BAAc,EAAE,IAAI,0DAAJ,CAAgB;AAAElsD,mBAAK,EAAE,KAAKgsD,aAAL,CAAmBhpD,KAA5B;AAAmCkoD,sBAAQ,EAAE;AAA7C,aAAhB,CAJc;AAK9BiB,+BAAmB,EAAE,IAAI,0DAAJ,CAAgB;AAAEnsD,mBAAK,EAAE,KAAKgsD,aAAL,CAAmB7sC,UAA5B;AAAwC+rC,sBAAQ,EAAE;AAAlD,aAAhB,CALS;AAM9BkB,6BAAiB,EAAE,IAAI,0DAAJ,CAAgB;AAAEpsD,mBAAK,EAAE,KAAKgsD,aAAL,CAAmB9oD,SAA5B;AAAuCgoD,sBAAQ,EAAE;AAAjD,aAAhB,CANW;AAO9BmB,6BAAiB,EAAE,IAAI,0DAAJ,CAAgB;AAAErsD,mBAAK,EAAE,KAAKgsD,aAAL,CAAmB3oD,MAA5B;AAAoC6nD,sBAAQ,EAAE;AAA9C,aAAhB,CAPW;AAQ9BoB,gCAAoB,EAAE,IAAI,0DAAJ,CAAgB;AAAEtsD,mBAAK,EAAE,KAAKgsD,aAAL,CAAmBO,YAA5B;AAA0CrB,sBAAQ,EAAE;AAApD,aAAhB;AARQ,WAAd,CAApB;AAUH;;;kCAES;AACN,cAAI,KAAKvB,UAAL,IAAmB,KAAvB,EAA8B;AAC1B,iBAAK/8C,IAAL;AACH,WAFD,MAEO;AACH,iBAAKu+C,MAAL;AACH;AACJ;;;+BAEM;AAAA;;AACH;AACA;AACA,cAAIE,YAAY,GAAG,KAAKpB,YAAL,CAAkBtpD,WAAlB,EAAnB;AACA,cAAI6rD,WAAW,GAAG,IAAI,oEAAJ,EAAlB;AACAA,qBAAW,CAAC30D,EAAZ,GAAiB,CAAjB;AACA20D,qBAAW,CAAC1rD,MAAZ,GAAqBuqD,YAAY,CAACnB,eAAlC;AACAsC,qBAAW,CAACzzD,MAAZ,GAAqBsyD,YAAY,CAAClB,eAAlC;AACAqC,qBAAW,CAACx+C,OAAZ,GAAsBq9C,YAAY,CAACY,gBAAnC;AACAO,qBAAW,CAACxpD,KAAZ,GAAoBqoD,YAAY,CAACa,cAAjC;AACAM,qBAAW,CAACrtC,UAAZ,GAAyBksC,YAAY,CAACc,mBAAtC;AACAK,qBAAW,CAACtpD,SAAZ,GAAwBmoD,YAAY,CAACe,iBAArC;AAGAI,qBAAW,CAACnpD,MAAZ,GAAqBgoD,YAAY,CAACgB,iBAAlC;AACAv6C,iBAAO,CAACC,GAAR,CAAa,uBAAb,EAAqCy6C,WAAW,CAACC,SAAjD;AACAD,qBAAW,CAACD,YAAZ,GAA2BlB,YAAY,CAACiB,oBAAxC;AACAx6C,iBAAO,CAACC,GAAR,CAAY,aAAZ,EAA0By6C,WAA1B;AAEA,eAAKX,WAAL,CAAiB1qD,MAAjB,CAAwBqrD,WAAxB,EAAqC5xD,SAArC,CACI,UAAAC,MAAM,EAAI;AACN,gBAAIA,MAAJ,EAAY;AACR,sBAAI,CAAC0wD,SAAL;;AACA,sBAAI,CAAChzD,MAAL,CAAY0E,QAAZ,CAAqB,CAAC,8BAAD,CAArB;AAEH,aAJD,MAIO;AACH,sBAAI,CAACuuD,OAAL;AAEH;AACJ,WAVL;AAaH;;;iCAEQ;AAAA;;AACL;AACA,cAAIH,YAAY,GAAG,KAAKpB,YAAL,CAAkBtpD,WAAlB,EAAnB;AACA,cAAI6rD,WAAW,GAAG,IAAI,oEAAJ,EAAlB;AACAA,qBAAW,CAAC30D,EAAZ,GAAiB,CAAC,KAAKylC,MAAvB;AACAkvB,qBAAW,CAAC1rD,MAAZ,GAAqBuqD,YAAY,CAACnB,eAAlC;AACAsC,qBAAW,CAACzzD,MAAZ,GAAqBsyD,YAAY,CAAClB,eAAlC;AACAqC,qBAAW,CAACx+C,OAAZ,GAAsBq9C,YAAY,CAACY,gBAAnC;AACAO,qBAAW,CAACxpD,KAAZ,GAAoBqoD,YAAY,CAACa,cAAjC;AACAM,qBAAW,CAACrtC,UAAZ,GAAyBksC,YAAY,CAACc,mBAAtC;AACAK,qBAAW,CAACtpD,SAAZ,GAAwBmoD,YAAY,CAACe,iBAArC;AACAI,qBAAW,CAACnpD,MAAZ,GAAqBgoD,YAAY,CAACgB,iBAAlC;AACAG,qBAAW,CAACD,YAAZ,GAA2BlB,YAAY,CAACiB,oBAAxC;AACAx6C,iBAAO,CAACC,GAAR,CAAY,aAAZ,EAA0By6C,WAA1B;AAEA,eAAKX,WAAL,CAAiBzqD,MAAjB,CAAwBorD,WAAxB,EAAqC5xD,SAArC,CACI,UAAAC,MAAM,EAAI;AACN,gBAAIA,MAAJ,EAAY;AACRiX,qBAAO,CAACC,GAAR,CAAY,UAAZ;;AACA,sBAAI,CAACw5C,SAAL;;AACA,sBAAI,CAAChzD,MAAL,CAAY0E,QAAZ,CAAqB,CAAC,8BAAD,CAArB;AAGH,aAND,MAMO;AACH,sBAAI,CAACuuD,OAAL;AAEH;AACJ,WAZL;AAgBH;;;oCAEQ;AAEL,eAAKnzD,aAAL,CAAmBmF,MAAnB,CAA0B,KAAKlF,SAAL,CAAe0C,OAAf,CAAuB,MAAvB,CAA1B,EACI,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,oBAAvB,CADJ,EAEI,wEAAiBywD,IAFrB,EAE2B;AAAE/tD,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAF3B;AAGH;;;kCAEM;AACH,eAAKtF,aAAL,CAAmBmF,MAAnB,CAA0B,KAAKlF,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAA1B,EACI,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,iBAAvB,CADJ,EAEI,wEAAiB1E,KAFrB,EAE4B;AAAEoH,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAF5B;AAGH;;;oCAEQ;AAEL,eAAKtF,aAAL,CAAmBmF,MAAnB,CAA0B,KAAKlF,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAA1B,EACI,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,gBAAvB,CADJ,EAEI,wEAAiByC,OAFrB,EAE8B;AAAEC,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAF9B;AAGH;;;;;;;uBAxMQ+tD,qB,EAAqB,uH,EAAA,+H,EAAA,4I,EAAA,qI,EAAA,8H,EAAA,6I,EAAA,oI,EAAA,qI;AAAA,K;;;YAArBA,qB;AAAqB,oC;AAAA,c;AAAA,a;AAAA,q8B;AAAA;AAAA;ACtBlC;;AACA;;;;AAAiC;;AAAA;;;;;;;;;;sEDqBpBA,qB,EAAqB;cANjC,uDAMiC;eANvB;AACP;AACA3tD,kBAAQ,EAAE,eAFH;AAGPC,qBAAW,EAAE,8BAHN;AAIPC,mBAAS,EAAE,CAAC,8BAAD;AAJJ,S;AAMuB,Q;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AExBlC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;ACgBwB;;;;;;AAEI;;;;;;AACJ;;AACkB;;AAAsB;;;;;;AAAtB;;AAAA;;;;;;AAClB;;AAEI;;;;AAA8C;;;;AAA9C;;AAAA;;;;;;AAMJ;;;;;;AAEI;;;;;;AACJ;;AACkB;;AAAsB;;;;;;AAAtB;;AAAA;;;;;;AAClB;;AAEI;;;;AAA8C;;;;AAA9C;;AAAA;;;;;;;;AAKJ;;AAE8B;AAAA;;AAAA;;AAAA;AAAA;;AACkC;;;;AACjD;;;;;;AAHX;;AAE4D;;AAAA;;;;;;;;AAEhE;;AAE8B;AAAA;;AAAA;;AAAA;AAAA;;AACkC;;;;AAC/C;;;;;;AAHb;;AAE4D;;AAAA;;;;;;AA0BpE;;AACI;;AAAmB;;AAA4C;;AAC/D;;AACJ;;;;;;;;AAFuB;;AAAA;;;;;;AAF3B;;AACI;;AAIJ;;;;;;AAJS;;AAAA;;;;;;AAKT;;AACI;;AACI;;AAAqD;;;;AAA2C;;AACpG;;AACA;;AACJ;;;;;;AAH6D;;AAAA;;;;;;;;AAwEzC;;AAEI;;AAAoB;;AACZ;;AAEI;AAAA;;AAAA;;AAAA,sCAAsB,UAAtB;AAAgC,SAAhC;;AAC8D;;;;AAEnD;;AAAS;;AAAI;;AACxC;;;;;;AAHgB;;AAAA;;AAA8D;;AAAA;;;;;;;;AA6B1E;;AAA4D;;AAEpD;AAAA;;AAAA;;AAAA;;AAAA,gDAA4B,CAA5B;AAA6B,SAA7B;;AAAgC;;AAAQ;;AAAI;;;;;;;;AAD5C;;AAAA;;AACgC;;AAAA;;;;;;AAJ5C;;AAEI;;AAGJ;;;;;;AAHwB;;AAAA;;;;;;;;AASpC;;AACI;;AACI;;AACI;;AACgC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AADhC;;AAEA;;AACJ;;AACJ;;AACA;;AAAgB;;AAAwC;;AACxD;;AAAI;;AAAyC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC0C;;;;AAClE;;AAAS;;AAC9B;;AAAI;;AAAoD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC+B;;;;AAClE;;AAAS;;AAC9B;;AAAI;;AAAmD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC+B;;;;AACjE;;AAAS;;AAClC;;;;;;;;;AAfgE;;AAAA,8FAAsB,SAAtB,EAAsB,2BAAtB;;AAEhB;;AAAA;;AAG5B;;AAAA;;AAER;;AAAA;;AAA+E;;AAAA;;AAG/E;;AAAA;;AAA+E;;AAAA;;AAG/E;;AAAA;;AAA8E;;AAAA;;;;;;AA8C9G;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AAIA;;;;;;;;;;;;;;;;;;QDhQSyuD,uB;AACX;AACA;AACA;AACA;AACA,uCAAoBx0D,WAApB,EAAsDC,YAAtD,EAAiGC,QAAjG,EACUC,aADV,EACuDC,SADvD,EACoF;AAAA;;AADhE,aAAAJ,WAAA,GAAAA,WAAA;AAAkC,aAAAC,YAAA,GAAAA,YAAA;AAA2C,aAAAC,QAAA,GAAAA,QAAA;AACvF,aAAAC,aAAA,GAAAA,aAAA;AAA6C,aAAAC,SAAA,GAAAA,SAAA;AAGvD,aAAAG,eAAA,GAA0B,kBAA1B;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,cAAA,GAAiB,CAAC,QAAD,EAAW,QAAX,CAAjB;AAEA,aAAAE,MAAA,GAAiB,EAAjB;AAEA,aAAAC,QAAA,GAAsB,IAAI,wDAAJ,CAAc;AAClCjB,YAAE,EAAE,IAAI,0DAAJ,EAD8B;AAElCkB,gBAAM,EAAE,IAAI,0DAAJ,EAF0B;AAGlC+H,gBAAM,EAAE,IAAI,0DAAJ;AAH0B,SAAd,CAAtB;AA2HA,aAAA7H,eAAA,GAA0B,EAA1B;AACA,aAAAC,aAAA,GAAwB,EAAxB;AAEA,aAAAC,YAAA,sBAAmB,KAAKN,MAAxB;AACA,aAAAO,UAAA,sBAAiB,KAAKD,YAAtB;AACA,aAAAE,aAAA,sBAAoB,KAAKF,YAAzB;AACA,aAAAG,MAAA,GAAiB,KAAKT,MAAL,CAAYU,MAAZ,GAAqB,CAAtC;AAEA,aAAAC,YAAA,GAAoB,KAApB;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,kBAAA,GAAqB,CAAC,CAAD,EAAI,EAAJ,EAAQ,EAAR,CAArB;AACA,aAAAC,QAAA,GAAW,EAAX;AACA,aAAAC,cAAA,GAAiB,EAAjB;AAEA,aAAAC,QAAA,GAAoB,IAApB;AAEA,aAAAC,WAAA,GAAc,CAAd;AACA,aAAAC,SAAA,GAAY,CAAZ;AAGA,aAAAC,YAAA,GAAe,IAAI,sFAAJ,EAAf;AACA,aAAAC,UAAA,GAAa,IAAI,kFAAJ,EAAb;AACA,aAAAC,aAAA,GAAgB,IAAI,wFAAJ,EAAhB;AA8IA,aAAAC,YAAA,GAAsB,EAAtB;AAcA,aAAAC,UAAA,GAAkB,EAAlB;AAvTC;;;;mCAeO;AACN,eAAKC,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACA,eAAKoD,SAAL,GAAiB;AAAEC,iBAAK,EAAE,oBAAT;AAA+BC,oBAAQ,EAAE,KAAKH,IAAL,KAAc,OAAd,GAAwB,QAAxB,GAAmC;AAA5E,WAAjB;AACA,eAAK3B,YAAL,GAAoB,CAClB;AAAE6B,iBAAK,EAAE,oBAAT;AAA+BC,oBAAQ,EAAE,KAAKH,IAAL,KAAc,OAAd,GAAwB,QAAxB,GAAmC;AAA5E,WADkB,CAApB;AAGA,eAAKI,QAAL,GANM,CAON;AACD;;;qCAES;AACR,iBAAO,KAAKvC,WAAL,CAAiB6G,KAAjB,CAAuB;AAC5BlH,cAAE,EAAE,CAAC,KAAKe,WAAL,CAAiBf,EAAjB,IAAuB,CAAvB,GAA2B,KAAKe,WAAL,CAAiBf,EAA5C,GAAiD,CAAlD,CADwB;AAE5BkB,kBAAM,EAAE,CAAC,KAAKH,WAAL,CAAiBG,MAAlB,EAA0B,0DAAW0N,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWE,SAAX,CAAqB,CAArB,CAAtB,CAAnB,CAA1B,CAFoB;AAG5B9F,kBAAM,EAAE,CAAC,KAAKlI,WAAL,CAAiBkI,MAAlB,EAA0B,0DAAW2F,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWC,OAAX,CAAmB,4CAAnB,CAAtB,CAAnB,CAA1B;AAHoB,WAAvB,CAAP;AAKD;;;oCAEW;AACV;AACA,eAAKzN,aAAL,GAAqB,SAArB,CAFU,CAIV;;AACA,eAAKN,WAAL,CAAiBf,EAAjB,GAAsB,CAAtB;AACA,eAAKe,WAAL,CAAiBG,MAAjB,GAA0B,KAAKD,QAAL,CAAc6H,WAAd,GAA4B5H,MAAtD;AACA,eAAKH,WAAL,CAAiBkI,MAAjB,GAA0B,KAAKhI,QAAL,CAAc6H,WAAd,GAA4BG,MAAtD;AAEA,eAAKgG,gBAAL;AACD;;;2CAEe;AAAA;;AACd,eAAK3O,YAAL,CAAkBgJ,MAAlB,CAAyB,KAAKvI,WAA9B,EAA2CgC,SAA3C,CAAqD,UAAAC,MAAM,EAAI;AAC7D,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAACJ,QAAL;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAACkE,YAAL,CAAkB,QAAI,CAAC9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,mBAAvB,CAArD;;AACA,sBAAI,CAACkK,UAAL,CAAgB7H,IAAhB;AACD,aALD,MAMK;AACH,sBAAI,CAACtC,UAAL,CAAgB,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAAhB,EAAiD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,WAAvB,CAAjD;AACD;AACF,WAVD;AAWD;;;qCAEY;AACX,eAAKjB,SAAL,GAAiB,KAAKD,WAAtB;AAEA,cAAImN,OAAO,GAAG;AACZpP,cAAE,EAAE,KAAKe,WAAL,CAAiBf,EADT;AAEZkB,kBAAM,EAAE,KAAKD,QAAL,CAAc6H,WAAd,GAA4B5H,MAFxB;AAGZ+H,kBAAM,EAAE,KAAKhI,QAAL,CAAc6H,WAAd,GAA4BG;AAHxB,WAAd;AAKA,eAAKoG,iBAAL,CAAuBD,OAAvB;AACD;;;0CAEiBE,M,EAAM;AAAA;;AAEtB,eAAKhP,YAAL,CAAkBiJ,MAAlB,CAAyB+F,MAAzB,EAAiCvM,SAAjC,CAA2C,UAAAC,MAAM,EAAI;AACnD,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAACJ,QAAL;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAACkE,YAAL,CAAkB,QAAI,CAAC9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,oBAAvB,CAArD;;AAEA,sBAAI,CAACkK,UAAL,CAAgB7H,IAAhB;AACD,aAND,MAOK;AACH,sBAAI,CAACtC,UAAL,CAAgB,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAAhB,EAAiD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,YAAvB,CAAjD;AACD;AACF,WAXD;AAYD,S,CAED;AACA;AACA;;;;uCACe;AACb,eAAKjB,SAAL,GAAiB,KAAKD,WAAtB,CADa,CAEb;;AACA,eAAKZ,aAAL,GAAqB,SAArB;AACA,eAAKwB,mBAAL;AACD,S,CAED;;;;8CACmB;AAAA;;AACjB,eAAKvC,YAAL,CAAkBwC,UAAlB,CAA6B,KAAKR,YAAlC,EAAgDS,SAAhD,CAA0D,UAAAC,MAAM,EAAI;AAClE,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAACJ,QAAL;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAAC4B,gBAAL;AACD,aAJD,MAKK;AACH,sBAAI,CAACC,UAAL,CAAgB,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAAhB,EAAiD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,cAAvB,CAAjD;AACD;AACF,WATD;AAUD;;;mCAiDU;AAAA;;AACT;AACA,eAAK9B,aAAL,GAAqB,SAArB;AACA,eAAKf,YAAL,CAAkB8C,MAAlB,GAA2BL,SAA3B,CACE,UAAAM,IAAI,EAAI;AACN,oBAAI,CAACrC,MAAL,GAAcqC,IAAd;;AACA,oBAAI,CAACC,QAAL;;AACA,oBAAI,CAACC,UAAL;;AACA,oBAAI,CAAClC,aAAL,GAAqB,EAArB;AACD,WANH;AAQD;;;mCAEU;AACT,eAAKE,UAAL,GAAkB,KAAKa,UAAL,CAAgBkB,QAAhB,CAAyB,KAAKb,SAAL,CAAeE,QAAxC,EAAkD,KAAK3B,MAAvD,CAAlB;AACA,eAAKwC,UAAL;AACD;;;0CAEiB;AAChB,eAAKtB,SAAL,GAAiB,KAAKD,WAAtB;AACA,eAAKV,UAAL,GAAkB,KAAKA,UAAL,CAAgBkC,KAAhB,GAAwBC,OAAxB,EAAlB;AACA,eAAKF,UAAL;AACD;;;qCAEY;AACX,eAAKlC,YAAL,GAAoB,KAAKa,YAAL,CAAkBqB,UAAlB,CAA6B,KAAKjB,UAAlC,EAA8C,KAAKzB,cAAnD,EAAmE,KAAKS,UAAxE,CAApB;;AACA,cAAI,KAAKW,SAAL,KAAmB,CAAvB,EAA0B;AACxB,iBAAKyB,YAAL,CAAkB,KAAK/B,YAAvB,EAAqC,CAArC;AACD,WAFD,MAGK;AACH,iBAAK+B,YAAL,CAAkB,KAAK/B,YAAvB,EACEgC,IAAI,CAACC,IAAL,CAAW,KAAKvC,YAAL,CAAkBI,MAAlB,GAA2B,KAAKE,YAA3C,KAA6D,KAAKM,SAAlE,GACE,KAAKA,SADP,GAEE0B,IAAI,CAACC,IAAL,CAAW,KAAKvC,YAAL,CAAkBI,MAAlB,GAA2B,KAAKE,YAA3C,CAHJ;AAKD;;AACD,eAAKM,SAAL,GAAiB,CAAjB;AACD;;;qCAEY4B,e,EAAyBC,c,EAAwB;AAC5D,eAAKnC,YAAL,GAAoBkC,eAApB;AACA,eAAK7B,WAAL,GAAmB8B,cAAnB;AACA,eAAKvC,aAAL,GAAqB,KAAKF,YAAL,CAAkBmC,KAAlB,CAAwB,CAACM,cAAc,GAAG,CAAlB,IAAwBD,eAAhD,EAAmEA,eAAe,GAAGC,cAArF,CAArB;AACD;;;mCAEUC,O,EAAc;AACvB,cAAI,KAAKvB,SAAL,CAAeC,KAAf,KAAyBsB,OAAO,CAACtB,KAArC,EAA4C;AAC1C,iBAAKV,QAAL,GAAgB,CAAC,KAAKA,QAAtB;AACA,gBAAMiC,OAAO,GAAG,KAAKhC,WAArB;AACA,iBAAKiC,eAAL;AACA,iBAAKjC,WAAL,GAAmBgC,OAAnB;AACD,WALD,MAMK;AACH,iBAAKjC,QAAL,GAAgB,IAAhB;AACA,iBAAKS,SAAL,GAAiBuB,OAAjB;AACA,iBAAKV,QAAL;AACD;AACF;;;gCAEOZ,K,EAAY;AAClB,iBAAO,KAAK7B,YAAL,CAAkBsD,IAAlB,CAAuB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC1B,KAAF,KAAYA,KAAhB;AAAA,WAAxB,CAAP;AACD;;;mCAEU2B,K,EAAuB;AAChC,eAAKpC,WAAL,GAAmBoC,KAAK,CAACC,IAAzB;AACA,eAAKX,YAAL,CAAkB,KAAK/B,YAAvB,EAAqC,KAAKK,WAA1C;AACD;;;uCAEc;AACb,eAAKK,YAAL,GAAoB,EAApB;AACA,eAAKR,QAAL,GAAgB,EAAhB;AACA,eAAKC,cAAL,GAAsB,EAAtB;AACA,eAAKyB,UAAL;AACD;;;kCAESe,M,EAAM;AACd,cAAIA,MAAM,CAACC,MAAP,CAAcC,OAAlB,EAA2B;AACzB,iBAAK3C,QAAL,sBAAoB,KAAKR,YAAzB;AACD,WAFD,MAEO;AACL,iBAAKQ,QAAL,GAAgB,EAAhB;AACD;;AACD,eAAK4C,iBAAL;AACD;;;4CAEgB;AACf,cAAI,KAAK5C,QAAL,CAAcJ,MAAd,IAAwB,KAAKJ,YAAL,CAAkBI,MAA9C,EAAsD;AACpD,iBAAKK,cAAL,GAAsB,SAAtB;AACD,WAFD,MAEO,IAAI,KAAKD,QAAL,CAAcJ,MAAd,KAAyB,CAA7B,EAAgC;AACrC,iBAAKK,cAAL,GAAsB,eAAtB;AACD,WAFM,MAEC;AACN,iBAAKA,cAAL,GAAsB,EAAtB;AACD;AACF;;;mCAEU4C,C,EAAM;AACf,iBAAO,KAAK7C,QAAL,CAAc8C,SAAd,CAAwB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC7E,EAAF,KAAS2E,CAAC,CAAC3E,EAAf;AAAA,WAAzB,IAA8C,CAAC,CAAtD;AACD;;;iCAEQ8E,I,EAAS;AAChB,cAAI,KAAKC,UAAL,CAAgBD,IAAhB,CAAJ,EAA2B;AACzB,iBAAKhD,QAAL,GAAgB,KAAKA,QAAL,CAAckD,MAAd,CAAqB,UAAAH,CAAC;AAAA,qBAAIA,CAAC,CAAC7E,EAAF,KAAS8E,IAAI,CAAC9E,EAAlB;AAAA,aAAtB,CAAhB;AACD,WAFD,MAEO;AACL,iBAAK8B,QAAL,CAAcmD,IAAd,CAAmBH,IAAnB;AACD;;AACD,eAAKJ,iBAAL;AACD;;;mCAEUQ,I,EAAWxG,I,EAAS;AAC7B,iBAAOwG,IAAI,CAACf,IAAL,CAAU,UAAAU,CAAC;AAAA,mBAAIA,CAAC,CAACM,IAAF,KAAWzG,IAAf;AAAA,WAAX,CAAP;AACD;;;6CAIiB;AAChB,eAAK0C,eAAL,GAAuB,KAAvB;AACA,eAAKL,WAAL,GAAmB,EAAnB;AACA,eAAKE,QAAL,GAAgB,KAAK2H,UAAL,EAAhB;AACA,eAAKyE,UAAL,CAAgB/H,IAAhB;AACD;;;yCAEgBtF,E,EAAO;AAAA;;AACtB,eAAKoB,eAAL,GAAuB,MAAvB;AACA,eAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,WAAlB,CAAnB;AACA,0DAAG,KAAKe,WAAR,EAAqBgC,SAArB,CAA+B,UAAAM,IAAI,EAAI;AACrC,oBAAI,CAACtC,WAAL,GAAmBsC,IAAnB;AACD,WAFD;AAGA,eAAKpC,QAAL,GAAgB,KAAK2H,UAAL,EAAhB;AACA,eAAKyE,UAAL,CAAgB/H,IAAhB;AACD;;;yCAEgBtF,E,EAAO;AAAA;;AACtB,eAAKoB,eAAL,GAAuB,MAAvB;AACA,eAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,WAAlB,CAAnB;AACA,0DAAG,KAAKe,WAAR,EAAqBgC,SAArB,CAA+B,UAAAM,IAAI,EAAI;AACrC,oBAAI,CAACtC,WAAL,GAAmBsC,IAAnB;AACD,WAFD;AAGA,eAAKpC,QAAL,GAAgB,KAAK2H,UAAL,EAAhB;AACA,eAAKyE,UAAL,CAAgB/H,IAAhB;AACD;;;qCAGYtF,E,EAAO;AAClB,cAAIA,EAAE,IAAI,CAAV,EAAa;AACX,iBAAKoB,eAAL,GAAuB,KAAvB;AACA,iBAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,aAAlB,CAAnB;AACA,iBAAKsC,YAAL,GAAoB,CAAC,KAAKtB,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,aAAlB,CAAD,CAApB;AACA,iBAAKqF,QAAL,CAAcC,IAAd;AACD,WALD,MAMK,IAAItF,EAAE,KAAK,UAAX,EAAuB;AAC1B,iBAAKsC,YAAL,sBAAwB,KAAKR,QAA7B;AACA,iBAAKuD,QAAL,CAAcC,IAAd;AACD;AACF;;;2CAKe;AACd,cAAI,KAAKhD,YAAL,CAAkBZ,MAAlB,KAA6B,CAAjC,EAAoC;AAClC,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,QAAQ,KAAKvC,eAApC,CADF;AAED,WAHD,MAIK,IAAI,KAAK0B,YAAL,CAAkBZ,MAAlB,KAA6B,CAAjC,EAAoC;AACvC,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,QAAQ,KAAKvC,eAAb,GAA+B,GAAtD,CADF;AAED,WAHI,MAIA,IAAI,KAAK0B,YAAL,CAAkBZ,MAAlB,GAA2B,CAA3B,IAAgC,KAAKY,YAAL,CAAkBZ,MAAlB,GAA2B,EAA/D,EAAmE;AACtE,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAKb,YAAL,CAAkBZ,MADiC,GACxB,GADwB,GAClB,KAAKjB,SAAL,CAAe0C,OAAf,CAAuB,KAAKvC,eAAL,GAAuB,UAA9C,CADnC;AAED,WAHI,MAIA;AACH,iBAAK2E,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAKb,YAAL,CAAkBZ,MADiC,GACxB,GADwB,GAClB,KAAKjB,SAAL,CAAe0C,OAAf,CAAuB,KAAKvC,eAAL,GAAuB,MAA9C,CADnC;AAED;;AAED,eAAK0B,YAAL,GAAoB,EAApB;AACA,eAAKR,QAAL,GAAgB,EAAhB;AAEA,eAAK4C,iBAAL;;AACA,cAAI,KAAK3C,cAAL,KAAwB,EAA5B,EAAgC;AAC9B,iBAAKJ,YAAL,GAAoB,KAApB;AACD;;AACD,eAAK0D,QAAL,CAAcG,IAAd;AACD;;;qCAEYC,W,EAAqBC,S,EAAiB;AACjD,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBE,OADnB,EAC4B;AAAEC,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD5B;AAED;;;mCACUL,W,EAAqBC,S,EAAiB;AAC/C,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBjH,KADnB,EAC0B;AAAEoH,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD1B;AAED;;;8CACqB;AACpB,eAAKlD,QAAL;AACA,eAAKyC,QAAL,CAAcG,IAAd;AACD;;;sCAEa;AAAA;;AACZ,eAAKlF,YAAL,CAAkB8C,MAAlB,GAA2BL,SAA3B,CACE,UAAAM,IAAI,EAAI;AACN,oBAAI,CAACrC,MAAL,GAAcqC,IAAd;;AACA,oBAAI,CAACE,UAAL;AACD,WAJH;AAMD;;;qCAEY;AAAA;;AACX,cAAMwC,UAAU,GAAG,KAAKxD,UAAxB;AACA,eAAKA,UAAL,GAAkB,EAAlB;AACAyD,oBAAU,CAAC,YAAM;AACf,oBAAI,CAACzD,UAAL,GAAkBwD,UAAlB;AACD,WAFS,EAEP,CAFO,CAAV;AAGD;;;;;;;uBAzXU8uD,uB,EAAuB,2H,EAAA,6I,EAAA,wH,EAAA,4I,EAAA,qI;AAAA,K;;;YAAvBA,uB;AAAuB,sC;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;ACjBpC;;AACI;;AACI;;AACI;;AAAkE;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAA0B,WAA1B;;AAE9D;;AAAyB;;AAAO;;AACpC;;AACA;;AACI;;AACI;;;;AAA+C;;AACvD;;AACA;;AACI;;AACI;;AACI;;AAAqC;;;;AAAsC;;AAC3E;;AAGA;;AAEA;;AAGA;;AACJ;;AAEA;;AACI;;AAAqC;;;;AAAsC;;AAC3E;;AAGA;;AAEA;;AAGA;;AACJ;;AAEA;;AACI;;AAKA;;AAKA;;AAA8B;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAA0B,WAA1B;;AACoD;;;;AACnE;;AACnB;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAEA;;AACI;;AACI;;AACI;;AAAkE;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAAwB,WAAxB;;AAE9D;;AAAyB;;AAAO;;AACpC;;AACA;;AACI;;AACI;;;;AACW;;AACnB;;AACA;;AACI;;AAMA;;AAOA;;AACI;;AAA2D;AAAA,mBAAS,IAAA5uD,YAAA,EAAT;AAAuB,WAAvB;;AAEK;;;;AAAwB;;AACxF;;AAA8B;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAAwB,WAAxB;;AACoD;;;;AACnE;;AACnB;;AACJ;;AACJ;;AACJ;;AACJ;;AAEA;;AACI;;AACI;;AAEI;;AACI;;AACI;;AACI;;AAAqB;AAAA;AAAA,aAAwB,OAAxB,EAAwB;AAAA,mBAAU,IAAA6uD,YAAA,EAAV;AAAwB,WAAhD,EAAwB,QAAxB,EAAwB;AAAA,mBAAoC,IAAAA,YAAA,EAApC;AAAkD,WAA1E;;;;AAArB;;AAEJ;;AACJ;;AACJ;;AACJ;;AAEA;;AACI;;AACI;;AACJ;;AACA;;AACI;;AAEI;AAAA,mBAAS,IAAAvmD,kBAAA,EAAT;AAA6B,WAA7B;;AAAsE;;;;AAC3D;;AAEnB;;AACJ;;AAEJ;;AAGA;;AAEI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AAEI;;AAGI;AAAA,mBAAU,IAAAwmD,SAAA,QAAV;AAA2B,WAA3B;;AAHJ;;AAIA;;AAAmC;;AAAM;;AAC7C;;AACJ;;AACA;;AAGI;;AACJ;;AACA;;AAUJ;;AACJ;;AACJ;;AACA;;AAAqB;AAAA,mBAAS,IAAA1kD,UAAA,CAAW,IAAAC,OAAA,CAAQ,oBAAR,CAAX,CAAT;AAAkD,WAAlD;;AACjB;;AAE0F;;AAC9F;;AAAuB;AAAA,mBAAS,IAAAD,UAAA,CAAW,IAAAC,OAAA,CAAQ,oBAAR,CAAX,CAAT;AAAkD,WAAlD;;AAEf;;;;AACR;;AACA;;AACA;;AACI;;AAEI;;AACI;;;;AACJ;;AACA;;AACI;;AAEI;;AACJ;;AACA;;AAMJ;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AAmBJ;;AACA;;AACI;;AACA;;AACA;;AACA;;AACA;;AACA;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAEA;;AAEI;;AAA6E;;AAAM;;AAEnF;;AAEI;;AACI;;AACI;;AACwB;AAAA;AAAA,aAAyB,aAAzB,EAAyB;AAAA,mBAI9B,IAAA0kD,UAAA,QAJ8B;AAIZ,WAJb;;AAKxB;;AACJ;;AACJ;;AACJ;;AAEA;;AAA0E;;AAAM;;AAEpF;;AACJ;;AAEA;;AAIA;;AAKA;;AAKA;;AAIA;;AAKA;;;;;;;;;;;;AA5QoB;;AAAA;;AAG0C;;AAAA;;AAED;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAMiC;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAMI;;AAAA;;AAKA;;AAAA;;AAM0E;;AAAA;;AAkBtF;;AAAA;;AAIiC;;AAAA;;AAM4B;;AAAA;;AASzD;;AAAA;;AAC4D;;AAAA;;AAEkB;;AAAA;;AAgB3B;;AAAA;;AAD9B;;AAcM;;AAAA;;AAAuC;;AAAA;;AAsB1C;;AAAA,gHAAsC,eAAtC,EAAsC,sCAAtC;;AAwBiD;;AAAA;;AAChE;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAGJ;;AAAA;;AAIQ;;AAAA;;AAKI;;AAAA;;AAaZ;;AAAA;;AA0CgB;;AAAA,+FAAyB,eAAzB,EAAyB,IAAzB,EAAyB,YAAzB,EAAyB,uBAAzB,EAAyB,cAAzB,EAAyB,gBAAzB,EAAyB,qBAAzB,EAAyB,IAAzB,EAAyB,oBAAzB,EAAyB,IAAzB,EAAyB,wBAAzB,EAAyB,IAAzB,EAAyB,oBAAzB,EAAyB,IAAzB,EAAyB,SAAzB,EAAyB,CAAzB;;;;;;;;;;sED9N/BH,uB,EAAuB;cANnC,uDAMmC;eANzB;AACP;AACA3uD,kBAAQ,EAAE,iBAFH;AAGPC,qBAAW,EAAE,gCAHN;AAIPC,mBAAS,EAAE,CAAC,gCAAD;AAJJ,S;AAMyB,Q;;;;;;;;;;;;;;gBAmRjC,uD;iBAAU,Y;;;gBACV,uD;iBAAU,U;;;;;;;;;;;;;;;;;;;;AEtSb;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;AC2EoB;;AACI;;AAAmB;;AAA4C;;AAC/D;;AACJ;;;;;;;;AAFuB;;AAAA;;;;;;AAF3B;;AACI;;AAIJ;;;;;;AAJS;;AAAA;;;;;;AAKT;;AACI;;AACI;;AAAqD;;;;AAA2C;;AACpG;;AACA;;AACJ;;;;;;AAH6D;;AAAA;;;;;;;;AAuEzC;;AAEI;;AAAoB;;AACZ;;AAEI;AAAA;;AAAA;;AAAA,sCAAsB,UAAtB;AAAgC,SAAhC;;AAC8D;;;;AAEnD;;AAAS;;AAAI;;AACxC;;;;;;AAHgB;;AAAA;;AAA8D;;AAAA;;;;;;;;AAqF1E;;AAA4D;;AAEpD;AAAA;;AAAA;;AAAA;;AAAA,gDAA4B,CAA5B;AAA6B,SAA7B;;AAAgC;;AAAQ;;AAAI;;;;;;;;AAD5C;;AAAA;;AACgC;;AAAA;;;;;;AAJ5C;;AAEI;;AAGJ;;;;;;AAHwB;;AAAA;;;;;;;;AASpC;;AACI;;AACI;;AACI;;AACgC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AADhC;;AAEA;;AACJ;;AACJ;;AAEA;;AAAgB;;AAAwC;;AACxD;;AAAgB;;AAAY;;AAC5B;;AAAgB;;AAAkB;;AAClC;;AAAgB;;AAAyB;;AACzC;;AAAgB;;AAAoB;;AACpC;;AAAgB;;AAA4B;;AAC5C;;AAAgB;;AAAmB;;AACnC;;AAAgB;;AAAgB;;AAEhC;;AAAI;;AAAyC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC0C;;;;AAClE;;AAAS;;AAC9B;;AAAI;;AAAoD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC+B;;;;AAClE;;AAAS;;AAC9B;;AAAI;;AAAmD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC+B;;;;AACjE;;AAAS;;AAClC;;;;;;;;;AAxBgE;;AAAA,8FAAsB,SAAtB,EAAsB,0BAAtB;;AAEhB;;AAAA;;AAI5B;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAGR;;AAAA;;AAA+E;;AAAA;;AAG/E;;AAAA;;AAA+E;;AAAA;;AAG/E;;AAAA;;AAA8E;;AAAA;;;;;;AA8C9G;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AAIA;;;;;;;;;;;;;;;;;;QDvTS6uD,6B;AACX;AACA;AACA;AACA;AACA,6CAAsB3D,sBAAtB,EAA2E5wD,MAA3E,EAAmGw0D,iBAAnG,EAA0I3D,gBAA1I,EAAgLlxD,WAAhL,EAAkNC,YAAlN,EAAgQC,QAAhQ,EACUC,aADV,EACuDC,SADvD,EACoF;AAAA;;AAD9D,aAAA6wD,sBAAA,GAAAA,sBAAA;AAAqD,aAAA5wD,MAAA,GAAAA,MAAA;AAAwB,aAAAw0D,iBAAA,GAAAA,iBAAA;AAAuC,aAAA3D,gBAAA,GAAAA,gBAAA;AAAsC,aAAAlxD,WAAA,GAAAA,WAAA;AAAkC,aAAAC,YAAA,GAAAA,YAAA;AAA8C,aAAAC,QAAA,GAAAA,QAAA;AACtP,aAAAC,aAAA,GAAAA,aAAA;AAA6C,aAAAC,SAAA,GAAAA,SAAA;AAGvD,aAAAG,eAAA,GAA0B,UAA1B;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,cAAA,GAAiB,CAAC,QAAD,EAAW,QAAX,CAAjB;AACA,aAAA2wD,gBAAA,GAA0B,EAA1B;AAEA,aAAAzwD,MAAA,GAAiC,EAAjC;AACA,aAAAD,WAAA,GAAmC,IAAI,4EAAJ,CAAwB,EAAxB,CAAnC;AACA,aAAAE,QAAA,GAAsB,IAAI,wDAAJ,CAAc;AAClCjB,YAAE,EAAE,IAAI,0DAAJ,EAD8B;AAElCkB,gBAAM,EAAE,IAAI,0DAAJ,EAF0B;AAGlC+H,gBAAM,EAAE,IAAI,0DAAJ;AAH0B,SAAd,CAAtB,CAXoF,CAuIpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,aAAA0oD,aAAA,GAAkC,EAAlC;AACA,aAAAD,WAAA,GAA8B,EAA9B;AAmBA,aAAAtwD,eAAA,GAA0B,EAA1B;AACA,aAAAC,aAAA,GAAwB,EAAxB;AAEA,aAAAC,YAAA,sBAAmB,KAAKN,MAAxB;AACA,aAAAO,UAAA,sBAAiB,KAAKD,YAAtB;AACA,aAAAE,aAAA,sBAAoB,KAAKF,YAAzB;AACA,aAAAG,MAAA,GAAiB,KAAKT,MAAL,CAAYU,MAAZ,GAAqB,CAAtC;AAEA,aAAAC,YAAA,GAAoB,KAApB;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,kBAAA,GAAqB,CAAC,CAAD,EAAI,EAAJ,EAAQ,EAAR,CAArB;AACA,aAAAC,QAAA,GAAW,EAAX;AACA,aAAAC,cAAA,GAAiB,EAAjB;AAEA,aAAAC,QAAA,GAAoB,IAApB;AAEA,aAAAC,WAAA,GAAc,CAAd;AACA,aAAAC,SAAA,GAAY,CAAZ;AAGA,aAAAC,YAAA,GAAe,IAAI,sFAAJ,EAAf;AACA,aAAAC,UAAA,GAAa,IAAI,kFAAJ,EAAb;AACA,aAAAC,aAAA,GAAgB,IAAI,wFAAJ,EAAhB,CA5LoF,CAuUpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAAC,YAAA,GAAsC,EAAtC;AAcA,aAAAC,UAAA,GAAkB,EAAlB;AA9VC;;;;mCAgBO;AAAA;;AACN,eAAK2yD,iBAAL,CAAuB9xD,MAAvB,GAAgCL,SAAhC,CACE,UAAAM,IAAI,EAAE;AACJ,oBAAI,CAACsuD,aAAL,GAAmBtuD,IAAnB;AACD,WAHH,GAKA,KAAKkuD,gBAAL,CAAsBnuD,MAAtB,GAA+BL,SAA/B,CACE,UAAAM,IAAI,EAAE;AACJ,oBAAI,CAACquD,WAAL,GAAiBruD,IAAjB;AACA4W,mBAAO,CAACC,GAAR,CAAY,kBAAZ,EAA+B,QAAI,CAACw3C,WAApC;AAED,WALH,CALA;AAYA,eAAKJ,sBAAL,CAA4BluD,MAA5B,GAAqCL,SAArC,CACE,UAAA+B,IAAI,EAAI;AACJ,oBAAI,CAAC2sD,gBAAL,GAAwB3sD,IAAxB;AACH,WAHH;AAKA,eAAKtC,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACA,eAAKoD,SAAL,GAAiB;AAAEC,iBAAK,EAAE,UAAT;AAAqBC,oBAAQ,EAAE,KAAKH,IAAL,KAAc,OAAd,GAAwB,QAAxB,GAAmC;AAAlE,WAAjB;AACA,eAAK3B,YAAL,GAAoB,CAClB;AAAE6B,iBAAK,EAAE,UAAT;AAAqBC,oBAAQ,EAAE,KAAKH,IAAL,KAAc,OAAd,GAAwB,QAAxB,GAAmC;AAAlE,WADkB,CAApB;AAGA,eAAKI,QAAL,GAvBM,CAwBN;AACD,S,CAED;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;;;;uCACe;AACb,eAAKV,SAAL,GAAiB,KAAKD,WAAtB,CADa,CAEb;;AACA,eAAKZ,aAAL,GAAqB,SAArB;AACA,eAAKwB,mBAAL;AACD,S,CAED;;;;8CACmB;AAAA;;AACjB,eAAKvC,YAAL,CAAkBwC,UAAlB,CAA6B,KAAKR,YAAlC,EAAgDS,SAAhD,CAA0D,UAAAC,MAAM,EAAI;AAClE,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAACJ,QAAL;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAAC4B,gBAAL;AACD,aAJD,MAKK;AACH,sBAAI,CAACC,UAAL,CAAgB,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAAhB,EAAiD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,cAAvB,CAAjD;AACD;AACF,WATD;AAUD;;;kCAcM;AACL,eAAKzC,MAAL,CAAY0E,QAAZ,CAAsB,CAAC,kEAAD,CAAtB;AACH;;;mCACUF,I,EAAWlF,E,EAAO;AAC3B,iBAAOkF,IAAI,CAACf,IAAL,CAAU,UAAAU,CAAC;AAAA,mBAAIA,CAAC,CAAC7E,EAAF,KAASA,EAAb;AAAA,WAAX,CAAP;AACD;;;mCAqCY;AAAA;;AACT;AAEA,eAAKqB,aAAL,GAAqB,SAArB;AACA,eAAKf,YAAL,CAAkB8C,MAAlB,GAA2BL,SAA3B,CACE,UAAAM,IAAI,EAAI;AACN,oBAAI,CAACrC,MAAL,GAAcqC,IAAd,CADM,CAEN;;AACA,oBAAI,CAACrC,MAAL,CAAYwQ,OAAZ,CACE,UAAA1M,IAAI,EAAE;AACJA,kBAAI,CAACqwD,YAAL,GAAmB,QAAI,CAAC3yD,IAAL,KAAY,OAAZ,GAAoB,QAAI,CAAC4yD,UAAL,CAAgB,QAAI,CAACzD,aAArB,EAAmC7sD,IAAI,CAACypD,UAAxC,EAAoDtlD,MAAxE,GAA+E,QAAI,CAACmsD,UAAL,CAAgB,QAAI,CAACzD,aAArB,EAAmC7sD,IAAI,CAACypD,UAAxC,EAAoDrtD,MAAtJ;AACA4D,kBAAI,CAACuwD,WAAL,GAAkB,QAAI,CAAC7yD,IAAL,KAAY,OAAZ,GAAoB,QAAI,CAAC4yD,UAAL,CAAgB,QAAI,CAAC1D,WAArB,EAAiC5sD,IAAI,CAACwC,SAAtC,EAAiD2B,MAArE,GAA4E,QAAI,CAACmsD,UAAL,CAAgB,QAAI,CAAC1D,WAArB,EAAiC5sD,IAAI,CAACwC,SAAtC,EAAiDpG,MAA/I;AACA4D,kBAAI,CAACwwD,oBAAL,GAA2B,QAAI,CAAC9yD,IAAL,KAAY,OAAZ,GAAoB,QAAI,CAAC4yD,UAAL,CAAgB,QAAI,CAAC3D,gBAArB,EAAsC3sD,IAAI,CAAC+3B,UAA3C,EAAuD5zB,MAA3E,GAAkF,QAAI,CAACmsD,UAAL,CAAgB,QAAI,CAAC3D,gBAArB,EAAsC3sD,IAAI,CAAC+3B,UAA3C,EAAuD37B,MAApK;AACD,aALH;;AASA,oBAAI,CAACoC,QAAL;;AACA,oBAAI,CAACC,UAAL;;AACA,oBAAI,CAAClC,aAAL,GAAqB,EAArB;AACD,WAhBH;AAkBD;;;mCAEU;AACT,eAAKE,UAAL,GAAkB,KAAKa,UAAL,CAAgBkB,QAAhB,CAAyB,KAAKb,SAAL,CAAeE,QAAxC,EAAkD,KAAK3B,MAAvD,CAAlB;AACA,eAAKwC,UAAL;AACD;;;0CAEiB;AAChB,eAAKtB,SAAL,GAAiB,KAAKD,WAAtB;AACA,eAAKV,UAAL,GAAkB,KAAKA,UAAL,CAAgBkC,KAAhB,GAAwBC,OAAxB,EAAlB;AACA,eAAKF,UAAL;AACD;;;qCAEY;AACX,eAAKlC,YAAL,GAAoB,KAAKa,YAAL,CAAkBqB,UAAlB,CAA6B,KAAKjB,UAAlC,EAA8C,KAAKzB,cAAnD,EAAmE,KAAKS,UAAxE,CAApB;;AACA,cAAI,KAAKW,SAAL,KAAmB,CAAvB,EAA0B;AACxB,iBAAKyB,YAAL,CAAkB,KAAK/B,YAAvB,EAAqC,CAArC;AACD,WAFD,MAGK;AACH,iBAAK+B,YAAL,CAAkB,KAAK/B,YAAvB,EACEgC,IAAI,CAACC,IAAL,CAAW,KAAKvC,YAAL,CAAkBI,MAAlB,GAA2B,KAAKE,YAA3C,KAA6D,KAAKM,SAAlE,GACE,KAAKA,SADP,GAEE0B,IAAI,CAACC,IAAL,CAAW,KAAKvC,YAAL,CAAkBI,MAAlB,GAA2B,KAAKE,YAA3C,CAHJ;AAKD;;AACD,eAAKM,SAAL,GAAiB,CAAjB;AACD;;;qCAEY4B,e,EAAyBC,c,EAAwB;AAC5D,eAAKnC,YAAL,GAAoBkC,eAApB;AACA,eAAK7B,WAAL,GAAmB8B,cAAnB;AACA,eAAKvC,aAAL,GAAqB,KAAKF,YAAL,CAAkBmC,KAAlB,CAAwB,CAACM,cAAc,GAAG,CAAlB,IAAwBD,eAAhD,EAAmEA,eAAe,GAAGC,cAArF,CAArB;AACD;;;mCAEUC,O,EAAc;AACvB,cAAI,KAAKvB,SAAL,CAAeC,KAAf,KAAyBsB,OAAO,CAACtB,KAArC,EAA4C;AAC1C,iBAAKV,QAAL,GAAgB,CAAC,KAAKA,QAAtB;AACA,gBAAMiC,OAAO,GAAG,KAAKhC,WAArB;AACA,iBAAKiC,eAAL;AACA,iBAAKjC,WAAL,GAAmBgC,OAAnB;AACD,WALD,MAMK;AACH,iBAAKjC,QAAL,GAAgB,IAAhB;AACA,iBAAKS,SAAL,GAAiBuB,OAAjB;AACA,iBAAKV,QAAL;AACD;AACF;;;gCAEOZ,K,EAAY;AAClB,iBAAO,KAAK7B,YAAL,CAAkBsD,IAAlB,CAAuB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC1B,KAAF,KAAYA,KAAhB;AAAA,WAAxB,CAAP;AACD;;;mCAEU2B,K,EAAuB;AAChC,eAAKpC,WAAL,GAAmBoC,KAAK,CAACC,IAAzB;AACA,eAAKX,YAAL,CAAkB,KAAK/B,YAAvB,EAAqC,KAAKK,WAA1C;AACD;;;uCAEc;AACb,eAAKK,YAAL,GAAoB,EAApB;AACA,eAAKR,QAAL,GAAgB,EAAhB;AACA,eAAKC,cAAL,GAAsB,EAAtB;AACA,eAAKyB,UAAL;AACD;;;kCAESe,M,EAAM;AACd,cAAIA,MAAM,CAACC,MAAP,CAAcC,OAAlB,EAA2B;AACzB,iBAAK3C,QAAL,sBAAoB,KAAKR,YAAzB;AACD,WAFD,MAEO;AACL,iBAAKQ,QAAL,GAAgB,EAAhB;AACD;;AACD,eAAK4C,iBAAL;AACD;;;4CAEgB;AACf,cAAI,KAAK5C,QAAL,CAAcJ,MAAd,IAAwB,KAAKJ,YAAL,CAAkBI,MAA9C,EAAsD;AACpD,iBAAKK,cAAL,GAAsB,SAAtB;AACD,WAFD,MAEO,IAAI,KAAKD,QAAL,CAAcJ,MAAd,KAAyB,CAA7B,EAAgC;AACrC,iBAAKK,cAAL,GAAsB,eAAtB;AACD,WAFM,MAEC;AACN,iBAAKA,cAAL,GAAsB,EAAtB;AACD;AACF;;;mCAEU4C,C,EAAM;AACf,iBAAO,KAAK7C,QAAL,CAAc8C,SAAd,CAAwB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC7E,EAAF,KAAS2E,CAAC,CAAC3E,EAAf;AAAA,WAAzB,IAA8C,CAAC,CAAtD;AACD;;;iCAEQ8E,I,EAAS;AAChB,cAAI,KAAKC,UAAL,CAAgBD,IAAhB,CAAJ,EAA2B;AACzB,iBAAKhD,QAAL,GAAgB,KAAKA,QAAL,CAAckD,MAAd,CAAqB,UAAAH,CAAC;AAAA,qBAAIA,CAAC,CAAC7E,EAAF,KAAS8E,IAAI,CAAC9E,EAAlB;AAAA,aAAtB,CAAhB;AACD,WAFD,MAEO;AACL,iBAAK8B,QAAL,CAAcmD,IAAd,CAAmBH,IAAnB;AACD;;AACD,eAAKJ,iBAAL;AACD,S,CAID;AACA;AACA;AACA;AACA;AACA;;;;yCAEiB1E,E,EAAO;AAAA;;AACtB,eAAKoB,eAAL,GAAuB,MAAvB;AACA,eAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,WAAlB,CAAnB;AACA,0DAAG,KAAKe,WAAR,EAAqBgC,SAArB,CAA+B,UAAAM,IAAI,EAAI;AACrC,oBAAI,CAACtC,WAAL,GAAmBsC,IAAnB;AACD,WAFD,EAHsB,CAMtB;AACA;AACD;;;qCAaYrD,E,EAAO;AAClB,cAAIA,EAAE,IAAI,CAAV,EAAa;AACX,iBAAKoB,eAAL,GAAuB,KAAvB;AACA,iBAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,aAAlB,CAAnB;AACA,iBAAKsC,YAAL,GAAoB,CAAC,KAAKtB,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,aAAlB,CAAD,CAApB;AACA,iBAAKqF,QAAL,CAAcC,IAAd;AACD,WALD,MAMK,IAAItF,EAAE,KAAK,UAAX,EAAuB;AAC1B,iBAAKsC,YAAL,sBAAwB,KAAKR,QAA7B;AACA,iBAAKuD,QAAL,CAAcC,IAAd;AACD;AACF;;;2CAKe;AACd,cAAI,KAAKhD,YAAL,CAAkBZ,MAAlB,KAA6B,CAAjC,EAAoC;AAClC,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,QAAQ,KAAKvC,eAApC,CADF;AAED,WAHD,MAIK,IAAI,KAAK0B,YAAL,CAAkBZ,MAAlB,KAA6B,CAAjC,EAAoC;AACvC,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,QAAQ,KAAKvC,eAAb,GAA+B,GAAtD,CADF;AAED,WAHI,MAIA,IAAI,KAAK0B,YAAL,CAAkBZ,MAAlB,GAA2B,CAA3B,IAAgC,KAAKY,YAAL,CAAkBZ,MAAlB,GAA2B,EAA/D,EAAmE;AACtE,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAKb,YAAL,CAAkBZ,MADiC,GACxB,GADwB,GAClB,KAAKjB,SAAL,CAAe0C,OAAf,CAAuB,KAAKvC,eAAL,GAAuB,UAA9C,CADnC;AAED,WAHI,MAIA;AACH,iBAAK2E,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAKb,YAAL,CAAkBZ,MADiC,GACxB,GADwB,GAClB,KAAKjB,SAAL,CAAe0C,OAAf,CAAuB,KAAKvC,eAAL,GAAuB,MAA9C,CADnC;AAED;;AAED,eAAK0B,YAAL,GAAoB,EAApB;AACA,eAAKR,QAAL,GAAgB,EAAhB;AAEA,eAAK4C,iBAAL;;AACA,cAAI,KAAK3C,cAAL,KAAwB,EAA5B,EAAgC;AAC9B,iBAAKJ,YAAL,GAAoB,KAApB;AACD;;AACD,eAAK0D,QAAL,CAAcG,IAAd;AACD;;;qCAEYC,W,EAAqBC,S,EAAiB;AACjD,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBE,OADnB,EAC4B;AAAEC,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD5B;AAED;;;mCACUL,W,EAAqBC,S,EAAiB;AAC/C,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBjH,KADnB,EAC0B;AAAEoH,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD1B;AAED;;;8CACqB;AACpB,eAAKlD,QAAL;AACA,eAAKyC,QAAL,CAAcG,IAAd;AACD;;;sCAEa;AAAA;;AACZ,eAAKlF,YAAL,CAAkB8C,MAAlB,GAA2BL,SAA3B,CACE,UAAAM,IAAI,EAAI;AACN,oBAAI,CAACrC,MAAL,GAAcqC,IAAd;;AACA,oBAAI,CAACE,UAAL;AACD,WAJH;AAMD;;;qCAEY;AAAA;;AACX,cAAMwC,UAAU,GAAG,KAAKxD,UAAxB;AACA,eAAKA,UAAL,GAAkB,EAAlB;AACAyD,oBAAU,CAAC,YAAM;AACf,oBAAI,CAACzD,UAAL,GAAkBwD,UAAlB;AACD,WAFS,EAEP,CAFO,CAAV;AAGD;;;;;;;uBAhaUkvD,6B,EAA6B,6I,EAAA,uH,EAAA,sI,EAAA,mI,EAAA,2H,EAAA,qJ,EAAA,wH,EAAA,4I,EAAA,sI;AAAA,K;;;YAA7BA,6B;AAA6B,6C;AAAA;AAAA;;;;;;;;;;;;;;;;;ACkC1C;;AACI;;AACI;;AACI;;AAAkE;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAAwB,WAAxB;;AAE9D;;AAAyB;;AAAO;;AACpC;;AACA;;AACI;;AACI;;;;AACW;;AACnB;;AACA;;AACI;;AAMA;;AAOA;;AACI;;AAA2D;AAAA,mBAAS,IAAAhvD,YAAA,EAAT;AAAuB,WAAvB;;AAEK;;;;AAAwB;;AACxF;;AAA8B;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAAwB,WAAxB;;AACoD;;;;AACnE;;AACnB;;AACJ;;AACJ;;AACJ;;AACJ;;AAEA;;AACI;;AACI;;AAEI;;AACI;;AACI;;AACI;;AAAqB;AAAA;AAAA,aAAwB,OAAxB,EAAwB;AAAA,mBAAU,IAAA6uD,YAAA,EAAV;AAAwB,WAAhD,EAAwB,QAAxB,EAAwB;AAAA,mBAAoC,IAAAA,YAAA,EAApC;AAAkD,WAA1E;;;;AAArB;;AAEJ;;AACJ;;AACJ;;AACJ;;AAEA;;AACI;;AACI;;AACJ;;AACA;;AACI;;AACA;AAAA,mBAAS,IAAAS,OAAA,EAAT;AAAkB,WAAlB;;AAEK;;;;AAAoC;;AAC7C;;AACJ;;AAEJ;;AAGA;;AAEI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AAEI;;AAGI;AAAA,mBAAU,IAAAR,SAAA,QAAV;AAA2B,WAA3B;;AAHJ;;AAIA;;AAAmC;;AAAM;;AAC7C;;AACJ;;AACA;;AAGI;;AACJ;;AACA;;AAUJ;;AACJ;;AACJ;;AACA;;AAAqB;AAAA,mBAAS,IAAA1kD,UAAA,CAAW,IAAAC,OAAA,CAAQ,cAAR,CAAX,CAAT;AAA4C,WAA5C;;AACjB;;AAEoF;;AACxF;;AAAuB;AAAA,mBAAS,IAAAD,UAAA,CAAW,IAAAC,OAAA,CAAQ,cAAR,CAAX,CAAT;AAA4C,WAA5C;;AAEf;;;;AACR;;AACA;;AAAqB;AAAA,mBAAS,IAAAD,UAAA,CAAW,IAAAC,OAAA,CAAQ,SAAR,CAAX,CAAT;AAAuC,WAAvC;;AACjB;;AAE+E;;AACnF;;AAAuB;AAAA,mBAAS,IAAAD,UAAA,CAAW,IAAAC,OAAA,CAAQ,SAAR,CAAX,CAAT;AAAuC,WAAvC;;AAEf;;;;AACR;;AACA;;AAAqB;AAAA,mBAAS,IAAAD,UAAA,CAAW,IAAAC,OAAA,CAAQ,YAAR,CAAX,CAAT;AAA0C,WAA1C;;AACjB;;AAEkF;;AACtF;;AAAuB;AAAA,mBAAS,IAAAD,UAAA,CAAW,IAAAC,OAAA,CAAQ,YAAR,CAAX,CAAT;AAA0C,WAA1C;;AAEf;;;;AACR;;AACA;;AAAqB;AAAA,mBAAS,IAAAD,UAAA,CAAW,IAAAC,OAAA,CAAQ,oBAAR,CAAX,CAAT;AAAkD,WAAlD;;AACjB;;AAE0F;;AAC9F;;AAAuB;AAAA,mBAAS,IAAAD,UAAA,CAAW,IAAAC,OAAA,CAAQ,oBAAR,CAAX,CAAT;AAAkD,WAAlD;;AAEf;;;;AACR;;AACA;;AAAqB;AAAA,mBAAS,IAAAD,UAAA,CAAW,IAAAC,OAAA,CAAQ,oBAAR,CAAX,CAAT;AAAkD,WAAlD;;AACjB;;AAE0F;;AAC9F;;AAAuB;AAAA,mBAAS,IAAAD,UAAA,CAAW,IAAAC,OAAA,CAAQ,oBAAR,CAAX,CAAT;AAAkD,WAAlD;;AAEf;;;;AACR;;AACA;;AAAqB;AAAA,mBAAS,IAAAD,UAAA,CAAW,IAAAC,OAAA,CAAQ,oBAAR,CAAX,CAAT;AAAkD,WAAlD;;AACjB;;AAE0F;;AAC9F;;AAAuB;AAAA,mBAAS,IAAAD,UAAA,CAAW,IAAAC,OAAA,CAAQ,oBAAR,CAAX,CAAT;AAAkD,WAAlD;;AAEf;;;;AACR;;AACA;;AAAqB;AAAA,mBAAS,IAAAD,UAAA,CAAW,IAAAC,OAAA,CAAQ,oBAAR,CAAX,CAAT;AAAkD,WAAlD;;AACjB;;AAE0F;;AAC9F;;AAAuB;AAAA,mBAAS,IAAAD,UAAA,CAAW,IAAAC,OAAA,CAAQ,oBAAR,CAAX,CAAT;AAAkD,WAAlD;;AAEf;;;;AACR;;AACA;;AAAqB;AAAA,mBAAS,IAAAD,UAAA,CAAW,IAAAC,OAAA,CAAQ,oBAAR,CAAX,CAAT;AAAkD,WAAlD;;AACjB;;AAE0F;;AAC9F;;AAAuB;AAAA,mBAAS,IAAAD,UAAA,CAAW,IAAAC,OAAA,CAAQ,oBAAR,CAAX,CAAT;AAAkD,WAAlD;;AAEf;;;;AACR;;AACA;;AACA;;AACI;;AAEI;;AACI;;;;AACJ;;AACA;;AACI;;AAEI;;AACJ;;AACA;;AAMJ;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AA4BJ;;AACA;;AACI;;AACA;;AACA;;AACA;;AACA;;AACA;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAEA;;AAEI;;AAA6E;;AAAM;;AAEnF;;AAEI;;AACI;;AACI;;AACwB;AAAA;AAAA,aAAyB,aAAzB,EAAyB;AAAA,mBAI9B,IAAA0kD,UAAA,QAJ8B;AAIZ,WAJb;;AAKxB;;AACJ;;AACJ;;AACJ;;AAEA;;AAA0E;;AAAM;;AAEpF;;AACJ;;AAEA;;AAIA;;AAKA;;AAKA;;AAIA;;AAKA;;;;;;;;;;;;AAhRoB;;AAAA;;AAIiC;;AAAA;;AAM4B;;AAAA;;AASzD;;AAAA;;AAC4D;;AAAA;;AAEkB;;AAAA;;AAgB3B;;AAAA;;AAD9B;;AAexB;;AAAA;;AAoB2B;;AAAA,gHAAsC,eAAtC,EAAsC,sCAAtC;;AAwB2C;;AAAA;;AAC1D;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAEsD;;AAAA;;AACrD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAEyD;;AAAA;;AACxD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAEiE;;AAAA;;AAChE;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAEiE;;AAAA;;AAChE;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAEiE;;AAAA;;AAChE;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAEiE;;AAAA;;AAChE;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAEiE;;AAAA;;AAChE;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAGJ;;AAAA;;AAIQ;;AAAA;;AAKI;;AAAA;;AAaZ;;AAAA;;AAmDgB;;AAAA,+FAAyB,eAAzB,EAAyB,IAAzB,EAAyB,YAAzB,EAAyB,uBAAzB,EAAyB,cAAzB,EAAyB,gBAAzB,EAAyB,qBAAzB,EAAyB,IAAzB,EAAyB,oBAAzB,EAAyB,IAAzB,EAAyB,wBAAzB,EAAyB,GAAzB,EAAyB,oBAAzB,EAAyB,GAAzB,EAAyB,SAAzB,EAAyB,CAAzB;;;;;;;;;;sEDrR/BC,6B,EAA6B;cANzC,uDAMyC;eAN/B;AACT;AACA/uD,kBAAQ,EAAE,wBAFD;AAGTC,qBAAW,EAAE,uCAHJ;AAITC,mBAAS,EAAE,CAAC,uCAAD;AAJF,S;AAM+B,Q;;;;;;;;;;;;;;;;;;;;;;gBA2TtC,uD;iBAAU,U;;;;;;;;;;;;;;;;;;;;AErVd;AAAA;;;AAAA;AAAA;AAAA;;QAAaovD,mB,GAiBT,6BAAY1wD,IAAZ,EAAwC;AAAA;;AACpCA,UAAI,GAAGA,IAAI,GAAGA,IAAH,GAAU,EAArB;AACA,WAAK9E,EAAL,GAAU8E,IAAI,CAAC9E,EAAL,GAAU8E,IAAI,CAAC9E,EAAf,GAAoB,CAA9B;AACA,WAAKuuD,UAAL,GAAkBzpD,IAAI,CAACypD,UAAL,GAAkBzpD,IAAI,CAACypD,UAAvB,GAAoC,CAAtD;AACA,WAAK1xB,UAAL,GAAkB/3B,IAAI,CAAC+3B,UAAL,GAAkB/3B,IAAI,CAAC+3B,UAAvB,GAAoC,CAAtD;AACA,WAAKv1B,SAAL,GAAiBxC,IAAI,CAACwC,SAAL,GAAiBxC,IAAI,CAACwC,SAAtB,GAAkC,CAAnD;AACA,WAAKkwB,QAAL,GAAgB1yB,IAAI,CAAC0yB,QAAL,GAAgB1yB,IAAI,CAAC0yB,QAArB,GAAgC,CAAhD;AACA,WAAKD,SAAL,GAAiBzyB,IAAI,CAACyyB,SAAL,GAAiBzyB,IAAI,CAACyyB,SAAtB,GAAkC,CAAnD;AACA,WAAK8zB,UAAL,GAAkBvmD,IAAI,CAACumD,UAAL,GAAkBvmD,IAAI,CAACumD,UAAvB,GAAoC,CAAtD;AACA,WAAK6H,iBAAL,GAAuBpuD,IAAI,CAACouD,iBAAL,GAAuBpuD,IAAI,CAACouD,iBAA5B,GAA8C,IAArE;AACA,WAAK7rD,IAAL,GAAYvC,IAAI,CAACuC,IAAL,GAAYvC,IAAI,CAACuC,IAAjB,GAAwB,IAAIA,IAAJ,EAApC;AACA,WAAK4B,MAAL,GAAcnE,IAAI,CAACmE,MAAL,GAAcnE,IAAI,CAACmE,MAAnB,GAA4B,EAA1C;AACA,WAAK/H,MAAL,GAAc4D,IAAI,CAAC5D,MAAL,GAAc4D,IAAI,CAAC5D,MAAnB,GAA4B,EAA1C;AACA,WAAKi0D,YAAL,GAAoBrwD,IAAI,CAACqwD,YAAL,GAAoBrwD,IAAI,CAACqwD,YAAzB,GAAwC,EAA5D;AACA,WAAKG,oBAAL,GAA4BxwD,IAAI,CAACwwD,oBAAL,GAA4BxwD,IAAI,CAACwwD,oBAAjC,GAAwD,EAApF;AACA,WAAKD,WAAL,GAAmBvwD,IAAI,CAACuwD,WAAL,GAAmBvwD,IAAI,CAACuwD,WAAxB,GAAsC,EAAzD;AACA,WAAKjC,aAAL,GAAqBtuD,IAAI,CAACsuD,aAAL,GAAqBtuD,IAAI,CAACsuD,aAA1B,GAA0C,EAA/D;AACA,WAAKD,aAAL,GAAqBruD,IAAI,CAACquD,aAAL,GAAqBruD,IAAI,CAACquD,aAA1B,GAA0C,EAA/D;AACH,K;;;;;;;;;;;;;;;;;ACpCL;AAAA;;;AAAA;AAAA;AAAA;;QAAanhD,Y,GAIT,sBAAYlN,IAAZ,EAAiC;AAAA;;AAC7BA,UAAI,GAAGA,IAAI,GAAGA,IAAH,GAAU,EAArB;AACA,WAAK9E,EAAL,GAAU8E,IAAI,CAAC9E,EAAL,GAAU8E,IAAI,CAAC9E,EAAf,GAAoB,CAA9B;AACA,WAAKiJ,MAAL,GAAcnE,IAAI,CAACmE,MAAL,GAAcnE,IAAI,CAACmE,MAAnB,GAA4B,EAA1C;AACA,WAAK/H,MAAL,GAAc4D,IAAI,CAAC5D,MAAL,GAAc4D,IAAI,CAAC5D,MAAnB,GAA4B,EAA1C;AACH,K;;;;;;;;;;;;;;;;;ACRL;AAAA;;;AAAA;AAAA;AAAA;;QAAau0D,c,GAWT,wBAAY3wD,IAAZ,EAAmC;AAAA;;AAC/BA,UAAI,GAAGA,IAAI,GAAGA,IAAH,GAAU,EAArB;AACA,WAAK9E,EAAL,GAAU8E,IAAI,CAAC9E,EAAL,GAAU8E,IAAI,CAAC9E,EAAf,GAAoB,CAA9B;AACA,WAAKkB,MAAL,GAAc4D,IAAI,CAAC5D,MAAL,GAAc4D,IAAI,CAAC5D,MAAnB,GAA4B,EAA1C;AACA,WAAK+H,MAAL,GAAcnE,IAAI,CAACmE,MAAL,GAAcnE,IAAI,CAACmE,MAAnB,GAA4B,EAA1C;AACA,WAAKkC,KAAL,GAAarG,IAAI,CAACqG,KAAL,GAAarG,IAAI,CAACqG,KAAlB,GAA0B,EAAvC;AACA,WAAKgL,OAAL,GAAerR,IAAI,CAACqR,OAAL,GAAerR,IAAI,CAACqR,OAApB,GAA8B,EAA7C;AACA,WAAKu+C,YAAL,GAAoB5vD,IAAI,CAAC4vD,YAAL,GAAoB5vD,IAAI,CAAC4vD,YAAzB,GAAwC,EAA5D;AACA,WAAKrpD,SAAL,GAAiBvG,IAAI,CAACuG,SAAL,GAAiBvG,IAAI,CAACuG,SAAtB,GAAkC,CAAnD;AACA,WAAKG,MAAL,GAAc1G,IAAI,CAAC0G,MAAL,GAAc1G,IAAI,CAAC0G,MAAnB,GAA4B,IAA1C;AACA,WAAKopD,SAAL,GAAiB9vD,IAAI,CAAC8vD,SAAL,GAAiB9vD,IAAI,CAAC8vD,SAAtB,GAAkC,EAAnD;AACA,WAAKttC,UAAL,GAAkBxiB,IAAI,CAACwiB,UAAL,GAAkBxiB,IAAI,CAACwiB,UAAvB,GAAoC,EAAtD;AACH,K;;;;;;;;;;;;;;;;;ACxBL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;ACmBoB;;AAEI;;;;AAAqC;;;;AAArC;;AAAA;;;;;;AAOJ;;AAEA;;;;AAAqC;;;;AAArC;;AAAA;;;;;;;;AAhBZ;;AACI;;AACI;;AACI;;AAAqC;;;;AAA4B;;AACjE;;AAAqD;AAAA;;AAAA;;AAAA;AAAA;;;;AAArD;;AACA;;AAGA;;AACJ;;AACA;;AACI;;AAAqC;;;;AAA4B;;AACjE;;AAA+E;AAAA;;AAAA;;AAAA;AAAA;;;;AAA/E;;AACA;;AACA;;AAGJ;;AASA;;AACI;;AAAmE;AAAA;;AAAA;;AAAA;AAAA;;AACH;;;;AAAqB;;AACzF;;AACJ;;AACJ;;;;;;AA9BkD;;AAAA;;AAED;;AAAA;;AACqE;;AAAA;;AAEtG;;AAAA;;AAKiC;;AAAA;;AACuE;;AAAA;;AAG5G;;AAAA;;AAYkC;;AAAA;;AAC8B;;AAAA;;;;;;;;;;QD3BvEouC,oB;AAOX,oCAAoBr1D,WAApB,EAAoDkxD,gBAApD,EAA+E;AAAA;;AAAA;;AAA3D,aAAAlxD,WAAA,GAAAA,WAAA;AAAgC,aAAAkxD,gBAAA,GAAAA,gBAAA;AANpD,aAAAG,WAAA,GAA2B,EAA3B;AAEA,aAAAiE,YAAA,GAA8B,IAAI,gEAAJ,CAAiB,EAAjB,CAA9B;AAeF,aAAAC,WAAA,GAA0B,IAAI,wDAAJ,CAAc;AACtC51D,YAAE,EAAE,IAAI,0DAAJ,EADkC;AAEtCyT,cAAI,EAAE,IAAI,0DAAJ,EAFgC;AAGtCoiD,gBAAM,EAAE,IAAI,0DAAJ;AAH8B,SAAd,CAA1B;AATItE,wBAAgB,CAACnuD,MAAjB,GAA0BL,SAA1B,CACE,UAAA+B,IAAI,EAAE;AACF,kBAAI,CAAC4sD,WAAL,GAAiB5sD,IAAjB;AACAmV,iBAAO,CAACC,GAAR,CAAY,kBAAZ,EAA+B,QAAI,CAACw3C,WAApC;AAEH,SALH;AAOD;;;;qCAQW;AACN,iBAAO,KAAKrxD,WAAL,CAAiB6G,KAAjB,CAAuB;AAC5BlH,cAAE,EAAE,CAAC,KAAK21D,YAAL,CAAkB31D,EAAlB,IAAsB,CAAtB,GAAyB,KAAK21D,YAAL,CAAkB31D,EAA3C,GAAgD,CAAjD,CADwB;AAE5ByT,gBAAI,EAAE,CAAC,KAAKkiD,YAAL,CAAkBz0D,MAAnB,EAA2B,0DAAW0N,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWC,OAAX,CAAmB,8BAAnB,CAAtB,CAAnB,CAA3B,CAFsB;AAG5B+mD,kBAAM,EAAE,CAAC,KAAKF,YAAL,CAAkB1sD,MAAnB,EAA2B,0DAAW2F,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWC,OAAX,CAAmB,4CAAnB,CAAtB,CAAnB,CAA3B;AAHoB,WAAvB,CAAP;AAIG;;;uCACS;AACV;AACE,eAAK6mD,YAAL,GAAoB,IAAI,gEAAJ,EAApB;AACA,eAAKC,WAAL,GAAmB,KAAKhtD,UAAL,EAAnB;AACA,eAAKktD,QAAL,CAAcxwD,IAAd;AACD;;;uCACW;AACV,eAAKwwD,QAAL,CAActwD,IAAd;AACD;;;wCAGY;AACX,cAAIV,IAAI,GAAE,KAAK4sD,WAAL,CAAiB,CAAjB,CAAV;AACA,eAAKkE,WAAL,CAAiB9sD,WAAjB,GAA+B2K,IAA/B,GAAqC3O,IAAI,CAAC5D,MAA1C;AACA,eAAK00D,WAAL,CAAiB9sD,WAAjB,GAA+B+sD,MAA/B,GAAwC/wD,IAAI,CAACmE,MAA7C,CAHW,CAKX;AAEE;AACA;;AACC,eAAK2sD,WAAL,GAAmB,KAAKhtD,UAAL,EAAnB;AACD,eAAKktD,QAAL,CAAcxwD,IAAd;AAED;;;qCAEO;AACR,eAAKqwD,YAAL,GAAoB,IAAI,gEAAJ,EAApB,CADQ,CAER;;AACA,eAAKA,YAAL,CAAkB1sD,MAAlB,GAA2B,KAAK2sD,WAAL,CAAiB9sD,WAAjB,GAA+B2K,IAA1D;AACA,eAAKkiD,YAAL,CAAkBz0D,MAAlB,GAA2B,KAAK00D,WAAL,CAAiB9sD,WAAjB,GAA+B+sD,MAA1D,CAJQ,CAKR;AACA;;AACJ57C,iBAAO,CAACC,GAAR,CAAY,aAAZ,EAA0B,KAAKw3C,WAA/B;AACA,eAAKH,gBAAL,CAAsB7E,QAAtB,CAA+B,KAAKiJ,YAApC,EAAkD5yD,SAAlD,CACE,UAAA+B,IAAI,EAAE;AACJ,gBAAGA,IAAH,EAAQ;AACNmV,qBAAO,CAACC,GAAR,CAAY,UAAZ;AAED;AACF,WANH,EARY,CAgBR;;AACA,eAAK47C,QAAL,CAActwD,IAAd;AACD,S,CAGT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;0CAEe;AAEb,cAAIuwD,UAAU,GAAG,KAAKH,WAAL,CAAiBp2D,GAAjB,CAAqB,OAArB,CAAjB;;AACA,cAAGu2D,UAAU,CAAC5tD,KAAX,KAAmB,IAAtB,EAA2B;AACzB4tD,sBAAU,CAAChoC,QAAX,CAAoB,CAApB;AACD;AACF;;;2CACe;AAEd,cAAIgoC,UAAU,GAAG,KAAKH,WAAL,CAAiBp2D,GAAjB,CAAqB,MAArB,CAAjB;AACA,cAAIw2D,OAAO,GAAG,eAAd;;AACA,cAAG,CAACA,OAAO,CAAC1L,IAAR,CAAayL,UAAU,CAAC5tD,KAAX,CAAiBkV,QAAjB,EAAb,CAAJ,EAA8C;AAC5C04C,sBAAU,CAAChoC,QAAX,CAAoBgoC,UAAU,CAAC5tD,KAAX,CAAiB2xC,OAAjB,CAAyB,eAAzB,EAA0C,EAA1C,CAApB;AACD;AACF;;;0CACc;AAEb,cAAIic,UAAU,GAAG,KAAKH,WAAL,CAAiBp2D,GAAjB,CAAqB,QAArB,CAAjB;AACA,cAAIy2D,MAAM,GAAG,oBAAb;;AACA,cAAG,CAACA,MAAM,CAAC3L,IAAP,CAAYyL,UAAU,CAAC5tD,KAAX,CAAiBkV,QAAjB,EAAZ,CAAJ,EAA6C;AAC3C04C,sBAAU,CAAChoC,QAAX,CAAoBgoC,UAAU,CAAC5tD,KAAX,CAAiB2xC,OAAjB,CAAyB,sBAAzB,EAAiD,EAAjD,CAApB;AACD;AACF;;;;;;;uBA/HU4b,oB,EAAoB,2H,EAAA,kI;AAAA,K;;;YAApBA,oB;AAAoB,mC;AAAA;AAAA;;;;;;;;;;;;;;;ACfjC;;AAA8C;AAAA,mBAAS,IAAAQ,YAAA,EAAT;AAAuB,WAAvB;;AAAyB;;;;AAAiC;;AACxG;;AAA8C;AAAA,mBAAS,IAAAC,aAAA,EAAT;AAAwB,WAAxB;;AAA0B;;;;AAA8B;;AAEtG;;AAEE;;AACE;;AACI;;AAAkE;AAAA,mBAAS,IAAAC,YAAA,EAAT;AAAuB,WAAvB;;AAE9D;;AAAyB;;AAAO;;AACpC;;AACA;;AACI;;AAAqF;;;;AAAiC;;AAC1H;;AACA;;AAgCJ;;AACF;;AACF;;;;AAhDuE;;AAAA;;AACC;;AAAA;;AAEhB;;AAAA;;AASyC;;AAAA;;AAEjE;;AAAA;;;;;;;;;;sEDCnBV,oB,EAAoB;cANhC,uDAMgC;eANtB;AACP;AACAxvD,kBAAQ,EAAE,cAFH;AAGPC,qBAAW,EAAE,6BAHN;AAIPC,mBAAS,EAAE,CAAC,6BAAD;AAJJ,S;AAMsB,Q;;;;;;;;gBAI9B,uD;iBAAU,a;;;;;;;;;;;;;;;;;;;;AEnBb;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAUaiwD,U;AAYX,0BAAoBr3D,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAXlB,aAAA+rB,SAAA,GAAkB,CAAE3rB,YAAY,CAACC,OAAb,CAAqB,WAArB,CAApB;AACA,aAAAJ,OAAA,GAAU,yEAAYC,UAAtB;AACD,aAAAC,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AAUA;;;;iCACK;AAEJ,iBAAO,KAAKH,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,yBACmC,KAAK8rB,SADxC,GACoD,KAAKzrB,WADzD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;iCAIQI,O,EAAkB;AAEzB,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,yBACoC,KAAK8rB,SADzC,GACsDjrB,OADtD,EAC8D,KAAKR,WADnE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCAEMZ,E,EAAS;AAEd;AACA,iBAAO,KAAKE,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,0BACoCH,EADpC,GACyC,KAAKQ,WAD9C,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BACMI,O,EAAkB;AAEvB;AACA,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,yBACoC,KAAK8rB,SADzC,GACsDjrB,OADtD,EAC8D,KAAKR,WADnE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BAEMI,O,EAAkB;AACvB;AACA,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,kBACoCa,OADpC,EAC4C,KAAKR,WADjD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCAEMZ,E,EAAU;AACf,iBAAO,KAAKE,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,yBACmCH,EADnC,GACwC,KAAKQ,WAD7C,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;mCACUI,O,EAAqB;AAC9B,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,sBACuCgB,IAAI,CAACC,SAAL,CAAeJ,OAAf,CADvC,EAC+D,KAAKR,WADpE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;;;;;uBA9DU22D,U,EAAU,uH;AAAA,K;;;aAAVA,U;AAAU,eAAVA,UAAU,K;AAAA,kBAFT;;;;;sEAEDA,U,EAAU;cAHtB,wDAGsB;eAHX;AACVl2D,oBAAU,EAAE;AADF,S;AAGW,Q;;;;;;;;;;;;;;;;;;;;;;ACVvB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAUam2D,a;AAYX,6BAAoBt3D,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAXlB,aAAA+rB,SAAA,GAAkB,CAAE3rB,YAAY,CAACC,OAAb,CAAqB,WAArB,CAApB;AACA,aAAAJ,OAAA,GAAU,yEAAYC,UAAtB;AACD,aAAAC,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AAUA;;;;iCACK;AAEJ,iBAAO,KAAKH,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,4BACsC,KAAK8rB,SAD3C,GACuD,KAAKzrB,WAD5D,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;iCAIQI,O,EAAqB;AAE5B,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,4BACuC,KAAK8rB,SAD5C,GACyDjrB,OADzD,EACiE,KAAKR,WADtE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCAEMZ,E,EAAS;AAEd;AACA,iBAAO,KAAKE,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,6BACuCH,EADvC,GAC4C,KAAKQ,WADjD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BACMI,O,EAAqB;AAE1B;AACA,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,4BACuC,KAAK8rB,SAD5C,GACyDjrB,OADzD,EACiE,KAAKR,WADtE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BAEMI,O,EAAqB;AAC1B;AACA,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,qBACuCa,OADvC,EAC+C,KAAKR,WADpD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCAEMZ,E,EAAU;AACf,iBAAO,KAAKE,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,4BACsCH,EADtC,GAC2C,KAAKQ,WADhD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;mCACUI,O,EAAwB;AACjC,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,yBAC0CgB,IAAI,CAACC,SAAL,CAAeJ,OAAf,CAD1C,EACkE,KAAKR,WADvE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;;;;;uBA9DU42D,a,EAAa,uH;AAAA,K;;;aAAbA,a;AAAa,eAAbA,aAAa,K;AAAA,kBAFZ;;;;;sEAEDA,a,EAAa;cAHzB,wDAGyB;eAHd;AACVn2D,oBAAU,EAAE;AADF,S;AAGc,Q;;;;;;;;;;;;;;;;;;;;;;ACV1B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QASao2D,mB;AAYX,mCAAoBv3D,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAXlB,aAAA+rB,SAAA,GAAkB,CAAE3rB,YAAY,CAACC,OAAb,CAAqB,WAArB,CAApB;AACA,aAAAJ,OAAA,GAAU,yEAAYC,UAAtB;AACD,aAAAC,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AAUA;;;;iCAEK;AAEJ,iBAAO,KAAKH,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,qCAC+C,KAAK8rB,SADpD,GACgE,KAAKzrB,WADrE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCAEOZ,E,EAAS;AAEf;AACA,iBAAO,KAAKE,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,sCACgDH,EADhD,GACqD,KAAKQ,WAD1D,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BACMI,O,EAAY;AAEjB;AACA,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,qCACgD,KAAK8rB,SADrD,GACkEjrB,OADlE,EAC0E,KAAKR,WAD/E,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BAEMI,O,EAAY;AACjB;AACA,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,8BACgDa,OADhD,EACwD,KAAKR,WAD7D,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCAEMZ,E,EAAU;AACf,iBAAO,KAAKE,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,qCAC+CH,EAD/C,GACoD,KAAKQ,WADzD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;mCAEUI,O,EAAe;AACxB,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,kCACmDgB,IAAI,CAACC,SAAL,CAAeJ,OAAf,CADnD,EAC2E,KAAKR,WADhF,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;;;;;uBAvDU62D,mB,EAAmB,uH;AAAA,K;;;aAAnBA,mB;AAAmB,eAAnBA,mBAAmB,K;AAAA,kBAFlB;;;;;sEAEDA,mB,EAAmB;cAH/B,wDAG+B;eAHpB;AACVp2D,oBAAU,EAAE;AADF,S;AAGoB,Q;;;;;;;;;;;;;;;;;;;;;;ACThC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAUaq2D,sB;AAYX,sCAAoBx3D,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAXlB,aAAA+rB,SAAA,GAAkB,CAAE3rB,YAAY,CAACC,OAAb,CAAqB,WAArB,CAApB;AACA,aAAAJ,OAAA,GAAU,yEAAYC,UAAtB;AACD,aAAAC,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AAUA;;;;iCACK;AAEJ,iBAAO,KAAKH,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,6BACuC,KAAK8rB,SAD5C,GACwD,KAAKzrB,WAD7D,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;iCAIQI,O,EAA4B;AAEnC,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,6BACwC,KAAK8rB,SAD7C,GAC0DjrB,OAD1D,EACkE,KAAKR,WADvE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCAEMZ,E,EAAS;AAEd;AACA,iBAAO,KAAKE,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,8BACwCH,EADxC,GAC6C,KAAKQ,WADlD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BACMI,O,EAA4B;AAEjC;AACA,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,6BACwC,KAAK8rB,SAD7C,GAC0DjrB,OAD1D,EACkE,KAAKR,WADvE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BAEMI,O,EAA4B;AACjC;AACA,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,sBACwCa,OADxC,EACgD,KAAKR,WADrD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCAEMZ,E,EAAU;AACf,iBAAO,KAAKE,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,6BACuCH,EADvC,GAC4C,KAAKQ,WADjD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;mCACUI,O,EAA+B;AACxC,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,0BAC2CgB,IAAI,CAACC,SAAL,CAAeJ,OAAf,CAD3C,EACmE,KAAKR,WADxE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;;;;;uBA9DU82D,sB,EAAsB,uH;AAAA,K;;;aAAtBA,sB;AAAsB,eAAtBA,sBAAsB,K;AAAA,kBAFrB;;;;;sEAEDA,sB,EAAsB;cAHlC,wDAGkC;eAHvB;AACVr2D,oBAAU,EAAE;AADF,S;AAGuB,Q;;;;;;;;;;;;;;;;;;;;;;ACVnC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAUas2D,U;AAYX,0BAAoBz3D,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAXlB,aAAA+rB,SAAA,GAAkB,CAAE3rB,YAAY,CAACC,OAAb,CAAqB,WAArB,CAApB;AACA,aAAAJ,OAAA,GAAU,yEAAYC,UAAtB;AACD,aAAAC,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AAUA;;;;iCAEK;AAEJ,iBAAO,KAAKH,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,4BACsC,KAAK8rB,SAD3C,GACuD,KAAKzrB,WAD5D,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCAEOZ,E,EAAS;AAEf;AACA,iBAAO,KAAKE,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,6BACuCH,EADvC,GAC4C,KAAKQ,WADjD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;iCACQI,O,EAAqB;AAE5B;AACA,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,4BACuC,KAAK8rB,SAD5C,GACyDjrB,OADzD,EACiE,KAAKR,WADtE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;4BAEGI,O,EAAqB;AACvB;AACA,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,oBACsCa,OADtC,EAC8C,KAAKR,WADnD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCAEMZ,E,EAAU;AACf,iBAAO,KAAKE,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,2BACqCH,EADrC,GAC0C,KAAKQ,WAD/C,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;;;;;uBAjDU+2D,U,EAAU,uH;AAAA,K;;;aAAVA,U;AAAU,eAAVA,UAAU,K;AAAA,kBAFT;;;;;sEAEDA,U,EAAU;cAHtB,wDAGsB;eAHX;AACVt2D,oBAAU,EAAE;AADF,S;AAGW,Q;;;;;;;;;;;;;;;;;;;;;;ACVvB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAUa6zD,W;AAYX,2BAAoBh1D,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAXlB,aAAA+rB,SAAA,GAAkB,CAAE3rB,YAAY,CAACC,OAAb,CAAqB,WAArB,CAApB;AACA,aAAAJ,OAAA,GAAU,yEAAYC,UAAtB;AACD,aAAAC,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AAUA;;;;iCAEK;AAEJ,iBAAO,KAAKH,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,6BACuC,KAAK8rB,SAD5C,GACwD,KAAKzrB,WAD7D,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCAEOZ,E,EAAS;AAEf;AACA,iBAAO,KAAKE,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,8BACwCH,EADxC,GAC6C,KAAKQ,WADlD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BACMI,O,EAAuB;AAE5B;AACA,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,6BACwC,KAAK8rB,SAD7C,GAC0DjrB,OAD1D,EACkE,KAAKR,WADvE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BAEMI,O,EAAuB;AAC5B;AACA,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,sBACwCa,OADxC,EACgD,KAAKR,WADrD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCAEMZ,E,EAAU;AACf,iBAAO,KAAKE,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,6BACuCH,EADvC,GAC4C,KAAKQ,WADjD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;mCACUI,O,EAA0B;AACnC,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,0BAC2CgB,IAAI,CAACC,SAAL,CAAeJ,OAAf,CAD3C,EACmE,KAAKR,WADxE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;oCACW2c,Q,EAAoB;AAC9B,cAAI9c,OAAO,GAAG,IAAI,gEAAJ,EAAd;AAEAA,iBAAO,CAAC+c,MAAR,CAAe,cAAf,EAA+B,qBAA/B;AACA/c,iBAAO,CAAC+c,MAAR,CAAe,QAAf,EAAyB,kBAAzB;AAEA,cAAMhd,WAAW,GAAG;AAAEC,mBAAO,EAAEA;AAAX,WAApB;AAEA,iBAAO,KAAKP,IAAL,CAAUe,IAAV,WAAkB,KAAKd,OAAvB,kCAAsD,KAAK8rB,SAA3D,GAAyE1O,QAAzE,EAAmF/c,WAAnF,CAAP;AACD;;;;;;;uBAhEU00D,W,EAAW,uH;AAAA,K;;;aAAXA,W;AAAW,eAAXA,WAAW,K;AAAA,kBAFV;;;;;sEAEDA,W,EAAW;cAHvB,wDAGuB;eAHZ;AACV7zD,oBAAU,EAAE;AADF,S;AAGY,Q;;;;;;;;;;;;;;;;;;;;;;ACVxB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;AC4EoB;;AACI;;AAAmB;;AAA4C;;AAC/D;;AACJ;;;;;;;;AAFuB;;AAAA;;;;;;AAF3B;;AACI;;AAIJ;;;;;;AAJS;;AAAA;;;;;;AAKT;;AACI;;AACI;;AAAqD;;;;AAA2C;;AACpG;;AACA;;AACJ;;;;;;AAH6D;;AAAA;;;;;;;;AA+FzC;;AAEI;;AAAoB;;AACZ;;AAEI;AAAA;;AAAA;;AAAA,sCAAsB,UAAtB;AAAgC,SAAhC;;AAC8D;;;;AAEnD;;AAAS;;AAAI;;AACxC;;;;;;AAHgB;;AAAA;;AAA8D;;AAAA;;;;;;;;AA+C1E;;AAA4D;;AAEpD;AAAA;;AAAA;;AAAA;;AAAA,gDAA4B,CAA5B;AAA6B,SAA7B;;AAAgC;;AAAQ;;AAAI;;;;;;;;AAD5C;;AAAA;;AACgC;;AAAA;;;;;;AAJ5C;;AAEI;;AAGJ;;;;;;AAHwB;;AAAA;;;;;;;;;;;;;;;;AASpC;;AACI;;AACI;;AACI;;AACgC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AADhC;;AAEA;;AACJ;;AACJ;;AAEA;;AAAgB;;AAAwC;;AACxD;;AAAgB;;AAAa;;AAI7B;;AAAI;;AACmF;;;;AAClE;;AAAS;;AAC9B;;AAAI;;AACmF;;;;AAClE;;AAAS;;AAC9B;;AAAI;;AAAmD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC+B;;;;AACjE;;AAAS;;AAClC;;;;;;;;;AApBgE;;AAAA,8FAAsB,SAAtB,EAAsB,0BAAtB;;AAEhB;;AAAA;;AAI5B;;AAAA;;AACA;;AAAA;;AAI6B;;AAAA,mKAAmD,UAAnD,EAAmD,kCAAnD;;AAC0C;;AAAA;;AAE9B;;AAAA,mKAAmD,UAAnD,EAAmD,kCAAnD;;AAC8B;;AAAA;;AAG/E;;AAAA;;AAA8E;;AAAA;;;;;;AAgD9G;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AAIA;;;;;;;;;;;;;;;;;;;;;;QDrSSu2D,sB;AACX;AACA;AACA;AACA;AACA,sCAAsBpF,sBAAtB,EAA0EyC,aAA1E,EAAgHrzD,MAAhH,EAAwIw0D,iBAAxI,EAA+K3D,gBAA/K,EAAqNlxD,WAArN,EAAuPC,YAAvP,EAA0RC,QAA1R,EACUC,aADV,EACuDC,SADvD,EACoF;AAAA;;AAD9D,aAAA6wD,sBAAA,GAAAA,sBAAA;AAAoD,aAAAyC,aAAA,GAAAA,aAAA;AAAsC,aAAArzD,MAAA,GAAAA,MAAA;AAAwB,aAAAw0D,iBAAA,GAAAA,iBAAA;AAAuC,aAAA3D,gBAAA,GAAAA,gBAAA;AAAsC,aAAAlxD,WAAA,GAAAA,WAAA;AAAkC,aAAAC,YAAA,GAAAA,YAAA;AAAmC,aAAAC,QAAA,GAAAA,QAAA;AAChR,aAAAC,aAAA,GAAAA,aAAA;AAA6C,aAAAC,SAAA,GAAAA,SAAA;AAGvD,aAAAG,eAAA,GAA0B,UAA1B;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,cAAA,GAAiB,CAAC,QAAD,EAAW,QAAX,CAAjB;AACA,aAAA2wD,gBAAA,GAA0B,EAA1B;AAEA,aAAAzwD,MAAA,GAA4B,EAA5B;AACA,aAAAD,WAAA,GAA8B,IAAI,oEAAJ,CAAmB,EAAnB,CAA9B;AACA,aAAAE,QAAA,GAAsB,IAAI,wDAAJ,CAAc;AAClCjB,YAAE,EAAE,IAAI,0DAAJ,EAD8B;AAElCkB,gBAAM,EAAE,IAAI,0DAAJ,EAF0B;AAGlC+H,gBAAM,EAAE,IAAI,0DAAJ;AAH0B,SAAd,CAAtB,CAXoF,CA6HpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,aAAA2gB,WAAA,GAA8B,EAA9B;AAmBA,aAAAxoB,eAAA,GAA0B,EAA1B;AACA,aAAAC,aAAA,GAAwB,EAAxB;AAEA,aAAAC,YAAA,sBAAmB,KAAKN,MAAxB;AACA,aAAAO,UAAA,sBAAiB,KAAKD,YAAtB;AACA,aAAAE,aAAA,sBAAoB,KAAKF,YAAzB;AACA,aAAAG,MAAA,GAAiB,KAAKT,MAAL,CAAYU,MAAZ,GAAqB,CAAtC;AAEA,aAAAC,YAAA,GAAoB,KAApB;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,kBAAA,GAAqB,CAAC,CAAD,EAAI,EAAJ,EAAQ,EAAR,CAArB;AACA,aAAAC,QAAA,GAAW,EAAX;AACA,aAAAC,cAAA,GAAiB,EAAjB;AAEA,aAAAC,QAAA,GAAoB,IAApB;AAEA,aAAAC,WAAA,GAAc,CAAd;AACA,aAAAC,SAAA,GAAY,CAAZ;AAGA,aAAAC,YAAA,GAAe,IAAI,sFAAJ,EAAf;AACA,aAAAC,UAAA,GAAa,IAAI,kFAAJ,EAAb;AACA,aAAAC,aAAA,GAAgB,IAAI,wFAAJ,EAAhB,CAjLoF,CAmUpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAAC,YAAA,GAAsC,EAAtC;AAcA,aAAAC,UAAA,GAAkB,EAAlB;AA1VC;;;;mCAgBO;AAGR;AACA;AACA;AACA;AACA;AACE,eAAKC,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACA,eAAKoD,SAAL,GAAiB;AAAEC,iBAAK,EAAE,UAAT;AAAqBC,oBAAQ,EAAE,KAAKH,IAAL,KAAc,OAAd,GAAwB,QAAxB,GAAmC;AAAlE,WAAjB;AACA,eAAK3B,YAAL,GAAoB,CAClB;AAAE6B,iBAAK,EAAE,UAAT;AAAqBC,oBAAQ,EAAE,KAAKH,IAAL,KAAc,OAAd,GAAwB,QAAxB,GAAmC;AAAlE,WADkB,CAApB;AAGA,eAAKI,QAAL,GAbM,CAcN;AACD,S,CAED;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;;;;uCACe;AACb,eAAKV,SAAL,GAAiB,KAAKD,WAAtB,CADa,CAEb;;AACA,eAAKZ,aAAL,GAAqB,SAArB;AACA,eAAKwB,mBAAL;AACD,S,CAED;;;;8CACmB;AAAA;;AACjB,eAAKvC,YAAL,CAAkBwC,UAAlB,CAA6B,KAAKR,YAAlC,EAAgDS,SAAhD,CAA0D,UAAAC,MAAM,EAAI;AAClE,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAACJ,QAAL;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAAC4B,gBAAL;AACD,aAJD,MAKK;AACH,sBAAI,CAACC,UAAL,CAAgB,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAAhB,EAAiD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,cAAvB,CAAjD;AACD;AACF,WATD;AAUD;;;kCAaM;AACL,eAAKzC,MAAL,CAAY0E,QAAZ,CAAsB,CAAC,kBAAD,EAAqB;AAACuxD,iBAAK,EAAE,KAAR;AAAe73D,cAAE,EAAE;AAAnB,WAArB,CAAtB;AACH;;;mCACUoG,I,EAAWlF,E,EAAO;AAC3B,iBAAOkF,IAAI,CAACf,IAAL,CAAU,UAAAU,CAAC;AAAA,mBAAIA,CAAC,CAAC7E,EAAF,KAASA,EAAb;AAAA,WAAX,CAAP;AACD;;;mCAqCY;AAAA;;AACT;AAEA,eAAKqB,aAAL,GAAqB,SAArB;AACA,eAAK0yD,aAAL,CAAmB3wD,MAAnB,GAA4BL,SAA5B,CACE,UAAA+B,IAAI,EAAI;AACJ,oBAAI,CAAC8kB,WAAL,GAAmB9kB,IAAnB;AACAmV,mBAAO,CAACC,GAAR,CAAY,QAAI,CAAC0P,WAAjB;;AACA,oBAAI,CAACtpB,YAAL,CAAkB8C,MAAlB,GAA2BL,SAA3B,CACE,UAAAM,IAAI,EAAI;AACN,sBAAI,CAACrC,MAAL,GAAcqC,IAAd,CADM,CAEN;;AACA,sBAAI,CAACrC,MAAL,CAAYwQ,OAAZ,CACE,UAAA1M,IAAI,EAAE;AACJA,oBAAI,CAAC8vD,SAAL,GAAiB,QAAI,CAACpyD,IAAL,KAAY,OAAZ,GAAoB,QAAI,CAAC4yD,UAAL,CAAgB,QAAI,CAACxrC,WAArB,EAAiC9kB,IAAI,CAACuG,SAAtC,EAAiDpC,MAArE,GAA4E,QAAI,CAACmsD,UAAL,CAAgB,QAAI,CAACxrC,WAArB,EAAiC9kB,IAAI,CAACuG,SAAtC,EAAiDnK,MAA9I,CADI,CAEJ;AACA;AACD,eALH;;AASA,sBAAI,CAACoC,QAAL;;AACA,sBAAI,CAACC,UAAL;;AACA,sBAAI,CAAClC,aAAL,GAAqB,EAArB;AACD,aAhBH;AAkBH,WAtBH;AAyBD;;;mCAEU;AACT,eAAKE,UAAL,GAAkB,KAAKa,UAAL,CAAgBkB,QAAhB,CAAyB,KAAKb,SAAL,CAAeE,QAAxC,EAAkD,KAAK3B,MAAvD,CAAlB;AACA,eAAKwC,UAAL;AACD;;;0CAEiB;AAChB,eAAKtB,SAAL,GAAiB,KAAKD,WAAtB;AACA,eAAKV,UAAL,GAAkB,KAAKA,UAAL,CAAgBkC,KAAhB,GAAwBC,OAAxB,EAAlB;AACA,eAAKF,UAAL;AACD;;;qCAEY;AACX,eAAKlC,YAAL,GAAoB,KAAKa,YAAL,CAAkBqB,UAAlB,CAA6B,KAAKjB,UAAlC,EAA8C,KAAKzB,cAAnD,EAAmE,KAAKS,UAAxE,CAApB;;AACA,cAAI,KAAKW,SAAL,KAAmB,CAAvB,EAA0B;AACxB,iBAAKyB,YAAL,CAAkB,KAAK/B,YAAvB,EAAqC,CAArC;AACD,WAFD,MAGK;AACH,iBAAK+B,YAAL,CAAkB,KAAK/B,YAAvB,EACEgC,IAAI,CAACC,IAAL,CAAW,KAAKvC,YAAL,CAAkBI,MAAlB,GAA2B,KAAKE,YAA3C,KAA6D,KAAKM,SAAlE,GACE,KAAKA,SADP,GAEE0B,IAAI,CAACC,IAAL,CAAW,KAAKvC,YAAL,CAAkBI,MAAlB,GAA2B,KAAKE,YAA3C,CAHJ;AAKD;;AACD,eAAKM,SAAL,GAAiB,CAAjB;AACD;;;qCAEY4B,e,EAAyBC,c,EAAwB;AAC5D,eAAKnC,YAAL,GAAoBkC,eAApB;AACA,eAAK7B,WAAL,GAAmB8B,cAAnB;AACA,eAAKvC,aAAL,GAAqB,KAAKF,YAAL,CAAkBmC,KAAlB,CAAwB,CAACM,cAAc,GAAG,CAAlB,IAAwBD,eAAhD,EAAmEA,eAAe,GAAGC,cAArF,CAArB;AACD;;;mCAEUC,O,EAAc;AACvB,cAAI,KAAKvB,SAAL,CAAeC,KAAf,KAAyBsB,OAAO,CAACtB,KAArC,EAA4C;AAC1C,iBAAKV,QAAL,GAAgB,CAAC,KAAKA,QAAtB;AACA,gBAAMiC,OAAO,GAAG,KAAKhC,WAArB;AACA,iBAAKiC,eAAL;AACA,iBAAKjC,WAAL,GAAmBgC,OAAnB;AACD,WALD,MAMK;AACH,iBAAKjC,QAAL,GAAgB,IAAhB;AACA,iBAAKS,SAAL,GAAiBuB,OAAjB;AACA,iBAAKV,QAAL;AACD;AACF;;;gCAEOZ,K,EAAY;AAClB,iBAAO,KAAK7B,YAAL,CAAkBsD,IAAlB,CAAuB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC1B,KAAF,KAAYA,KAAhB;AAAA,WAAxB,CAAP;AACD;;;mCAEU2B,K,EAAuB;AAChC,eAAKpC,WAAL,GAAmBoC,KAAK,CAACC,IAAzB;AACA,eAAKX,YAAL,CAAkB,KAAK/B,YAAvB,EAAqC,KAAKK,WAA1C;AACD;;;uCAEc;AACb,eAAKK,YAAL,GAAoB,EAApB;AACA,eAAKR,QAAL,GAAgB,EAAhB;AACA,eAAKC,cAAL,GAAsB,EAAtB;AACA,eAAKyB,UAAL;AACD;;;kCAESe,M,EAAM;AACd,cAAIA,MAAM,CAACC,MAAP,CAAcC,OAAlB,EAA2B;AACzB,iBAAK3C,QAAL,sBAAoB,KAAKR,YAAzB;AACD,WAFD,MAEO;AACL,iBAAKQ,QAAL,GAAgB,EAAhB;AACD;;AACD,eAAK4C,iBAAL;AACD;;;4CAEgB;AACf,cAAI,KAAK5C,QAAL,CAAcJ,MAAd,IAAwB,KAAKJ,YAAL,CAAkBI,MAA9C,EAAsD;AACpD,iBAAKK,cAAL,GAAsB,SAAtB;AACD,WAFD,MAEO,IAAI,KAAKD,QAAL,CAAcJ,MAAd,KAAyB,CAA7B,EAAgC;AACrC,iBAAKK,cAAL,GAAsB,eAAtB;AACD,WAFM,MAEC;AACN,iBAAKA,cAAL,GAAsB,EAAtB;AACD;AACF;;;mCAEU4C,C,EAAM;AACf,iBAAO,KAAK7C,QAAL,CAAc8C,SAAd,CAAwB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC7E,EAAF,KAAS2E,CAAC,CAAC3E,EAAf;AAAA,WAAzB,IAA8C,CAAC,CAAtD;AACD;;;iCAEQ8E,I,EAAS;AAChB,cAAI,KAAKC,UAAL,CAAgBD,IAAhB,CAAJ,EAA2B;AACzB,iBAAKhD,QAAL,GAAgB,KAAKA,QAAL,CAAckD,MAAd,CAAqB,UAAAH,CAAC;AAAA,qBAAIA,CAAC,CAAC7E,EAAF,KAAS8E,IAAI,CAAC9E,EAAlB;AAAA,aAAtB,CAAhB;AACD,WAFD,MAEO;AACL,iBAAK8B,QAAL,CAAcmD,IAAd,CAAmBH,IAAnB;AACD;;AACD,eAAKJ,iBAAL;AACD,S,CAID;AACA;AACA;AACA;AACA;AACA;;;;yCAEiB1E,E,EAAO;AAAA;;AACtB,eAAKoB,eAAL,GAAuB,MAAvB;AACA,eAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,WAAlB,CAAnB;AACA,0DAAG,KAAKe,WAAR,EAAqBgC,SAArB,CAA+B,UAAAM,IAAI,EAAI;AACrC,oBAAI,CAACtC,WAAL,GAAmBsC,IAAnB;AACD,WAFD,EAHsB,CAMtB;AACA;AACD;;;qCAaYrD,E,EAAO;AAClB,cAAIA,EAAE,IAAI,CAAV,EAAa;AACX,iBAAKoB,eAAL,GAAuB,KAAvB;AACA,iBAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,aAAlB,CAAnB;AACA,iBAAKsC,YAAL,GAAoB,CAAC,KAAKtB,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,aAAlB,CAAD,CAApB;AACA,iBAAKqF,QAAL,CAAcC,IAAd;AACD,WALD,MAMK,IAAItF,EAAE,KAAK,UAAX,EAAuB;AAC1B,iBAAKsC,YAAL,sBAAwB,KAAKR,QAA7B;AACA,iBAAKuD,QAAL,CAAcC,IAAd;AACD;AACF;;;2CAKe;AACd,cAAI,KAAKhD,YAAL,CAAkBZ,MAAlB,KAA6B,CAAjC,EAAoC;AAClC,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,QAAQ,KAAKvC,eAApC,CADF;AAED,WAHD,MAIK,IAAI,KAAK0B,YAAL,CAAkBZ,MAAlB,KAA6B,CAAjC,EAAoC;AACvC,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,QAAQ,KAAKvC,eAAb,GAA+B,GAAtD,CADF;AAED,WAHI,MAIA,IAAI,KAAK0B,YAAL,CAAkBZ,MAAlB,GAA2B,CAA3B,IAAgC,KAAKY,YAAL,CAAkBZ,MAAlB,GAA2B,EAA/D,EAAmE;AACtE,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAKb,YAAL,CAAkBZ,MADiC,GACxB,GADwB,GAClB,KAAKjB,SAAL,CAAe0C,OAAf,CAAuB,KAAKvC,eAAL,GAAuB,UAA9C,CADnC;AAED,WAHI,MAIA;AACH,iBAAK2E,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAKb,YAAL,CAAkBZ,MADiC,GACxB,GADwB,GAClB,KAAKjB,SAAL,CAAe0C,OAAf,CAAuB,KAAKvC,eAAL,GAAuB,MAA9C,CADnC;AAED;;AAED,eAAK0B,YAAL,GAAoB,EAApB;AACA,eAAKR,QAAL,GAAgB,EAAhB;AAEA,eAAK4C,iBAAL;;AACA,cAAI,KAAK3C,cAAL,KAAwB,EAA5B,EAAgC;AAC9B,iBAAKJ,YAAL,GAAoB,KAApB;AACD;;AACD,eAAK0D,QAAL,CAAcG,IAAd;AACD;;;qCAEYC,W,EAAqBC,S,EAAiB;AACjD,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBE,OADnB,EAC4B;AAAEC,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD5B;AAED;;;mCACUL,W,EAAqBC,S,EAAiB;AAC/C,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBjH,KADnB,EAC0B;AAAEoH,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD1B;AAED;;;8CACqB;AACpB,eAAKlD,QAAL;AACA,eAAKyC,QAAL,CAAcG,IAAd;AACD;;;sCAEa;AAAA;;AACZ,eAAKlF,YAAL,CAAkB8C,MAAlB,GAA2BL,SAA3B,CACE,UAAAM,IAAI,EAAI;AACN,oBAAI,CAACrC,MAAL,GAAcqC,IAAd;;AACA,oBAAI,CAACE,UAAL;AACD,WAJH;AAMD;;;qCAEY;AAAA;;AACX,cAAMwC,UAAU,GAAG,KAAKxD,UAAxB;AACA,eAAKA,UAAL,GAAkB,EAAlB;AACAyD,oBAAU,CAAC,YAAM;AACf,oBAAI,CAACzD,UAAL,GAAkBwD,UAAlB;AACD,WAFS,EAEP,CAFO,CAAV;AAGD;;;qCAEY;AACX,cAAIsW,QAAQ,GAAG,IAAIoB,QAAJ,EAAf;AACApB,kBAAQ,CAACC,MAAT,CAAgB,QAAhB,EAA0B,KAAKs6C,SAAL,CAAe7mB,aAAf,CAA6BpyB,KAA7B,CAAmC,CAAnC,CAA1B;AAEA,eAAKrd,YAAL,CAAkBsd,WAAlB,CAA8BvB,QAA9B,EAAwCtZ,SAAxC,CAAkD,UAAAC,MAAM,EAAI,CAE3D,CAFD;AAKD;;;;;;;uBAvaU0zD,sB,EAAsB,6I,EAAA,oI,EAAA,wH,EAAA,sI,EAAA,mI,EAAA,2H,EAAA,sI,EAAA,wH,EAAA,4I,EAAA,sI;AAAA,K;;;YAAtBA,sB;AAAsB,qC;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;ACgCnC;;AACI;;AACI;;AACI;;AAAkE;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAAwB,WAAxB;;AAE9D;;AAAyB;;AAAO;;AACpC;;AACA;;AACI;;AACI;;;;AACW;;AACnB;;AACA;;AACI;;AAMA;;AAOA;;AACI;;AAA2D;AAAA,mBAAS,IAAAzwD,YAAA,EAAT;AAAuB,WAAvB;;AAEK;;;;AAAwB;;AACxF;;AAA8B;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAAwB,WAAxB;;AACoD;;;;AACnE;;AACnB;;AACJ;;AACJ;;AACJ;;AACJ;;AAEA;;AAyBI;;AACI;;AAEI;;AACI;;AACI;;AACI;;AAAqB;AAAA;AAAA,aAAwB,OAAxB,EAAwB;AAAA,mBAAU,IAAA6uD,YAAA,EAAV;AAAwB,WAAhD,EAAwB,QAAxB,EAAwB;AAAA,mBAAoC,IAAAA,YAAA,EAApC;AAAkD,WAA1E;;;;AAArB;;AAEJ;;AACJ;;AACJ;;AACJ;;AAEA;;AACI;;AACI;;AACJ;;AACA;;AACI;;AAGK;;;;AAAoC;;AAC7C;;AACJ;;AAEJ;;AAGA;;AAEI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AAEI;;AAGI;AAAA,mBAAU,IAAAC,SAAA,QAAV;AAA2B,WAA3B;;AAHJ;;AAIA;;AAAmC;;AAAM;;AAC7C;;AACJ;;AACA;;AAGI;;AACJ;;AACA;;AAUJ;;AACJ;;AACJ;;AACA;;AAAqB;AAAA,mBAAS,IAAA1kD,UAAA,CAAW,IAAAC,OAAA,CAAQ,cAAR,CAAX,CAAT;AAA4C,WAA5C;;AACjB;;AAEoF;;AACxF;;AAAuB;AAAA,mBAAS,IAAAD,UAAA,CAAW,IAAAC,OAAA,CAAQ,cAAR,CAAX,CAAT;AAA4C,WAA5C;;AAEf;;;;AACR;;AAEA;;AAAqB;AAAA,mBAAS,IAAAD,UAAA,CAAW,IAAAC,OAAA,CAAQ,YAAR,CAAX,CAAT;AAA0C,WAA1C;;AACjB;;AAEkF;;AACtF;;AAAuB;AAAA,mBAAS,IAAAD,UAAA,CAAW,IAAAC,OAAA,CAAQ,YAAR,CAAX,CAAT;AAA0C,WAA1C;;AAEf;;;;AACR;;AACA;;AAAqB;AAAA,mBAAS,IAAAD,UAAA,CAAW,IAAAC,OAAA,CAAQ,oBAAR,CAAX,CAAT;AAAkD,WAAlD;;AACjB;;AAE0F;;AAM9F;;AACA;;AACI;;AAEI;;AACI;;;;AACJ;;AACA;;AACI;;AAEI;;AACJ;;AACA;;AAMJ;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AAwBJ;;AACA;;AACI;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAEA;;AAEI;;AAA6E;;AAAM;;AAEnF;;AAEI;;AACI;;AACI;;AACwB;AAAA;AAAA,aAAyB,aAAzB,EAAyB;AAAA,mBAI9B,IAAA0kD,UAAA,QAJ8B;AAIZ,WAJb;;AAKxB;;AACJ;;AACJ;;AACJ;;AAEA;;AAA0E;;AAAM;;AAEpF;;AACJ;;AAEA;;AAIA;;AAKA;;AAKA;;AAIA;;AAKA;;;;;;;;;;;;AAhQoB;;AAAA;;AAIiC;;AAAA;;AAM4B;;AAAA;;AASzD;;AAAA;;AAC4D;;AAAA;;AAEkB;;AAAA;;AAwC3B;;AAAA;;AAD9B;;AAa5B;;AAAA;;AAEI;;AAAA;;AAoB2B;;AAAA,gHAAsC,eAAtC,EAAsC,sCAAtC;;AAwB2C;;AAAA;;AAC1D;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAGyD;;AAAA;;AACxD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAEiE;;AAAA;;AAChE;;AAAA;;AASL;;AAAA;;AAIQ;;AAAA;;AAKI;;AAAA;;AAaZ;;AAAA;;AAiDgB;;AAAA,+FAAyB,eAAzB,EAAyB,IAAzB,EAAyB,YAAzB,EAAyB,uBAAzB,EAAyB,cAAzB,EAAyB,gBAAzB,EAAyB,qBAAzB,EAAyB,IAAzB,EAAyB,oBAAzB,EAAyB,IAAzB,EAAyB,wBAAzB,EAAyB,GAAzB,EAAyB,oBAAzB,EAAyB,GAAzB,EAAyB,SAAzB,EAAyB,CAAzB;;;;;;;;;;sEDnQ/B0B,sB,EAAsB;cANlC,uDAMkC;eANxB;AACP;AACAxwD,kBAAQ,EAAE,gBAFH;AAGPC,qBAAW,EAAE,+BAHN;AAIPC,mBAAS,EAAE,CAAC,+BAAD;AAJJ,S;AAMwB,Q;;;;;;;;;;;;;;;;;;;;;;;;gBAuT/B,uD;iBAAU,U;;;gBAsGX,uD;iBAAU,W;;;;;;;;;;;;;;;;;;;;AE3bb;AAAA;;;AAAA;AAAA;AAAA;;QAAaywD,a,GAWT,uBAAYhsD,GAAZ,EAA8B;AAAA;;AAC1BA,SAAG,GAAGA,GAAG,GAAEA,GAAF,GAAM,EAAf;AACA,WAAK7K,EAAL,GAAU6K,GAAG,CAAC7K,EAAJ,GAAQ6K,GAAG,CAAC7K,EAAZ,GAAe,CAAzB;AACA,WAAK82D,SAAL,GAAiBjsD,GAAG,CAACisD,SAAJ,GAAejsD,GAAG,CAACisD,SAAnB,GAA6B,CAA9C;AACA,WAAK7tD,MAAL,GAAc4B,GAAG,CAAC5B,MAAJ,GAAY4B,GAAG,CAAC5B,MAAhB,GAAuB,EAArC;AACA,WAAK/H,MAAL,GAAc2J,GAAG,CAAC3J,MAAJ,GAAY2J,GAAG,CAAC3J,MAAhB,GAAuB,EAArC;AACA,WAAK61D,eAAL,GAAuBlsD,GAAG,CAACksD,eAAJ,GAAqBlsD,GAAG,CAACksD,eAAzB,GAAyC,IAAhE;AACA,WAAKC,kBAAL,GAA0BnsD,GAAG,CAACmsD,kBAAJ,GAAwBnsD,GAAG,CAACmsD,kBAA5B,GAA+C,IAAzE;AACA,WAAKzK,UAAL,GAAkB1hD,GAAG,CAAC0hD,UAAJ,GAAgB1hD,GAAG,CAAC0hD,UAApB,GAA+B,CAAjD;AACA,WAAK2C,KAAL,GAAarkD,GAAG,CAACqkD,KAAJ,GAAWrkD,GAAG,CAACqkD,KAAf,GAAqB,CAAlC;AACA,WAAKR,MAAL,GAAc7jD,GAAG,CAAC6jD,MAAJ,GAAY7jD,GAAG,CAAC6jD,MAAhB,GAAuB,IAArC;AACA,WAAKuI,MAAL,GAAcpsD,GAAG,CAACosD,MAAJ,GAAYpsD,GAAG,CAACosD,MAAhB,GAAuB,KAArC;AACH,K;;;;;;;;;;;;;;;;;ACvBL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAUahR,e;AACT,+BAAoBjnD,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAIpB,aAAA+rB,SAAA,GAAkB,CAAE3rB,YAAY,CAACC,OAAb,CAAqB,WAArB,CAApB;AACA,aAAAJ,OAAA,GAAU,yEAAYC,UAAtB;AACC,aAAAC,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AALA;;;;iCAaK;AAEJ,iBAAO,KAAKH,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,qBACqC,KAAKK,WAD1C,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCACOZ,E,EAAS;AAEf,iBAAO,KAAKE,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,6BACuCH,EADvC,GAC4C,KAAKQ,WADjD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BACMI,O,EAAsB;AAE3B,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,4BACuC,KAAK8rB,SAD5C,GACyDjrB,OADzD,EACiE,KAAKR,WADtE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;wCACeI,O,EAAc;AAE5B,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,qCACgD,KAAK8rB,SADrD,GACkEjrB,OADlE,EAC0E,KAAKR,WAD/E,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BACMI,O,EAAsB;AAC3B,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,qBACuCa,OADvC,EAC+C,KAAKR,WADpD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCAEMI,O,EAAsB;AAC3B,iBAAO,KAAKd,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,4BACsCa,OAAO,CAACE,EAD9C,GACmD,KAAKV,WADxD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;mCAEUI,O,EAAyB;AAClC,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,yBAC0CgB,IAAI,CAACC,SAAL,CAAeJ,OAAf,CAD1C,EACkE,KAAKR,WADvE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;;;;;uBAxDQumD,e,EAAe,uH;AAAA,K;;;aAAfA,e;AAAe,eAAfA,eAAe,K;AAAA,kBAFd;;;;;sEAEDA,e,EAAe;cAH3B,wDAG2B;eAHhB;AACV9lD,oBAAU,EAAE;AADF,S;AAGgB,Q;;;;;;;;;;;;;;;;;;;;;;ACT5B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;ACYwB;;;;;;AAEI;;;;;;AACJ;;AACkB;;AAAsB;;;;;;AAAtB;;AAAA;;;;;;AAClB;;AAEI;;;;AAAwC;;;;AAAxC;;AAAA;;;;;;AAMJ;;;;;;AAEI;;;;;;AACJ;;AACkB;;AAAsB;;;;;;AAAtB;;AAAA;;;;;;AAClB;;AAEI;;;;AAAwC;;;;AAAxC;;AAAA;;;;;;AAWI;;AAEI;;AAAkE;;;;;;;;AADlE;;AACA;;AAAA;;;;;;;;AAPZ;;AACI;;AAAW;AAAA;;AAAA;;AAAA,iBAAU,QAAAc,QAAA,KAAa,oBAAb,EAAmC8sB,QAAnC,CAA4C,IAA5C,CAAV;AAA2D,SAA3D;;;;AAIP;;AAGJ;;AACJ;;;;;;AANQ;;AAAA;;AACA;;AACW;;AAAA;;;;;;AAKnB;;AAC2B;;AAA0I;;;;;;AAA1I;;AAAA;;;;;;AAC3B;;AAEI;;;;AAAyC;;;;AAAzC;;AAAA;;;;;;AAWQ;;AAGI;;AAAwD;;;;;;;;AADxD;;AACA;;AAAA;;;;;;AAJR;;AACI;;AAIJ;;;;;;;;AAHQ;;AAAA;;;;;;AANhB;;AACI;;;;AAGI;;AAMJ;;AACJ;;;;;;AAT6C;;AAAA;;AACE;;AAClC;;AAAA;;;;;;AAQb;;AAC8B;;AAAgJ;;;;;;AAAhJ;;AAAA;;;;;;AAC9B;;AAEI;;;;AAAoC;;;;AAApC;;AAAA;;;;;;AAMJ;;;;;;AAEI;;;;;;AACJ;;AACsB;;AAA0B;;;;;;AAA1B;;AAAA;;;;;;AACtB;;AAEI;;;;AAA4C;;;;AAA5C;;AAAA;;;;;;;;AAKJ;;AAE8B;AAAA;;AAAA;;AAAA;AAAA;;AACkC;;;;AACjD;;;;;;AAHX;;AAE4D;;AAAA;;;;;;;;AAEhE;;AAE8B;AAAA;;AAAA;;AAAA;AAAA;;AACkC;;;;AAC/C;;;;;;AAHb;;AAE4D;;AAAA;;;;;;AA2BpE;;AACI;;AAAmB;;AAA4C;;AAC/D;;AACJ;;;;;;;;AAFuB;;AAAA;;;;;;AAF3B;;AACI;;AAIJ;;;;;;AAJS;;AAAA;;;;;;AAKT;;AACI;;AACI;;AAAqD;;;;AAAmC;;AAC5F;;AACA;;AACJ;;;;AAH6D;;AAAA;;;;;;;;AAwEzC;;AAEI;;AAAoB;;AACZ;;AAEI;AAAA;;AAAA;;AAAA,sCAAsB,UAAtB;AAAgC,SAAhC;;AAC8D;;;;AAEnD;;AAAS;;AAAI;;AACxC;;;;;;AAHgB;;AAAA;;AAA8D;;AAAA;;;;;;;;AAqD1E;;AAA4D;;AAEpD;AAAA;;AAAA;;AAAA;;AAAA,gDAA4B,CAA5B;AAA6B,SAA7B;;AAAgC;;AAAQ;;AAAI;;;;;;;;AAD5C;;AAAA;;AACgC;;AAAA;;;;;;AAJ5C;;AAEI;;AAGJ;;;;;;AAHwB;;AAAA;;;;;;;;AASpC;;AACI;;AACI;;AACI;;AACgC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AADhC;;AAEA;;AACJ;;AACJ;;AACA;;AACI;;AAAwC;;AAC5C;;AACI;;AAA0H;;AAC9H;;AACI;;AAAgI;;AACpI;;AACI;;AAAyD;;AAC7D;;AAAI;;AAAyC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC0C;;;;AAClE;;AAAS;;AAC9B;;AAAI;;AAAoD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC+B;;;;AAClE;;AAAS;;AAC9B;;AAAI;;AAAmD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC+B;;;;AACjE;;AAAS;;AAClC;;;;;;;;;AAtBgE;;AAAA,8FAAsB,SAAtB,EAAsB,2BAAtB;;AAEhB;;AAAA;;AAIxC;;AAAA;;AAEA;;AAAA;;AAEA;;AAAA;;AAEA;;AAAA;;AAEI;;AAAA;;AAA+E;;AAAA;;AAG/E;;AAAA;;AAA+E;;AAAA;;AAG/E;;AAAA;;AAA8E;;AAAA;;;;;;AAoD9G;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AAIA;;;;;;;;;;;;;;;;;;QDnVSmpC,iB;AACX;AACA;AACA;AACA;AACA,iCAAoB72D,WAApB,EAAsDC,YAAtD,EAA6FC,QAA7F,EACUC,aADV,EACuDC,SADvD,EACoF;AAAA;;AADhE,aAAAJ,WAAA,GAAAA,WAAA;AAAkC,aAAAC,YAAA,GAAAA,YAAA;AAAuC,aAAAC,QAAA,GAAAA,QAAA;AACnF,aAAAC,aAAA,GAAAA,aAAA;AAA6C,aAAAC,SAAA,GAAAA,SAAA;AAKvD,aAAAG,eAAA,GAA0B,SAA1B;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,cAAA,GAAiB,CAAC,QAAD,EAAW,QAAX,CAAjB;AAEA,aAAAE,MAAA,GAA2B,EAA3B;AACA,aAAAD,WAAA,GAA6B,IAAI,4DAAJ,CAAkB,EAAlB,CAA7B;AACA,aAAAE,QAAA,GAAsB,IAAI,wDAAJ,CAAc;AAClCjB,YAAE,EAAE,IAAI,0DAAJ,EAD8B;AAElCkB,gBAAM,EAAE,IAAI,0DAAJ,EAF0B;AAGlC+H,gBAAM,EAAE,IAAI,0DAAJ,EAH0B;AAIlC8tD,yBAAe,EAAE,IAAI,0DAAJ,EAJiB;AAKlCC,4BAAkB,EAAE,IAAI,0DAAJ,EALc;AAMlCzK,oBAAU,EAAE,IAAI,0DAAJ;AANsB,SAAd,CAAtB;AAQA,aAAA4K,aAAA,GAAoB,EAApB,CApBoF,CA4JpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,aAAAC,YAAA,GAAsB,+DAAtB;AACA,aAAAC,sBAAA,GAAgC,0EAAhC;AACA,aAAAC,eAAA,GAAyB,kEAAzB;AACA,aAAAC,WAAA,GAAqB,KAAKH,YAAL,CAAkBtnD,MAAlB,CAAyB,KAAKunD,sBAAL,CAA4BvnD,MAA5B,CAAmC,KAAKwnD,eAAxC,CAAzB,CAArB;AACA,aAAAE,UAAA,GAAoB,KAAKJ,YAAL,CAAkBpyD,MAAlB,CAAyB,UAAAH,CAAC;AAAA,iBAAIA,CAAC,CAAC4yD,OAAF,CAAU1c,WAAV,GAAwBtD,QAAxB,CAAiC,QAAjC,CAAJ;AAAA,SAA1B,EAA0E3nC,MAA1E,CAClB,KAAKunD,sBAAL,CAA4BryD,MAA5B,CAAmC,UAAAH,CAAC;AAAA,iBAAIA,CAAC,CAAC4yD,OAAF,CAAUp6C,QAAV,GAAqBo6B,QAArB,CAA8B,QAA9B,CAAJ;AAAA,SAApC,EAAiF3nC,MAAjF,CACE,KAAKwnD,eAAL,CAAqBtyD,MAArB,CAA4B,UAAAH,CAAC;AAAA,iBAAIA,CAAC,CAAC4yD,OAAF,CAAUp6C,QAAV,GAAqBo6B,QAArB,CAA8B,QAA9B,CAAJ;AAAA,SAA7B,CADF,CADkB,CAApB;AAIA,aAAA4X,SAAA,GAAgB,oEAAhB;AAaA,aAAAjuD,eAAA,GAA0B,EAA1B;AACA,aAAAC,aAAA,GAAwB,EAAxB;AAEA,aAAAC,YAAA,sBAAmB,KAAKN,MAAxB;AACA,aAAAO,UAAA,sBAAiB,KAAKD,YAAtB;AACA,aAAAE,aAAA,sBAAoB,KAAKF,YAAzB;AACA,aAAAG,MAAA,GAAiB,KAAKT,MAAL,CAAYU,MAAZ,GAAqB,CAAtC;AAEA,aAAAC,YAAA,GAAoB,KAApB;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,kBAAA,GAAqB,CAAC,CAAD,EAAI,EAAJ,EAAQ,EAAR,CAArB;AACA,aAAAC,QAAA,GAAW,EAAX;AACA,aAAAC,cAAA,GAAiB,EAAjB;AAEA,aAAAC,QAAA,GAAoB,IAApB;AAEA,aAAAC,WAAA,GAAc,CAAd;AACA,aAAAC,SAAA,GAAY,CAAZ;AAGA,aAAAC,YAAA,GAAe,IAAI,sFAAJ,EAAf;AACA,aAAAC,UAAA,GAAa,IAAI,kFAAJ,EAAb;AACA,aAAAC,aAAA,GAAgB,IAAI,wFAAJ,EAAhB;AA+IA,aAAAC,YAAA,GAAgC,EAAhC;AAcA,aAAAC,UAAA,GAAkB,EAAlB;AA9WE0X,eAAO,CAACC,GAAR,CAAY,WAAZ,EAAwB,KAAKm1C,SAA7B;AAED;;;;mCAkBO;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAK7sD,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACA,eAAKoD,SAAL,GAAiB;AAAEC,iBAAK,EAAE,cAAT;AAAyBC,oBAAQ,EAAE,KAAKH,IAAL,KAAc,OAAd,GAAwB,QAAxB,GAAmC;AAAtE,WAAjB;AACA,eAAK3B,YAAL,GAAoB,CAClB;AAAE6B,iBAAK,EAAE,cAAT;AAAyBC,oBAAQ,EAAE,KAAKH,IAAL,KAAc,OAAd,GAAwB,QAAxB,GAAmC;AAAtE,WADkB,EAElB;AAAEE,iBAAK,EAAE,SAAT;AAAoBC,oBAAQ,EAAE;AAA9B,WAFkB,EAGlB;AAAED,iBAAK,EAAE,YAAT;AAAuBC,oBAAQ,EAAE;AAAjC,WAHkB,EAIlB;AAAED,iBAAK,EAAE,oBAAT;AAA+BC,oBAAQ,EAAE;AAAzC,WAJkB,CAApB;AAMA,eAAKC,QAAL,GAxBM,CAyBN;AACD;;;qCAES;AACR,iBAAO,KAAKvC,WAAL,CAAiB6G,KAAjB,CAAuB;AAC5BlH,cAAE,EAAE,CAAC,KAAKe,WAAL,CAAiBf,EAAjB,IAAuB,CAAvB,GAA2B,KAAKe,WAAL,CAAiBf,EAA5C,GAAiD,CAAlD,CADwB;AAE5BkB,kBAAM,EAAE,CAAC,KAAKH,WAAL,CAAiBG,MAAlB,EAA0B,0DAAW0N,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWE,SAAX,CAAqB,CAArB,CAAtB,CAAnB,CAA1B,CAFoB;AAG5B9F,kBAAM,EAAE,CAAC,KAAKlI,WAAL,CAAiBkI,MAAlB,EAA0B,0DAAW2F,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWC,OAAX,CAAmB,4CAAnB,CAAtB,CAAnB,CAA1B,CAHoB;AAI5BioD,2BAAe,EAAE,CAAC,KAAKh2D,WAAL,CAAiBg2D,eAAlB,EAAmC,0DAAWnoD,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWE,SAAX,CAAqB,CAArB,CAAtB,CAAnB,CAAnC,CAJW;AAK5BioD,8BAAkB,EAAE,CAAC,KAAKj2D,WAAL,CAAiBi2D,kBAAlB,EAAsC,0DAAWpoD,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWE,SAAX,CAAqB,CAArB,CAAtB,CAAnB,CAAtC,CALQ;AAM5Bw9C,sBAAU,EAAE,CAAC,KAAKxrD,WAAL,CAAiBwrD,UAAlB,EAA8B,0DAAW39C,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWC,OAAX,CAAmB,+BAAnB,CAAtB,CAAnB,CAA9B;AANgB,WAAvB,CAAP;AAQD;;;oCAEW;AACV;AACA,eAAKzN,aAAL,GAAqB,SAArB;AAEA,eAAKN,WAAL,GAAmB,IAAI,4DAAJ,EAAnB;AACA,eAAKA,WAAL,CAAiBf,EAAjB,GAAsB,CAAtB;AACA,eAAKe,WAAL,CAAiBG,MAAjB,GAA0B,KAAKD,QAAL,CAAc6H,WAAd,GAA4B5H,MAAtD;AACA,eAAKH,WAAL,CAAiBkI,MAAjB,GAA0B,KAAKhI,QAAL,CAAc6H,WAAd,GAA4BG,MAAtD;AACA,eAAKlI,WAAL,CAAiBg2D,eAAjB,GAAmC,KAAK91D,QAAL,CAAc6H,WAAd,GAA4BiuD,eAA/D;AACA,eAAKh2D,WAAL,CAAiBi2D,kBAAjB,GAAsC,KAAK/1D,QAAL,CAAc6H,WAAd,GAA4BkuD,kBAAlE;AACA,eAAKj2D,WAAL,CAAiBwrD,UAAjB,GAA8B,KAAKtrD,QAAL,CAAc6H,WAAd,GAA4ByjD,UAA1D;AACA,eAAKxrD,WAAL,CAAiB2tD,MAAjB,GAA0B,KAAK8I,UAAL,CAAgB/f,QAAhB,CAAyB,KAAK12C,WAAL,CAAiBg2D,eAA1C,KACrB,KAAKS,UAAL,CAAgB/f,QAAhB,CAAyB,KAAK12C,WAAL,CAAiBi2D,kBAA1C,CADqB,GAC2C,IAD3C,GACkD,KAD5E;AAGA,eAAK/nD,gBAAL;AACD;;;2CAEe;AAAA;;AACd,eAAK3O,YAAL,CAAkBgJ,MAAlB,CAAyB,KAAKvI,WAA9B,EAA2CgC,SAA3C,CAAqD,UAAAC,MAAM,EAAI;AAC7D,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAACJ,QAAL;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAACkE,YAAL,CAAkB,QAAI,CAAC9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,mBAAvB,CAArD;;AACA,sBAAI,CAAC4F,YAAL,CAAkBI,QAAlB,CAA2B3D,IAA3B;AACD,aALD,MAMK;AACH,sBAAI,CAACtC,UAAL,CAAgB,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAAhB,EAAiD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,WAAvB,CAAjD;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAXD;AAYD;;;qCAEY;AACX,eAAKa,SAAL,GAAiB,KAAKD,WAAtB;AACA,eAAKZ,aAAL,GAAqB,SAArB;AAEA,cAAI+N,OAAO,GAAG,IAAI,4DAAJ,CAAkB;AAC9BpP,cAAE,EAAE,KAAKe,WAAL,CAAiBf,EADS;AAE9BkB,kBAAM,EAAE,KAAKD,QAAL,CAAc6H,WAAd,GAA4B5H,MAFN;AAG9B+H,kBAAM,EAAE,KAAKhI,QAAL,CAAc6H,WAAd,GAA4BG,MAHN;AAI9B8tD,2BAAe,EAAE,KAAK91D,QAAL,CAAc6H,WAAd,GAA4BiuD,eAJf;AAK9BC,8BAAkB,EAAE,KAAK/1D,QAAL,CAAc6H,WAAd,GAA4BkuD,kBALlB;AAM9BzK,sBAAU,EAAE,KAAKtrD,QAAL,CAAc6H,WAAd,GAA4ByjD,UANV;AAO9BmC,kBAAM,EAAE,KAAK8I,UAAL,CAAgB/f,QAAhB,CAAyB,KAAK12C,WAAL,CAAiBg2D,eAA1C,KACH,KAAKS,UAAL,CAAgB/f,QAAhB,CAAyB,KAAK12C,WAAL,CAAiBi2D,kBAA1C,CADG,GAC6D,IAD7D,GACoE;AAR9C,WAAlB,CAAd;;AAWA,cAAG5nD,OAAO,IAAI,KAAKrO,WAAnB,EAA+B;AAC7B,iBAAKsO,iBAAL,CAAuBD,OAAvB;AACD,WAFD,MAGI;AACF,iBAAKrG,YAAL,CAAkBI,QAAlB,CAA2B3D,IAA3B;AACD;AACF;;;0CAEiB8J,M,EAAM;AAAA;;AAEtB,eAAKhP,YAAL,CAAkBiJ,MAAlB,CAAyB+F,MAAzB,EAAiCvM,SAAjC,CAA2C,UAAAC,MAAM,EAAI;AACnD,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAACJ,QAAL;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAACkE,YAAL,CAAkB,QAAI,CAAC9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,oBAAvB,CAArD;;AAEA,sBAAI,CAAC4F,YAAL,CAAkBI,QAAlB,CAA2B3D,IAA3B;AACD,aAND,MAOK;AACH,sBAAI,CAACtC,UAAL,CAAgB,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAAhB,EAAiD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,YAAvB,CAAjD;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAZD;AAaD,S,CAED;AACA;AACA;;;;uCACe;AACb,eAAKa,SAAL,GAAiB,KAAKD,WAAtB,CADa,CAEb;;AACA,eAAKZ,aAAL,GAAqB,SAArB;AACA,eAAKwB,mBAAL;AACD,S,CAED;;;;8CACmB;AAAA;;AACjB,eAAKvC,YAAL,CAAkBwC,UAAlB,CAA6B,KAAKR,YAAlC,EAAgDS,SAAhD,CAA0D,UAAAC,MAAM,EAAI;AAClE,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAACJ,QAAL;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAAC4B,gBAAL;AACD,aAJD,MAKK;AACH,sBAAI,CAACC,UAAL,CAAgB,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAAhB,EAAiD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,cAAvB,CAAjD;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAVD;AAWD;;;mCAyDU;AAAA;;AACT4Y,iBAAO,CAACC,GAAR,CAAY,KAAKs9C,UAAL,CAAgB1sC,GAAhB,CAAoB,UAAA1mB,CAAC;AAAA,mBAAEA,CAAC,CAACszD,OAAJ;AAAA,WAArB,CAAZ;AACA,eAAKr2D,aAAL,GAAqB,SAArB;AAEA,eAAKf,YAAL,CAAkB8C,MAAlB,GAA2BL,SAA3B,CACE,UAAAM,IAAI,EAAI;AACN,oBAAI,CAACrC,MAAL,GAAcqC,IAAd;;AACA,oBAAI,CAACC,QAAL;;AACA,oBAAI,CAACC,UAAL;;AACA,oBAAI,CAAClC,aAAL,GAAqB,EAArB;AACD,WANH;AAQD;;;mCAEU;AACT,eAAKE,UAAL,GAAkB,KAAKa,UAAL,CAAgBkB,QAAhB,CAAyB,KAAKb,SAAL,CAAeE,QAAxC,EAAkD,KAAK3B,MAAvD,CAAlB;AACA,eAAKwC,UAAL;AACD;;;0CAEiB;AAChB,eAAKtB,SAAL,GAAiB,KAAKD,WAAtB;AACA,eAAKV,UAAL,GAAkB,KAAKA,UAAL,CAAgBkC,KAAhB,GAAwBC,OAAxB,EAAlB;AACA,eAAKF,UAAL;AACD;;;qCAEY;AACX,eAAKlC,YAAL,GAAoB,KAAKa,YAAL,CAAkBqB,UAAlB,CAA6B,KAAKjB,UAAlC,EAA8C,KAAKzB,cAAnD,EAAmE,KAAKS,UAAxE,CAApB;;AACA,cAAI,KAAKW,SAAL,KAAmB,CAAvB,EAA0B;AACxB,iBAAKyB,YAAL,CAAkB,KAAK/B,YAAvB,EAAqC,CAArC;AACD,WAFD,MAGK;AACH,iBAAK+B,YAAL,CAAkB,KAAK/B,YAAvB,EACEgC,IAAI,CAACC,IAAL,CAAW,KAAKvC,YAAL,CAAkBI,MAAlB,GAA2B,KAAKE,YAA3C,KAA6D,KAAKM,SAAlE,GACE,KAAKA,SADP,GAEE0B,IAAI,CAACC,IAAL,CAAW,KAAKvC,YAAL,CAAkBI,MAAlB,GAA2B,KAAKE,YAA3C,CAHJ;AAKD;;AACD,eAAKM,SAAL,GAAiB,CAAjB;AACD;;;qCAEY4B,e,EAAyBC,c,EAAwB;AAC5D,eAAKnC,YAAL,GAAoBkC,eAApB;AACA,eAAK7B,WAAL,GAAmB8B,cAAnB;AACA,eAAKvC,aAAL,GAAqB,KAAKF,YAAL,CAAkBmC,KAAlB,CAAwB,CAACM,cAAc,GAAG,CAAlB,IAAwBD,eAAhD,EAAmEA,eAAe,GAAGC,cAArF,CAArB;AACD;;;mCAEUC,O,EAAc;AACvB,cAAI,KAAKvB,SAAL,CAAeC,KAAf,KAAyBsB,OAAO,CAACtB,KAArC,EAA4C;AAC1C,iBAAKV,QAAL,GAAgB,CAAC,KAAKA,QAAtB;AACA,gBAAMiC,OAAO,GAAG,KAAKhC,WAArB;AACA,iBAAKiC,eAAL;AACA,iBAAKjC,WAAL,GAAmBgC,OAAnB;AACD,WALD,MAMK;AACH,iBAAKjC,QAAL,GAAgB,IAAhB;AACA,iBAAKS,SAAL,GAAiBuB,OAAjB;AACA,iBAAKV,QAAL;AACD;AACF;;;gCAEOZ,K,EAAY;AAClB,iBAAO,KAAK7B,YAAL,CAAkBsD,IAAlB,CAAuB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC1B,KAAF,KAAYA,KAAhB;AAAA,WAAxB,CAAP;AACD;;;mCAEU2B,K,EAAuB;AAChC,eAAKpC,WAAL,GAAmBoC,KAAK,CAACC,IAAzB;AACA,eAAKX,YAAL,CAAkB,KAAK/B,YAAvB,EAAqC,KAAKK,WAA1C;AACD;;;uCAEc;AACb,eAAKK,YAAL,GAAoB,EAApB;AACA,eAAKR,QAAL,GAAgB,EAAhB;AACA,eAAKC,cAAL,GAAsB,EAAtB;AACA,eAAKyB,UAAL;AACD;;;kCAESe,M,EAAM;AACd,cAAIA,MAAM,CAACC,MAAP,CAAcC,OAAlB,EAA2B;AACzB,iBAAK3C,QAAL,sBAAoB,KAAKR,YAAzB;AACD,WAFD,MAEO;AACL,iBAAKQ,QAAL,GAAgB,EAAhB;AACD;;AACD,eAAK4C,iBAAL;AACD;;;4CAEgB;AACf,cAAI,KAAK5C,QAAL,CAAcJ,MAAd,IAAwB,KAAKJ,YAAL,CAAkBI,MAA9C,EAAsD;AACpD,iBAAKK,cAAL,GAAsB,SAAtB;AACD,WAFD,MAEO,IAAI,KAAKD,QAAL,CAAcJ,MAAd,KAAyB,CAA7B,EAAgC;AACrC,iBAAKK,cAAL,GAAsB,eAAtB;AACD,WAFM,MAEC;AACN,iBAAKA,cAAL,GAAsB,EAAtB;AACD;AACF;;;mCAEU4C,C,EAAM;AACf,iBAAO,KAAK7C,QAAL,CAAc8C,SAAd,CAAwB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC7E,EAAF,KAAS2E,CAAC,CAAC3E,EAAf;AAAA,WAAzB,IAA8C,CAAC,CAAtD;AACD;;;iCAEQ8E,I,EAAS;AAChB,cAAI,KAAKC,UAAL,CAAgBD,IAAhB,CAAJ,EAA2B;AACzB,iBAAKhD,QAAL,GAAgB,KAAKA,QAAL,CAAckD,MAAd,CAAqB,UAAAH,CAAC;AAAA,qBAAIA,CAAC,CAAC7E,EAAF,KAAS8E,IAAI,CAAC9E,EAAlB;AAAA,aAAtB,CAAhB;AACD,WAFD,MAEO;AACL,iBAAK8B,QAAL,CAAcmD,IAAd,CAAmBH,IAAnB;AACD;;AACD,eAAKJ,iBAAL;AACD;;;mCAEUQ,I,EAAWxG,I,EAAS;AAC7B,iBAAOwG,IAAI,CAACf,IAAL,CAAU,UAAAU,CAAC;AAAA,mBAAIA,CAAC,CAACM,IAAF,KAAWzG,IAAf;AAAA,WAAX,CAAP;AACD;;;6CAIiB;AAChB,eAAK0C,eAAL,GAAuB,KAAvB;AACA,eAAKL,WAAL,GAAmB,IAAI,4DAAJ,EAAnB;AACA,eAAKE,QAAL,GAAgB,KAAK2H,UAAL,EAAhB;AACA,eAAKG,YAAL,CAAkBzD,IAAlB;AACD;;;yCAEgBtF,E,EAAO;AAAA;;AACtB,eAAKoB,eAAL,GAAuB,MAAvB;AACA,eAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,WAAlB,CAAnB;AACA,0DAAG,KAAKe,WAAR,EAAqBgC,SAArB,CAA+B,UAAAM,IAAI,EAAI;AACrC,oBAAI,CAACtC,WAAL,GAAmBsC,IAAnB;AACD,WAFD;AAGA,eAAKpC,QAAL,GAAgB,KAAK2H,UAAL,EAAhB;AACA,eAAKG,YAAL,CAAkBzD,IAAlB;AACD;;;yCAEgBtF,E,EAAO;AAAA;;AACtB,eAAKoB,eAAL,GAAuB,MAAvB;AACA,eAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,WAAlB,CAAnB;AACA,0DAAG,KAAKe,WAAR,EAAqBgC,SAArB,CAA+B,UAAAM,IAAI,EAAI;AACrC,oBAAI,CAACtC,WAAL,GAAmBsC,IAAnB;AACD,WAFD;AAGA,eAAKpC,QAAL,GAAgB,KAAK2H,UAAL,EAAhB;AACA,eAAKG,YAAL,CAAkBzD,IAAlB;AACD;;;qCAGYtF,E,EAAO;AAClB,cAAIA,EAAE,IAAI,CAAV,EAAa;AACX,iBAAKoB,eAAL,GAAuB,KAAvB;AACA,iBAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,aAAlB,CAAnB;AACA,iBAAKsC,YAAL,GAAoB,CAAC,KAAKtB,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,aAAlB,CAAD,CAApB;AACA,iBAAKqF,QAAL,CAAcC,IAAd;AACD,WALD,MAMK,IAAItF,EAAE,KAAK,UAAX,EAAuB;AAC1B,iBAAKsC,YAAL,sBAAwB,KAAKR,QAA7B;AACA,iBAAKuD,QAAL,CAAcC,IAAd;AACD;AACF;;;2CAKe;AACd,cAAI,KAAKhD,YAAL,CAAkBZ,MAAlB,KAA6B,CAAjC,EAAoC;AAClC,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,QAAQ,KAAKvC,eAApC,CADF;AAED,WAHD,MAIK,IAAI,KAAK0B,YAAL,CAAkBZ,MAAlB,KAA6B,CAAjC,EAAoC;AACvC,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,QAAQ,KAAKvC,eAAb,GAA+B,GAAtD,CADF;AAED,WAHI,MAIA,IAAI,KAAK0B,YAAL,CAAkBZ,MAAlB,GAA2B,CAA3B,IAAgC,KAAKY,YAAL,CAAkBZ,MAAlB,GAA2B,EAA/D,EAAmE;AACtE,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAKb,YAAL,CAAkBZ,MADiC,GACxB,GADwB,GAClB,KAAKjB,SAAL,CAAe0C,OAAf,CAAuB,KAAKvC,eAAL,GAAuB,UAA9C,CADnC;AAED,WAHI,MAIA;AACH,iBAAK2E,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAKb,YAAL,CAAkBZ,MADiC,GACxB,GADwB,GAClB,KAAKjB,SAAL,CAAe0C,OAAf,CAAuB,KAAKvC,eAAL,GAAuB,MAA9C,CADnC;AAED;;AAED,eAAK0B,YAAL,GAAoB,EAApB;AACA,eAAKR,QAAL,GAAgB,EAAhB;AAEA,eAAK4C,iBAAL;;AACA,cAAI,KAAK3C,cAAL,KAAwB,EAA5B,EAAgC;AAC9B,iBAAKJ,YAAL,GAAoB,KAApB;AACD;;AACD,eAAK0D,QAAL,CAAcG,IAAd;AACD;;;qCAEYC,W,EAAqBC,S,EAAiB;AACjD,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBE,OADnB,EAC4B;AAAEC,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD5B;AAED;;;mCACUL,W,EAAqBC,S,EAAiB;AAC/C,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBjH,KADnB,EAC0B;AAAEoH,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD1B;AAED;;;8CACqB;AACpB,eAAKlD,QAAL;AACA,eAAKyC,QAAL,CAAcG,IAAd;AACD;;;sCAEa;AAAA;;AACZ,eAAKlF,YAAL,CAAkB8C,MAAlB,GAA2BL,SAA3B,CACE,UAAAM,IAAI,EAAI;AACN,oBAAI,CAACrC,MAAL,GAAcqC,IAAd;;AACA,oBAAI,CAACE,UAAL;AACD,WAJH;AAMD;;;qCAEY;AAAA;;AACX,cAAMwC,UAAU,GAAG,KAAKxD,UAAxB;AACA,eAAKA,UAAL,GAAkB,EAAlB;AACAyD,oBAAU,CAAC,YAAM;AACf,oBAAI,CAACzD,UAAL,GAAkBwD,UAAlB;AACD,WAFS,EAEP,CAFO,CAAV;AAGD;;;;;;;uBAhbUmxD,iB,EAAiB,2H,EAAA,kI,EAAA,wH,EAAA,4I,EAAA,sI;AAAA,K;;;YAAjBA,iB;AAAiB,oC;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;ACzB9B;;AACI;;AAEI;;AACI;;AACI;;AACI;;;;AAA0C;;AAClD;;AACA;;AACI;;AAEI;;AACI;;AAAqC;;;;AAAgC;;AACrE;;AAGA;;AAEA;;AAGA;;AACJ;;AAEA;;AACI;;AAAqC;;;;AAAgC;;AACrE;;AAGA;;AAEA;;AAGA;;AACJ;;AAEA;;AACI;;AAAqC;;;;AAAiC;;AACtE;;AAUA;;AAEA;;AAGA;;AACJ;;AAEA;;AACI;;AAAqC;;;;AAAoC;;AACzE;;AAYA;;AAEA;;AAGA;;AACJ;;AAEA;;AACI;;AAAqC;;;;AAAoC;;AACzE;;AAGA;;AAEA;;AAGA;;AACJ;;AAEA;;AACI;;AAKA;;AAKA;;AAA8B;AAAA;;AAAA;;AAAA,mBAAS,mBAAT;AAAqC,WAArC;;AACoD;;;;AACnE;;AACnB;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAGA;;AACI;;AACI;;AACI;;AAAkE;AAAA;;AAAA;;AAAA,mBAAS,WAAT;AAAwB,WAAxB;;AAE9D;;AAAyB;;AAAO;;AACpC;;AACA;;AACI;;AACI;;;;AACW;;AACnB;;AACA;;AACI;;AAMA;;AAOA;;AACI;;AAA2D;AAAA,mBAAS,IAAAjxD,YAAA,EAAT;AAAuB,WAAvB;;AAEK;;;;AAAwB;;AACxF;;AAA8B;AAAA;;AAAA;;AAAA,mBAAS,WAAT;AAAwB,WAAxB;;AACoD;;;;AACnE;;AACnB;;AACJ;;AACJ;;AACJ;;AACJ;;AAEA;;AACI;;AACI;;AAEI;;AACI;;AACI;;AACI;;AAAqB;AAAA;AAAA,aAAwB,OAAxB,EAAwB;AAAA,mBAAU,IAAA6uD,YAAA,EAAV;AAAwB,WAAhD,EAAwB,QAAxB,EAAwB;AAAA,mBAAoC,IAAAA,YAAA,EAApC;AAAkD,WAA1E;;;;AAArB;;AAEJ;;AACJ;;AACJ;;AACJ;;AAEA;;AACI;;AACI;;AACJ;;AACA;;AACI;;AAEI;AAAA,mBAAS,IAAAvmD,kBAAA,EAAT;AAA6B,WAA7B;;AAAsE;;;;AAC3D;;AAEnB;;AACJ;;AAEJ;;AAGA;;AAEI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AAEI;;AAGI;AAAA,mBAAU,IAAAwmD,SAAA,QAAV;AAA2B,WAA3B;;AAHJ;;AAIA;;AAAmC;;AAAM;;AAC7C;;AACJ;;AACA;;AAGI;;AACJ;;AACA;;AAUJ;;AACJ;;AACJ;;AACA;;AAAqB;AAAA,mBAAS,IAAA1kD,UAAA,CAAW,IAAAC,OAAA,CAAQ,cAAR,CAAX,CAAT;AAA4C,WAA5C;;AACjB;;AAEoF;;AACxF;;AAAuB;AAAA,mBAAS,IAAAD,UAAA,CAAW,IAAAC,OAAA,CAAQ,cAAR,CAAX,CAAT;AAA4C,WAA5C;;AAEf;;;;AACR;;AACA;;AAAqB;AAAA,mBAAS,IAAAD,UAAA,CAAW,IAAAC,OAAA,CAAQ,SAAR,CAAX,CAAT;AAAuC,WAAvC;;AACjB;;AAE+E;;AACnF;;AAAuB;AAAA,mBAAS,IAAAD,UAAA,CAAW,IAAAC,OAAA,CAAQ,SAAR,CAAX,CAAT;AAAuC,WAAvC;;AAEf;;;;AACR;;AACA;;AAAqB;AAAA,mBAAS,IAAAD,UAAA,CAAW,IAAAC,OAAA,CAAQ,YAAR,CAAX,CAAT;AAA0C,WAA1C;;AACjB;;AAEkF;;AACtF;;AAAuB;AAAA,mBAAS,IAAAD,UAAA,CAAW,IAAAC,OAAA,CAAQ,YAAR,CAAX,CAAT;AAA0C,WAA1C;;AAEf;;;;AACR;;AACA;;AAAqB;AAAA,mBAAS,IAAAD,UAAA,CAAW,IAAAC,OAAA,CAAQ,oBAAR,CAAX,CAAT;AAAkD,WAAlD;;AACjB;;AAE0F;;AAC9F;;AAAuB;AAAA,mBAAS,IAAAD,UAAA,CAAW,IAAAC,OAAA,CAAQ,oBAAR,CAAX,CAAT;AAAkD,WAAlD;;AAEf;;;;AACR;;AACA;;AACA;;AACI;;AAEI;;AACI;;;;AACJ;;AACA;;AACI;;AAEI;;AACJ;;AACA;;AAMJ;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AA0BJ;;AACA;;AACI;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAEA;;AAEI;;AAA6E;;AAAM;;AAEnF;;AAEI;;AACI;;AACI;;AACwB;AAAA;AAAA,aAAyB,aAAzB,EAAyB;AAAA,mBAI9B,IAAA0kD,UAAA,QAJ8B;AAIZ,WAJb;;AAKxB;;AACJ;;AACJ;;AACJ;;AAEA;;AAA0E;;AAAM;;AAEpF;;AACJ;;AAEA;;AAIA;;AAKA;;AAKA;;AAIA;;AAKA;;;;;;;;;;;;AA1WoB;;AAAA;;AAG0C;;AAAA;;AAGD;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAMiC;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAMiC;;AAAA;;AAChC;;AAAA;;AAUE;;AAAA;;AAGH;;AAAA;;AAMiC;;AAAA;;AAChC;;AAAA;;AAYE;;AAAA;;AAGH;;AAAA;;AAMiC;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAMI;;AAAA;;AAKA;;AAAA;;AAM0E;;AAAA;;AAmBtF;;AAAA;;AAIiC;;AAAA;;AAM4B;;AAAA;;AASzD;;AAAA;;AAC4D;;AAAA;;AAEkB;;AAAA;;AAgB3B;;AAAA;;AAD9B;;AAcM;;AAAA;;AAAuC;;AAAA;;AAsB1C;;AAAA,gHAAsC,eAAtC,EAAsC,sCAAtC;;AAwB2C;;AAAA;;AAC1D;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAEsD;;AAAA;;AACrD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAEyD;;AAAA;;AACxD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAEiE;;AAAA;;AAChE;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAGJ;;AAAA;;AAIQ;;AAAA;;AAKI;;AAAA;;AAaZ;;AAAA;;AAuDgB;;AAAA,+FAAyB,eAAzB,EAAyB,IAAzB,EAAyB,YAAzB,EAAyB,uBAAzB,EAAyB,cAAzB,EAAyB,gBAAzB,EAAyB,qBAAzB,EAAyB,IAAzB,EAAyB,oBAAzB,EAAyB,IAAzB,EAAyB,wBAAzB,EAAyB,IAAzB,EAAyB,oBAAzB,EAAyB,IAAzB,EAAyB,SAAzB,EAAyB,CAAzB;;;;;;;;;;sEDjT/BkC,iB,EAAiB;cAL7B,uDAK6B;eALnB;AACThxD,kBAAQ,EAAE,eADD;AAETC,qBAAW,EAAE,4BAFJ;AAGTC,mBAAS,EAAE,CAAC,4BAAD;AAHF,S;AAKmB,Q;;;;;;;;;;;;;;gBA0U3B,uD;iBAAU,c,EAAgB;AAAE,sBAAQ;AAAV,W;;;gBAC1B,uD;iBAAU,U;;;;;;;;;;;;;;;;;;;;AEpWb;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACmDgB;;AACE;;AAAI;;AAA0C;;AAC9C;;AAAI;;;;AAAyB;;AAC7B;;AAAK;;;;AAAsB;;AAC3B;;AAAK;;;;AAA+B;;AACpC;;AAAuB;;;;AAAyB;;AAClD;;;;;;;;AALM;;AAAA;;AACA;;AAAA;;AACC;;AAAA;;AACA;;AAAA;;AACkB;;AAAA;;;;QD7C5BuxD,oB;AAGT,oCACYC,cADZ,EAEWlxD,KAFX,EAGUhG,MAHV,EAGuB;AAAA;;AAFX,aAAAk3D,cAAA,GAAAA,cAAA;AACD,aAAAlxD,KAAA,GAAAA,KAAA;AACD,aAAAhG,MAAA,GAAAA,MAAA;AAJV,aAAAV,EAAA,GAAK,CAAL;AAUD,aAAA63D,OAAA,GAAY,EAAZ;AAQC,aAAA/V,aAAA,GAAgB,KAAhB;AAZC,aAAKt/C,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACA,aAAKW,EAAL,GAAU,CAAE0G,KAAK,CAACM,QAAN,CAAeC,QAAf,CAAwBzH,GAAxB,CAA4B,IAA5B,CAAZ;AAED;;;;mCAEQ;AAAA;;AACJ,eAAKo4D,cAAL,CAAoBlvD,OAApB,CAA4B,KAAK1I,EAAjC,EACC+C,SADD,CACW,UAAAC,MAAM,EAAG;AAChB,oBAAI,CAAC60D,OAAL,GAAe70D,MAAf;AACAiX,mBAAO,CAACC,GAAR,CAAY,SAAZ,EAAsBlX,MAAtB;AACH,WAJD;AAKH;;;sCAEU;AACT;AACA,eAAK8+C,aAAL,GAAqB,IAArB;AACA,cAAIz+C,IAAI,GAAGmmC,QAAQ,CAACC,cAAT,CAAwB,kBAAxB,CAAX;AACApmC,cAAI,CAACqmC,KAAL,CAAWC,OAAX,GAAqB,cAArB;AACA,6DAAYtmC,IAAZ,EAAiB,EAAjB,EAAqB9E,IAArB,CAA0B,UAAAqrC,MAAM,EAAI;AACpC,gBAAIC,QAAQ,GAAG,GAAf;AACA,gBAAIC,UAAU,GAAG,GAAjB;AACA,gBAAIC,SAAS,GAAGH,MAAM,CAACI,MAAP,GAAgBH,QAAhB,GAA2BD,MAAM,CAACK,KAAlD;AACA,gBAAIC,UAAU,GAAGH,SAAjB;AACA,gBAAMI,cAAc,GAAGP,MAAM,CAACQ,SAAP,CAAiB,WAAjB,CAAvB;AACA,gBAAIC,GAAG,GAAG,IAAI,6CAAJ,CAAU,GAAV,EAAe,IAAf,EAAqB,IAArB,CAAV,CANoC,CAME;;AACtC,gBAAIC,QAAQ,GAAG,CAAf;AACAD,eAAG,CAACE,QAAJ,CAAaJ,cAAb,EAA6B,KAA7B,EAAoC,CAApC,EAAuCG,QAAvC,EAAiDT,QAAjD,EAA2DE,SAA3D;AACAM,eAAG,CAACG,IAAJ,CAAS,cAAT,EAToC,CASV;;AAC1BnnC,gBAAI,CAACqmC,KAAL,CAAWC,OAAX,GAAqB,OAArB,CAVoC,CAYtC;AAEC,WAdC;AAeD;;;gCACI;AACD,cAAIc,aAAJ,EAAmBC,QAAnB;AACAD,uBAAa,GAAGjB,QAAQ,CAACC,cAAT,CAAwB,kBAAxB,EAA4CkB,SAA5D;AACAD,kBAAQ,GAAGE,MAAM,CAACC,IAAP,CAAY,EAAZ,EAAgB,QAAhB,EAA0B,qCAA1B,CAAX;AACAH,kBAAQ,CAAClB,QAAT,CAAkBqB,IAAlB;AACAD,gBAAM,CAACE,KAAP;AAED;;;;;;;uBAjDM6sB,oB,EAAoB,wI,EAAA,+H,EAAA,uH;AAAA,K;;;YAApBA,oB;AAAoB,mC;AAAA,e;AAAA,c;AAAA,+1C;AAAA;AAAA;ACXjC;;AACE;;AACI;;AAEI;;AAAsB;AAAA,mBAAS,IAAA7sB,KAAA,EAAT;AAAgB,WAAhB;;AAAyD;;;;AAAuB;;AAAS;;AAC/G;;AAAsB;AAAA,mBAAS,IAAAE,WAAA,EAAT;AAAsB,WAAtB;;AAA6D;;;;AAAqB;;AAAS;;AACnH;;AACJ;;AACE;;AACF;;AACF;;AACF;;AAEA;;AACI;;AACE;;AACE;;AACE;;AACE;;AACE;;AACE;;AACF;;AACA;;AACE;;AAA2C;;AACvC;;AAAM;;AACV;;AACF;;AACF;;AACA;;AAEA;;AACE;;AACE;;AAAgB;;;;AAA6B;;AAC7C;;AAAgB;;AAA4D;;AAC9E;;AACA;;AACE;;AAAgB;;;;AAA4D;;AAC5E;;AAAgB;;;;AAAyC;;AAC3D;;AACF;;AACA;;AACE;;AACE;;AACE;;AAA6C;;;;AAAoB;;AACjE;;AAA6C;;;;AAAwB;;AACrE;;AAA6C;;;;AAAqB;;AAClE;;AAA6C;;;;AAAwB;;AACrE;;AAAwD;;;;AAAqB;;AAC/E;;AACF;;AACA;;AACE;;AAQF;;AACF;;AACF;;AACA;;AACE;;AACA;;AACE;;AACE;;AACE;;AAA4B;;;;AAA0B;;AACtD;;AAAuB;;;;AAA6B;;AACtD;;AACA;;AACE;;AAA4B;;;;AAAuB;;AACnD;;AAAuB;;;;AAAmF;;AAC5G;;AACA;;AACE;;AAA4B;;;;AAA0B;;AACtD;;AAAuB;;;;AAAuC;;AAChE;;AACA;;AACE;;AAA4B;;;;AAAuB;;AACnD;;AAAuB;;;;AAA+B;;AACxD;;AACF;;AACF;;AACA;;AAGF;;AACF;;AACF;;AACF;;AACF;;;;AAvFuF;;AAAA;;AAAgC;;AAAA;;AAC5B;;AAAA;;AAA8B;;AAAA;;AA2B3F;;AAAA;;AACA;;AAAA;;AAGA;;AAAA;;AACA;;AAAA;;AAM+B;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACW;;AAAA;;AAItD;;AAAA;;AAgB0B;;AAAA;;AACL;;AAAA;;AAGK;;AAAA;;AACL;;AAAA;;AAGK;;AAAA;;AACL;;AAAA;;AAGK;;AAAA;;AACL;;AAAA;;;;;;;;;;sEDrE5B2sB,oB,EAAoB;cALhC,uDAKgC;eALtB;AACPzxD,kBAAQ,EAAE,cADH;AAEPC,qBAAW,EAAE,6BAFN;AAGPC,mBAAS,EAAE,CAAC,6BAAD;AAHJ,S;AAKsB,Q;;;;;;;;;;;;;;;;;;;;;;;;;;AEXjC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;ACkBwB;;AAAoD;;;;AAAqD;;;;;;AAArD;;AAAA;;;;;;AACpD;;AAA+E;;;;AAAqD;;;;;;AAArD;;AAAA;;;;;;AAC/E;;AAAqD;;;;AAAgC;;;;AAAhC;;AAAA;;;;;;AACrD;;AAAqD;;;;AAAgC;;;;AAAhC;;AAAA;;;;;;AAL7D;;AACI;;AACI;;AACA;;AACA;;AACA;;AACA;;AACJ;;AACJ;;;;;;AANe;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;;;AAIf;;AAEI;;AACI;;AAAqD;;;;AAA2C;;AACpG;;AACA;;AACJ;;;;;;AAH6D;;AAAA;;;;;;;;AAiB7E;;AACI;;AAAG;AAAA;;AAAA;;AAAA,yCAAuB,OAAvB;AAA8B,SAA9B;;AAAgC;;AAAI;;AAC3C;;;;;;;;AA0DoC;;AAEI;;AAAoB;;AACZ;;AAEI;AAAA;;AAAA;;AAAA,sCAAsB,UAAtB;AAAgC,SAAhC;;AAC8D;;;;AAEnD;;AAAS;;AAAI;;AAQxC;;;;;;AAVgB;;AAAA;;AAA8D;;AAAA;;;;;;;;AAgF1E;;AAA4D;;AAEpD;AAAA;;AAAA;;AAAA;;AAAA,gDAA4B,CAA5B;AAA6B,SAA7B;;AAAgC;;AAAQ;;AAAI;;;;;;;;AAD5C;;AAAA;;AACgC;;AAAA;;;;;;AAJ5C;;AAEI;;AAGJ;;;;;;AAHwB;;AAAA;;;;;;;;AAWpC;;AACI;;AACI;;AACI;;AACgC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AADhC;;AAEA;;AACJ;;AACJ;;AACA;;AAAgB;;AAAU;;AAE1B;;AAAgB;;AAAmB;;AACnC;;AAAgB;;AAAoB;;AACpC;;AAAgB;;AAAc;;AAC9B;;AAAgB;;AAAc;;AAG9B;;AAAI;;AAC2C;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAiE;;;;AAC3F;;AAAS;;AACtB;;AAAI;;AAAyC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AACsC;;;;AAClE;;AAAS;;AAClC;;AAAI;;AAAmD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC+B;;;;AACjE;;AAAS;;AAClC;;;;;;;;;AAtBgE;;AAAA,8FAAsB,SAAtB,EAAsB,2BAAtB;;AAEhB;;AAAA;;AAG5B;;AAAA;;AAEA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAIR;;AAAA;;AAAwG;;AAAA;;AAGpG;;AAAA;;AAA+E;;AAAA;;AAGnF;;AAAA;;AAA8E;;AAAA;;;;;;;;;;;;;;;;;;;;;;AAhLlH;;AACI;;AACI;;AAEI;;AACI;;AACI;;AACI;;AAAqB;AAAA;;AAAA;;AAAA;AAAA,WAAwB,OAAxB,EAAwB;AAAA;;AAAA;;AAAA;AAAA,SAAxB,EAAwB,QAAxB,EAAwB;AAAA;;AAAA;;AAAA;AAAA,SAAxB;;;;AAArB;;AAEJ;;AACJ;;AACJ;;AACJ;;AAEA;;AACI;;AACI;;AACJ;;AACA;;AACI;;AAEI;AAAA;;AAAA;;AAAA;AAAA;;AAAsE;;;;AAC3D;;AAEnB;;AACJ;;AAGJ;;AAIA;;AAEI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AAEI;;AAGI;AAAA;;AAAA;;AAAA;AAAA;;AAHJ;;AAIA;;AAAmC;;AAAM;;AAC7C;;AACJ;;AACA;;AAGI;;AACJ;;AACA;;AAiBJ;;AACJ;;AACJ;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,IAA5B;AAAgC,SAAhC;;AACjB;;AAE0E;;AAC9E;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,IAA5B;AAAgC,SAAhC;;AAEf;;;;AACR;;AAWA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,YAA5B;AAAwC,SAAxC;;AACjB;;AAEkF;;AACtF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,YAA5B;AAAwC,SAAxC;;AAEf;;;;AACR;;AAEA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,aAA5B;AAAyC,SAAzC;;AACjB;;AAEmF;;AACvF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,aAA5B;AAAyC,SAAzC;;AAEf;;;;AACR;;AAEA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,OAA5B;AAAmC,SAAnC;;AACjB;;AAE6E;;AACjF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,OAA5B;AAAmC,SAAnC;;AAEf;;;;AACR;;AAEA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,OAA5B;AAAmC,SAAnC;;AACjB;;AAE6E;;AACjF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,OAA5B;AAAmC,SAAnC;;AAEf;;;;AACR;;AACA;;AACI;;AAEI;;AACI;;;;AACJ;;AACA;;AACI;;AAEI;;AACJ;;AACA;;AAMJ;;AACJ;;AACJ;;AACA;;AACA;;AACJ;;AACA;;AACI;;AA0BJ;;AACA;;AACI;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAEA;;AAEI;;AAA6E;;AAAM;;AAEnF;;AAEI;;AACI;;AACI;;AACwB;AAAA;;AAAA;;AAAA;AAAA,WAAyB,aAAzB,EAAyB;AAAA;;AAAA;;AAAA;AAAA,SAAzB;;AAKxB;;AACJ;;AACJ;;AACJ;;AAEA;;AAA0E;;AAAM;;AAEpF;;AACJ;;;;;;;;;;;;;;AA1N2E;;AAAA;;AAD9B;;AAcM;;AAAA;;AAAuC;;AAAA;;AAwB1C;;AAAA,iHAAsC,eAAtC,EAAsC,yCAAtC;;AA+BiC;;AAAA;;AAChD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAYyD;;AAAA;;AACxD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAG0D;;AAAA;;AACzD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAGoD;;AAAA;;AACnD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAGoD;;AAAA;;AACnD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAEJ;;AAAA;;AAIQ;;AAAA;;AAKI;;AAAA;;AAeZ;;AAAA;;AA4DgB;;AAAA,gGAAyB,eAAzB,EAAyB,IAAzB,EAAyB,YAAzB,EAAyB,0BAAzB,EAAyB,cAAzB,EAAyB,mBAAzB,EAAyB,qBAAzB,EAAyB,IAAzB,EAAyB,oBAAzB,EAAyB,GAAzB,EAAyB,wBAAzB,EAAyB,GAAzB,EAAyB,oBAAzB,EAAyB,GAAzB,EAAyB,SAAzB,EAAyB,CAAzB;;;;;;AAoBxC;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AAIA;;;;QDvRS0xD,uB;AACT,uCAAoBz3D,WAApB,EAAuDE,QAAvD,EACYC,aADZ,EACyDC,SADzD,EAEYC,MAFZ,EAGYw/C,iBAHZ,EAG+C;AAAA;;AAH3B,aAAA7/C,WAAA,GAAAA,WAAA;AAAmC,aAAAE,QAAA,GAAAA,QAAA;AAC3C,aAAAC,aAAA,GAAAA,aAAA;AAA6C,aAAAC,SAAA,GAAAA,SAAA;AAC7C,aAAAC,MAAA,GAAAA,MAAA;AACA,aAAAw/C,iBAAA,GAAAA,iBAAA;AAGV,aAAAv/C,aAAA,GAAqB,OAArB;AAEA,aAAAC,eAAA,GAA0B,aAA1B;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,cAAA,GAAiB,CAAC,IAAD,CAAjB;AAEA,aAAAE,MAAA,GAA6B,CAC3B;AACA;AACA;AACA;AACA;AAL2B,SAA7B;AAuEA,aAAAI,eAAA,GAA0B,EAA1B;AACA,aAAAC,aAAA,GAAwB,EAAxB,CAlF6C,CAqF7C;;AACA,aAAAC,YAAA,sBAAmB,KAAKN,MAAxB;AACA,aAAAO,UAAA,sBAAiB,KAAKD,YAAtB;AACA,aAAAE,aAAA,sBAAoB,KAAKF,YAAzB;AACA,aAAAG,MAAA,GAAiB,KAAKT,MAAL,CAAYU,MAAZ,GAAqB,CAAtC;AAEA,aAAAC,YAAA,GAAoB,KAApB;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,kBAAA,GAAqB,CAAC,CAAD,EAAI,EAAJ,EAAQ,EAAR,CAArB;AACA,aAAAC,QAAA,GAAW,EAAX;AACA,aAAAC,cAAA,GAAiB,EAAjB;AAEA,aAAAC,QAAA,GAAoB,IAApB;AAEA,aAAAC,WAAA,GAAc,CAAd;AACA,aAAAC,SAAA,GAAY,CAAZ;AAGA,aAAAC,YAAA,GAAe,IAAI,sFAAJ,EAAf;AACA,aAAAC,UAAA,GAAa,IAAI,kFAAJ,EAAb;AACA,aAAAC,aAAA,GAAgB,IAAI,wFAAJ,EAAhB;AAsIA,aAAAtB,WAAA,GAA4B,EAA5B;AACA,aAAAuB,YAAA,GAAkC,EAAlC;AAcA,aAAAC,UAAA,GAAkB,EAAlB;AA7PC;;;;mCAkBO;AACN,eAAKC,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACA,eAAKoD,SAAL,GAAiB;AAAEC,iBAAK,EAAE,IAAT;AAAeC,oBAAQ,EAAE;AAAzB,WAAjB;AACA,eAAK9B,YAAL,GAAoB,CAClB;AAAE6B,iBAAK,EAAE,IAAT;AAAeC,oBAAQ,EAAE;AAAzB,WADkB,EAElB;AAAED,iBAAK,EAAE,YAAT;AAAuBC,oBAAQ,EAAE;AAAjC,WAFkB,EAGlB;AAAED,iBAAK,EAAE,aAAT;AAAwBC,oBAAQ,EAAE;AAAlC,WAHkB,EAIlB;AAAED,iBAAK,EAAE,OAAT;AAAkBC,oBAAQ,EAAE;AAA5B,WAJkB,EAKlB;AAAED,iBAAK,EAAE,OAAT;AAAkBC,oBAAQ,EAAE;AAA5B,WALkB,CAApB;AAOA,eAAKC,QAAL;AACAqX,iBAAO,CAACC,GAAR,CAAY,KAAKlZ,MAAjB;AACD,S,CAED;AACA;AACA;;;;uCACe;AACb,eAAKkB,SAAL,GAAiB,KAAKD,WAAtB,CADa,CAEb;;AACA,eAAKZ,aAAL,GAAqB,SAArB;AACA,eAAKwB,mBAAL;AACD,S,CAED;;;;8CACmB;AAAA;;AACjB,eAAKq9C,iBAAL,CAAuBp9C,UAAvB,CAAkC,KAAKR,YAAvC,EAAqDS,SAArD,CAA+D,UAAAC,MAAM,EAAI;AACvE,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAACJ,QAAL;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAAC4B,gBAAL;AACD,aAJD,MAKK;AACH,sBAAI,CAACC,UAAL,CAAgB,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAAhB,EAAiD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,cAAvB,CAAjD;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAVD;AAWD;;;mCAmDU;AAAA;;AACT;AACA,eAAK6+C,iBAAL,CAAuB98C,MAAvB,GACCL,SADD,CACW,UAAAC,MAAM,EAAE;AACnB,oBAAI,CAAC3B,aAAL,GAAqB,EAArB;AACE,oBAAI,CAACL,MAAL,GAAcgC,MAAd;;AACF,oBAAI,CAACM,QAAL;AAEC,WAND,EAFS,CAUT;AACA;AACA;AAEA;AACA;AACA;AACA;AAED;;;mCAEU;AACT,eAAK/B,UAAL,GAAkB,KAAKa,UAAL,CAAgBkB,QAAhB,CAAyB,KAAKb,SAAL,CAAeE,QAAxC,EAAkD,KAAK3B,MAAvD,CAAlB;AACA,eAAKwC,UAAL;AACD;;;0CAEiB;AAChB,eAAKtB,SAAL,GAAiB,KAAKD,WAAtB;AACA,eAAKV,UAAL,GAAkB,KAAKA,UAAL,CAAgBkC,KAAhB,GAAwBC,OAAxB,EAAlB;AACA,eAAKF,UAAL;AACD;;;qCAEY;AACX,eAAKlC,YAAL,GAAoB,KAAKa,YAAL,CAAkBqB,UAAlB,CAA6B,KAAKjB,UAAlC,EAA8C,KAAKzB,cAAnD,EAAmE,KAAKS,UAAxE,CAApB;;AACA,cAAI,KAAKW,SAAL,KAAmB,CAAvB,EAA0B;AACxB,iBAAKyB,YAAL,CAAkB,KAAK/B,YAAvB,EAAqC,CAArC;AACD,WAFD,MAGK;AACH,iBAAK+B,YAAL,CAAkB,KAAK/B,YAAvB,EACEgC,IAAI,CAACC,IAAL,CAAW,KAAKvC,YAAL,CAAkBI,MAAlB,GAA2B,KAAKE,YAA3C,KAA6D,KAAKM,SAAlE,GACE,KAAKA,SADP,GAEE0B,IAAI,CAACC,IAAL,CAAW,KAAKvC,YAAL,CAAkBI,MAAlB,GAA2B,KAAKE,YAA3C,CAHJ;AAKD;;AACD,eAAKM,SAAL,GAAiB,CAAjB;AACD;;;qCAEY4B,e,EAAyBC,c,EAAwB;AAC5D,eAAKnC,YAAL,GAAoBkC,eAApB;AACA,eAAK7B,WAAL,GAAmB8B,cAAnB;AACA,eAAKvC,aAAL,GAAqB,KAAKF,YAAL,CAAkBmC,KAAlB,CAAwB,CAACM,cAAc,GAAG,CAAlB,IAAwBD,eAAhD,EAAmEA,eAAe,GAAGC,cAArF,CAArB;AACD;;;mCAEUC,O,EAAc;AACvB,cAAI,KAAKvB,SAAL,CAAeC,KAAf,KAAyBsB,OAAO,CAACtB,KAArC,EAA4C;AAC1C,iBAAKV,QAAL,GAAgB,CAAC,KAAKA,QAAtB;AACA,gBAAMiC,OAAO,GAAG,KAAKhC,WAArB;AACA,iBAAKiC,eAAL;AACA,iBAAKjC,WAAL,GAAmBgC,OAAnB;AACD,WALD,MAMK;AACH,iBAAKjC,QAAL,GAAgB,IAAhB;AACA,iBAAKS,SAAL,GAAiBuB,OAAjB;AACA,iBAAKV,QAAL;AACD;AACF;;;gCAEOZ,K,EAAY;AAClB,iBAAO,KAAK7B,YAAL,CAAkBsD,IAAlB,CAAuB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC1B,KAAF,KAAYA,KAAhB;AAAA,WAAxB,CAAP;AACD;;;mCAEU2B,K,EAAuB;AAChC,eAAKpC,WAAL,GAAmBoC,KAAK,CAACC,IAAzB;AACA,eAAKX,YAAL,CAAkB,KAAK/B,YAAvB,EAAqC,KAAKK,WAA1C;AACD;;;uCAEc;AACb,eAAKK,YAAL,GAAoB,EAApB;AACA,eAAKR,QAAL,GAAgB,EAAhB;AACA,eAAKC,cAAL,GAAsB,EAAtB;AACA,eAAKyB,UAAL;AACD;;;kCAESe,M,EAAM;AACd,cAAIA,MAAM,CAACC,MAAP,CAAcC,OAAlB,EAA2B;AACzB,iBAAK3C,QAAL,sBAAoB,KAAKR,YAAzB;AACD,WAFD,MAEO;AACL,iBAAKQ,QAAL,GAAgB,EAAhB;AACD;;AACD,eAAK4C,iBAAL;AACD;;;4CAEgB;AACf,cAAI,KAAK5C,QAAL,CAAcJ,MAAd,IAAwB,KAAKJ,YAAL,CAAkBI,MAA9C,EAAsD;AACpD,iBAAKK,cAAL,GAAsB,SAAtB;AACD,WAFD,MAEO,IAAI,KAAKD,QAAL,CAAcJ,MAAd,KAAyB,CAA7B,EAAgC;AACrC,iBAAKK,cAAL,GAAsB,eAAtB;AACD,WAFM,MAEC;AACN,iBAAKA,cAAL,GAAsB,EAAtB;AACD;AACF;;;mCAEU4C,C,EAAkB;AAC3B,iBAAO,KAAK7C,QAAL,CAAc8C,SAAd,CAAwB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC7E,EAAF,KAAS2E,CAAC,CAAC3E,EAAf;AAAA,WAAzB,IAA8C,CAAC,CAAtD;AACD;;;iCAEQ8E,I,EAAqB;AAC5B,cAAI,KAAKC,UAAL,CAAgBD,IAAhB,CAAJ,EAA2B;AACzB,iBAAKhD,QAAL,GAAgB,KAAKA,QAAL,CAAckD,MAAd,CAAqB,UAAAH,CAAC;AAAA,qBAAIA,CAAC,CAAC7E,EAAF,KAAS8E,IAAI,CAAC9E,EAAlB;AAAA,aAAtB,CAAhB;AACD,WAFD,MAEO;AACL,iBAAK8B,QAAL,CAAcmD,IAAd,CAAmBH,IAAnB;AACD;;AACD,eAAKJ,iBAAL;AACD;;;mCAEUQ,I,EAAWxG,I,EAAS;AAC7B,iBAAOwG,IAAI,CAACf,IAAL,CAAU,UAAAU,CAAC;AAAA,mBAAIA,CAAC,CAACM,IAAF,KAAWzG,IAAf;AAAA,WAAX,CAAP;AACD;;;6CAGiB;AACjB,eAAKgC,MAAL,CAAY0E,QAAZ,CAAqB,CAAC,mCAAD,EAAqC,CAArC,CAArB;AACA;;;+BAEMtG,E,EAAE;AACP,eAAK4B,MAAL,CAAY0E,QAAZ,CAAqB,CAAC,mCAAD,EAAqCtG,EAArC,CAArB;AACA;;;yCAEekB,E,EAAO,CACtB;AACA;AACD;;;qCAGYA,E,EAAO;AAClB,cAAIA,EAAE,IAAI,CAAV,EAAa;AACX,iBAAKoB,eAAL,GAAuB,KAAvB;AACA,iBAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,aAAlB,CAAnB;AACA,iBAAKsC,YAAL,GAAoB,CAAC,KAAKtB,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,aAAlB,CAAD,CAApB;AACA,iBAAKqF,QAAL,CAAcC,IAAd;AACD,WALD,MAMK,IAAItF,EAAE,KAAK,UAAX,EAAuB;AAC1B,iBAAKsC,YAAL,sBAAwB,KAAKR,QAA7B;AACA,iBAAKuD,QAAL,CAAcC,IAAd;AACD;AACF;;;+BAGMxG,E,EAAE;AACP,eAAK4B,MAAL,CAAY0E,QAAZ,CAAqB,CAAC,iCAAD,EAAmCtG,EAAnC,CAArB;AAEA;;;2CAEc;AACd,cAAI,KAAKwD,YAAL,CAAkBZ,MAAlB,KAA6B,CAAjC,EAAoC;AAClC,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,QAAQ,KAAKvC,eAApC,CADF;AAED,WAHD,MAIK,IAAI,KAAK0B,YAAL,CAAkBZ,MAAlB,KAA6B,CAAjC,EAAoC;AACvC,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,QAAQ,KAAKvC,eAAb,GAA+B,GAAtD,CADF;AAED,WAHI,MAIA,IAAI,KAAK0B,YAAL,CAAkBZ,MAAlB,GAA2B,CAA3B,IAAgC,KAAKY,YAAL,CAAkBZ,MAAlB,GAA2B,EAA/D,EAAmE;AACtE,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAKb,YAAL,CAAkBZ,MADiC,GACxB,GADwB,GAClB,KAAKjB,SAAL,CAAe0C,OAAf,CAAuB,KAAKvC,eAAL,GAAuB,UAA9C,CADnC;AAED,WAHI,MAIA;AACH,iBAAK2E,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAKb,YAAL,CAAkBZ,MADiC,GACxB,GADwB,GAClB,KAAKjB,SAAL,CAAe0C,OAAf,CAAuB,KAAKvC,eAAL,GAAuB,MAA9C,CADnC;AAED;;AAED,eAAK0B,YAAL,GAAoB,EAApB;AACA,eAAKR,QAAL,GAAgB,EAAhB;AAEA,eAAK4C,iBAAL;;AACA,cAAI,KAAK3C,cAAL,KAAwB,EAA5B,EAAgC;AAC9B,iBAAKJ,YAAL,GAAoB,KAApB;AACD;;AACD,eAAK0D,QAAL,CAAcG,IAAd;AACD;;;qCAEYC,W,EAAqBC,S,EAAiB;AACjD,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBE,OADnB,EAC4B;AAAEC,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD5B;AAED;;;mCACUL,W,EAAqBC,S,EAAiB;AAC/C,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBjH,KADnB,EAC0B;AAAEoH,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD1B;AAED;;;8CACqB;AACpB,eAAKlD,QAAL;AACA,eAAKyC,QAAL,CAAcG,IAAd;AACD;;;sCAEa,CACZ;AACA;AACA;AACA;AACA;AACA;AACD;;;qCAEY;AAAA;;AACX,cAAMO,UAAU,GAAG,KAAKxD,UAAxB;AACA,eAAKA,UAAL,GAAkB,EAAlB;AACAyD,oBAAU,CAAC,YAAM;AACf,oBAAI,CAACzD,UAAL,GAAkBwD,UAAlB;AACD,WAFS,EAEP,CAFO,CAAV;AAGD;;;;;;;uBAjUM+xD,uB,EAAuB,2H,EAAA,wH,EAAA,4I,EAAA,qI,EAAA,uH,EAAA,sI;AAAA,K;;;YAAvBA,uB;AAAuB,sC;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;ACdpC;;AACI;;AACI;;AACI;;AAAkE;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAAwB,WAAxB;;AAE9D;;AAAyB;;AAAO;;AACpC;;AACA;;AACI;;AACI;;;;AACW;;AACnB;;AACA;;AACI;;AASA;;AAQA;;AACI;;AAA2D;AAAA,mBAAS,IAAA7xD,YAAA,EAAT;AAAuB,WAAvB;;AAEK;;;;AAAwB;;AACxF;;AAA8B;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAAwB,WAAxB;;AACoD;;;;AACnE;;AACnB;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AAIA;;AAoOA;;AAIA;;AAKA;;AAKA;;AAIA;;;;AA3RoB;;AAAA;;AAIiC;;AAAA;;AAS4B;;AAAA;;AAUzD;;AAAA;;AAC4D;;AAAA;;AAEkB;;AAAA;;AAOhG;;AAAA;;AAID;;AAAA;;;;;;;;;;sEDhCQ6xD,uB,EAAuB;cALnC,uDAKmC;eALzB;AACP5xD,kBAAQ,EAAE,iBADH;AAEPC,qBAAW,EAAE,gCAFN;AAGPC,mBAAS,EAAE,CAAC,gCAAD;AAHJ,S;AAKyB,Q;;;;;;;;;;;;;;;;gBAuO7B,uD;iBAAU,U;;;gBA4FV,uD;iBAAU,Y;;;;;;;;;;;;;;;;;;;;AEpVjB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;AC8JgB;;AACI;;AACI;;AAA4B;;;;AAAyB;;AACrD;;AACJ;;AACA;;AACI;;AAAQ;;;;AAAiC;;AACzC;;AACJ;;AACJ;;;;AAPoC;;AAAA;;AAIpB;;AAAA;;;;;;AA3H5B;;AACI;;AACI;;AACA;;AAA+C;;;;AAA8B;;AAC7E;;AAEA;;AACI;;AACI;;AAAQ;;;;AAAkC;;AAC1C;;AACJ;;AACA;;AACI;;AAA4B;;;;AAAmC;;AAC/D;;AACJ;;AACA;;AACI;;AAA4B;;;;AAAiC;;AAC7D;;AACJ;;AACJ;;AAEA;;AACI;;AACI;;AAA4B;;;;AAA6B;;AACzD;;AACJ;;AACA;;AACI;;AAAQ;;;;AAAsB;;AAC9B;;AACJ;;AACA;;AACI;;AAA4B;;;;AAAsB;;AAClD;;AACJ;;AAEJ;;AAEA;;AACI;;AACI;;AAA4B;;;;AAAqB;;AACjD;;AAKE;;AACC;;;;AACD;;AACA;;AACE;;;;AACD;;AAEH;;AAEC;;AACA;;AACG;;AAA4B;;;;AAA8B;;AAC1D;;AAKE;;AACC;;;;AACD;;AACA;;AACE;;;;AACD;;AAEH;;AAEC;;AACJ;;AACG;;AAAQ;;;;AAA4B;;AACpC;;AACJ;;AAEJ;;AAEA;;AAES;;AACG;;AAAQ;;;;AAAwB;;AAChC;;AACJ;;AAEJ;;AACR;;AACA;;AACI;;AACA;;AAA+C;;;;AAAsC;;AACrF;;AACA;;AACI;;AACI;;AAA4B;;;;AAA0C;;AACtE;;AACJ;;AACA;;AACI;;AAAQ;;;;AAAgC;;AACxC;;AACJ;;AACJ;;AACA;;AACI;;AAGA;;AACI;;AACI;;AAAwD;;;;AAA0B;;AAClF;;AAAyD;;;;AAAkC;;AAElG;;AACD;;AACA;;AAGJ;;AACA;;AAWA;;AAET;;;;;;AAlIgB;;AAGoC;;AAAA;;AAK/B;;AAAA;;AAIoB;;AAAA;;AAIA;;AAAA;;AAOA;;AAAA;;AAIpB;;AAAA;;AAIoB;;AAAA;;AAQA;;AAAA;;AAMjB;;AAAA;;AACR;;AAAA;;AAEQ;;AAAA;;AACP;;AAAA;;AAO4B;;AAAA;;AAMjB;;AAAA;;AACR;;AAAA;;AAEQ;;AAAA;;AACP;;AAAA;;AAOI;;AAAA;;AASI;;AAAA;;AAQ2B;;AAAA;;AAIX;;AAAA;;AAIpB;;AAAA;;AAUqC;;AAAA;;AAAe;;AAAA;;AACf;;AAAA;;AAAgB;;AAAA;;AAQ/C;;AAAA;;;;QDpJzB2xD,yB;AAMT,yCACSr3D,MADT,EAES4F,EAFT,EAGU45C,iBAHV,EAIUx5C,KAJV,EAI+B;AAAA;;AAHtB,aAAAhG,MAAA,GAAAA,MAAA;AACA,aAAA4F,EAAA,GAAAA,EAAA;AACC,aAAA45C,iBAAA,GAAAA,iBAAA;AACA,aAAAx5C,KAAA,GAAAA,KAAA;AATV,aAAA4M,QAAA,GAAoB,KAApB;AACA,aAAAC,cAAA,GAAwB,EAAxB;AAGA,aAAAvT,EAAA,GAAK,CAAL;AAgKK,aAAA0T,WAAA,GAAc,IAAd;AACA,aAAAC,MAAA,GAAgB,EAAhB;AAKD,aAAAC,qBAAA,GAAwB,IAAxB;AACA,aAAAC,gBAAA,GAA0B,EAA1B;AAKD,aAAAC,qBAAA,GAAwB,IAAxB;AACA,aAAAC,gBAAA,GAA0B,EAA1B;AApKC,aAAK/T,EAAL,GAAU,CAAC0G,KAAK,CAACM,QAAN,CAAeC,QAAf,CAAwBzH,GAAxB,CAA4B,IAA5B,CAAX;AAEH;;;;mCAEU;AAAA;;AACT,cAAG,KAAKQ,EAAL,GAAU,CAAb,EAAe;AACb,iBAAKkgD,iBAAL,CAAuBx3C,OAAvB,CAA+B,KAAK1I,EAApC,EACC+C,SADD,CACW,UAAAC,MAAM,EAAE;AACjB,sBAAI,CAAC2Q,MAAL,GAAY3Q,MAAM,CAACgT,QAAnB;AACA,sBAAI,CAACnC,gBAAL,GAAsB7Q,MAAM,CAACgyB,eAA7B;AACA,sBAAI,CAACjhB,gBAAL,GAAsB/Q,MAAM,CAACi9C,kBAA7B;AACF,sBAAI,CAAC/3C,IAAL,GAAY,QAAI,CAACU,UAAL,CAAgB5F,MAAhB,CAAZ;AAEC,aAPD;AAQD,WATD,MAUI;AACF,iBAAKkF,IAAL,GAAY,KAAKU,UAAL,CAAgB,IAAI,wEAAJ,EAAhB,CAAZ;AAED;AACF;;;+BAGM;AAAA;;AACL;AAEA,cAAIo3C,UAAU,GAAG,KAAK93C,IAAL,CAAUY,WAAV,EAAjB;AACAk3C,oBAAU,CAAChqC,QAAX,GAAsB,KAAKrC,MAA3B;AACAqsC,oBAAU,CAAChrB,eAAX,GAA6B,KAAKnhB,gBAAlC;AACAmsC,oBAAU,CAACC,kBAAX,GAAgC,KAAKlsC,gBAArC;;AACA,cAAG,KAAK/T,EAAL,GAAU,CAAb,EAAe;AACb,iBAAKkgD,iBAAL,CAAuB32C,MAAvB,CAA8By2C,UAA9B,EACCj9C,SADD,CACW,UAAAC,MAAM,EAAE;AACjB,kBAAGA,MAAM,IAAI,IAAb,EAAkB;AAChB,wBAAI,CAACtC,MAAL,CAAY0E,QAAZ,CAAqB,CAAC,iBAAD,CAArB;AACD;AACF,aALD;AAMD,WAPD,MAQI;AACF,iBAAK86C,iBAAL,CAAuB52C,MAAvB,CAA8B02C,UAA9B,EACCj9C,SADD,CACW,UAAAC,MAAM,EAAE;AACjB,kBAAGA,MAAM,IAAI,IAAb,EAAkB;AAChB,wBAAI,CAACtC,MAAL,CAAY0E,QAAZ,CAAqB,CAAC,iBAAD,CAArB;AACD;AACF,aALD;AAMD;AAGF;;;iCAEG;AACJ,eAAK1E,MAAL,CAAY0E,QAAZ,CAAqB,CAAC,iBAAD,CAArB;AACD;;;mCAGUrE,W,EAA2B;AACpC;AACA,iBAAO,KAAKuF,EAAL,CAAQY,KAAR,CAAc;AACpBlH,cAAE,EAAC,CAACe,WAAW,CAACf,EAAb,CADiB;AAEpBgU,sBAAU,EAAwB,CAACjT,WAAW,CAACiT,UAAb,CAFd;AAGpBiB,2BAAe,EAAmB,CAAClU,WAAW,CAACkU,eAAb,CAHd;AAIpBC,4BAAgB,EAAkB,CAACnU,WAAW,CAACmU,gBAAb,CAJd;AAKpBC,0BAAc,EAAoB,CAACpU,WAAW,CAACoU,cAAb,CALd;AAMpBlB,uBAAW,EAAuB,CAAClT,WAAW,CAACkT,WAAb,CANd;AAOpB9I,iBAAK,EAA6B,CAACpK,WAAW,CAACoK,KAAb,CAPd;AAQpBiK,iBAAK,EAA6B,CAACrU,WAAW,CAACqU,KAAb,CARd;AASpBC,kBAAM,EAA4B,CAACtU,WAAW,CAACsU,MAAb,CATd;AAUpBC,sBAAU,EAAwB,CAACvU,WAAW,CAACuU,UAAb,CAVd;AAWpBC,sBAAU,EAAwB,CAACxU,WAAW,CAACwU,UAAb,CAXd;AAYpBC,0BAAc,EAAoB,CAACzU,WAAW,CAACyU,cAAb,CAZd;AAapBC,wBAAY,EAAsB,CAAC1U,WAAW,CAAC0U,YAAb,CAbd;AAcpBC,wBAAY,EAAsB,CAAC3U,WAAW,CAAC2U,YAAb,CAdd;AAepBnK,qBAAS,EAAyB,CAACxK,WAAW,CAACwK,SAAb,CAfd;AAgBpBD,qBAAS,EAAyB,CAACvK,WAAW,CAACuK,SAAb,CAhBd;AAiBpBqK,wBAAY,EAAsB,CAAC5U,WAAW,CAAC4U,YAAb,CAjBd;AAkBpBC,gBAAI,EAA8B,CAAC7U,WAAW,CAAC6U,IAAb,CAlBd;AAmBpBC,yBAAa,EAAqB,CAAC9U,WAAW,CAAC8U,aAAb,CAnBd;AAoBpBC,kCAAsB,EAAY,CAAC/U,WAAW,CAAC+U,sBAAb,CApBd;AAqBpBC,qBAAS,EAAyB,CAAChV,WAAW,CAACgV,SAAb,CArBd;AAsBpBC,oBAAQ,EAA0B,CAACjV,WAAW,CAACiV,QAAb,CAtBd;AAuBpBC,eAAG,EAA+B,CAAClV,WAAW,CAACkV,GAAb,CAvBd;AAwBpBC,oBAAQ,EAA0B,CAACnV,WAAW,CAACmV,QAAb,CAxBd;AAyBpBC,mBAAO,EAA2B,CAACpV,WAAW,CAACoV,OAAb,CAzBd;AA0BpBC,kBAAM,EAA4B,CAACrV,WAAW,CAACqV,MAAb,CA1Bd;AA2BpBC,oBAAQ,EAA0B,CAACtV,WAAW,CAACsV,QAAb,CA3Bd;AA4BpBC,kBAAM,EAA4B,CAACvV,WAAW,CAACuV,MAAb,CA5Bd;AA6BpBjC,qBAAS,EAAyB,CAACtT,WAAW,CAACsT,SAAb,CA7Bd;AA8BpBkC,qBAAS,EAAyB,CAACxV,WAAW,CAACwV,SAAb,CA9Bd;AA+BpBC,+BAAmB,EAAe,CAACzV,WAAW,CAACyV,mBAAb,CA/Bd;AAgCpBC,kCAAsB,EAAY,CAAC1V,WAAW,CAAC0V,sBAAb,CAhCd;AAiCpBC,qBAAS,EAAyB,CAAC3V,WAAW,CAAC2V,SAAb,CAjCd;AAkCpBC,oBAAQ,EAA0B,CAAC5V,WAAW,CAAC4V,QAAb,CAlCd;AAmCpBC,wBAAY,EAAsB,CAAC7V,WAAW,CAAC6V,YAAb,CAnCd;AAoCpBC,+BAAmB,EAAe,CAAC9V,WAAW,CAAC8V,mBAAb,CApCd;AAqCpBC,2BAAe,EAAmB,CAAC/V,WAAW,CAAC+V,eAAb,CArCd;AAsCpBC,oBAAQ,EAA0B,CAAChW,WAAW,CAACgW,QAAb,CAtCd;AAuCpBzC,kBAAM,EAA4B,CAACvT,WAAW,CAACuT,MAAb,CAvCd;AAwCpB0C,6CAAiC,EAAC,CAACjW,WAAW,CAACiW,iCAAb,CAxCd;AAyCpBC,gCAAoB,EAAc,CAAClW,WAAW,CAACkW,oBAAb,CAzCd;AA0CpBC,+BAAmB,EAAe,CAACnW,WAAW,CAACmW,mBAAb,CA1Cd;AA2CpBC,wBAAY,EAAC,CAACpW,WAAW,CAACoW,YAAb,CA3CO;AA4CpBC,0BAAc,EAAC,CAACrW,WAAW,CAACqW,cAAb,CA5CK;AA6CpB7C,oBAAQ,EAA0B,CAACxT,WAAW,CAACwT,QAAb,CA7Cd;AA8CpBC,sBAAU,EAAwB,CAACzT,WAAW,CAACyT,UAAb,CA9Cd;AA+CpBC,sBAAU,EAAwB,CAAC1T,WAAW,CAAC0T,UAAb,CA/Cd;AAgDpBC,wBAAY,EAAsB,CAAC3T,WAAW,CAAC2T,YAAb,CAhDd;AAiDpBC,qBAAS,EAAyB,CAAC5T,WAAW,CAAC4T,SAAb,CAjDd;AAkDpBC,qBAAS,EAAyB,CAAC7T,WAAW,CAAC6T,SAAb,CAlDd;AAmDpBC,uBAAW,EAAuB,CAAC9T,WAAW,CAAC8T,WAAb,CAnDd;AAoDpBwC,6BAAiB,EAAiB,CAACtW,WAAW,CAACsW,iBAAb,CApDd;AAqDpBC,6BAAiB,EAAiB,CAACvW,WAAW,CAACuW,iBAAb,CArDd;AAsDpBC,sBAAU,EAAwB,CAACxW,WAAW,CAACwW,UAAb,CAtDd;AAuDpBC,sBAAU,EAAwB,CAACzW,WAAW,CAACyW,UAAb,CAvDd;AAwDpBC,wBAAY,EAAsB,CAAC1W,WAAW,CAAC0W,YAAb,CAxDd;AAyDpBC,wBAAY,EAAsB,CAAC3W,WAAW,CAAC2W,YAAb,CAzDd;AA0DpBC,uBAAW,EAAuB,CAAC5W,WAAW,CAAC4W,WAAb,CA1Dd;AA2DpBC,uBAAW,EAAuB,CAAC7W,WAAW,CAAC6W,WAAb,CA3Dd;AA4DpBC,mBAAO,EAA2B,CAAC9W,WAAW,CAAC8W,OAAb,CA5Dd;AA6DpBE,uBAAW,EAAuB,CAAChX,WAAW,CAACgX,WAAb,CA7Dd;AA8DpBC,yBAAa,EAAqB,CAACjX,WAAW,CAACiX,aAAb,CA9Dd;AA+DpBC,yBAAa,EAAqB,CAAClX,WAAW,CAACkX,aAAb,CA/Dd;AAgEpBC,wBAAY,EAAsB,CAACnX,WAAW,CAACmX,YAAb,CAhEd;AAiEpBC,wBAAY,EAAsB,CAACpX,WAAW,CAACoX,YAAb,CAjEd;AAkEpBC,2BAAe,EAAmB,CAACrX,WAAW,CAACqX,eAAb,CAlEd;AAmEpBC,4BAAgB,EAAkB,CAACtX,WAAW,CAACsX,gBAAb,CAnEd;AAoEpBC,4BAAgB,EAAkB,CAACvX,WAAW,CAACuX,gBAAb,CApEd;AAqEpBC,2BAAe,EAAmB,CAACxX,WAAW,CAACwX,eAAb,CArEd;AAsEpBC,2BAAe,EAAmB,CAACzX,WAAW,CAACyX,eAAb,CAtEd;AAuEpBC,uBAAW,EAAuB,CAAC1X,WAAW,CAAC0X,WAAb,CAvEd;AAwEpBC,2BAAe,EAAmB,CAAC3X,WAAW,CAAC2X,eAAb,CAxEd;AAyEpBC,kCAAsB,EAAY,CAAC5X,WAAW,CAAC4X,sBAAb,CAzEd;AA0EpBC,iCAAqB,EAAa,CAAC7X,WAAW,CAAC6X,qBAAb,CA1Ed;AA2EpBC,6BAAiB,EAAiB,CAAC9X,WAAW,CAAC8X,iBAAb,CA3Ed;AA4EpBC,+BAAmB,EAAe,CAAC/X,WAAW,CAAC+X,mBAAb,CA5Ed;AA6EpBC,oBAAQ,EAA0B,CAAChY,WAAW,CAACgY,QAAb,CA7Ed;AA8EpBC,qBAAS,EAAyB,CAACjY,WAAW,CAACiY,SAAb,CA9Ed;AA+EpBC,gBAAI,EAA8B,CAAClY,WAAW,CAACkY,IAAb,CA/Ed;AAgFpBC,gCAAoB,EAAc,CAACnY,WAAW,CAACmY,oBAAb,CAhFd;AAiFpBC,qCAAyB,EAAS,CAACpY,WAAW,CAACoY,yBAAb,CAjFd;AAkFpBC,kCAAsB,EAAY,CAACrY,WAAW,CAACqY,sBAAb,CAlFd;AAmFpBC,kCAAsB,EAAY,CAACtY,WAAW,CAACsY,sBAAb,CAnFd;AAoFpBC,+BAAmB,EAAe,CAACvY,WAAW,CAACuY,mBAAb,CApFd;AAqFpBC,2BAAe,EAAmB,CAACxY,WAAW,CAACwY,eAAb,CArFd;AAsFpBC,sBAAU,EAAwB,CAACzY,WAAW,CAACyY,UAAb,CAtFd;AAuFpBC,sBAAU,EAAwB,CAAC1Y,WAAW,CAAC0Y,UAAb,CAvFd;AAwFpBC,sBAAU,EAAwB,CAAC3Y,WAAW,CAAC2Y,UAAb,CAxFd;AAyFpBC,6BAAiB,EAAiB,CAAC5Y,WAAW,CAAC4Y,iBAAb,CAzFd;AA0FpBC,wBAAY,EAAC,CAAC7Y,WAAW,CAAC6Y,YAAb,CA1FO;AA2FpBC,0BAAc,EAAC,CAAC9Y,WAAW,CAAC8Y,cAAb,CA3FK;AA4FpBC,oCAAwB,EAAC,CAAC/Y,WAAW,CAAC+Y,wBAAb;AA5FL,WAAd,CAAP;AA8FD;;;gCAII;AACH,eAAKnG,MAAL,GAAc,EAAd;AACF;;;0CAIc;AACb,eAAKE,gBAAL,GAAwB,EAAxB;AACF;;;0CAIc;AACb,eAAKE,gBAAL,GAAwB,EAAxB;AACD;;;;;;;uBAtLYgkD,yB,EAAyB,uH,EAAA,2H,EAAA,sI,EAAA,+H;AAAA,K;;;YAAzBA,yB;AAAyB,wC;AAAA,e;AAAA,c;AAAA,iqE;AAAA;AAAA;ACVtC;;AAEI;;AACI;;AAA8B;AAAA,mBAAS,IAAAjjD,MAAA,EAAT;AAAiB,WAAjB;;AAC+F;;;;AAAuB;;AACpJ;;AAC0D;AAAA,mBAAS,IAAAC,IAAA,EAAT;AAAe,WAAf;;AACmE;;;;AAAuB;;AAExJ;;AACA;;AACI;;AACI;;AACE;;AACE;;AACA;;AAAI;;;;AAA6B;;AACjC;;AACA;;AAA2B;AAAA;AAAA;;AAAsC;;AACtE;;AACC;;AACA;;AACI;;AACI;;AACA;;AAAI;;;;AAA2B;;AAC/B;;AACA;;AAAyB;AAAA;AAAA;;AAA0D;;AACxF;;AACH;;AACA;;AACI;;AACI;;AACA;;AAAI;;;;AAAmC;;AACvC;;AACA;;AAA4B;AAAA;AAAA;;AAA0D;;AAC3F;;AACH;;AAEJ;;AAGJ;;AACA;;AAoIJ;;AAEA;;AACI;;AAA8B;AAAA,mBAAS,IAAAD,MAAA,EAAT;AAAiB,WAAjB;;AAC+F;;;;AAAuB;;AACpJ;;AAC0D;AAAA,mBAAS,IAAAC,IAAA,EAAT;AAAe,WAAf;;AACmE;;;;AAAuB;;AAExJ;;AACA;;;;AAnLqI;;AAAA;;AAGA;;AAAA;;AAQjH;;AAAA;;AAEuB;;AAAA,sFAAc,UAAd,EAAc,eAAd;;AAMnB;;AAAA;;AAEqB;;AAAA,gGAAwB,UAAxB,EAAwB,yBAAxB;;AAMrB;;AAAA;;AAEwB;;AAAA,gGAAwB,UAAxB,EAAwB,yBAAxB;;AAQtC;;AAAA;;AAwIuH;;AAAA;;AAGA;;AAAA;;;;;;;;;;sED1KpHgjD,yB,EAAyB;cALrC,uDAKqC;eAL3B;AACP7xD,kBAAQ,EAAE,mBADH;AAEPC,qBAAW,EAAE,kCAFN;AAGPC,mBAAS,EAAE,CAAC,kCAAD;AAHJ,S;AAK2B,Q;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEVtC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAUa4xD,0B;AAIb,0CAAoBnmB,QAApB,EACUqO,iBADV,EAEUx5C,KAFV,EAE+B;AAAA;;AAFX,aAAAmrC,QAAA,GAAAA,QAAA;AACV,aAAAqO,iBAAA,GAAAA,iBAAA;AACA,aAAAx5C,KAAA,GAAAA,KAAA;AALN,aAAAs5C,UAAA,GAA6B,IAAI,wEAAJ,EAA7B;AACA,aAAAhgD,EAAA,GAAK,CAAL;AAMF,aAAKA,EAAL,GAAU,CAAC0G,KAAK,CAACM,QAAN,CAAeC,QAAf,CAAwBzH,GAAxB,CAA4B,IAA5B,CAAX;AAED;;;;mCACW;AAAA;;AACN,eAAK0gD,iBAAL,CAAuBx3C,OAAvB,CAA+B,KAAK1I,EAApC,EACC+C,SADD,CACW,UAAAC,MAAM,EAAE;AACjB,oBAAI,CAACg9C,UAAL,GAAkBh9C,MAAlB;AACD,WAHD,EADM,CAKJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEH;;;qCAEU8uC,G,EAAW;AACtB,eAAKD,QAAL,CAAchH,IAAd,CAAmB,CAAC;AAAEiH,eAAG,EAAHA,GAAF;AAAOC,iBAAK,EAAE;AAAd,WAAD,CAAnB,EAAyC,CAAzC,EAA4C;AAAEC,4BAAgB,EAAE,IAApB;AAA0BC,2BAAe,EAAE,CAA3C;AAA8CC,4BAAgB,EAAE,IAAhE;AAAsEC,sBAAU,EAAE;AAAlF,WAA5C;AACD;;;;;;;uBArCU6lB,0B,EAA0B,sH,EAAA,sI,EAAA,+H;AAAA,K;;;YAA1BA,0B;AAA0B,yC;AAAA,e;AAAA,c;AAAA,wjB;AAAA;AAAA;ACVvC;;AAAiD;AAAA,mBAAS,IAAAjc,YAAA,CAAa,4BAAb,CAAT;AAAmD,WAAnD;;AAAjD;;AAEA;;AACE;;AACE;;AACE;;AAAkC;;AAA0B;;AAC9D;;AAaA;;AACE;;AACE;;AAA0D;;;;AAAoB;;AAChF;;AAAI;;AACJ;;AACE;;AAA0D;;;;AAAkC;;AAC9F;;AAAI;;AACJ;;AACE;;AAA0D;;;;AAA8B;;AAC1F;;AAAI;;AAEN;;AAEA;;AAAsC;;;;AAAyB;;AAC/D;;AACE;;AACE;;AACE;;AAAuB;;AAA2C;;AACpE;;AACA;;AACE;;AAAuB;;AAA0C;;AACnE;;AACA;;AACE;;AAAuB;;AAA4C;;AACrE;;AACF;;AACF;;AACF;;AACF;;;;AA/CmB;;AAKqB;;AAAA;;AAgB0B;;AAAA;;AACxD;;AAAA;;AAEwD;;AAAA;;AACxD;;AAAA;;AAEwD;;AAAA;;AACxD;;AAAA;;AAIgC;;AAAA;;;;;;;;;sEDtB7Bic,0B,EAA0B;cALtC,uDAKsC;eAL5B;AACP9xD,kBAAQ,EAAE,oBADH;AAEPC,qBAAW,EAAE,mCAFN;AAGPC,mBAAS,EAAE,CAAC,mCAAD;AAHJ,S;AAK4B,Q;;;;;;;;;;;;;;;;;;;;;;;;;;AEVvC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACCI;;;;;;AAAsC;;;;;;AACtC;;AAA0C;;;;AAAwB;;;;;;AAAnD;;AAA2B;;AAAA;;;;;;AAElB;;AAAqB;;;;AAA+B;;;;AAA/B;;AAAA;;;;;;;;;;;;;;AAD7C;;AAA6G;AAAA;;AAAA;;AAAA;AAAA;;AAC3G;;AAAsB;;AAA2D;;AACnF;;;;;;AAFsE,uKAAsC,UAAtC,EAAsC,yBAAtC;;AACxC;;AAAA;;;;;;AAE9B;;;;;;AAAmD;;;;QDK1C6xD,iC;AAcT,iDAAoBx3D,SAApB,EAAyDD,aAAzD,EAA8F;AAAA;;AAAA;;AAA1E,aAAAC,SAAA,GAAAA,SAAA;AAAqC,aAAAD,aAAA,GAAAA,aAAA;AAZlD,aAAAo0B,WAAA,GAAc,KAAd;AAGA,aAAAC,QAAA,GAAW,KAAX;AAGA,aAAAC,GAAA,GAAM,EAAN;AAGA,aAAAC,SAAA,GAAY,IAAI,0DAAJ,EAAZ;AAIH,aAAKvyB,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AAEF,aAAK4gD,kBAAL,GAA0B,IAAI,4DAAJ,CAAiB;AACzCnrB,aAAG,EAAE,yEAAY51B,UAAZ,GAAuB,6BADa;AAEzC+1B,0BAAgB,EAAE,KAFuB;AAGzCC,oBAAU,EAAE;AAH6B,SAAjB,CAA1B;AAMA,aAAK+qB,kBAAL,CAAwB9qB,QAAxB,CAAiCpyB,SAAjC,CAA2C,UAAAqyB,GAAG,EAAI;AAChD;AACA,cAAGA,GAAG,IAAI,IAAP,IAAeA,GAAG,IAAI,EAAtB,IAA4BA,GAAG,IAAIlmB,SAAtC,EAAgD;AAChD,oBAAI,CAAC4lB,GAAL,GAAW,yEAAYO,MAAZ,GAAoB,8BAApB,GAAqDp1B,IAAI,CAACq1B,KAAL,CAAWF,GAAX,CAAhE;;AACA,oBAAI,CAACL,SAAL,CAAe/V,IAAf,CAAoB,QAAI,CAAC8V,GAAzB;AACC,WAHD,MAII;AACA,oBAAI,CAACvvB,YAAL,CAAkB,QAAI,CAAC9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,eAAvB,CAArD;AACH;AACD,SATF,EASG,UAAAzD,KAAK,EAAG;AACT,kBAAI,CAACwD,UAAL,CAAgB,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAAhB,EAAiD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,cAAvB,CAAjD;AACA,SAXF;AAYD;;;;iCAEe3E,C,EAAM;AAEpB,eAAKo2B,WAAL,GAAmBp2B,CAAnB;AACD;;;mCAEU,CAEV;;;qCACYiH,W,EAAqBC,S,EAAiB;AAC/C,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBE,OADnB,EAC4B;AAAEC,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD5B;AAED;;;mCACUL,W,EAAqBC,S,EAAiB;AAC/C,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBjH,KADnB,EAC0B;AAAEoH,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD1B;AAED;;;;;;;uBApDMmyD,iC,EAAiC,qI,EAAA,4I;AAAA,K;;;YAAjCA,iC;AAAiC,iD;AAAA;AAAA;AAAA;AAAA,O;AAAA;AAAA;AAAA,O;AAAA,c;AAAA,a;AAAA,2qB;AAAA;AAAA;ACX9C;;AACI;;AACA;;AACA;;AAGA;;AACF;;;;AANO;;AAAA;;AACF;;AAAA;;AACI;;AAAA;;AAGA;;AAAA;;;;;;;;;;sEDKEA,iC,EAAiC;cAL7C,uDAK6C;eALnC;AACP/xD,kBAAQ,EAAE,4BADH;AAEPC,qBAAW,EAAE,2CAFN;AAGPC,mBAAS,EAAE,CAAC,2CAAD;AAHJ,S;AAKmC,Q;;;;;;;;gBAIzC;;;gBAGA;;;gBAGA;;;;;;;;;;;;;;;;;;;;AErBL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACCI;;;;;;AAAsC;;;;;;AACtC;;AAA0C;;;;AAAwB;;;;;;AAAnD;;AAA2B;;AAAA;;;;;;AAElB;;AAAqB;;;;AAA+B;;;;AAA/B;;AAAA;;;;;;;;;;;;;;AAD7C;;AAA4G;AAAA;;AAAA;;AAAA;AAAA;;AAC1G;;AAAsB;;AAA2D;;AACnF;;;;;;AAFqE,uKAAsC,UAAtC,EAAsC,wBAAtC;;AACvC;;AAAA;;;;;;AAE9B;;;;;;AAAmD;;;;QDK1C8xD,gC;AAcT,gDAAoBz3D,SAApB,EAAyDD,aAAzD,EAA8F;AAAA;;AAAA;;AAA1E,aAAAC,SAAA,GAAAA,SAAA;AAAqC,aAAAD,aAAA,GAAAA,aAAA;AAZlD,aAAAo0B,WAAA,GAAc,KAAd;AAGA,aAAAC,QAAA,GAAW,KAAX;AAGA,aAAAC,GAAA,GAAM,EAAN;AAGA,aAAAC,SAAA,GAAY,IAAI,0DAAJ,EAAZ;AAIH,aAAKvyB,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AAEF,aAAK+gD,iBAAL,GAAyB,IAAI,4DAAJ,CAAiB;AACxCtrB,aAAG,EAAE,yEAAY51B,UAAZ,GAAuB,oCADY;AAExC+1B,0BAAgB,EAAE,KAFsB;AAGxCC,oBAAU,EAAE;AAH4B,SAAjB,CAAzB;AAMA,aAAKkrB,iBAAL,CAAuBjrB,QAAvB,CAAgCpyB,SAAhC,CAA0C,UAAAqyB,GAAG,EAAI;AAC/C;AACA,cAAGA,GAAG,IAAI,IAAP,IAAeA,GAAG,IAAI,EAAtB,IAA4BA,GAAG,IAAIlmB,SAAtC,EAAgD;AAChD,oBAAI,CAAC4lB,GAAL,GAAW,yEAAYO,MAAZ,GAAoB,qCAApB,GAA4Dp1B,IAAI,CAACq1B,KAAL,CAAWF,GAAX,CAAvE;;AACA,oBAAI,CAACL,SAAL,CAAe/V,IAAf,CAAoB,QAAI,CAAC8V,GAAzB;AACC,WAHD,MAII;AACA,oBAAI,CAACvvB,YAAL,CAAkB,QAAI,CAAC9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,eAAvB,CAArD;AACH;AACD,SATF,EASG,UAAAzD,KAAK,EAAG;AACT,kBAAI,CAACwD,UAAL,CAAgB,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAAhB,EAAiD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,cAAvB,CAAjD;AACA,SAXF;AAYD;;;;iCAEe3E,C,EAAM;AAEpB,eAAKo2B,WAAL,GAAmBp2B,CAAnB;AACD;;;mCAEU,CAEV;;;qCACYiH,W,EAAqBC,S,EAAiB;AAC/C,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBE,OADnB,EAC4B;AAAEC,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD5B;AAED;;;mCACUL,W,EAAqBC,S,EAAiB;AAC/C,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBjH,KADnB,EAC0B;AAAEoH,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD1B;AAED;;;;;;;uBApDMoyD,gC,EAAgC,qI,EAAA,4I;AAAA,K;;;YAAhCA,gC;AAAgC,gD;AAAA;AAAA;AAAA;AAAA,O;AAAA;AAAA;AAAA,O;AAAA,c;AAAA,a;AAAA,uqB;AAAA;AAAA;ACX7C;;AACI;;AACA;;AACA;;AAGA;;AACF;;;;AANO;;AAAA;;AACF;;AAAA;;AACI;;AAAA;;AAGA;;AAAA;;;;;;;;;;sEDKEA,gC,EAAgC;cAL5C,uDAK4C;eALlC;AACPhyD,kBAAQ,EAAE,2BADH;AAEPC,qBAAW,EAAE,0CAFN;AAGPC,mBAAS,EAAE,CAAC,0CAAD;AAHJ,S;AAKkC,Q;;;;;;;;gBAIxC;;;gBAGA;;;gBAGA;;;;;;;;;;;;;;;;;;;;AErBL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACCI;;;;;;AAAsC;;;;;;AACtC;;AAA0C;;;;AAAwB;;;;;;AAAnD;;AAA2B;;AAAA;;;;;;AAElB;;AAAqB;;;;AAA+B;;;;AAA/B;;AAAA;;;;;;;;;;;;;;AAD7C;;AAAqG;AAAA;;AAAA;;AAAA;AAAA;;AACnG;;AAAsB;;AAA2D;;AACnF;;;;;;AAF8D,uKAAsC,UAAtC,EAAsC,iBAAtC;;AAChC;;AAAA;;;;;;AAE9B;;;;;;AAAmD;;;;QDK1C+xD,8B;AAcT,8CAAoB13D,SAApB,EAAyDD,aAAzD,EAA8F;AAAA;;AAAA;;AAA1E,aAAAC,SAAA,GAAAA,SAAA;AAAqC,aAAAD,aAAA,GAAAA,aAAA;AAZlD,aAAAo0B,WAAA,GAAc,KAAd;AAGA,aAAAC,QAAA,GAAW,KAAX;AAGA,aAAAC,GAAA,GAAM,EAAN;AAGA,aAAAC,SAAA,GAAY,IAAI,0DAAJ,EAAZ;AAIH,aAAKvyB,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AAEF,aAAKkW,UAAL,GAAkB,IAAI,4DAAJ,CAAiB;AACjCuf,aAAG,EAAE,yEAAY51B,UAAZ,GAAuB,kCADK;AAEjC+1B,0BAAgB,EAAE,KAFe;AAGjCC,oBAAU,EAAE;AAHqB,SAAjB,CAAlB;AAMA,aAAK3f,UAAL,CAAgB4f,QAAhB,CAAyBpyB,SAAzB,CAAmC,UAAAqyB,GAAG,EAAI;AACxC;AACA,cAAGA,GAAG,IAAI,IAAP,IAAeA,GAAG,IAAI,EAAtB,IAA4BA,GAAG,IAAIlmB,SAAtC,EAAgD;AAChD,oBAAI,CAAC4lB,GAAL,GAAW,yEAAYO,MAAZ,GAAoB,mCAApB,GAA0Dp1B,IAAI,CAACq1B,KAAL,CAAWF,GAAX,CAArE;;AACA,oBAAI,CAACL,SAAL,CAAe/V,IAAf,CAAoB,QAAI,CAAC8V,GAAzB;AACC,WAHD,MAII;AACA,oBAAI,CAACvvB,YAAL,CAAkB,QAAI,CAAC9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,eAAvB,CAArD;AACH;AACD,SATF,EASG,UAAAzD,KAAK,EAAG;AACT,kBAAI,CAACwD,UAAL,CAAgB,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAAhB,EAAiD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,cAAvB,CAAjD;AACA,SAXF;AAYD;;;;iCAEe3E,C,EAAM;AAEpB,eAAKo2B,WAAL,GAAmBp2B,CAAnB;AACD;;;mCAEU,CAEV;;;qCACYiH,W,EAAqBC,S,EAAiB;AAC/C,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBE,OADnB,EAC4B;AAAEC,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD5B;AAED;;;mCACUL,W,EAAqBC,S,EAAiB;AAC/C,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBjH,KADnB,EAC0B;AAAEoH,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD1B;AAED;;;;;;;uBApDMqyD,8B,EAA8B,qI,EAAA,4I;AAAA,K;;;YAA9BA,8B;AAA8B,8C;AAAA;AAAA;AAAA;AAAA,O;AAAA;AAAA;AAAA,O;AAAA,c;AAAA,a;AAAA,2oB;AAAA;AAAA;ACX3C;;AACI;;AACA;;AACA;;AAGA;;AACF;;;;AANO;;AAAA;;AACF;;AAAA;;AACI;;AAAA;;AAGA;;AAAA;;;;;;;;;;sEDKEA,8B,EAA8B;cAL1C,uDAK0C;eALhC;AACPjyD,kBAAQ,EAAE,yBADH;AAEPC,qBAAW,EAAE,wCAFN;AAGPC,mBAAS,EAAE,CAAC,wCAAD;AAHJ,S;AAKgC,Q;;;;;;;;gBAItC;;;gBAGA;;;gBAGA;;;;;;;;;;;;;;;;;;;;AErBL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACUY;;AAEE;;AAAoB;;AAA6C;;;;AAAgC;;AAAI;;AACrG;;AAAoB;;AACI;;;;AAAwC;;AAAI;;AACtE;;;;AAHmE;;AAAA;;AAEzC;;AAAA;;;;;;AA+EA;;;;;;AAAsD;;;;;;AAYlD;;;;;;AAA6D;;;;;;AAgB7D;;AAA8G;;;;AAAwB;;;;;;AAA7E;;AAAqD;;AAAA;;;;QDhH3IgyD,uB;AAIb,uCAAsBlY,iBAAtB,EACYx5C,KADZ,EACiC;AAAA;;AADX,aAAAw5C,iBAAA,GAAAA,iBAAA;AACV,aAAAx5C,KAAA,GAAAA,KAAA;AAJR,aAAAs5C,UAAA,GAA6B,IAAI,wEAAJ,EAA7B;AACA,aAAAhgD,EAAA,GAAK,CAAL;AAIF,aAAKA,EAAL,GAAU,CAAC0G,KAAK,CAACM,QAAN,CAAeC,QAAf,CAAwBzH,GAAxB,CAA4B,IAA5B,CAAX;AAEG;;;;mCACO;AAAA;;AACJ,eAAK0gD,iBAAL,CAAuBx3C,OAAvB,CAA+B,KAAK1I,EAApC,EACC+C,SADD,CACW,UAAAC,MAAM,EAAE;AACjB,oBAAI,CAACg9C,UAAL,GAAkBh9C,MAAlB;AACD,WAHD;AAMH;;;;;;;uBAhBQo1D,uB,EAAuB,sI,EAAA,+H;AAAA,K;;;YAAvBA,uB;AAAuB,sC;AAAA,gB;AAAA,c;AAAA,uxC;AAAA;AAAA;ACTpC;;AACI;;AACE;;AACE;;AAAI;;AAA0B;;AAC9B;;AACE;;AACE;;AACwF;;;;AAAkC;;AAE1H;;AACA;;AAMF;;AACF;;AACA;;AACF;;AAEA;;AACH;;AACW;;AACE;;AACF;;AACA;;AACE;;AAIF;;AACA;;AAEE;;AACI;;AAEI;;AACI;;;;AAEE;;AACE;;AACI;;AAAI;;;;AAAkC;;AACtC;;AAAI;;AAA8B;;AACtC;;AACA;;AACI;;AAAI;;;;AAAqB;;AACzB;;AAAI;;AAA0B;;AAClC;;AACA;;AACI;;AAAI;;;;AAAsB;;AAC1B;;AAAI;;AAAoB;;AAC5B;;AACA;;AACI;;AAAI;;;;AAAsB;;AAC1B;;AAAI;;AAAoB;;AAC5B;;AACA;;AACI;;AAAI;;;;AAAwB;;AAC5B;;AAAI;;AAAsB;;AAC9B;;AACF;;AACF;;AACA;;;;AACI;;AACI;;AACI;;AAAI;;;;AAAgC;;AACpC;;AAAI;;AAA6B;;AACrC;;AACA;;AACI;;AAAI;;;;AAA0C;;AAC9C;;AAAI;;AAAuC;;AAC/C;;AACA;;AACI;;AAAI;;;;AAAyB;;AAC7B;;AAAI;;AAAuB;;AAC/B;;AACA;;AACI;;AAAI;;;;AAAgC;;AACpC;;AAAI;;AAA8B;;AACtC;;AAEF;;AAEN;;AACA;;;;AACE;;AACE;;AACE;;AACE;;AACA;;AAAI;;;;AAA6B;;AACjC;;AACA;;AACE;;AAGF;;AACC;;AACL;;AACA;;AACI;;AACI;;AACA;;AAAI;;;;AAA2B;;AAC/B;;AACA;;AACE;;AAGF;;AACL;;AACH;;AACA;;AACI;;AACI;;AACA;;AAAI;;;;AAAmC;;AACvC;;AACA;;AAEE;;AACE;;AAAsB;;AAAe;;AACvC;;AACA;;AAGF;;AAEL;;AACH;;AAEJ;;AACA;;AACF;;AACN;;AACF;;AAEJ;;AACF;;AACN;;AAEF;;AACF;;;;AAzIU;;AAAA;;AAIwF;;AAAA;;AA+BnE;;AAAA;;AAIO;;AAAA;;AACA;;AAAA;;AAGA;;AAAA;;AACA;;AAAA;;AAGA;;AAAA;;AACA;;AAAA;;AAGA;;AAAA;;AACA;;AAAA;;AAGA;;AAAA;;AACA;;AAAA;;AAIP;;AAAA;;AAGW;;AAAA;;AACA;;AAAA;;AAGA;;AAAA;;AACA;;AAAA;;AAGA;;AAAA;;AACA;;AAAA;;AAGA;;AAAA;;AACA;;AAAA;;AAMX;;AAAA;;AAKO;;AAAA;;AAGG;;AAAA;;AASC;;AAAA;;AAGG;;AAAA;;AASH;;AAAA;;AAOC;;AAAA;;;;;;;;;;sEDhHhCA,uB,EAAuB;cALnC,uDAKmC;eALzB;AACPlyD,kBAAQ,EAAE,iBADH;AAEPC,qBAAW,EAAE,gCAFN;AAGPC,mBAAS,EAAE,CAAC,gCAAD;AAHJ,S;AAKyB,Q;;;;;;;;;;;;;;;;;;;;;;;;AERpC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QA8HaiyD,gB;;;;;YAAAA;;;;yBAAAA,gB;AAAgB,O;AAAA,iBAJhB,CAAC,yDAAD,EAAU,0EAAV,C;AAA2B,gBA9D7B,CACP,6DADO,EAEP,4EAFO,EAGP,kGAHO,EAIP,uEAJO,EAKP,qEALO,EAMP,mEANO,EAOP,qEAPO,EAQP,gEAAkB3lD,aAAlB,CAAgC,sEAAYC,QAA5C,CARO,EASP,2DATO,EAUP,mEAVO,EAWP,iEAAYC,OAAZ,EAXO,EAYP,oEAZO,EAaP,kEAbO,EAcP,oEAdO,EAeP,2DAfO,EAgBP,yEAhBO,EAiBP,oFAjBO,EAkBP,wGAlBO,EAmBP,+DAAWA,OAAX,EAnBO,EAoBP,kEApBO,EAqBP,6EAAeA,OAAf,EArBO,EAsBP,2EAtBO,EAuBP,sEAvBO,EAwBP,+FAxBO,EAyBP,qEAAcA,OAAd,EAzBO,EA0BP,qEAAcA,OAAd,EA1BO,EA2BP,wEA3BO,EA4BP,+DA5BO,EA6BP,0EA7BO,EA8BP,kFAA0BA,OAA1B,EA9BO,EA+BP,iFA/BO,EAgCP,kGAhCO,EAiCP,2EAjCO,EAkCP,iEAlCO,EAmCP,wEAnCO,EAoCP,qEApCO,EAqCP,qEArCO,EAsCP,yEAtCO,EAuCX,6EAvCW,EAwCX,gFAxCW,EAyCX,uEAzCW,EA0CX,oFA1CW,EA4CX,mEAAaA,OAAb,EA5CW,EA6CX,mGA7CW,EA8CX,4DA9CW,EA+CX,6DA/CW,EAgDX,6EAhDW,EAiDX,uFAjDW,EAmDX,2EAAiBA,OAAjB,EAnDW,CA8D6B;;;;0HAI3BylD,gB,EAAgB;AAAA,uBAZzB,8GAYyB,EAXzB,oHAWyB,EAVzB,2IAUyB,EATzB,qIASyB,EARzB,8IAQyB,EAPzB,8GAOyB,EANzB,uHAMyB;AANC,kBA3D1B,6DA2D0B,EA1D1B,4EA0D0B,EAzD1B,kGAyD0B,EAxD1B,uEAwD0B,EAvD1B,qEAuD0B,EAtD1B,mEAsD0B,EArD1B,qEAqD0B,EArDV,+DAqDU,EAnD1B,2DAmD0B,EAlD1B,mEAkD0B,EAlDP,gEAkDO,EAhD1B,oEAgD0B,EA/C1B,kEA+C0B,EA9C1B,oEA8C0B,EA7C1B,2DA6C0B,EA5C1B,yEA4C0B,EA3C1B,oFA2C0B,EA1C1B,wGA0C0B,EA1CF,8DA0CE,EAxC1B,kEAwC0B,EAxCZ,4EAwCY,EAtC1B,2EAsC0B,EArC1B,sEAqC0B,EApC1B,+FAoC0B,EApCL,oEAoCK,EApCL,oEAoCK,EAjC1B,wEAiC0B,EAhC1B,+DAgC0B,EA/B1B,0EA+B0B,EA/BV,iFA+BU,EA7B1B,iFA6B0B,EA5B1B,kGA4B0B,EA3B1B,2EA2B0B,EA1B1B,iEA0B0B,EAzB1B,wEAyB0B,EAxB1B,qEAwB0B,EAvB1B,qEAuB0B,EAtB1B,yEAsB0B,EArB9B,6EAqB8B,EApB9B,gFAoB8B,EAnB9B,uEAmB8B,EAlB9B,oFAkB8B,EAlBV,kEAkBU,EAf9B,mGAe8B,EAd9B,4DAc8B,EAb9B,6DAa8B,EAZ9B,6EAY8B,EAX9B,uFAW8B,EAXf,0EAWe,CAMD;AAjBd,kBAcJ,uHAdI,EAcuB,2IAdvB,EAcwD,qIAdxD,EAcuF,8IAdvF;AAiBc,O;AAH0G,K;;;;;sEAG1HA,gB,EAAgB;cAnE5B,sDAmE4B;eAnEnB;AACRxlD,iBAAO,EAAE,CACP,6DADO,EAEP,4EAFO,EAGP,kGAHO,EAIP,uEAJO,EAKP,qEALO,EAMP,mEANO,EAOP,qEAPO,EAQP,gEAAkBH,aAAlB,CAAgC,sEAAYC,QAA5C,CARO,EASP,2DATO,EAUP,mEAVO,EAWP,iEAAYC,OAAZ,EAXO,EAYP,oEAZO,EAaP,kEAbO,EAcP,oEAdO,EAeP,2DAfO,EAgBP,yEAhBO,EAiBP,oFAjBO,EAkBP,wGAlBO,EAmBP,+DAAWA,OAAX,EAnBO,EAoBP,kEApBO,EAqBP,6EAAeA,OAAf,EArBO,EAsBP,2EAtBO,EAuBP,sEAvBO,EAwBP,+FAxBO,EAyBP,qEAAcA,OAAd,EAzBO,EA0BP,qEAAcA,OAAd,EA1BO,EA2BP,wEA3BO,EA4BP,+DA5BO,EA6BP,0EA7BO,EA8BP,kFAA0BA,OAA1B,EA9BO,EA+BP,iFA/BO,EAgCP,kGAhCO,EAiCP,2EAjCO,EAkCP,iEAlCO,EAmCP,wEAnCO,EAoCP,qEApCO,EAqCP,qEArCO,EAsCP,yEAtCO,EAuCX,6EAvCW,EAwCX,gFAxCW,EAyCX,uEAzCW,EA0CX,oFA1CW,EA4CX,mEAAaA,OAAb,EA5CW,EA6CX,mGA7CW,EA8CX,4DA9CW,EA+CX,6DA/CW,EAgDX,6EAhDW,EAiDX,uFAjDW,EAmDX,2EAAiBA,OAAjB,EAnDW,CADD;AAsDRE,sBAAY,EAAE,CACZ,8GADY,EAEZ,oHAFY,EAGZ,2IAHY,EAIZ,qIAJY,EAKZ,8IALY,EAMZ,8GANY,EAOZ,uHAPY,CAtDN;AA+DRC,mBAAS,EAAE,CAAC,yDAAD,EAAU,0EAAV,CA/DH;AAgERlU,iBAAO,EAAC,CAAC,uHAAD,EAA4B,2IAA5B,EAA6D,qIAA7D,EAA4F,8IAA5F;AAhEA,S;AAmEmB,Q;;;;;;;;;;;;;;;;;;AC9H7B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAMA,QAAMmU,MAAM,GAAW,CACnB;AACIC,UAAI,EAAE,EADV;AACcC,eAAS,EAAE;AADzB,KADmB,EAIjB;AACED,UAAI,EAAC,uBADP;AAEEC,eAAS,EAAC;AAFZ,KAJiB,EAOjB;AACED,UAAI,EAAC,qBADP;AAEEC,eAAS,EAAC;AAFZ,KAPiB,CAAvB;;QAkBaolD,uB;;;;;YAAAA;;;;yBAAAA,uB;AAAuB,O;AAAA,gBAHvB,CAAC,6DAAallD,QAAb,CAAsBJ,MAAtB,CAAD,CAGuB,EAFtB,4DAEsB;;;;0HAAvBslD,uB,EAAuB;AAAA;AAAA,kBAFtB,4DAEsB;AAAA,O;AAFV,K;;;;;sEAEbA,uB,EAAuB;cAJnC,sDAImC;eAJ1B;AACNzlD,iBAAO,EAAE,CAAC,6DAAaO,QAAb,CAAsBJ,MAAtB,CAAD,CADH;AAENnU,iBAAO,EAAE,CAAC,4DAAD;AAFH,S;AAI0B,Q;;;;;;;;;;;;;;;;;;ACzBpC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAUaqhD,iB;AAGX,iCAAoBlhD,IAApB,EAAmC;AAAA;;AAAf,aAAAA,IAAA,GAAAA,IAAA;AAGpB,aAAAC,OAAA,GAAU,yEAAYC,UAAtB;AACA,aAAAC,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AALyC;;;;iCAcpC;AAEL,iBAAO,KAAKH,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,wBACwC,KAAKK,WAD7C,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCAEOM,E,EAAS;AAEf,iBAAO,KAAKhB,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,gCAC0Ce,EAD1C,GAC+C,KAAKV,WADpD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BACMI,O,EAAyB;AAE9B,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,wBAC0Ca,OAD1C,EACkD,KAAKR,WADvD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BAEMI,O,EAAyB;AAC9B,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,wBAC0Ca,OAD1C,EACkD,KAAKR,WADvD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCAEMM,E,EAAS;AACd,iBAAO,KAAKhB,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,+BACyCe,EADzC,GAC8C,KAAKV,WADnD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;mCAEYI,O,EAA4B;AACrC,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,4BAC6CgB,IAAI,CAACC,SAAL,CAAeJ,OAAf,CAD7C,EACqE,KAAKR,WAD1E,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;;;;;uBArDUwgD,iB,EAAiB,uH;AAAA,K;;;aAAjBA,iB;AAAiB,eAAjBA,iBAAiB,K;AAAA,kBAFhB;;;;;sEAEDA,iB,EAAiB;cAH7B,wDAG6B;eAHlB;AACV//C,oBAAU,EAAE;AADF,S;AAGkB,Q;;;;;;;;;;;;;;;;;;;;;;ACR9B;AAAA;;;AAAA;AAAA;AAAA;;QAAao4D,e,GA+FT,yBAAYzzD,IAAZ,EAAmC;AAAA;;AAC/BA,UAAI,GAAGA,IAAI,GAAGA,IAAH,GAAU,EAArB;AACA,WAAK9E,EAAL,GAAU8E,IAAI,CAAC9E,EAAL,GAAU8E,IAAI,CAAC9E,EAAf,GAAoB,CAA9B;AACA,WAAK8Z,wBAAL,GAAgChV,IAAI,CAACgV,wBAAL,GAAgChV,IAAI,CAACgV,wBAArC,GAAgE,EAAhG;AACA,WAAKD,cAAL,GAAsB/U,IAAI,CAAC+U,cAAL,GAAsB/U,IAAI,CAAC+U,cAA3B,GAA4C,EAAlE;AAEA,WAAKF,iBAAL,GAAyB7U,IAAI,CAAC6U,iBAAL,GAAyB7U,IAAI,CAAC6U,iBAA9B,GAAkD,CAA3E;AACA,WAAKH,UAAL,GAAkB1U,IAAI,CAAC0U,UAAL,GAAkB1U,IAAI,CAAC0U,UAAvB,GAAoC,KAAtD;AACA,WAAKC,UAAL,GAAkB3U,IAAI,CAAC2U,UAAL,GAAkB3U,IAAI,CAAC2U,UAAvB,GAAoC,KAAtD;AACA,WAAKC,UAAL,GAAkB5U,IAAI,CAAC4U,UAAL,GAAkB5U,IAAI,CAAC4U,UAAvB,GAAoC,KAAtD;AACA,WAAKL,sBAAL,GAA8BvU,IAAI,CAACuU,sBAAL,GAA8BvU,IAAI,CAACuU,sBAAnC,GAA4D,KAA1F;AACA,WAAKC,mBAAL,GAA2BxU,IAAI,CAACwU,mBAAL,GAA2BxU,IAAI,CAACwU,mBAAhC,GAAsD,EAAjF;AACA,WAAKC,eAAL,GAAuBzU,IAAI,CAACyU,eAAL,GAAuBzU,IAAI,CAACyU,eAA5B,GAA8C,EAArE;AACA,WAAKH,sBAAL,GAA8BtU,IAAI,CAACsU,sBAAL,GAA8BtU,IAAI,CAACsU,sBAAnC,GAA4D,KAA1F;AACA,WAAKD,yBAAL,GAAiCrU,IAAI,CAACqU,yBAAL,GAAiCrU,IAAI,CAACqU,yBAAtC,GAAkE,KAAnG;AACA,WAAKD,oBAAL,GAA4BpU,IAAI,CAACoU,oBAAL,GAA4BpU,IAAI,CAACoU,oBAAjC,GAAwD,KAApF;AACA,WAAKH,QAAL,GAAiBjU,IAAI,CAACiU,QAAL,GAAiBjU,IAAI,CAACiU,QAAtB,GAAkC,CAAnD;AACA,WAAKC,SAAL,GAAiBlU,IAAI,CAACkU,SAAL,GAAiBlU,IAAI,CAACkU,SAAtB,GAAkC,CAAnD;AACA,WAAKC,IAAL,GAAiBnU,IAAI,CAACmU,IAAL,GAAiBnU,IAAI,CAACmU,IAAtB,GAAkC,CAAnD;AACA,WAAKjF,UAAL,GAAyClP,IAAI,CAACkP,UAAL,GAAyClP,IAAI,CAACkP,UAA9C,GAAkF,EAA3H;AACA,WAAKC,WAAL,GAAyCnP,IAAI,CAACmP,WAAL,GAAyCnP,IAAI,CAACmP,WAA9C,GAAkF,EAA3H;AACA,WAAKoE,gBAAL,GAAuBvT,IAAI,CAACuT,gBAAL,GAAwBvT,IAAI,CAACuT,gBAA7B,GAAgD,EAAvE;AACA,WAAKC,gBAAL,GAAuBxT,IAAI,CAACwT,gBAAL,GAAwBxT,IAAI,CAACwT,gBAA7B,GAAgD,EAAvE;AACA,WAAKC,eAAL,GAAsBzT,IAAI,CAACyT,eAAL,GAAuBzT,IAAI,CAACyT,eAA5B,GAA8C,EAApE;AACA,WAAKC,eAAL,GAAsB1T,IAAI,CAAC0T,eAAL,GAAuB1T,IAAI,CAAC0T,eAA5B,GAA8C,EAApE;AACA,WAAKjN,SAAL,GAAuCzG,IAAI,CAACyG,SAAL,GAAuCzG,IAAI,CAACyG,SAA5C,GAA8E,EAArH;AACA,WAAKD,SAAL,GAAuCxG,IAAI,CAACwG,SAAL,GAAuCxG,IAAI,CAACwG,SAA5C,GAA8E,EAArH;AACA,WAAKmK,YAAL,GAA0C3Q,IAAI,CAAC2Q,YAAL,GAA0C3Q,IAAI,CAAC2Q,YAA/C,GAAmF,EAA7H;AACA,WAAKC,YAAL,GAA0C5Q,IAAI,CAAC4Q,YAAL,GAA0C5Q,IAAI,CAAC4Q,YAA/C,GAAmF,EAA7H;AACA,WAAK2B,iBAAL,GAA+CvS,IAAI,CAACuS,iBAAL,GAA+CvS,IAAI,CAACuS,iBAApD,GAA6F,EAA5I;AACA,WAAKC,iBAAL,GAA+CxS,IAAI,CAACwS,iBAAL,GAA+CxS,IAAI,CAACwS,iBAApD,GAA6F,EAA5I;AACA,WAAKC,UAAL,GAAkBzS,IAAI,CAACyS,UAAL,GAAiBzS,IAAI,CAACyS,UAAtB,GAAmC,EAArD;AACA,WAAKC,UAAL,GAAkB1S,IAAI,CAAC0S,UAAL,GAAiB1S,IAAI,CAAC0S,UAAtB,GAAmC,EAArD;AACA,WAAKrM,KAAL,GAAyCrG,IAAI,CAACqG,KAAL,GAAyCrG,IAAI,CAACqG,KAA9C,GAAkF,EAA3H;AACA,WAAKiK,KAAL,GAAyCtQ,IAAI,CAACsQ,KAAL,GAAyCtQ,IAAI,CAACsQ,KAA9C,GAAkF,EAA3H;AACA,WAAKC,MAAL,GAAyCvQ,IAAI,CAACuQ,MAAL,GAAyCvQ,IAAI,CAACuQ,MAA9C,GAAkF,EAA3H;AACA,WAAKC,UAAL,GAAyCxQ,IAAI,CAACwQ,UAAL,GAAyCxQ,IAAI,CAACwQ,UAA9C,GAAkF,IAA3H;AACA,WAAKC,UAAL,GAAyCzQ,IAAI,CAACyQ,UAAL,GAAyCzQ,IAAI,CAACyQ,UAA9C,GAAkF,EAA3H;AACA,WAAKC,cAAL,GAAyC1Q,IAAI,CAAC0Q,cAAL,GAAyC1Q,IAAI,CAAC0Q,cAA9C,GAAkF,EAA3H;AACA,WAAKG,YAAL,GAAyC7Q,IAAI,CAAC6Q,YAAL,GAAyC7Q,IAAI,CAAC6Q,YAA9C,GAAkF,CAA3H;AACA,WAAKC,IAAL,GAAyC9Q,IAAI,CAAC8Q,IAAL,GAAyC9Q,IAAI,CAAC8Q,IAA9C,GAAkF,CAA3H;AACA,WAAKC,aAAL,GAAyC/Q,IAAI,CAAC+Q,aAAL,GAAyC/Q,IAAI,CAAC+Q,aAA9C,GAAkF,CAA3H;AACA,WAAKC,sBAAL,GAAyChR,IAAI,CAACgR,sBAAL,GAAyChR,IAAI,CAACgR,sBAA9C,GAAkF,EAA3H;AACA,WAAKC,SAAL,GAAyCjR,IAAI,CAACiR,SAAL,GAAyCjR,IAAI,CAACiR,SAA9C,GAAkF,IAA3H;AACA,WAAKC,QAAL,GAAyClR,IAAI,CAACkR,QAAL,GAAyClR,IAAI,CAACkR,QAA9C,GAAkF,EAA3H;AACA,WAAKC,GAAL,GAAyCnR,IAAI,CAACmR,GAAL,GAAyCnR,IAAI,CAACmR,GAA9C,GAAkF,EAA3H;AACA,WAAKC,QAAL,GAAyCpR,IAAI,CAACoR,QAAL,GAAyCpR,IAAI,CAACoR,QAA9C,GAAkF,KAA3H;AACA,WAAKC,OAAL,GAAyCrR,IAAI,CAACqR,OAAL,GAAyCrR,IAAI,CAACqR,OAA9C,GAAkF,EAA3H;AACA,WAAKC,MAAL,GAAyCtR,IAAI,CAACsR,MAAL,GAAyCtR,IAAI,CAACsR,MAA9C,GAAkF,CAA3H;AACA,WAAKC,QAAL,GAAyCvR,IAAI,CAACuR,QAAL,GAAyCvR,IAAI,CAACuR,QAA9C,GAAkF,CAA3H;AACA,WAAKC,MAAL,GAAyCxR,IAAI,CAACwR,MAAL,GAAyCxR,IAAI,CAACwR,MAA9C,GAAkF,CAA3H;AACA,WAAKjC,SAAL,GAAyCvP,IAAI,CAACuP,SAAL,GAAyCvP,IAAI,CAACuP,SAA9C,GAAkF,KAA3H;AACA,WAAKkC,SAAL,GAAyCzR,IAAI,CAACyR,SAAL,GAAyCzR,IAAI,CAACyR,SAA9C,GAAkF,KAA3H;AACA,WAAKC,mBAAL,GAAyC1R,IAAI,CAAC0R,mBAAL,GAAyC1R,IAAI,CAAC0R,mBAA9C,GAAkF,CAA3H;AACA,WAAKC,sBAAL,GAA4C3R,IAAI,CAAC2R,sBAAL,GAA4C3R,IAAI,CAAC2R,sBAAjD,GAAwF,CAApI;AACA,WAAKC,SAAL,GAAyC5R,IAAI,CAAC4R,SAAL,GAAyC5R,IAAI,CAAC4R,SAA9C,GAAkF,CAA3H;AACA,WAAKC,QAAL,GAAyC7R,IAAI,CAAC6R,QAAL,GAAyC7R,IAAI,CAAC6R,QAA9C,GAAkF,CAA3H;AACA,WAAKC,YAAL,GAAyC9R,IAAI,CAAC8R,YAAL,GAAyC9R,IAAI,CAAC8R,YAA9C,GAAkF,EAA3H;AACA,WAAKC,mBAAL,GAAyC/R,IAAI,CAAC+R,mBAAL,GAAyC/R,IAAI,CAAC+R,mBAA9C,GAAkF,EAA3H;AACA,WAAKC,eAAL,GAAyChS,IAAI,CAACgS,eAAL,GAAyChS,IAAI,CAACgS,eAA9C,GAAkF,EAA3H;AACA,WAAKC,QAAL,GAAyCjS,IAAI,CAACiS,QAAL,GAAyCjS,IAAI,CAACiS,QAA9C,GAAkF,EAA3H;AACA,WAAKzC,MAAL,GAAyCxP,IAAI,CAACwP,MAAL,GAAyCxP,IAAI,CAACwP,MAA9C,GAAkF,EAA3H;AACA,WAAK0C,iCAAL,GAAyClS,IAAI,CAACkS,iCAAL,GAAyClS,IAAI,CAACkS,iCAA9C,GAAkF,KAA3H;AACA,WAAKC,oBAAL,GAAyCnS,IAAI,CAACmS,oBAAL,GAAyCnS,IAAI,CAACmS,oBAA9C,GAAkF,EAA3H;AACA,WAAKE,YAAL,GAAyCrS,IAAI,CAACqS,YAAL,GAAyCrS,IAAI,CAACqS,YAA9C,GAAkF,KAA3H;AACA,WAAKD,mBAAL,GAAyCpS,IAAI,CAACoS,mBAAL,GAAyCpS,IAAI,CAACoS,mBAA9C,GAAkF,KAA3H;AACA,WAAKE,cAAL,GAAyCtS,IAAI,CAACsS,cAAL,GAAyCtS,IAAI,CAACsS,cAA9C,GAAkF,EAA3H;AACA,WAAK7C,QAAL,GAAyCzP,IAAI,CAACyP,QAAL,GAAyCzP,IAAI,CAACyP,QAA9C,GAAkF,EAA3H;AACA,WAAKC,UAAL,GAAyC1P,IAAI,CAAC0P,UAAL,GAAyC1P,IAAI,CAAC0P,UAA9C,GAAkF,IAA3H;AACA,WAAKC,UAAL,GAAyC3P,IAAI,CAAC2P,UAAL,GAAyC3P,IAAI,CAAC2P,UAA9C,GAAkF,EAA3H;AACA,WAAKC,YAAL,GAAyC5P,IAAI,CAAC4P,YAAL,GAAyC5P,IAAI,CAAC4P,YAA9C,GAAkF,IAA3H;AACA,WAAKC,SAAL,GAAyC7P,IAAI,CAAC6P,SAAL,GAAyC7P,IAAI,CAAC6P,SAA9C,GAAkF,KAA3H;AACA,WAAKC,SAAL,GAAyC9P,IAAI,CAAC8P,SAAL,GAAyC9P,IAAI,CAAC8P,SAA9C,GAAkF,EAA3H;AACA,WAAKC,WAAL,GAAyC/P,IAAI,CAAC+P,WAAL,GAAyC/P,IAAI,CAAC+P,WAA9C,GAAkF,IAA3H;AACA,WAAK4C,YAAL,GAAmB3S,IAAI,CAAC2S,YAAL,GAAmB3S,IAAI,CAAC2S,YAAxB,GAAsC,EAAzD;AACA,WAAKC,YAAL,GAAmB5S,IAAI,CAAC4S,YAAL,GAAmB5S,IAAI,CAAC4S,YAAxB,GAAsC,EAAzD;AACA,WAAKC,WAAL,GAAkB7S,IAAI,CAAC6S,WAAL,GAAkB7S,IAAI,CAAC6S,WAAvB,GAAoC,EAAtD;AACA,WAAKC,WAAL,GAAkB9S,IAAI,CAAC8S,WAAL,GAAkB9S,IAAI,CAAC8S,WAAvB,GAAoC,EAAtD;AACA,WAAKC,OAAL,GAAe/S,IAAI,CAAC+S,OAAL,GAAe/S,IAAI,CAAC+S,OAApB,GAA8B,IAA7C;AACA,WAAKE,WAAL,GAAmBjT,IAAI,CAACiT,WAAL,GAAmBjT,IAAI,CAACiT,WAAxB,GAAsC,EAAzD;AACA,WAAKC,aAAL,GAAqBlT,IAAI,CAACkT,aAAL,GAAsBlT,IAAI,CAACkT,aAA3B,GAA4C,EAAjE;AACA,WAAKC,aAAL,GAAqBnT,IAAI,CAACmT,aAAL,GAAsBnT,IAAI,CAACmT,aAA3B,GAA4C,EAAjE;AACA,WAAKC,YAAL,GAAqBpT,IAAI,CAACoT,YAAL,GAAsBpT,IAAI,CAACoT,YAA3B,GAA4C,EAAjE;AACA,WAAKC,YAAL,GAAqBrT,IAAI,CAACqT,YAAL,GAAsBrT,IAAI,CAACqT,YAA3B,GAA4C,EAAjE;AACA,WAAKC,eAAL,GAAwBtT,IAAI,CAACsT,eAAL,GAAyBtT,IAAI,CAACsT,eAA9B,GAAkD,EAA1E;AACA,WAAKK,WAAL,GAAwB3T,IAAI,CAAC2T,WAAL,GAAqB3T,IAAI,CAAC2T,WAA1B,GAA0C,CAAlE;AACA,WAAKC,eAAL,GAAwB5T,IAAI,CAAC4T,eAAL,GAAyB5T,IAAI,CAAC4T,eAA9B,GAAkD,CAA1E;AACA,WAAKC,sBAAL,GAA+B7T,IAAI,CAAC6T,sBAAL,GAAgC7T,IAAI,CAAC6T,sBAArC,GAAgE,CAA/F;AACA,WAAKC,qBAAL,GAA+B9T,IAAI,CAAC8T,qBAAL,GAAgC9T,IAAI,CAAC8T,qBAArC,GAAgE,CAA/F;AACA,WAAKC,iBAAL,GAAyB/T,IAAI,CAAC+T,iBAAL,GAAyB/T,IAAI,CAAC+T,iBAA9B,GAAkD,IAA3E;AACA,WAAKC,mBAAL,GAA2BhU,IAAI,CAACgU,mBAAL,GAA2BhU,IAAI,CAACgU,mBAAhC,GAAsD,KAAjF;AACA,WAAK7D,eAAL,GAAyBnQ,IAAI,CAACmQ,eAAL,GAAyBnQ,IAAI,CAACmQ,eAA9B,GAAmD,EAA5E;AACA,WAAKC,gBAAL,GAAyBpQ,IAAI,CAACoQ,gBAAL,GAAyBpQ,IAAI,CAACoQ,gBAA9B,GAAmD,EAA5E;AACA,WAAKC,cAAL,GAAyBrQ,IAAI,CAACqQ,cAAL,GAAyBrQ,IAAI,CAACqQ,cAA9B,GAAmD,EAA5E;AACA,WAAKyE,YAAL,GAAoB9U,IAAI,CAAC8U,YAAL,GAAkB9U,IAAI,CAAC8U,YAAvB,GAAoC,EAAxD;AACH,K;;;;;;;;;;;;;;;;;AChML;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;ACYwB;;;;;;AAEI;;;;;;AACJ;;AACqB;;AAAoB;;;;;;AAApB;;AAAA;;;;;;AAMrB;;AACI;;;;AAII;;AAEI;;;;AAAsB;;AACtB;;AAEA;;;;AAA0B;;AAClC;;AACJ;;;;AATQ;;AAAA;;AACA;;AAGI;;AAAA;;AAGA;;AAAA;;;;;;AAOZ;;;;;;AAEI;;;;;;AACJ;;AACsB;;AAAqB;;;;;;AAArB;;AAAA;;;;;;AAMtB;;;;;;AAEI;;;;;;AACJ;;AACsB;;AAA2B;;;;;;AAA3B;;AAAA;;;;;;AAMtB;;AACI;;;;AAII;;AAEI;;;;AAAsB;;AACtB;;AAEA;;;;AAAuB;;AACvB;;AAEA;;;;AAAsB;;AAC9B;;AACJ;;;;AAZQ;;AAAA;;AACA;;AAGI;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;;;;;;;AAMZ;;AAE8B;AAAA;;AAAA;;AAAA;AAAA;;AACkC;;;;AACjD;;;;;;AAHX;;AAE4D;;AAAA;;;;;;;;AAEhE;;AAE8B;AAAA;;AAAA;;AAAA;AAAA;;AACkC;;;;AAC/C;;;;;;AAHb;;AAE4D;;AAAA;;;;;;AA2BpE;;AACI;;AAAmB;;AAAe;;AAClC;;AACJ;;;;;;AAFuB;;AAAA;;;;;;AAF3B;;AACI;;AAIJ;;;;;;AAJS;;AAAA;;;;;;AAKT;;AAEI;;AACI;;AAAqD;;;;AAA2C;;AACpG;;AACA;;AACJ;;;;;;AAH6D;;AAAA;;;;;;;;AAiB7E;;AACI;;AAAG;AAAA;;AAAA;;AAAA,yCAAuB,OAAvB;AAA8B,SAA9B;;AAAgC;;AAAI;;AAC3C;;;;;;;;AAwDoC;;AAEI;;AAAoB;;AACZ;;AAEI;AAAA;;AAAA;;AAAA,sCAAsB,UAAtB;AAAgC,SAAhC;;AAC8D;;;;AAEnD;;AAAS;;AAAI;;AACxC;;;;;;AAHgB;;AAAA;;AAA8D;;AAAA;;;;;;;;AA8C1E;;AAA4D;;AAEpD;AAAA;;AAAA;;AAAA;;AAAA,gDAA4B,CAA5B;AAA6B,SAA7B;;AAAgC;;AAAQ;;AAAI;;;;;;;;AAD5C;;AAAA;;AACgC;;AAAA;;;;;;AAJ5C;;AAEI;;AAGJ;;;;;;AAHwB;;AAAA;;;;;;;;AASpC;;AACI;;AACI;;AACI;;AACgC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AADhC;;AAEA;;AACJ;;AACJ;;AACA;;AAAgB;;AAAY;;AAC5B;;AAAgB;;;;AAA0B;;AAC1C;;AAAgB;;AAAa;;AAC7B;;AAAI;;AAAyC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC0C;;;;AAClE;;AAAS;;AAC9B;;AAAI;;AAAoD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC+B;;;;AAClE;;AAAS;;AAC9B;;AAAI;;AAAmD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC+B;;;;AACjE;;AAAS;;AAClC;;;;;;;;;AAjBgE;;AAAA,8FAAsB,SAAtB,EAAsB,2BAAtB;;AAEhB;;AAAA;;AAG5B;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAER;;AAAA;;AAA+E;;AAAA;;AAG/E;;AAAA;;AAA+E;;AAAA;;AAG/E;;AAAA;;AAA8E;;AAAA;;;;;;;;;;;;;;;;;;;;;;AArIlH;;AACI;;AACI;;AAEI;;AACI;;AACI;;AACI;;AAAqB;AAAA;;AAAA;;AAAA;AAAA,WAAwB,OAAxB,EAAwB;AAAA;;AAAA;;AAAA;AAAA,SAAxB,EAAwB,QAAxB,EAAwB;AAAA;;AAAA;;AAAA;AAAA,SAAxB;;;;AAArB;;AAEJ;;AACJ;;AACJ;;AACJ;;AAEA;;AACI;;AACI;;AACJ;;AACA;;AACI;;AAEI;AAAA;;AAAA;;AAAA;AAAA;;AAAsE;;;;AAC3D;;AAEnB;;AACJ;;AAEJ;;AAGA;;AAEI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AAEI;;AAGI;AAAA;;AAAA;;AAAA;AAAA;;AAHJ;;AAIA;;AAAmC;;AAAM;;AAC7C;;AACJ;;AACA;;AAGI;;AACJ;;AACA;;AAUJ;;AACJ;;AACJ;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,MAA5B;AAAkC,SAAlC;;AACjB;;AAE4E;;AAChF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,MAA5B;AAAkC,SAAlC;;AAEf;;;;AACR;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,QAA5B;AAAoC,SAApC;;AACjB;;AAE8E;;AAClF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,QAA5B;AAAoC,SAApC;;AAEf;;;;AACR;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,OAA5B;AAAmC,SAAnC;;AACjB;;AAE6E;;AACjF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,OAA5B;AAAmC,SAAnC;;AAEf;;;;AACR;;AAEA;;AACA;;AACI;;AAEI;;AACI;;;;AACJ;;AACA;;AACI;;AAEI;;AACJ;;AACA;;AAMJ;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AAqBJ;;AACA;;AACI;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAEA;;AAEI;;AAA6E;;AAAM;;AAEnF;;AAEI;;AACI;;AACI;;AACwB;AAAA;;AAAA;;AAAA;AAAA,WAAyB,aAAzB,EAAyB;AAAA;;AAAA;;AAAA;AAAA,SAAzB;;AAKxB;;AACJ;;AACJ;;AACJ;;AAEA;;AAA0E;;AAAM;;AAEpF;;AACJ;;;;;;;;;;;;;;AA1K2E;;AAAA;;AAD9B;;AAcM;;AAAA;;AAAuC;;AAAA;;AAsB1C;;AAAA,kHAAsC,eAAtC,EAAsC,0CAAtC;;AAwBmC;;AAAA;;AAClD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAEqD;;AAAA;;AACpD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAEoD;;AAAA;;AACnD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAIJ;;AAAA;;AAIQ;;AAAA;;AAKI;;AAAA;;AAaZ;;AAAA;;AAkDgB;;AAAA,iGAAyB,eAAzB,EAAyB,IAAzB,EAAyB,YAAzB,EAAyB,2BAAzB,EAAyB,cAAzB,EAAyB,oBAAzB,EAAyB,qBAAzB,EAAyB,IAAzB,EAAyB,oBAAzB,EAAyB,IAAzB,EAAyB,wBAAzB,EAAyB,IAAzB,EAAyB,oBAAzB,EAAyB,IAAzB,EAAyB,SAAzB,EAAyB,CAAzB;;;;;;AAoBxC;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AAIA;;;;QDpUS4+C,2B;AACT,2CAAoBn4D,WAApB,EAAuDE,QAAvD,EACYC,aADZ,EACyDC,SADzD,EACoF;AAAA;;AADhE,aAAAJ,WAAA,GAAAA,WAAA;AAAmC,aAAAE,QAAA,GAAAA,QAAA;AAC3C,aAAAC,aAAA,GAAAA,aAAA;AAA6C,aAAAC,SAAA,GAAAA,SAAA;AAGvD,aAAAE,aAAA,GAAqB,OAArB;AAEA,aAAAC,eAAA,GAA0B,SAA1B;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,cAAA,GAAiB,CAAC,QAAD,EAAW,QAAX,CAAjB;AAEA,aAAAC,WAAA,GAAsC,IAAI,wFAAJ,CAA2B,EAA3B,CAAtC;AACA,aAAAC,MAAA,GAAoC,CAClC;AAAChB,YAAE,EAAC,CAAJ;AAAOyT,cAAI,EAAC,QAAZ;AAAsBgM,gBAAM,EAAC,QAA7B;AAAuC3X,eAAK,EAAC;AAA7C,SADkC,EAElC;AAAC9H,YAAE,EAAC,CAAJ;AAAOyT,cAAI,EAAC,QAAZ;AAAsBgM,gBAAM,EAAC,QAA7B;AAAuC3X,eAAK,EAAC;AAA7C,SAFkC,EAGlC;AAAC9H,YAAE,EAAC,CAAJ;AAAOyT,cAAI,EAAC,QAAZ;AAAsBgM,gBAAM,EAAC,QAA7B;AAAuC3X,eAAK,EAAC;AAA7C,SAHkC,EAIlC;AAAC9H,YAAE,EAAC,CAAJ;AAAOyT,cAAI,EAAC,QAAZ;AAAsBgM,gBAAM,EAAC,QAA7B;AAAuC3X,eAAK,EAAC;AAA7C,SAJkC,EAKlC;AAAC9H,YAAE,EAAC,CAAJ;AAAOyT,cAAI,EAAC,QAAZ;AAAsBgM,gBAAM,EAAC,QAA7B;AAAuC3X,eAAK,EAAC;AAA7C,SALkC,CAApC,CAXkF,CAkBpF;;AACE,aAAA7G,QAAA,GAAsB,IAAI,wDAAJ,CAAc;AAClCjB,YAAE,EAAE,IAAI,0DAAJ,EAD8B;AAElCyT,cAAI,EAAE,IAAI,0DAAJ,EAF4B;AAGlCuT,cAAI,EAAE,IAAI,0DAAJ,EAH4B;AAIlCvH,gBAAM,EAAE,IAAI,0DAAJ,EAJ0B;AAKlC3X,eAAK,EAAE,IAAI,0DAAJ,EAL2B;AAMlC8kC,qBAAW,EAAE,IAAI,0DAAJ,EANqB;AAOlCC,oBAAU,EAAE,IAAI,0DAAJ,EAPsB;AAQlCzhC,qBAAW,EAAE,IAAI,0DAAJ;AARqB,SAAd,CAAtB;AA8FA,aAAAhK,eAAA,GAA0B,EAA1B;AACA,aAAAC,aAAA,GAAwB,EAAxB,CAlHkF,CAqHlF;;AACA,aAAAC,YAAA,sBAAmB,KAAKN,MAAxB;AACA,aAAAO,UAAA,sBAAiB,KAAKD,YAAtB;AACA,aAAAE,aAAA,sBAAoB,KAAKF,YAAzB;AACA,aAAAG,MAAA,GAAiB,KAAKT,MAAL,CAAYU,MAAZ,GAAqB,CAAtC;AAEA,aAAAC,YAAA,GAAoB,KAApB;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,kBAAA,GAAqB,CAAC,CAAD,EAAI,EAAJ,EAAQ,EAAR,CAArB;AACA,aAAAC,QAAA,GAAW,EAAX;AACA,aAAAC,cAAA,GAAiB,EAAjB;AAEA,aAAAC,QAAA,GAAoB,IAApB;AAEA,aAAAC,WAAA,GAAc,CAAd;AACA,aAAAC,SAAA,GAAY,CAAZ;AAGA,aAAAC,YAAA,GAAe,IAAI,sFAAJ,EAAf;AACA,aAAAC,UAAA,GAAa,IAAI,kFAAJ,EAAb;AACA,aAAAC,aAAA,GAAgB,IAAI,wFAAJ,EAAhB;AAwIA,aAAAC,YAAA,GAAyC,EAAzC;AAcA,aAAAC,UAAA,GAAkB,EAAlB;AA9RC;;;;mCA4BO;AACN,eAAKC,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACA,eAAKoD,SAAL,GAAiB;AAAEC,iBAAK,EAAE,MAAT;AAAiBC,oBAAQ,EAAE,KAAKH,IAAL,KAAc,OAAd,GAAwB,MAAxB,GAAiC;AAA5D,WAAjB;AACA,eAAK3B,YAAL,GAAoB,CAClB;AAAE6B,iBAAK,EAAE,MAAT;AAAiBC,oBAAQ,EAAE,KAAKH,IAAL,KAAc,OAAd,GAAwB,MAAxB,GAAiC;AAA5D,WADkB,EAElB;AAAEE,iBAAK,EAAE,QAAT;AAAmBC,oBAAQ,EAAE;AAA7B,WAFkB,EAGlB;AAAED,iBAAK,EAAE,OAAT;AAAkBC,oBAAQ,EAAE;AAA5B,WAHkB,CAApB,CAHM,CAQN;;AACA,eAAKyL,YAAL;AACD;;;qCAES;AACR,iBAAO,KAAK/N,WAAL,CAAiB6G,KAAjB,CAAuB;AAC5BlH,cAAE,EAAE,CAAC,KAAKe,WAAL,CAAiBf,EAAjB,IAAuB,CAAvB,GAA2B,KAAKe,WAAL,CAAiBf,EAA5C,GAAiD,CAAlD,CADwB;AAE5ByT,gBAAI,EAAE,CAAC,KAAK1S,WAAL,CAAiB0S,IAAlB,CAFsB;AAG5BrI,uBAAW,EAAE,CAAC,KAAKrK,WAAL,CAAiBqK,WAAlB,CAHe;AAI5ByhC,sBAAU,EAAE,CAAC,KAAK9rC,WAAL,CAAiB8rC,UAAlB,CAJgB;AAK5BD,uBAAW,EAAE,CAAC,KAAK7rC,WAAL,CAAiB6rC,WAAlB,CALe;AAM5B9kC,iBAAK,EAAE,CAAC,KAAK/G,WAAL,CAAiB+G,KAAlB,CANqB;AAO5B2X,kBAAM,EAAE,CAAC,KAAK1e,WAAL,CAAiB0e,MAAlB,CAPoB;AAQ5BuH,gBAAI,EAAE,CAAC,KAAKjmB,WAAL,CAAiBimB,IAAlB;AARsB,WAAvB,CAAP;AAUD;;;oCAEW;AACV;AACA,eAAK3lB,aAAL,GAAqB,EAArB;AAEA,eAAKN,WAAL,GAAmB,IAAI,wFAAJ,EAAnB;AACA,eAAKA,WAAL,GAAmB,KAAKE,QAAL,CAAc6H,WAAd,EAAnB;AACA,eAAK/H,WAAL,CAAiBf,EAAjB,GAAsB,CAAtB;AAEA,eAAKiP,gBAAL;AACD;;;2CAEe;AACd,eAAKjO,MAAL,CAAYiE,IAAZ,CAAiB,KAAKlE,WAAtB;AACD;;;qCAEY;AACX,eAAKmB,SAAL,GAAiB,KAAKD,WAAtB;AAGD;;;0CAEiBqN,M,EAAM,CAGvB,C,CAED;AACA;AACA;;;;uCACe;AACb,eAAKpN,SAAL,GAAiB,KAAKD,WAAtB,CADa,CAEb;;AACA,eAAKZ,aAAL,GAAqB,EAArB;AACA,eAAKwB,mBAAL;AACD,S,CAED;;;;8CACmB,CAElB,C,CACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;uCACY;AACV,eAAKxB,aAAL,GAAqB,EAArB;AACA,eAAKuB,QAAL;AACD;;;mCA8BU;AACT,eAAKU,QAAL;AACA,eAAKC,UAAL;AACA,eAAKlC,aAAL,GAAqB,EAArB;AAED;;;mCAEU;AACT,eAAKE,UAAL,GAAkB,KAAKa,UAAL,CAAgBkB,QAAhB,CAAyB,KAAKb,SAAL,CAAeE,QAAxC,EAAkD,KAAK3B,MAAvD,CAAlB;AACA,eAAKwC,UAAL;AACD;;;0CAEiB;AAChB,eAAKtB,SAAL,GAAiB,KAAKD,WAAtB;AACA,eAAKV,UAAL,GAAkB,KAAKA,UAAL,CAAgBkC,KAAhB,GAAwBC,OAAxB,EAAlB;AACA,eAAKF,UAAL;AACD;;;qCAEY;AACX,eAAKlC,YAAL,GAAoB,KAAKa,YAAL,CAAkBqB,UAAlB,CAA6B,KAAKjB,UAAlC,EAA8C,KAAKzB,cAAnD,EAAmE,KAAKS,UAAxE,CAApB;;AACA,cAAI,KAAKW,SAAL,KAAmB,CAAvB,EAA0B;AACxB,iBAAKyB,YAAL,CAAkB,KAAK/B,YAAvB,EAAqC,CAArC;AACD,WAFD,MAGK;AACH,iBAAK+B,YAAL,CAAkB,KAAK/B,YAAvB,EACEgC,IAAI,CAACC,IAAL,CAAW,KAAKvC,YAAL,CAAkBI,MAAlB,GAA2B,KAAKE,YAA3C,KAA6D,KAAKM,SAAlE,GACE,KAAKA,SADP,GAEE0B,IAAI,CAACC,IAAL,CAAW,KAAKvC,YAAL,CAAkBI,MAAlB,GAA2B,KAAKE,YAA3C,CAHJ;AAKD;;AACD,eAAKM,SAAL,GAAiB,CAAjB;AACD;;;qCAEY4B,e,EAAyBC,c,EAAwB;AAC5D,eAAKnC,YAAL,GAAoBkC,eAApB;AACA,eAAK7B,WAAL,GAAmB8B,cAAnB;AACA,eAAKvC,aAAL,GAAqB,KAAKF,YAAL,CAAkBmC,KAAlB,CAAwB,CAACM,cAAc,GAAG,CAAlB,IAAwBD,eAAhD,EAAmEA,eAAe,GAAGC,cAArF,CAArB;AACD;;;mCAEUC,O,EAAc;AACvB,cAAI,KAAKvB,SAAL,CAAeC,KAAf,KAAyBsB,OAAO,CAACtB,KAArC,EAA4C;AAC1C,iBAAKV,QAAL,GAAgB,CAAC,KAAKA,QAAtB;AACA,gBAAMiC,OAAO,GAAG,KAAKhC,WAArB;AACA,iBAAKiC,eAAL;AACA,iBAAKjC,WAAL,GAAmBgC,OAAnB;AACD,WALD,MAMK;AACH,iBAAKjC,QAAL,GAAgB,IAAhB;AACA,iBAAKS,SAAL,GAAiBuB,OAAjB;AACA,iBAAKV,QAAL;AACD;AACF;;;gCAEOZ,K,EAAY;AAClB,iBAAO,KAAK7B,YAAL,CAAkBsD,IAAlB,CAAuB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC1B,KAAF,KAAYA,KAAhB;AAAA,WAAxB,CAAP;AACD;;;mCAEU2B,K,EAAuB;AAChC,eAAKpC,WAAL,GAAmBoC,KAAK,CAACC,IAAzB;AACA,eAAKX,YAAL,CAAkB,KAAK/B,YAAvB,EAAqC,KAAKK,WAA1C;AACD;;;uCAEc;AACb,eAAKK,YAAL,GAAoB,EAApB;AACA,eAAKR,QAAL,GAAgB,EAAhB;AACA,eAAKC,cAAL,GAAsB,EAAtB;AACA,eAAKyB,UAAL;AACD;;;kCAESe,M,EAAM;AACd,cAAIA,MAAM,CAACC,MAAP,CAAcC,OAAlB,EAA2B;AACzB,iBAAK3C,QAAL,sBAAoB,KAAKR,YAAzB;AACD,WAFD,MAEO;AACL,iBAAKQ,QAAL,GAAgB,EAAhB;AACD;;AACD,eAAK4C,iBAAL;AACD;;;4CAEgB;AACf,cAAI,KAAK5C,QAAL,CAAcJ,MAAd,IAAwB,KAAKJ,YAAL,CAAkBI,MAA9C,EAAsD;AACpD,iBAAKK,cAAL,GAAsB,SAAtB;AACD,WAFD,MAEO,IAAI,KAAKD,QAAL,CAAcJ,MAAd,KAAyB,CAA7B,EAAgC;AACrC,iBAAKK,cAAL,GAAsB,eAAtB;AACD,WAFM,MAEC;AACN,iBAAKA,cAAL,GAAsB,EAAtB;AACD;AACF;;;mCAEU4C,C,EAAyB;AAClC,iBAAO,KAAK7C,QAAL,CAAc8C,SAAd,CAAwB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC7E,EAAF,KAAS2E,CAAC,CAAC3E,EAAf;AAAA,WAAzB,IAA8C,CAAC,CAAtD;AACD;;;iCAEQ8E,I,EAA4B;AACnC,cAAI,KAAKC,UAAL,CAAgBD,IAAhB,CAAJ,EAA2B;AACzB,iBAAKhD,QAAL,GAAgB,KAAKA,QAAL,CAAckD,MAAd,CAAqB,UAAAH,CAAC;AAAA,qBAAIA,CAAC,CAAC7E,EAAF,KAAS8E,IAAI,CAAC9E,EAAlB;AAAA,aAAtB,CAAhB;AACD,WAFD,MAEO;AACL,iBAAK8B,QAAL,CAAcmD,IAAd,CAAmBH,IAAnB;AACD;;AACD,eAAKJ,iBAAL;AACD;;;mCAEUQ,I,EAAWxG,I,EAAS;AAC7B,iBAAOwG,IAAI,CAACf,IAAL,CAAU,UAAAU,CAAC;AAAA,mBAAIA,CAAC,CAACM,IAAF,KAAWzG,IAAf;AAAA,WAAX,CAAP;AACD;;;6CAIiB;AAChB,eAAK0C,eAAL,GAAuB,KAAvB;AACA,eAAKL,WAAL,GAAmB,IAAI,wFAAJ,EAAnB;AACA,eAAKE,QAAL,GAAgB,KAAK2H,UAAL,EAAhB;AACA,eAAKG,YAAL,CAAkBzD,IAAlB;AACD;;;yCAEgBtF,E,EAAO;AAAA;;AACtB,eAAKoB,eAAL,GAAuB,MAAvB;AACA,eAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,WAAlB,CAAnB;AACA,0DAAG,KAAKe,WAAR,EAAqBgC,SAArB,CAA+B,UAAAM,IAAI,EAAI;AACrC,oBAAI,CAACtC,WAAL,GAAmBsC,IAAnB;AACD,WAFD;AAGA,eAAKpC,QAAL,GAAgB,KAAK2H,UAAL,EAAhB;AACA,eAAKG,YAAL,CAAkBzD,IAAlB;AACD;;;yCAEgBtF,E,EAAO;AAAA;;AACtB,eAAKoB,eAAL,GAAuB,MAAvB;AACA,eAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,WAAlB,CAAnB;AACA,0DAAG,KAAKe,WAAR,EAAqBgC,SAArB,CAA+B,UAAAM,IAAI,EAAI;AACrC,oBAAI,CAACtC,WAAL,GAAmBsC,IAAnB;AACD,WAFD;AAGA,eAAKpC,QAAL,GAAgB,KAAK2H,UAAL,EAAhB;AACA,eAAKG,YAAL,CAAkBzD,IAAlB;AACD;;;qCAGYtF,E,EAAO;AAClB,cAAIA,EAAE,IAAI,CAAV,EAAa;AACX,iBAAKoB,eAAL,GAAuB,KAAvB;AACA,iBAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,aAAlB,CAAnB;AACA,iBAAKsC,YAAL,GAAoB,CAAC,KAAKtB,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,aAAlB,CAAD,CAApB;AACA,iBAAKqF,QAAL,CAAcC,IAAd;AACD,WALD,MAMK,IAAItF,EAAE,KAAK,UAAX,EAAuB;AAC1B,iBAAKsC,YAAL,sBAAwB,KAAKR,QAA7B;AACA,iBAAKuD,QAAL,CAAcC,IAAd;AACD;AACF;;;2CAKe;AACd,cAAI,KAAKhD,YAAL,CAAkBZ,MAAlB,KAA6B,CAAjC,EAAoC;AAClC,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,QAAQ,KAAKvC,eAApC,CADF;AAED,WAHD,MAIK,IAAI,KAAK0B,YAAL,CAAkBZ,MAAlB,KAA6B,CAAjC,EAAoC;AACvC,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,QAAQ,KAAKvC,eAAb,GAA+B,GAAtD,CADF;AAED,WAHI,MAIA,IAAI,KAAK0B,YAAL,CAAkBZ,MAAlB,GAA2B,CAA3B,IAAgC,KAAKY,YAAL,CAAkBZ,MAAlB,GAA2B,EAA/D,EAAmE;AACtE,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAKb,YAAL,CAAkBZ,MADiC,GACxB,GADwB,GAClB,KAAKjB,SAAL,CAAe0C,OAAf,CAAuB,KAAKvC,eAAL,GAAuB,UAA9C,CADnC;AAED,WAHI,MAIA;AACH,iBAAK2E,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAKb,YAAL,CAAkBZ,MADiC,GACxB,GADwB,GAClB,KAAKjB,SAAL,CAAe0C,OAAf,CAAuB,KAAKvC,eAAL,GAAuB,MAA9C,CADnC;AAED;;AAED,eAAK0B,YAAL,GAAoB,EAApB;AACA,eAAKR,QAAL,GAAgB,EAAhB;AAEA,eAAK4C,iBAAL;;AACA,cAAI,KAAK3C,cAAL,KAAwB,EAA5B,EAAgC;AAC9B,iBAAKJ,YAAL,GAAoB,KAApB;AACD;;AACD,eAAK0D,QAAL,CAAcG,IAAd;AACD;;;qCAEYC,W,EAAqBC,S,EAAiB;AACjD,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBE,OADnB,EAC4B;AAAEC,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD5B;AAED;;;mCACUL,W,EAAqBC,S,EAAiB;AAC/C,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBjH,KADnB,EAC0B;AAAEoH,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD1B;AAED;;;8CACqB;AACpB,eAAKlD,QAAL;AACA,eAAKyC,QAAL,CAAcG,IAAd;AACD;;;sCAEa;AACZ,eAAKjC,UAAL;AAED;;;qCAEY;AAAA;;AACX,cAAMwC,UAAU,GAAG,KAAKxD,UAAxB;AACA,eAAKA,UAAL,GAAkB,EAAlB;AACAyD,oBAAU,CAAC,YAAM;AACf,oBAAI,CAACzD,UAAL,GAAkBwD,UAAlB;AACD,WAFS,EAEP,CAFO,CAAV;AAGD;;;;;;;uBAzVMyyD,2B,EAA2B,2H,EAAA,wH,EAAA,4I,EAAA,qI;AAAA,K;;;YAA3BA,2B;AAA2B,2C;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;ACjBxC;;AACI;;AAEI;;AACI;;AACI;;AACI;;;;AAA+C;;AACvD;;AACA;;AACI;;AACI;;AACI;;AAAqC;;;;AAAsB;;AAC3D;;AAGA;;AAGJ;;AAEA;;AACI;;AAAqC;;;;AAAwB;;AAC7D;;AAaJ;;AAEA;;AACI;;AAAqC;;;;AAAuB;;AAC5D;;AAGA;;AAGA;;AACJ;;AACA;;AACI;;AAAqC;;;;AAAwB;;AAC7D;;AAGA;;AAGA;;AACJ;;AACA;;AACI;;AAAqC;;;;AAA6B;;AAClE;;AAgBJ;;AAEA;;AACI;;AAKA;;AAKA;;AAA8B;AAAA;;AAAA;;AAAA,mBAAS,mBAAT;AAAqC,WAArC;;AACoD;;;;AACnE;;AACnB;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAGA;;AACI;;AACI;;AACI;;AAAkE;AAAA;;AAAA;;AAAA,mBAAS,WAAT;AAAwB,WAAxB;;AAE9D;;AAAyB;;AAAO;;AACpC;;AACA;;AACI;;AACI;;;;AACW;;AACnB;;AACA;;AACI;;AAMA;;AAQA;;AACI;;AAA2D;AAAA,mBAAS,IAAAvyD,YAAA,EAAT;AAAuB,WAAvB;;AAEK;;;;AAAwB;;AACxF;;AAA8B;AAAA;;AAAA;;AAAA,mBAAS,WAAT;AAAwB,WAAxB;;AACoD;;;;AACnE;;AACnB;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AAIA;;AAoLA;;AAIA;;AAKA;;AAKA;;AAIA;;;;AA9UoB;;AAAA;;AAG0C;;AAAA;;AAED;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAM8B;;AAAA;;AAChC;;AAAA;;AAgBgC;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAM8B;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAM8B;;AAAA;;AAChC;;AAAA;;AAmBG;;AAAA;;AAKA;;AAAA;;AAM0E;;AAAA;;AAmBtF;;AAAA;;AAIiC;;AAAA;;AAM4B;;AAAA;;AAUzD;;AAAA;;AAC4D;;AAAA;;AAEkB;;AAAA;;AAOhG;;AAAA;;AAID;;AAAA;;;;;;;;;;sED7HQuyD,2B,EAA2B;cALvC,uDAKuC;eAL7B;AACPtyD,kBAAQ,EAAE,sBADH;AAEPC,qBAAW,EAAE,qCAFN;AAGPC,mBAAS,EAAE,CAAC,qCAAD;AAHJ,S;AAK6B,Q;;;;;;;;;;;;gBAuPjC,uD;iBAAU,c,EAAgB;AAAE,sBAAQ;AAAV,W;;;gBAC1B,uD;iBAAU,U;;;;;;;;;;;;;;;;;;;;AEzQjB;AAAA;;;AAAA;AAAA;AAAA;;QAAaqyD,sB,GAST,gCAAY3zD,IAAZ,EAA0C;AAAA;;AACtCA,UAAI,GAAGA,IAAI,GAAGA,IAAH,GAAU,EAArB;AACA,WAAK9E,EAAL,GAAU8E,IAAI,CAAC9E,EAAL,GAAU8E,IAAI,CAAC9E,EAAf,GAAoB,CAA9B;AACA,WAAKyT,IAAL,GAAY3O,IAAI,CAAC2O,IAAL,GAAY3O,IAAI,CAAC2O,IAAjB,GAAwB,EAApC;AACA,WAAKgM,MAAL,GAAc3a,IAAI,CAAC2a,MAAL,GAAc3a,IAAI,CAAC2a,MAAnB,GAA4B,EAA1C;AACA,WAAKuH,IAAL,GAAYliB,IAAI,CAACkiB,IAAL,GAAYliB,IAAI,CAACkiB,IAAjB,GAAwB,EAApC;AACA,WAAK5b,WAAL,GAAmBtG,IAAI,CAACsG,WAAL,GAAmBtG,IAAI,CAACsG,WAAxB,GAAsC,EAAzD;AACA,WAAKwhC,WAAL,GAAmB9nC,IAAI,CAAC8nC,WAAL,GAAmB9nC,IAAI,CAAC8nC,WAAxB,GAAsC,CAAzD;AACA,WAAKC,UAAL,GAAkB/nC,IAAI,CAAC+nC,UAAL,GAAkB/nC,IAAI,CAAC+nC,UAAvB,GAAoC,EAAtD;AACA,WAAK/kC,KAAL,GAAahD,IAAI,CAACgD,KAAL,GAAahD,IAAI,CAACgD,KAAlB,GAA0B,CAAvC;AACH,K;;;;;;;;;;;;;;;;;ACnBL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACyBmB;;AACC;;AACD;;;;;;AAFqC;;AACpC;;AAAA;;;;;;AAaD;;AACC;;AACD;;;;;;AAFsC;;AACrC;;AAAA;;;;;;AA7BhB;;AACI;;AACI;;AACA;;AAA+C;;;;AAA8B;;AAC7E;;AAEA;;AACI;;AACI;;AAAQ;;;;AAA6B;;AACrC;;AAKD;;AAKF;;AACD;;AACA;;AACI;;AAAQ;;;;AAAwB;;AAChC;;AAKD;;AAKF;;AACD;;AACA;;AACI;;AAAQ;;;;AAA8B;;AACtC;;AACJ;;AACJ;;AACA;;AAEI;;AACG;;AAAQ;;;;AAA4B;;AACpC;;AACJ;;AAEJ;;AACC;;AAGL;;;;;;AAnDgB;;AAGoC;;AAAA;;AAK/B;;AAAA;;AAMD;;AAAA;;AAQC;;AAAA;;AAMD;;AAAA;;AAQC;;AAAA;;AAOD;;AAAA;;;;;;;;AASpB;;AAEK;;AACI;;AACA;;AAA+C;;;;AAA+B;;AAC9E;;AAEA;;AACI;;AACI;;AAAQ;;;;AAAqB;;AAC7B;;AACJ;;AACA;;AACI;;AAAQ;;;;AAAoB;;AAC5B;;AAEJ;;AAEJ;;AAEA;;AACI;;AACI;;AAAQ;;;;AAAkC;;AAC1C;;AAKD;;AACC;;;;AACD;;AACA;;AACE;;;;AACD;;AAEH;;AAA6B;;AAC9B;;AACI;;AAAQ;;;;AAAuB;;AAC/B;;AAKD;;AACC;;;;AACD;;AACA;;AACE;;;;AACD;;AAEH;;AACD;;AACA;;AACI;;AACoD;AAAA;;AAAA;;AAAA;AAAA;;AACc;;;;AAAsB;;AAE5F;;AACJ;;AACA;;AAET;;;;;;AA7DwB;;AAIgC;;AAAA;;AAK/B;;AAAA;;AAIA;;AAAA;;AASA;;AAAA;;AAMA;;AAAA;;AACR;;AAAA;;AAEQ;;AAAA;;AACP;;AAAA;;AAKO;;AAAA;;AAMA;;AAAA;;AACR;;AAAA;;AAEQ;;AAAA;;AACP;;AAAA;;AAQiE;;AAAA;;;;;;AAiBtE;;AACI;;AAAI;;AAAa;;AACjB;;AAAI;;AAAY;;AAChB;;AAAI;;;;AAAoC;;AACxC;;AAAI;;;;AAA2B;;AACnC;;;;;;AAJQ;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;QDjIf4wD,qC;AAOT,qDACSh4D,MADT,EAES4F,EAFT,EAEuB;AAAA;;AADd,aAAA5F,MAAA,GAAAA,MAAA;AACA,aAAA4F,EAAA,GAAAA,EAAA;AART,aAAAgN,QAAA,GAAoB,KAApB;AACA,aAAAC,cAAA,GAAwB,EAAxB;AAqDF,aAAAC,KAAA,GAAM,CACJ;AAACC,cAAI,EAAC,MAAN;AAAawtC,aAAG,EAAC,EAAjB;AAAoBC,yBAAe,EAAC,sBAApC;AAA2D7rC,gBAAM,EAAC;AAAlE,SADI,EAEJ;AAAC5B,cAAI,EAAC,KAAN;AAAYwtC,aAAG,EAAC,EAAhB;AAAmBC,yBAAe,EAAC,sBAAnC;AAA0D7rC,gBAAM,EAAC;AAAjE,SAFI,EAGJ;AAAC5B,cAAI,EAAC,OAAN;AAAcwtC,aAAG,EAAC,CAAlB;AAAoBC,yBAAe,EAAC,sBAApC;AAA2D7rC,gBAAM,EAAC;AAAlE,SAHI,EAIJ;AAAC5B,cAAI,EAAC,OAAN;AAAcwtC,aAAG,EAAC,EAAlB;AAAqBC,yBAAe,EAAC,wBAArC;AAA8D7rC,gBAAM,EAAC;AAArE,SAJI,CAAN;AAMO,aAAA3B,WAAA,GAAc,IAAd;AACA,aAAAC,MAAA,GAAgB,EAAhB;AACP,aAAAwtC,OAAA,GAAQ,CACN;AAAC1tC,cAAI,EAAC;AAAN,SADM,EAEN;AAACA,cAAI,EAAC;AAAN,SAFM,EAGN;AAACA,cAAI,EAAC;AAAN,SAHM,EAIN;AAACA,cAAI,EAAC;AAAN,SAJM,EAKN;AAACA,cAAI,EAAC;AAAN,SALM,CAAR;AAOF,aAAA2tC,QAAA,GAAS,CACL;AAAC3tC,cAAI,EAAC,QAAN;AAAgB3L,eAAK,EAAC;AAAtB,SADK,EAEL;AAAC2L,cAAI,EAAC,QAAN;AAAgB3L,eAAK,EAAC;AAAtB,SAFK,EAGL;AAAC2L,cAAI,EAAC,QAAN;AAAgB3L,eAAK,EAAC;AAAtB,SAHK,EAIL;AAAC2L,cAAI,EAAC,QAAN;AAAgB3L,eAAK,EAAC;AAAtB,SAJK,EAKL;AAAC2L,cAAI,EAAC,QAAN;AAAgB3L,eAAK,EAAC;AAAtB,SALK,CAAT;AAWQ,aAAA8L,qBAAA,GAAwB,IAAxB;AACA,aAAAC,gBAAA,GAA0B,EAA1B;AAKD,aAAAC,qBAAA,GAAwB,IAAxB;AACA,aAAAC,gBAAA,GAA0B,EAA1B;AA3EF;;;;mCAEU;AACP,eAAK7L,IAAL,GAAY,KAAKU,UAAL,CAAgB,IAAI,kGAAJ,EAAhB,CAAZ;AACA,eAAKy4C,SAAL,GAAiB,KAAKC,eAAL,EAAjB;AACH;;;+BAGM;AACH,eAAK5gD,MAAL,CAAY0E,QAAZ,CAAqB,CAAC,iBAAD,CAArB;AAEH;;;iCAEG;AACJ,eAAK1E,MAAL,CAAY0E,QAAZ,CAAqB,CAAC,iBAAD,CAArB;AACD;;;mCAGUrE,W,EAAuC;AAChD;AACA,iBAAO,KAAKuF,EAAL,CAAQY,KAAR,CAAc;AACpBlH,cAAE,EAAW,CAACe,WAAW,CAACf,EAAb,CADO;AAEpBoU,oBAAQ,EAAK,CAACrT,WAAW,CAACqT,QAAb,CAFO;AAGpBysC,uBAAW,EAAE,CAAC9/C,WAAW,CAAC8/C,WAAb,CAHO;AAIpBU,qBAAS,EAAI,CAACxgD,WAAW,CAACwgD,SAAb,CAJO;AAKpBT,uBAAW,EAAE,CAAC//C,WAAW,CAAC+/C,WAAb,CALO;AAMpBC,wBAAY,EAAC,CAAChgD,WAAW,CAACggD,YAAb,CANO;AAOpBtwC,qBAAS,EAAI,CAAC1P,WAAW,CAAC0P,SAAb,CAPO;AAQpBC,mBAAO,EAAM,CAAC3P,WAAW,CAAC2P,OAAb,CARO;AASpBtF,uBAAW,EAAC,CAAC,EAAD;AATQ,WAAd,CAAP;AAWD;;;0CACc;AACb;AACA,iBAAO,KAAK9E,EAAL,CAAQY,KAAR,CAAc;AACpBuM,gBAAI,EAAW,CAAC,EAAD,CADK;AAEpBwtC,eAAG,EAAK,CAAC,CAAD,CAFY;AAGpBC,2BAAe,EAAE,CAAC,EAAD,CAHG;AAIpB7rC,kBAAM,EAAI,CAAC,EAAD;AAJU,WAAd,CAAP;AAOD;;;gCAwBI;AACH,eAAK1B,MAAL,GAAc,EAAd;AACF;;;0CAIc;AACb,eAAKE,gBAAL,GAAwB,EAAxB;AACF;;;0CAIc;AACb,eAAKE,gBAAL,GAAwB,EAAxB;AACD;;;;;;;uBA5FY2kD,qC,EAAqC,uH,EAAA,2H;AAAA,K;;;YAArCA,qC;AAAqC,sD;AAAA,e;AAAA,c;AAAA,olD;AAAA;AAAA;ACVlD;;AAEI;;AACI;;AAA8B;AAAA,mBAAS,IAAA5jD,MAAA,EAAT;AAAiB,WAAjB;;AAC+F;;;;AAAuB;;AACpJ;;AAC0D;AAAA,mBAAS,IAAAC,IAAA,EAAT;AAAe,WAAf;;AACmE;;;;AAAsB;;AAEvJ;;AAEA;;AAoDG;;AA8DA;;AACC;;AACI;;AACI;;AACG;;AAAI;;;;AAAoB;;AACxB;;AAAI;;;;AAAmB;;AACvB;;AAAI;;;;AAAiC;;AACrC;;AAAI;;;;AAAsB;;AAC7B;;AACA;;AACI;;AAMJ;;AACJ;;AAEJ;;AAGJ;;AACJ;;AAEA;;AACI;;AAA8B;AAAA,mBAAS,IAAAD,MAAA,EAAT;AAAiB,WAAjB;;AAC+F;;;;AAAuB;;AACpJ;;AAC0D;AAAA,mBAAS,IAAAC,IAAA,EAAT;AAAe,WAAf;;AACmE;;;;AAAsB;;AAEvJ;;AACA;;;;AA1JqI;;AAAA;;AAGA;;AAAA;;AAI3H;;AAAA;;AAoDG;;AAAA;;AAkEU;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAGC;;AAAA;;AAiByG;;AAAA;;AAGA;;AAAA;;;;;;;;;;sEDjJpH2jD,qC,EAAqC;cALjD,uDAKiD;eALvC;AACPxyD,kBAAQ,EAAE,iCADH;AAEPC,qBAAW,EAAE,gDAFN;AAGPC,mBAAS,EAAE,CAAC,gDAAD;AAHJ,S;AAKuC,Q;;;;;;;;;;;;;;;;;;;;;;;;AEVlD;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;ACkBwB;;AAAoD;;;;AAAqD;;;;;;AAArD;;AAAA;;;;;;AACpD;;AAA+E;;;;AAAyD;;;;;;AAAzD;;AAAA;;;;;;AAC/E;;AAAqD;;;;AAA4B;;;;AAA5B;;AAAA;;;;;;AACrD;;AAAqD;;;;AAA4B;;;;AAA5B;;AAAA;;;;;;AAL7D;;AACI;;AACI;;AACA;;AACA;;AACA;;AACA;;AACJ;;AACJ;;;;;;AANe;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;;;AAIf;;AAEI;;AACI;;AAAqD;;;;AAA2C;;AACpG;;AACA;;AACJ;;;;;;AAH6D;;AAAA;;;;;;;;AAiB7E;;AACI;;AAAG;AAAA;;AAAA;;AAAA,yCAAuB,OAAvB;AAA8B,SAA9B;;AAAgC;;AAAI;;AAC3C;;;;;;;;AA0DoC;;AAEI;;AAAoB;;AACZ;;AAEI;AAAA;;AAAA;;AAAA,sCAAsB,UAAtB;AAAgC,SAAhC;;AAC8D;;;;AAEnD;;AAAS;;AAAI;;AAQxC;;;;;;AAVgB;;AAAA;;AAA8D;;AAAA;;;;;;;;AAwF1E;;AAA4D;;AAEpD;AAAA;;AAAA;;AAAA;;AAAA,gDAA4B,CAA5B;AAA6B,SAA7B;;AAAgC;;AAAQ;;AAAI;;;;;;;;AAD5C;;AAAA;;AACgC;;AAAA;;;;;;AAJ5C;;AAEI;;AAGJ;;;;;;AAHwB;;AAAA;;;;;;;;AAWpC;;AACI;;AACI;;AACI;;AACgC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AADhC;;AAEA;;AACJ;;AACJ;;AACA;;AAAgB;;AAAU;;AAE1B;;AAAgB;;AAAoB;;AACpC;;AAAgB;;AAAoB;;AACpC;;AAAgB;;AAAqB;;AACrC;;AAAgB;;;;AAAoC;;AACpD;;AAAgB;;AAAU;;AAG1B;;AAAI;;AAC0E;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA0E;;;;AACnI;;AAAS;;AACtB;;AAAI;;AAAyC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AACsC;;;;AAClE;;AAAS;;AAClC;;AAAI;;AAAmD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC+B;;;;AACjE;;AAAS;;AAClC;;;;;;;;;AAvBgE;;AAAA,8FAAsB,SAAtB,EAAsB,2BAAtB;;AAEhB;;AAAA;;AAG5B;;AAAA;;AAEA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAKR;;AAAA;;AAAgJ;;AAAA;;AAG5I;;AAAA;;AAA+E;;AAAA;;AAGnF;;AAAA;;AAA8E;;AAAA;;;;;;;;;;;;;;;;;;;;;;AAzLlH;;AACI;;AACI;;AAEI;;AACI;;AACI;;AACI;;AAAqB;AAAA;;AAAA;;AAAA;AAAA,WAAwB,OAAxB,EAAwB;AAAA;;AAAA;;AAAA;AAAA,SAAxB,EAAwB,QAAxB,EAAwB;AAAA;;AAAA;;AAAA;AAAA,SAAxB;;;;AAArB;;AAEJ;;AACJ;;AACJ;;AACJ;;AAEA;;AACI;;AACI;;AACJ;;AACA;;AACI;;AAEI;AAAA;;AAAA;;AAAA;AAAA;;AAAsE;;;;AAC3D;;AAEnB;;AACJ;;AAGJ;;AAIA;;AAEI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AAEI;;AAGI;AAAA;;AAAA;;AAAA;AAAA;;AAHJ;;AAIA;;AAAmC;;AAAM;;AAC7C;;AACJ;;AACA;;AAGI;;AACJ;;AACA;;AAiBJ;;AACJ;;AACJ;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,IAA5B;AAAgC,SAAhC;;AACjB;;AAE0E;;AAC9E;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,IAA5B;AAAgC,SAAhC;;AAEf;;;;AACR;;AAWA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,aAA5B;AAAyC,SAAzC;;AACjB;;AAEmF;;AACvF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,aAA5B;AAAyC,SAAzC;;AAEf;;;;AACR;;AAEA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,aAA5B;AAAyC,SAAzC;;AACjB;;AAEmF;;AACvF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,aAA5B;AAAyC,SAAzC;;AAEf;;;;AACR;;AAEA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,cAA5B;AAA0C,SAA1C;;AACjB;;AAEoF;;AACxF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,cAA5B;AAA0C,SAA1C;;AAEf;;;;AACR;;AAEA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,WAA5B;AAAuC,SAAvC;;AACjB;;AAEiF;;AACrF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,WAA5B;AAAuC,SAAvC;;AAEf;;;;AACR;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,oDAA4B,SAA5B;AAAqC,SAArC;;AACjB;;AAE+E;;AACnF;;AAAuB;AAAA;;AAAA;;AAAA,oDAA4B,SAA5B;AAAqC,SAArC;;AAEf;;;;AACR;;AACA;;AACI;;AAEI;;AACI;;;;AACJ;;AACA;;AACI;;AAEI;;AACJ;;AACA;;AAMJ;;AACJ;;AACJ;;AACA;;AACA;;AACJ;;AACA;;AACI;;AA2BJ;;AACA;;AACI;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAEA;;AAEI;;AAA6E;;AAAM;;AAEnF;;AAEI;;AACI;;AACI;;AACwB;AAAA;;AAAA;;AAAA;AAAA,WAAyB,aAAzB,EAAyB;AAAA;;AAAA;;AAAA;AAAA,SAAzB;;AAKxB;;AACJ;;AACJ;;AACJ;;AAEA;;AAA0E;;AAAM;;AAEpF;;AACJ;;;;;;;;;;;;;;AApO2E;;AAAA;;AAD9B;;AAcM;;AAAA;;AAAuC;;AAAA;;AAwB1C;;AAAA,iHAAsC,eAAtC,EAAsC,yCAAtC;;AA+BiC;;AAAA;;AAChD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAY0D;;AAAA;;AACzD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAG0D;;AAAA;;AACzD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAG2D;;AAAA;;AAC1D;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAGwD;;AAAA;;AACvD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAEsD;;AAAA;;AACrD;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAEJ;;AAAA;;AAIQ;;AAAA;;AAKI;;AAAA;;AAeZ;;AAAA;;AA8DgB;;AAAA,gGAAyB,eAAzB,EAAyB,IAAzB,EAAyB,YAAzB,EAAyB,0BAAzB,EAAyB,cAAzB,EAAyB,mBAAzB,EAAyB,qBAAzB,EAAyB,IAAzB,EAAyB,oBAAzB,EAAyB,GAAzB,EAAyB,wBAAzB,EAAyB,GAAzB,EAAyB,oBAAzB,EAAyB,GAAzB,EAAyB,SAAzB,EAAyB,CAAzB;;;;;;AAoBxC;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AAIA;;;;QDjSSuyD,+B;AACT,+CAAoBt4D,WAApB,EAAuDE,QAAvD,EACYC,aADZ,EACyDC,SADzD,EAEYC,MAFZ,EAE6B;AAAA;;AAFT,aAAAL,WAAA,GAAAA,WAAA;AAAmC,aAAAE,QAAA,GAAAA,QAAA;AAC3C,aAAAC,aAAA,GAAAA,aAAA;AAA6C,aAAAC,SAAA,GAAAA,SAAA;AAC7C,aAAAC,MAAA,GAAAA,MAAA;AAEV,aAAAC,aAAA,GAAqB,OAArB;AAEA,aAAAC,eAAA,GAA0B,EAA1B;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,cAAA,GAAiB,CAAC,IAAD,CAAjB;AAEA,aAAAE,MAAA,GAAyC,CACvC;AAAChB,YAAE,EAAC,CAAJ;AAAO6gD,qBAAW,EAAC,YAAnB;AAAiCC,qBAAW,EAAC,QAA7C;AAAuDC,sBAAY,EAAC,IAApE;AAA4EtwC,mBAAS,EAAC,IAAIpJ,IAAJ,EAAtF;AAAiGqJ,iBAAO,EAAC,IAAIrJ,IAAJ;AAAzG,SADuC,EAEvC;AAACrH,YAAE,EAAC,CAAJ;AAAO6gD,qBAAW,EAAC,WAAnB;AAAgCC,qBAAW,EAAC,QAA5C;AAAsDC,sBAAY,EAAC,IAAnE;AAA4EtwC,mBAAS,EAAC,IAAIpJ,IAAJ,EAAtF;AAAiGqJ,iBAAO,EAAC,IAAIrJ,IAAJ;AAAzG,SAFuC,EAGvC;AAACrH,YAAE,EAAC,CAAJ;AAAO6gD,qBAAW,EAAC,UAAnB;AAA+BC,qBAAW,EAAC,QAA3C;AAAqDC,sBAAY,EAAC,IAAlE;AAA4EtwC,mBAAS,EAAC,IAAIpJ,IAAJ,EAAtF;AAAiGqJ,iBAAO,EAAC,IAAIrJ,IAAJ;AAAzG,SAHuC,EAIvC;AAACrH,YAAE,EAAC,CAAJ;AAAO6gD,qBAAW,EAAC,WAAnB;AAAgCC,qBAAW,EAAC,QAA5C;AAAsDC,sBAAY,EAAC,IAAnE;AAA4EtwC,mBAAS,EAAC,IAAIpJ,IAAJ,EAAtF;AAAiGqJ,iBAAO,EAAC,IAAIrJ,IAAJ;AAAzG,SAJuC,EAKvC;AAACrH,YAAE,EAAC,CAAJ;AAAO6gD,qBAAW,EAAC,aAAnB;AAAkCC,qBAAW,EAAC,QAA9C;AAAwDC,sBAAY,EAAC,IAArE;AAA4EtwC,mBAAS,EAAC,IAAIpJ,IAAJ,EAAtF;AAAiGqJ,iBAAO,EAAC,IAAIrJ,IAAJ;AAAzG,SALuC,CAAzC;AAwEA,aAAAjG,eAAA,GAA0B,EAA1B;AACA,aAAAC,aAAA,GAAwB,EAAxB,CAlF2B,CAqF3B;;AACA,aAAAC,YAAA,sBAAmB,KAAKN,MAAxB;AACA,aAAAO,UAAA,sBAAiB,KAAKD,YAAtB;AACA,aAAAE,aAAA,sBAAoB,KAAKF,YAAzB;AACA,aAAAG,MAAA,GAAiB,KAAKT,MAAL,CAAYU,MAAZ,GAAqB,CAAtC;AAEA,aAAAC,YAAA,GAAoB,KAApB;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,kBAAA,GAAqB,CAAC,CAAD,EAAI,EAAJ,EAAQ,EAAR,CAArB;AACA,aAAAC,QAAA,GAAW,EAAX;AACA,aAAAC,cAAA,GAAiB,EAAjB;AAEA,aAAAC,QAAA,GAAoB,IAApB;AAEA,aAAAC,WAAA,GAAc,CAAd;AACA,aAAAC,SAAA,GAAY,CAAZ;AAGA,aAAAC,YAAA,GAAe,IAAI,sFAAJ,EAAf;AACA,aAAAC,UAAA,GAAa,IAAI,kFAAJ,EAAb;AACA,aAAAC,aAAA,GAAgB,IAAI,wFAAJ,EAAhB;AA6HA,aAAAtB,WAAA,GAAwC,EAAxC;AACA,aAAAuB,YAAA,GAA8C,EAA9C;AAcA,aAAAC,UAAA,GAAkB,EAAlB;AArPC;;;;mCAkBO;AACN,eAAKC,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACA,eAAKoD,SAAL,GAAiB;AAAEC,iBAAK,EAAE,IAAT;AAAeC,oBAAQ,EAAE;AAAzB,WAAjB;AACA,eAAK9B,YAAL,GAAoB,CAClB;AAAE6B,iBAAK,EAAE,IAAT;AAAeC,oBAAQ,EAAE;AAAzB,WADkB,EAElB;AAAED,iBAAK,EAAE,aAAT;AAAwBC,oBAAQ,EAAE;AAAlC,WAFkB,EAGlB;AAAED,iBAAK,EAAE,aAAT;AAAwBC,oBAAQ,EAAE;AAAlC,WAHkB,EAIlB;AAAED,iBAAK,EAAE,cAAT;AAAyBC,oBAAQ,EAAE;AAAnC,WAJkB,EAKlB;AAAED,iBAAK,EAAE,WAAT;AAAsBC,oBAAQ,EAAE;AAAhC,WALkB,EAMlB;AAAED,iBAAK,EAAE,SAAT;AAAoBC,oBAAQ,EAAE;AAA9B,WANkB,CAApB;AAQA,eAAKC,QAAL;AACAqX,iBAAO,CAACC,GAAR,CAAY,KAAKlZ,MAAjB;AACD,S,CAED;AACA;AACA;;;;uCACe;AACb,eAAKkB,SAAL,GAAiB,KAAKD,WAAtB,CADa,CAEb;;AACA,eAAKZ,aAAL,GAAqB,SAArB;AACA,eAAKwB,mBAAL;AACD,S,CAED;;;;8CACmB,CACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD;;;mCAmDU;AACT;AACA,eAAKxB,aAAL,GAAqB,EAArB;AACA,eAAKiC,QAAL,GAHS,CAKT;AACA;AACA;AAEA;AACA;AACA;AACA;AAED;;;mCAEU;AACT,eAAK/B,UAAL,GAAkB,KAAKa,UAAL,CAAgBkB,QAAhB,CAAyB,KAAKb,SAAL,CAAeE,QAAxC,EAAkD,KAAK3B,MAAvD,CAAlB;AACA,eAAKwC,UAAL;AACD;;;0CAEiB;AAChB,eAAKtB,SAAL,GAAiB,KAAKD,WAAtB;AACA,eAAKV,UAAL,GAAkB,KAAKA,UAAL,CAAgBkC,KAAhB,GAAwBC,OAAxB,EAAlB;AACA,eAAKF,UAAL;AACD;;;qCAEY;AACX,eAAKlC,YAAL,GAAoB,KAAKa,YAAL,CAAkBqB,UAAlB,CAA6B,KAAKjB,UAAlC,EAA8C,KAAKzB,cAAnD,EAAmE,KAAKS,UAAxE,CAApB;;AACA,cAAI,KAAKW,SAAL,KAAmB,CAAvB,EAA0B;AACxB,iBAAKyB,YAAL,CAAkB,KAAK/B,YAAvB,EAAqC,CAArC;AACD,WAFD,MAGK;AACH,iBAAK+B,YAAL,CAAkB,KAAK/B,YAAvB,EACEgC,IAAI,CAACC,IAAL,CAAW,KAAKvC,YAAL,CAAkBI,MAAlB,GAA2B,KAAKE,YAA3C,KAA6D,KAAKM,SAAlE,GACE,KAAKA,SADP,GAEE0B,IAAI,CAACC,IAAL,CAAW,KAAKvC,YAAL,CAAkBI,MAAlB,GAA2B,KAAKE,YAA3C,CAHJ;AAKD;;AACD,eAAKM,SAAL,GAAiB,CAAjB;AACD;;;qCAEY4B,e,EAAyBC,c,EAAwB;AAC5D,eAAKnC,YAAL,GAAoBkC,eAApB;AACA,eAAK7B,WAAL,GAAmB8B,cAAnB;AACA,eAAKvC,aAAL,GAAqB,KAAKF,YAAL,CAAkBmC,KAAlB,CAAwB,CAACM,cAAc,GAAG,CAAlB,IAAwBD,eAAhD,EAAmEA,eAAe,GAAGC,cAArF,CAArB;AACD;;;mCAEUC,O,EAAc;AACvB,cAAI,KAAKvB,SAAL,CAAeC,KAAf,KAAyBsB,OAAO,CAACtB,KAArC,EAA4C;AAC1C,iBAAKV,QAAL,GAAgB,CAAC,KAAKA,QAAtB;AACA,gBAAMiC,OAAO,GAAG,KAAKhC,WAArB;AACA,iBAAKiC,eAAL;AACA,iBAAKjC,WAAL,GAAmBgC,OAAnB;AACD,WALD,MAMK;AACH,iBAAKjC,QAAL,GAAgB,IAAhB;AACA,iBAAKS,SAAL,GAAiBuB,OAAjB;AACA,iBAAKV,QAAL;AACD;AACF;;;gCAEOZ,K,EAAY;AAClB,iBAAO,KAAK7B,YAAL,CAAkBsD,IAAlB,CAAuB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC1B,KAAF,KAAYA,KAAhB;AAAA,WAAxB,CAAP;AACD;;;mCAEU2B,K,EAAuB;AAChC,eAAKpC,WAAL,GAAmBoC,KAAK,CAACC,IAAzB;AACA,eAAKX,YAAL,CAAkB,KAAK/B,YAAvB,EAAqC,KAAKK,WAA1C;AACD;;;uCAEc;AACb,eAAKK,YAAL,GAAoB,EAApB;AACA,eAAKR,QAAL,GAAgB,EAAhB;AACA,eAAKC,cAAL,GAAsB,EAAtB;AACA,eAAKyB,UAAL;AACD;;;kCAESe,M,EAAM;AACd,cAAIA,MAAM,CAACC,MAAP,CAAcC,OAAlB,EAA2B;AACzB,iBAAK3C,QAAL,sBAAoB,KAAKR,YAAzB;AACD,WAFD,MAEO;AACL,iBAAKQ,QAAL,GAAgB,EAAhB;AACD;;AACD,eAAK4C,iBAAL;AACD;;;4CAEgB;AACf,cAAI,KAAK5C,QAAL,CAAcJ,MAAd,IAAwB,KAAKJ,YAAL,CAAkBI,MAA9C,EAAsD;AACpD,iBAAKK,cAAL,GAAsB,SAAtB;AACD,WAFD,MAEO,IAAI,KAAKD,QAAL,CAAcJ,MAAd,KAAyB,CAA7B,EAAgC;AACrC,iBAAKK,cAAL,GAAsB,eAAtB;AACD,WAFM,MAEC;AACN,iBAAKA,cAAL,GAAsB,EAAtB;AACD;AACF;;;mCAEU4C,C,EAA8B;AACvC,iBAAO,KAAK7C,QAAL,CAAc8C,SAAd,CAAwB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAAC7E,EAAF,KAAS2E,CAAC,CAAC3E,EAAf;AAAA,WAAzB,IAA8C,CAAC,CAAtD;AACD;;;iCAEQ8E,I,EAAiC;AACxC,cAAI,KAAKC,UAAL,CAAgBD,IAAhB,CAAJ,EAA2B;AACzB,iBAAKhD,QAAL,GAAgB,KAAKA,QAAL,CAAckD,MAAd,CAAqB,UAAAH,CAAC;AAAA,qBAAIA,CAAC,CAAC7E,EAAF,KAAS8E,IAAI,CAAC9E,EAAlB;AAAA,aAAtB,CAAhB;AACD,WAFD,MAEO;AACL,iBAAK8B,QAAL,CAAcmD,IAAd,CAAmBH,IAAnB;AACD;;AACD,eAAKJ,iBAAL;AACD;;;mCAEUQ,I,EAAWxG,I,EAAS;AAC7B,iBAAOwG,IAAI,CAACf,IAAL,CAAU,UAAAU,CAAC;AAAA,mBAAIA,CAAC,CAACM,IAAF,KAAWzG,IAAf;AAAA,WAAX,CAAP;AACD;;;6CAGiB;AACjB,eAAKgC,MAAL,CAAY0E,QAAZ,CAAqB,CAAC,qCAAD,EAAuC,CAAvC,CAArB;AACA;;;yCAEgBpF,E,EAAO,CACtB;AACA;AACD;;;qCAGYA,E,EAAO;AAClB,cAAIA,EAAE,IAAI,CAAV,EAAa;AACX,iBAAKoB,eAAL,GAAuB,KAAvB;AACA,iBAAKL,WAAL,GAAmB,KAAKC,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,aAAlB,CAAnB;AACA,iBAAKsC,YAAL,GAAoB,CAAC,KAAKtB,MAAL,CAAYmD,IAAZ,CAAiB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACpE,EAAF,KAASA,EAAb;AAAA,aAAlB,CAAD,CAApB;AACA,iBAAKqF,QAAL,CAAcC,IAAd;AACD,WALD,MAMK,IAAItF,EAAE,KAAK,UAAX,EAAuB;AAC1B,iBAAKsC,YAAL,sBAAwB,KAAKR,QAA7B;AACA,iBAAKuD,QAAL,CAAcC,IAAd;AACD;AACF;;;2CAKe;AACd,cAAI,KAAKhD,YAAL,CAAkBZ,MAAlB,KAA6B,CAAjC,EAAoC;AAClC,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,QAAQ,KAAKvC,eAApC,CADF;AAED,WAHD,MAIK,IAAI,KAAK0B,YAAL,CAAkBZ,MAAlB,KAA6B,CAAjC,EAAoC;AACvC,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,QAAQ,KAAKvC,eAAb,GAA+B,GAAtD,CADF;AAED,WAHI,MAIA,IAAI,KAAK0B,YAAL,CAAkBZ,MAAlB,GAA2B,CAA3B,IAAgC,KAAKY,YAAL,CAAkBZ,MAAlB,GAA2B,EAA/D,EAAmE;AACtE,iBAAK6D,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAKb,YAAL,CAAkBZ,MADiC,GACxB,GADwB,GAClB,KAAKjB,SAAL,CAAe0C,OAAf,CAAuB,KAAKvC,eAAL,GAAuB,UAA9C,CADnC;AAED,WAHI,MAIA;AACH,iBAAK2E,YAAL,CAAkB,KAAK9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,qBAAvB,IAAgD,GAAhD,GACnD,KAAKb,YAAL,CAAkBZ,MADiC,GACxB,GADwB,GAClB,KAAKjB,SAAL,CAAe0C,OAAf,CAAuB,KAAKvC,eAAL,GAAuB,MAA9C,CADnC;AAED;;AAED,eAAK0B,YAAL,GAAoB,EAApB;AACA,eAAKR,QAAL,GAAgB,EAAhB;AAEA,eAAK4C,iBAAL;;AACA,cAAI,KAAK3C,cAAL,KAAwB,EAA5B,EAAgC;AAC9B,iBAAKJ,YAAL,GAAoB,KAApB;AACD;;AACD,eAAK0D,QAAL,CAAcG,IAAd;AACD;;;qCAEYC,W,EAAqBC,S,EAAiB;AACjD,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBE,OADnB,EAC4B;AAAEC,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD5B;AAED;;;mCACUL,W,EAAqBC,S,EAAiB;AAC/C,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBjH,KADnB,EAC0B;AAAEoH,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD1B;AAED;;;8CACqB;AACpB,eAAKlD,QAAL;AACA,eAAKyC,QAAL,CAAcG,IAAd;AACD;;;sCAEa,CACZ;AACA;AACA;AACA;AACA;AACA;AACD;;;qCAEY;AAAA;;AACX,cAAMO,UAAU,GAAG,KAAKxD,UAAxB;AACA,eAAKA,UAAL,GAAkB,EAAlB;AACAyD,oBAAU,CAAC,YAAM;AACf,oBAAI,CAACzD,UAAL,GAAkBwD,UAAlB;AACD,WAFS,EAEP,CAFO,CAAV;AAGD;;;;;;;uBApTM4yD,+B,EAA+B,2H,EAAA,wH,EAAA,4I,EAAA,qI,EAAA,uH;AAAA,K;;;YAA/BA,+B;AAA+B,+C;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;ACd5C;;AACI;;AACI;;AACI;;AAAkE;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAAwB,WAAxB;;AAE9D;;AAAyB;;AAAO;;AACpC;;AACA;;AACI;;AACI;;;;AACW;;AACnB;;AACA;;AACI;;AASA;;AAQA;;AACI;;AAA2D;AAAA,mBAAS,IAAA1yD,YAAA,EAAT;AAAuB,WAAvB;;AAEK;;;;AAAwB;;AACxF;;AAA8B;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAAwB,WAAxB;;AACoD;;;;AACnE;;AACnB;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AAIA;;AA8OA;;AAIA;;AAKA;;AAKA;;AAIA;;;;AArSoB;;AAAA;;AAIiC;;AAAA;;AAS4B;;AAAA;;AAUzD;;AAAA;;AAC4D;;AAAA;;AAEkB;;AAAA;;AAOhG;;AAAA;;AAID;;AAAA;;;;;;;;;;sEDhCQ0yD,+B,EAA+B;cAL3C,uDAK2C;eALjC;AACPzyD,kBAAQ,EAAE,0BADH;AAEPC,qBAAW,EAAE,yCAFN;AAGPC,mBAAS,EAAE,CAAC,yCAAD;AAHJ,S;AAKiC,Q;;;;;;;;;;;;;;gBAiOrC,uD;iBAAU,U;;;gBAqFV,uD;iBAAU,Y;;;;;;;;;;;;;;;;;;;;AEvUjB;AAAA;;;AAAA;AAAA;AAAA;;QAAawyD,2B,GAST,qCAAY9zD,IAAZ,EAA8C;AAAA;;AAC1CA,UAAI,GAAGA,IAAI,GAAGA,IAAH,GAAU,EAArB;AACA,WAAK9E,EAAL,GAAoB8E,IAAI,CAAC9E,EAAL,GAAoB8E,IAAI,CAAC9E,EAAzB,GAAuC,CAA3D;AACA,WAAKoU,QAAL,GAAoBtP,IAAI,CAACsP,QAAL,GAAoBtP,IAAI,CAACsP,QAAzB,GAAuC,CAA3D;AACA,WAAKysC,WAAL,GAAoB/7C,IAAI,CAAC+7C,WAAL,GAAoB/7C,IAAI,CAAC+7C,WAAzB,GAAuC,EAA3D;AACA,WAAKU,SAAL,GAAoBz8C,IAAI,CAACy8C,SAAL,GAAoBz8C,IAAI,CAACy8C,SAAzB,GAAuC,CAA3D;AACA,WAAKT,WAAL,GAAoBh8C,IAAI,CAACg8C,WAAL,GAAoBh8C,IAAI,CAACg8C,WAAzB,GAAuC,EAA3D;AACA,WAAKC,YAAL,GAAoBj8C,IAAI,CAACi8C,YAAL,GAAoBj8C,IAAI,CAACi8C,YAAzB,GAAuC,IAA3D;AACA,WAAKtwC,SAAL,GAAoB3L,IAAI,CAAC2L,SAAL,GAAoB3L,IAAI,CAAC2L,SAAzB,GAAuC,IAA3D;AACA,WAAKC,OAAL,GAAoB5L,IAAI,CAAC4L,OAAL,GAAoB5L,IAAI,CAAC4L,OAAzB,GAAuC,IAA3D;AACH,K;;;;;;;;;;;;;;;;;AClBL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAuHamoD,gB;;;;;YAAAA;;;;yBAAAA,gB;AAAgB,O;AAAA,iBAHhB,CAAC,yDAAD,EAAU,0EAAV,C;AAA2B,gBA3D7B,CACP,6DADO,EAEP,6EAFO,EAGP,kGAHO,EAIP,uEAJO,EAKP,qEALO,EAMP,mEANO,EAOP,qEAPO,EAQP,gEAAkBnmD,aAAlB,CAAgC,sEAAYC,QAA5C,CARO,EASP,2DATO,EAUP,mEAVO,EAWP,iEAAYC,OAAZ,EAXO,EAYP,oEAZO,EAaP,kEAbO,EAcP,oEAdO,EAeP,2DAfO,EAgBP,yEAhBO,EAiBP,oFAjBO,EAkBP,wGAlBO,EAmBP,+DAAWA,OAAX,EAnBO,EAoBP,kEApBO,EAqBP,6EAAeA,OAAf,EArBO,EAsBP,2EAtBO,EAuBP,sEAvBO,EAwBP,+FAxBO,EAyBP,qEAAcA,OAAd,EAzBO,EA0BP,qEAAcA,OAAd,EA1BO,EA2BP,wEA3BO,EA4BP,+DA5BO,EA6BP,0EA7BO,EA8BP,kFAA0BA,OAA1B,EA9BO,EA+BP,iFA/BO,EAgCP,kGAhCO,EAiCP,2EAjCO,EAkCP,iEAlCO,EAmCP,wEAnCO,EAoCP,qEApCO,EAqCP,qEArCO,EAsCP,yEAtCO,EAuCX,6EAvCW,EAwCX,gFAxCW,EAyCX,uEAzCW,EA0CX,oFA1CW,EA4CX,mEAAaA,OAAb,EA5CW,EA6CX,mGA7CW,EA8CX,4DA9CW,EA+CX,6DA/CW,EAgDX,6EAhDW,EAiDX,uFAjDW,EAmDX,2EAAiBA,OAAjB,EAnDW,CA2D6B;;;;0HAG3BimD,gB,EAAgB;AAAA,uBARzB,uFAQyB,EAPzB,iJAOyB,EANzB,iKAMyB,EALzB,qLAKyB;AALY,kBAxDrC,6DAwDqC,EAvDrC,6EAuDqC,EAtDrC,kGAsDqC,EArDrC,uEAqDqC,EApDrC,qEAoDqC,EAnDrC,mEAmDqC,EAlDrC,qEAkDqC,EAlDrB,+DAkDqB,EAhDrC,2DAgDqC,EA/CrC,mEA+CqC,EA/ClB,gEA+CkB,EA7CrC,oEA6CqC,EA5CrC,kEA4CqC,EA3CrC,oEA2CqC,EA1CrC,2DA0CqC,EAzCrC,yEAyCqC,EAxCrC,oFAwCqC,EAvCrC,wGAuCqC,EAvCb,8DAuCa,EArCrC,kEAqCqC,EArCvB,4EAqCuB,EAnCrC,2EAmCqC,EAlCrC,sEAkCqC,EAjCrC,+FAiCqC,EAjChB,oEAiCgB,EAjChB,oEAiCgB,EA9BrC,wEA8BqC,EA7BrC,+DA6BqC,EA5BrC,0EA4BqC,EA5BrB,iFA4BqB,EA1BrC,iFA0BqC,EAzBrC,kGAyBqC,EAxBrC,2EAwBqC,EAvBrC,iEAuBqC,EAtBrC,wEAsBqC,EArBrC,qEAqBqC,EApBrC,qEAoBqC,EAnBrC,yEAmBqC,EAlBzC,6EAkByC,EAjBzC,gFAiByC,EAhBzC,uEAgByC,EAfzC,oFAeyC,EAfrB,kEAeqB,EAZzC,mGAYyC,EAXzC,4DAWyC,EAVzC,6DAUyC,EATzC,6EASyC,EARzC,uFAQyC,EAR1B,0EAQ0B;AAKZ,O;AAbd,K;;;;;sEAaFA,gB,EAAgB;cA/D5B,sDA+D4B;eA/DnB;AACRhmD,iBAAO,EAAE,CACP,6DADO,EAEP,6EAFO,EAGP,kGAHO,EAIP,uEAJO,EAKP,qEALO,EAMP,mEANO,EAOP,qEAPO,EAQP,gEAAkBH,aAAlB,CAAgC,sEAAYC,QAA5C,CARO,EASP,2DATO,EAUP,mEAVO,EAWP,iEAAYC,OAAZ,EAXO,EAYP,oEAZO,EAaP,kEAbO,EAcP,oEAdO,EAeP,2DAfO,EAgBP,yEAhBO,EAiBP,oFAjBO,EAkBP,wGAlBO,EAmBP,+DAAWA,OAAX,EAnBO,EAoBP,kEApBO,EAqBP,6EAAeA,OAAf,EArBO,EAsBP,2EAtBO,EAuBP,sEAvBO,EAwBP,+FAxBO,EAyBP,qEAAcA,OAAd,EAzBO,EA0BP,qEAAcA,OAAd,EA1BO,EA2BP,wEA3BO,EA4BP,+DA5BO,EA6BP,0EA7BO,EA8BP,kFAA0BA,OAA1B,EA9BO,EA+BP,iFA/BO,EAgCP,kGAhCO,EAiCP,2EAjCO,EAkCP,iEAlCO,EAmCP,wEAnCO,EAoCP,qEApCO,EAqCP,qEArCO,EAsCP,yEAtCO,EAuCX,6EAvCW,EAwCX,gFAxCW,EAyCX,uEAzCW,EA0CX,oFA1CW,EA4CX,mEAAaA,OAAb,EA5CW,EA6CX,mGA7CW,EA8CX,4DA9CW,EA+CX,6DA/CW,EAgDX,6EAhDW,EAiDX,uFAjDW,EAmDX,2EAAiBA,OAAjB,EAnDW,CADD;AAsDRE,sBAAY,EAAE,CACZ,uFADY,EAEZ,iJAFY,EAGZ,iKAHY,EAIZ,qLAJY,CAtDN;AA4DRC,mBAAS,EAAE,CAAC,yDAAD,EAAU,0EAAV;AA5DH,S;AA+DmB,Q;;;;;;;;;;;;;;;;;;ACvH7B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAOA,QAAMC,MAAM,GAAW,CACnB;AACIC,UAAI,EAAE,EADV;AACcC,eAAS,EAAE;AADzB,KADmB,EAKnB;AACID,UAAI,EAAE,UADV;AACsBC,eAAS,EAAE;AADjC,KALmB,EASnB;AACID,UAAI,EAAE,eADV;AAC2BC,eAAS,EAAE;AADtC,KATmB,EAanB;AACID,UAAI,EAAE,yBADV;AACqCC,eAAS,EAAE;AADhD,KAbmB,CAAvB;;QAuBa4lD,uB;;;;;YAAAA;;;;yBAAAA,uB;AAAuB,O;AAAA,gBAHvB,CAAC,6DAAa1lD,QAAb,CAAsBJ,MAAtB,CAAD,CAGuB,EAFtB,4DAEsB;;;;0HAAvB8lD,uB,EAAuB;AAAA;AAAA,kBAFtB,4DAEsB;AAAA,O;AAFV,K;;;;;sEAEbA,uB,EAAuB;cAJnC,sDAImC;eAJ1B;AACNjmD,iBAAO,EAAE,CAAC,6DAAaO,QAAb,CAAsBJ,MAAtB,CAAD,CADH;AAENnU,iBAAO,EAAE,CAAC,4DAAD;AAFH,S;AAI0B,Q;;;;;;;;;;;;;;;;;;AC/BpC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAOak6D,mB;;;;;uBAAAA,mB;AAAmB,K;;;YAAnBA,mB;AAAmB,kC;AAAA,c;AAAA,a;AAAA,iE;AAAA;;;;;sEAAnBA,mB,EAAmB;cAL/B,uDAK+B;eALrB;AACP7yD,kBAAQ,EAAE,aADH;AAEPC,qBAAW,EAAE,4BAFN;AAGPC,mBAAS,EAAE,CAAC,4BAAD;AAHJ,S;AAKqB,Q;;;;;;;;;;;;;;;;;;ACPhC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAKa4yD,c;;;;;;;kCAGD9zD,I,EAAaiD,K,EAAe3D,M,EAAc;AAClD,kBAAOA,MAAP;AACE,iBAAK,MAAL;AAAa;AACX,uBAAO2D,KAAK,GAAGjD,IAAI,CAACF,MAAL,CAAY,UAAAF,IAAI;AAAA,yBAAIA,IAAI,CAAC2O,IAAL,CAAUsnC,WAAV,GAAwBtD,QAAxB,CAAiCtvC,KAAK,CAAC4yC,WAAN,EAAjC,KAChCj2C,IAAI,CAACK,IAAL,CAAU41C,WAAV,GAAwBtD,QAAxB,CAAiCtvC,KAAK,CAAC4yC,WAAN,EAAjC,CADgC,IAEhCj2C,IAAI,CAACsG,WAAL,CAAiB2vC,WAAjB,GAA+BtD,QAA/B,CAAwCtvC,KAAK,CAAC4yC,WAAN,EAAxC,CAF4B;AAAA,iBAAhB,CAAH,GAEwD71C,IAFpE;AAGA;AACD;;AAED,iBAAK,UAAL;AAAiB;AACf,uBAAOiD,KAAK,GAAGjD,IAAI,CAACF,MAAL,CAAY,UAAAF,IAAI;AAAA,yBAAIA,IAAI,CAAC5D,MAAL,CAAY65C,WAAZ,GAA0BtD,QAA1B,CAAmCtvC,KAAK,CAAC4yC,WAAN,EAAnC,KAChCj2C,IAAI,CAACmE,MAAL,CAAY8xC,WAAZ,GAA0BtD,QAA1B,CAAmCtvC,KAAK,CAAC4yC,WAAN,EAAnC,CAD4B;AAAA,iBAAhB,CAAH,GACmD71C,IAD/D;AAEA;AACD;;AAED,iBAAK,QAAL;AAAe;AACb,uBAAOiD,KAAK,GAAGjD,IAAI,CAACF,MAAL,CAAY,UAAAF,IAAI;AAAA,yBAAIA,IAAI,CAAC2O,IAAL,CAAUsnC,WAAV,GAAwBtD,QAAxB,CAAiCtvC,KAAK,CAAC4yC,WAAN,EAAjC,CAAJ;AAAA,iBAAhB,CAAH,GAAiF71C,IAA7F;AACA;AACD;;AAED,iBAAK,QAAL;AAAe;AACb,uBAAOiD,KAAK,GAAGjD,IAAI,CAACF,MAAL,CAAY,UAAAF,IAAI;AAAA,yBAAIA,IAAI,CAAC2O,IAAL,CAAUsnC,WAAV,GAAwBtD,QAAxB,CAAiCtvC,KAAK,CAAC4yC,WAAN,EAAjC,KAChCj2C,IAAI,CAACK,IAAL,CAAU41C,WAAV,GAAwBtD,QAAxB,CAAiCtvC,KAAK,CAAC4yC,WAAN,EAAjC,CAD4B;AAAA,iBAAhB,CAAH,GACiD71C,IAD7D;AAEA;AACD;;AAED,iBAAK,SAAL;AAAgB;AACd,uBAAOiD,KAAK,GAAGjD,IAAI,CAACF,MAAL,CAAY,UAAAF,IAAI;AAAA,yBAAIA,IAAI,CAACskD,aAAL,CAAmBrO,WAAnB,GAAiCtD,QAAjC,CAA0CtvC,KAAK,CAAC4yC,WAAN,EAA1C,CAAJ;AAAA,iBAAhB,CAAH,GAA0F71C,IAAtG;AACA;AACD;AA5BH;AA8BD;;;;;;;uBAlCU8zD,c;AAAc,K;;;;YAAdA,c;AAAc;;;;;sEAAdA,c,EAAc;cAH1B,kDAG0B;eAHrB;AACJ7yB,cAAI,EAAE;AADF,S;AAGqB,Q;;;;;;;;;;;;;;;;;;ACL3B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAKa8yB,e;;;;;;;kCAED/zD,I,EAAaiD,K,EAAa;AAClC,iBAAOA,KAAK,GAAGjD,IAAI,CAACF,MAAL,CAAY,UAAAF,IAAI;AAAA,mBAAIA,IAAI,CAAC2O,IAAL,CAAUsnC,WAAV,GAAwBtD,QAAxB,CAAiCtvC,KAAK,CAAC4yC,WAAN,EAAjC,KAAyDj2C,IAAI,CAAC+wD,MAAL,CAAY9a,WAAZ,GAA0BtD,QAA1B,CAAmCtvC,KAAK,CAAC4yC,WAAN,EAAnC,CAA7D;AAAA,WAAhB,CAAH,GAA4I71C,IAAxJ;AACD;;;;;;;uBAJU+zD,e;AAAe,K;;;;YAAfA,e;AAAe;;;;;sEAAfA,e,EAAe;cAH3B,kDAG2B;eAHtB;AACJ9yB,cAAI,EAAE;AADF,S;AAGsB,Q;;;;;;;;;;;;;;;;;;ACL5B;AAAA;;;AAAA;AAAA;AAAA;;AAAA,QAAY+yB,QAAZ;;AAAA,eAAYA,QAAZ,EAAoB;AAClB;AACA;AACD,KAHD,EAAYA,QAAQ,KAARA,QAAQ,MAApB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QCuBaC,W;AACX,2BAAoBC,IAApB,EAA2C;AAAA;;AAAvB,aAAAA,IAAA,GAAAA,IAAA;AAAyB,O,CAE7C;;;;;+BACOC,W,EAAiC;AACtC,iBAAO,KAAKD,IAAL,CACJE,0BADI,CACuBD,WAAW,CAAClI,KADnC,EAC0CkI,WAAW,CAACE,QADtD,EAEJh7D,IAFI,CAEC,gBAAc;AAAA,gBAAX+3C,IAAW,QAAXA,IAAW;AAClB,mBAAOA,IAAP;AACD,WAJI,CAAP;AAKD,S,CAED;;;;kCACU;AACR,iBAAO,kDAAK,KAAK8iB,IAAL,CAAUhf,OAAV,EAAL,CAAP;AACD,S,CAED;;;;iCACSif,W,EAAiC;AAAA;;AACxC,iBAAO,KAAKD,IAAL,CACJI,8BADI,CAC2BH,WAAW,CAAClI,KADvC,EAC8CkI,WAAW,CAACE,QAD1D,EAEJh7D,IAFI,CAEC;AAAA,gBAAS+3C,IAAT,SAASA,IAAT;AAAA,mBAAoB;AAAA;AAAA;AAAA;AAAA;AACxBA,0BAAI,CAACmjB,aAAL,CAAmB;AACjBtgB,mCAAW,EAAEkgB,WAAW,CAAClgB;AADR,uBAAnB;AAGA,2BAAKigB,IAAL,CAAUM,iBAAV,CAA4BpjB,IAA5B;AAJwB,wDAKjBA,IALiB;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAApB;AAAA,WAFD,CAAP;AASD,S,CAED;;;;0CACkB6a,K,EAAO;AACvB,iBAAO,KAAKiI,IAAL,CAAUO,sBAAV,CAAiCxI,KAAjC,EAAwC5yD,IAAxC,CAA6C,YAAM;AACxD,mBAAO,IAAP;AACD,WAFM,CAAP;AAGD,S,CAED;;;;sCACc86D,W,EAA6B;AACzC,iBAAO,KAAKD,IAAL,CACJQ,oBADI,CACiBP,WAAW,CAAC36D,IAD7B,EACmC26D,WAAW,CAACQ,WAD/C,EAEJt7D,IAFI,CAEC,UAAC8E,IAAD,EAAU;AACd,mBAAOA,IAAP;AACD,WAJI,CAAP;AAKD,S,CAED;;;;kCACgB;;;;;;;;AACJ,2BAAM,KAAK+1D,IAAL,CAAUhjB,WAAhB;;;AAAJ0jB,qB;sDACC,MAAP,OAAO,CAAP,kBAAYA,CAAZ,CAAO,EAAM;AAAE3hB,0BAAI,EAAE;AAAR,qBAAN,C;;;;;;;;;AACR;;;;;;;uBAlDUghB,W,EAAW,0H;AAAA,K;;;aAAXA,W;AAAW,eAAXA,WAAW,K;AAAA,kBADE;;;;;sEACbA,W,EAAW;cADvB,wDACuB;eADZ;AAAEh5D,oBAAU,EAAE;AAAd,S;AACY,Q;;;;;;;;;;;;;;;;;;;;;;ACvBxB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAQA,QAAM45D,WAAW,GAAG,QAApB;;QAKaC,W;AAeX,2BACUv5D,SADV,EAEUw5D,eAFV,EAGUv5D,MAHV,EAGwB;AAAA;;AAFd,aAAAD,SAAA,GAAAA,SAAA;AACA,aAAAw5D,eAAA,GAAAA,eAAA;AACA,aAAAv5D,MAAA,GAAAA,MAAA;AAjBV,aAAAm5C,YAAA,GAAe,KAAf;AAEA,aAAAqgB,eAAA,GAAkB,yEAAlB;AACA,aAAAxgB,kBAAA,GAAiC,CAC/B;AAAEh7C,cAAI,EAAE,OAAR;AAAiB4xC,mBAAS,EAAE,KAA5B;AAAmC5tC,eAAK,EAAE,SAA1C;AAAqDy3D,mBAAS,EAAE;AAAhE,SAD+B,EAE/B;AAAEz7D,cAAI,EAAE,OAAR;AAAiB4xC,mBAAS,EAAE,KAA5B;AAAmC5tC,eAAK,EAAE,SAA1C;AAAqDy3D,mBAAS,EAAE;AAAhE,SAF+B,CAAjC;AAgBE,aAAK55D,QAAL,GAAgB,KAAK05D,eAAL,CAAqBG,cAArB,CAAoC,IAApC,EAA0C,IAA1C,CAAhB;AACD;;;;+BAEG;AACF,eAAK35D,SAAL,CAAe45D,cAAf,CAA8B,OAA9B,EAAuC,6CAAvC;AACA,eAAK55D,SAAL,CAAe45D,cAAf,CAA8B,OAA9B,EAAsC,6CAAtC,EAFE,CAGF;;AACA,eAAK55D,SAAL,CAAe65D,cAAf,CAA8B,KAAKJ,eAAnC;;AACA,cAAI,KAAKrgB,YAAT,EAAuB;AACrB,iBAAKp5C,SAAL,CAAe85D,GAAf,CAAmB,KAAKL,eAAxB;AACD,WAFD,MAEO;AACL,iBAAK/f,QAAL,GAAgB,EAAhB;AACD;AACF;;;kDAEsB;AACrB,eAAK55C,QAAL,CAAcg1C,WAAd,CAA0B/L,QAAQ,CAAC8D,IAAnC,EAAyC,KAAzC;AACA,eAAK/sC,QAAL,CAAcg1C,WAAd,CAA0B/L,QAAQ,CAAC8D,IAAnC,EAAyC,KAAzC;AACA,eAAK/sC,QAAL,CAAc8sC,QAAd,CAAuB7D,QAAQ,CAAC8D,IAAhC,EAAsC,KAAKgD,SAA3C;AACA,eAAK/vC,QAAL,CAAci6D,YAAd,CACEhxB,QAAQ,CAACyQ,eADX,EAEE,WAFF,EAGE,KAAK3J,SAHP;AAKD;;;0BAEY9tC,I,EAAc;AACzB,cAAI23C,QAAQ,GAAG33C,IAAI,IAAI,yEAAvB;AACA,cAAMi4D,mBAAmB,GAAG,KAAK/gB,kBAAL,CACzB5uB,GADyB,CACrB,UAAChmB,IAAD;AAAA,mBAAUA,IAAI,CAACpG,IAAf;AAAA,WADqB,EAEzB+4C,QAFyB,CAEhB0C,QAFgB,CAA5B;;AAGA,cAAI,CAACsgB,mBAAL,EAA0B;AACxBtgB,oBAAQ,GAAG,KAAK+f,eAAhB;AACD;;AAED,cACE13D,IAAI,KAAK,EAAT,IACA,KAAKk3C,kBAAL,CAAwB5uB,GAAxB,CAA4B,UAAChmB,IAAD;AAAA,mBAAUA,IAAI,CAACpG,IAAf;AAAA,WAA5B,EAAiD+4C,QAAjD,CAA0Dj1C,IAA1D,CADA,IAEA,KAAK8tC,SAAL,KACE,KAAKoJ,kBAAL,CAAwBv1C,IAAxB,CAA6B,UAACW,IAAD;AAAA,mBAAUA,IAAI,CAACpG,IAAL,KAAc8D,IAAxB;AAAA,WAA7B,EAA2D8tC,SAJ/D,EAKE;AACA,oFAAa9tC,IAAb;AACAooC,kBAAM,CAACyK,QAAP,CAAgBC,MAAhB;AACD,WARD,MAQO;AACL,iBAAK70C,SAAL,CAAe85D,GAAf,CAAmBpgB,QAAnB;AACD;;AACD,eAAKugB,uBAAL;AACA,kFAAavgB,QAAb;AACD,S;4BAEW;AACV,iBAAO,KAAK15C,SAAL,CAAek6D,WAAtB;AACD;;;4BAEoB;AAAA;;AACnB,iBAAO,KAAKjhB,kBAAL,CAAwBv1C,IAAxB,CACL,UAACW,IAAD;AAAA,mBAAUA,IAAI,CAACpG,IAAL,KAAc,QAAI,CAAC+B,SAAL,CAAek6D,WAAvC;AAAA,WADK,EAELR,SAFF;AAGD;;;4BAEY;AAAA;;AACX,iBAAO,KAAKzgB,kBAAL,CAAwBv1C,IAAxB,CACL,UAACW,IAAD;AAAA,mBAAUA,IAAI,CAACpG,IAAL,KAAc,QAAI,CAAC+B,SAAL,CAAek6D,WAAvC;AAAA,WADK,EAELrqB,SAFF;AAGD;;;4BAEgB;AAAA;;AACf,iBAAO,KAAKoJ,kBAAL,CAAwBv1C,IAAxB,CACL,UAACW,IAAD;AAAA,mBAAUA,IAAI,CAACpG,IAAL,KAAc,QAAI,CAAC+B,SAAL,CAAek6D,WAAvC;AAAA,WADK,EAELj4D,KAFF;AAGD;;;;;;;uBA1FUs3D,W,EAAW,4H,EAAA,sH,EAAA,8G;AAAA,K;;;aAAXA,W;AAAW,eAAXA,WAAW,K;AAAA,kBAFV;;;;;sEAEDA,W,EAAW;cAHvB,wDAGuB;eAHZ;AACV75D,oBAAU,EAAE;AADF,S;AAGY,Q;;;;;;;;;;;QA6FXy6D,Q;;;;;;;;;;;;;;;;;;;AC1Gb;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QA2BaC,Y;;;;;YAAAA;;;;yBAAAA,Y;AAAY,O;AAAA,gBAhBd,CACP,4DADO,EAEP,4DAFO,EAGP,mEAHO,EAIP,4EAJO,CAgBc,EATrB,4EASqB,EARrB,4DAQqB,EALrB,mEAKqB,EAJrB,4DAIqB;;;;0HAAZA,Y,EAAY;AAAA,uBAjBR,2EAiBQ,EAjBQ,gGAiBR,EAjB8B,iGAiB9B;AAjBgD,kBAErE,4DAFqE,EAGrE,4DAHqE,EAIrE,mEAJqE,EAKrE,4EALqE,CAiBhD;AAZC,kBAGtB,4EAHsB,EAItB,4DAJsB,EAKtB,2EALsB,EAMtB,gGANsB,EAOtB,mEAPsB,EAQtB,4DARsB,EAStB,iGATsB;AAYD,O;AAHH,K;;;;;sEAGTA,Y,EAAY;cAlBxB,sDAkBwB;eAlBf;AACR/nD,sBAAY,EAAE,CAAC,2EAAD,EAAiB,gGAAjB,EAAuC,iGAAvC,CADN;AAERD,iBAAO,EAAE,CACP,4DADO,EAEP,4DAFO,EAGP,mEAHO,EAIP,4EAJO,CAFD;AAQRhU,iBAAO,EAAE,CACP,4EADO,EAEP,4DAFO,EAGP,2EAHO,EAIP,gGAJO,EAKP,mEALO,EAMP,4DANO,EAOP,iGAPO;AARD,S;AAkBe,Q;;;;;;;;;;;;;;;;;;AC3BzB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAGO,QAAMi8D,aAAa,GAAG,SAAhBA,aAAgB,GAAM;AAC/B,UAAI1lB,KAAK,GAAG,yEAAY2lB,YAAxB;;AACA,UAAI;AACA3lB,aAAK,GAAGh2C,YAAY,CAACC,OAAb,CAAqB,yEAAY27D,oBAAjC,KAA0D,yEAAYD,YAA9E;AACH,OAFD,CAEE,OAAOr7D,KAAP,EAAc;AACZua,eAAO,CAACC,GAAR,CAAY,qDAAZ,EAAmExa,KAAnE;AACA01C,aAAK,GAAG,yEAAY2lB,YAApB;AACH;;AACD,aAAO3lB,KAAP;AACH,KATM;;AAUA,QAAM6lB,aAAa,GAAG,SAAhBA,aAAgB,CAAC7lB,KAAD,EAAW;AACpC,UAAI;AACA,YAAIA,KAAJ,EAAW;AACPh2C,sBAAY,CAACymD,OAAb,CAAqB,yEAAYmV,oBAAjC,EAAuD5lB,KAAvD;AACH,SAFD,MAEO;AACHh2C,sBAAY,CAACwmD,UAAb,CAAwB,yEAAYoV,oBAApC;AACH;AACJ,OAND,CAME,OAAOt7D,KAAP,EAAc;AACZua,eAAO,CAACC,GAAR,CAAY,qDAAZ,EAAmExa,KAAnE;AACH;AACJ,KAVM;;AAWA,QAAMw7D,cAAc,GAAG,SAAjBA,cAAiB,GAAM;AAChC,UAAIhmB,MAAM,GAAG,SAAb;;AACA,UAAI;AACAA,cAAM,GAAG91C,YAAY,CAACC,OAAb,CAAqB,yEAAY87D,qBAAjC,KAA2D,SAApE;AACH,OAFD,CAEE,OAAOz7D,KAAP,EAAc;AACZua,eAAO,CAACC,GAAR,CAAY,sDAAZ,EAAoExa,KAApE;AACAw1C,cAAM,GAAG,SAAT;AACH;;AACD,aAAOA,MAAP;AACH,KATM;;AAUA,QAAMkmB,cAAc,GAAG,SAAjBA,cAAiB,CAAClmB,MAAD,EAAY;AACtC,UAAI;AACA91C,oBAAY,CAACymD,OAAb,CAAqB,yEAAYsV,qBAAjC,EAAwDjmB,MAAxD;AACH,OAFD,CAEE,OAAOx1C,KAAP,EAAc;AACZua,eAAO,CAACC,GAAR,CAAY,sDAAZ,EAAoExa,KAApE;AACH;AACJ,KANM;;AAQA,QAAM27D,YAAY,GAAG,SAAfA,YAAe,GAAM;AAC9B,UAAI74D,IAAI,GAAG,OAAX;;AACA,UAAI;AACAA,YAAI,GAAGpD,YAAY,CAACC,OAAb,CAAqB,YAArB,KAAsC,OAA7C;AACH,OAFD,CAEE,OAAOK,KAAP,EAAc;AACZua,eAAO,CAACC,GAAR,CAAY,oDAAZ,EAAkExa,KAAlE;AACA8C,YAAI,GAAG,OAAP;AACH;;AACD,aAAOA,IAAP;AACH,KATM;;AAUA,QAAM84D,YAAY,GAAG,SAAfA,YAAe,CAAC94D,IAAD,EAAU;AAClC,UAAI;AACApD,oBAAY,CAACymD,OAAb,CAAqB,YAArB,EAAmCrjD,IAAnC;AACH,OAFD,CAEE,OAAO9C,KAAP,EAAc;AACZua,eAAO,CAACC,GAAR,CAAY,oDAAZ,EAAkE1X,IAAlE;AACH;AACJ,KANM;;AAQA,QAAM+4D,WAAW,GAAG,SAAdA,WAAc,GAAM;AAC/B,UAAIpjB,IAAI,GAAG,yEAAYqjB,WAAvB;;AACA,UAAI;AACArjB,YAAI,GAAG/4C,YAAY,CAACC,OAAb,CAAqB,iBAArB,KAA2C,yEAAYm8D,WAA9D;AACH,OAFD,CAEE,OAAO97D,KAAP,EAAc;AACZua,eAAO,CAACC,GAAR,CAAY,mDAAZ,EAAiExa,KAAjE;AACAy4C,YAAI,GAAG,yEAAYqjB,WAAnB;AACH;;AACD,aAAOrjB,IAAP;AACD,KATM;;AAUA,QAAMsjB,WAAW,GAAG,SAAdA,WAAc,CAACtjB,IAAD,EAAU;AACnC,UAAI;AACA/4C,oBAAY,CAACymD,OAAb,CAAqB,iBAArB,EAAwC1N,IAAxC;AACH,OAFD,CAEE,OAAOz4C,KAAP,EAAc;AACZua,eAAO,CAACC,GAAR,CAAY,mDAAZ,EAAiEi+B,IAAjE;AACH;AACF,KANM;;;;;;;;;;;;;;;;;ACtEP;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;ACKI;;AAII;AAAA;;AAAA;;AAAA;AAAA;;AAEyH;;;;AAC9G;;;;;;AAFX;;AACyH;;AAAA;;;;;;;;AAEzH;;AAI0B;AAAA;;AAAA;;AAAA;AAAA;;AAC+F;;;;AAC9G;;;;;;AAJX;;AAGyH;;AAAA;;;;;;AAlBjI;;AACI;;AAE6H;;;;AAC9G;;AACf;;AAQI;;AAON;;;;;;AAjB+H;;AAAA;;AAGzH;;AAAA;;AAQA;;AAAA;;;;;;AAwCQ;;AAA6D;;AAAsC;;;;;;;;AAAxD;;AAAkB;;AAAA;;;;;;AAR7D;;;;AAOA;;AAAuB;;;;AAA0B;;AACjD;;AACJ;;;;;;AANI;;AAIW;;AAAA;;AAAY;;AAAA;;AACZ;;AAAA;;;;;;;;AAmBX;;AACI;;AAAI;;AAAQ;;AACZ;;AAAI;;AAAgF;;;;AAAwB;;AAAI;;AAChH;;AACI;;AAAsB;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA2B;;AAAiC;;AACtF;;AACJ;;;;;;;AALQ;;AAAA;;AACG;;AAAA;;AAA6E;;AAAA;;;;;;AAwBpF;;AAAyD;;AAAa;;;;;;AAA9B;;AAAiB;;AAAA;;;;;;AAW7D;;AAA0D;;AAAsC;;;;;;;;AAAvD;;AAAiB;;AAAA;;;;;;AAQtD;;AAA6D;;AAA0C;;;;;;;;AAA3D;;AAAiB;;AAAA;;;;;;AAFjE;;AACI;;AAAyC;;;;AAA8B;;AACvE;;AACJ;;;;;;AAHqE;;AACpC;;AAAA;;AAAY;;AAAA;;AAC9B;;AAAA;;;;;;AAEf;;;;;;AAOI;;AAA6D;;AAAa;;;;;;AAA9B;;AAAiB;;AAAA;;;;;;AAFjE;;AACI;;AAAyC;;;;AAA8B;;AACvE;;AACJ;;;;;;AAHiE;;AAChC;;AAAA;;AAAY;;AAAA;;AAC9B;;AAAA;;;;;;;;AAQf;;AAAyB;AAAA;;AAAA;;AAAA,oCAAoB,IAApB;AAAwB,SAAxB;;AAAqG;;;;AAAyB;;;;AAAzB;;AAAA;;;;;;;;AAC9H;;AAAyB;AAAA;;AAAA;;AAAA,oCAAoB,IAApB;AAAwB,SAAxB;;AAAsG;;;;AAAyB;;;;AAAzB;;AAAA;;;;;;AAG3H;;AAAoE;;AAA0C;;;;;;;;AAA3D;;AAAiB;;AAAA;;;;;;AAFxE;;AACI;;AAAyC;;;;AAA8B;;AACvE;;AACJ;;;;;;AAHkE;;AACjC;;AAAA;;AAAY;;AAAA;;AAC9B;;AAAA;;;;;;AANnB;;AACI;;AAAyB;;;;AAA2B;;AACpD;;AACA;;AACA;;AAKJ;;;;;;AAR6B;;AAAA;;AACtB;;AAAA;;AACA;;AAAA;;AACS;;AAAA;;;;;;AAUR;;AAAwD;;AAA0C;;;;;;;;AAA3D;;AAAiB;;AAAA;;;;;;AAF5D;;AACI;;AAAyC;;;;AAA8B;;AACvE;;AACJ;;;;;;AAH2D;;AAC1B;;AAAA;;AAAY;;AAAA;;AAC9B;;AAAA;;;;;;AAJnB;;AACI;;AAAyB;;;;AAAuB;;AAChD;;AAKJ;;;;;;AAN6B;;AAAA;;AACd;;AAAA;;;;;;AAaX;;AACI;;AACI;;AAAyB;;;;AAAiC;;AAC1D;;AACI;;AAA2B;;;;AAAsB;;AACjD;;AAA2B;;;;AAAsB;;AACjD;;AAA4B;;;;AAAuB;;AACnD;;AAA4B;;;;AAAuB;;AACnD;;AAA6B;;;;AAAwB;;AACrD;;AAA6B;;;;AAAwB;;AACrD;;AAA6B;;;;AAAwB;;AACrD;;AAA2B;;;;AAAsB;;AACjD;;AAA2B;;;;AAAsB;;AACrD;;AACJ;;AACA;;AACI;;AAAyB;;;;AAA+B;;AACxD;;AACJ;;AACJ;;;;AAjBiC;;AAAA;;AAEb;;AAAA;;AAAmB;;AAAA;;AACnB;;AAAA;;AAAmB;;AAAA;;AACnB;;AAAA;;AAAoB;;AAAA;;AACpB;;AAAA;;AAAoB;;AAAA;;AACpB;;AAAA;;AAAqB;;AAAA;;AACrB;;AAAA;;AAAqB;;AAAA;;AACrB;;AAAA;;AAAqB;;AAAA;;AACrB;;AAAA;;AAAmB;;AAAA;;AACnB;;AAAA;;AAAmB;;AAAA;;AAIN;;AAAA;;;;;;AAIjC;;AACA;;AAIA;;;;AACJ;;;;AADI;;AAAA;;;;;;;;;;;;;;AAlKhB;;AACI;;AACI;;AACY;;AAEb;;AACC;;AACA;;AAAI;;;;AAA0C;;AAE9C;;AAID;;AACA;;AACC;;AACI;;AAAyB;;;;AAA0B;;AAEnD;;AAEI;;AAA2C;AAAA;;AAAA;;AAAA;AAAA;;;;AAA3C;;AAKA;;AAUJ;;AACJ;;AAOA;;AACI;;AAAyB;;;;AAA+B;;AACxD;;AACJ;;AACA;;AACI;;AAAyB;;;;AAA6B;;AACtD;;AAAc;AAAA;;AAAA;;AAAA;AAAA,WAAc,WAAd,EAAc;AAAA;;AAAA;;AAAA;AAAA,SAAd;;AAAoE;;AAClF;;AACG;;AACC;;AAOD;;AACH;;AACJ;;AACJ;;AACQ;;AACA;;AACI;;AACI;;AAAyB;;;;AAAwB;;AACjD;;AACJ;;AAEA;;AACI;;AAAyB;;;;AAAwB;;AACjD;;AACJ;;AACA;;AACI;;AAAyB;;;;AAA2B;;AACtD;;AAAkD;AAAA;;AAAA;;AAAA;AAAA;;AAChD;;AAAyC;;;;AAAwB;;AACjE;;AACJ;;AACA;;AACJ;;AACJ;;AACA;;AACA;;AACI;;AACI;;AAAyB;;;;AAAiC;;AAC5D;;AACE;;AAAyC;;;;AAA8B;;AACvE;;AAEJ;;AACA;;AACA;;AACI;;AAAyB;;;;AAA4B;;AACrD;;AAIA;;AAEJ;;AACA;;AACI;;AAAyB;;;;AAA4B;;AACrD;;AAKJ;;AACJ;;AACA;;AACI;;AAUA;;AAQA;;AACI;;AAIA;;;;AACA;;AACA;;AAoBA;;AAOJ;;AACJ;;AACJ;;AACI;;AAEJ;;AACJ;;;;;;AA1KM;;AAOM;;AAAA;;AASyB;;AAAA;;AAMrB;;AAAA;;AAFyF,2JAAqC,UAArC,EAAqC,gCAArC;;AAUzF;;AAAA;;AAcqB;;AAAA;;AAIA;;AAAA;;AACX;;AAAA,uFAAc,UAAd,EAAc,kBAAd;;AAGN;;AAAA;;AAcyB;;AAAA;;AAKA;;AAAA;;AAIA;;AAAA;;AACoD;;AAAA;;AAChD;;AAAA;;AAAY;;AAAA;;AAC9B;;AAAA;;AAQU;;AAAA;;AACoB;;AAAA;;AAChB;;AAAA;;AAAY;;AAAA;;AAC9B;;AAAA;;AAKc;;AAAA;;AACd;;AAAA;;AAIO;;AAAA;;AAIO;;AAAA;;AACd;;AAAA;;AAQO;;AAAA;;AAUA;;AAAA;;AAalB;;AAAA;;AAEK;;AAAA;;AAoBA;;AAAA;;;;;;;;AA0CG;;AAAoC;AAAA;;AAAA;;AAAA;AAAA,WAA4B,QAA5B,EAA4B;AAAA;;AAAA;;AAAA;AAAA,SAA5B;;AACpC;;;;;;;;AADoC,gGAA4B,OAA5B,EAA4B,yBAA5B,EAA4B,cAA5B,EAA4B,IAA5B;;;;;;;;AAEpC;;AAAmC;AAAA;;AAAA;;AAAA;AAAA,WAA4B,QAA5B,EAA4B;AAAA;;AAAA;;AAAA;AAAA,SAA5B;;AACrC;;;;;;;;AADqC,gGAA4B,OAA5B,EAA4B,yBAA5B,EAA4B,cAA5B,EAA4B,IAA5B;;;;;;;;AAL3C;;AACI;;AAAoC;;AAAO;;AAC3C;;AACI;;AAEA;;AAEJ;;AACA;;AACI;;AAAO;AAAA;;AAAA;AAAA;AAAA;;AAAP;;AACJ;;AACA;;AAAwB;;AAAO;AAAA;;AAAA;AAAA;AAAA,WAAyB,QAAzB,EAAyB;AAAA;;AAAA;;AAAA;AAAA,SAAzB;;AAA8F;;AAA7H;;AACA;;AACI;;AAAuD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;;;AAAsC;;AAAiC;;AAClI;;AACJ;;;;;;;;;AAdwC;;AAAA;;AAEpB;;AAAA;;AAED;;AAAA;;AAIJ;;AAAA;;AAEoB;;AAAA;;AAEL;;AAAA;;;;;;;;AAlC1C;;AACA;;AACI;;AACI;;AAAI;;;;AAAwB;;AAChC;;AACA;;AACI;;AAAG;AAAA;;AAAA;;AAAA,oCAAoB,KAApB;AAAyB,SAAzB;;AAAoH;;;;AAA4B;;AACvJ;;AACD;;AACH;;AACI;;AACI;;AACI;;AACI;;AAAgB;;AAAC;;AACjB;;AAAgB;;;;AAAwB;;AACxC;;AAAgB;;;;AAA4B;;AAC5C;;AAAgB;;;;AAAuB;;AACvC;;AAAgB;;;;AAAuB;;AAC3C;;AACJ;;AACA;;AACI;;AAiBJ;;AACJ;;AAEA;;AACI;;AAEJ;;AAA6C;AAAA;;AAAA;;AAAA;AAAA;;AAAuB;;;;AAAyB;;AAAS;;AAEpG;;AACF;;AACJ;;AACJ;;;;;;AA9CgB;;AAAA;;AAGmH;;AAAA;;AAQ/F;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAIf;;AAAA;;AAuBuD;;AAAA;;AAAkC;;AAAA;;;;;;AA7C9G;;AACI;;AAkDJ;;;;;;AAlDS;;AAAA;;;;;;;;AA4Ee;;AAAqD;AAAA;;AAAA;;AAAA;AAAA;;AACrD;;;;;;;;AADqD,mGAA+B,OAA/B,EAA+B,eAA/B,EAA+B,cAA/B,EAA+B,IAA/B;;;;;;;;AAErD;;AAAoD;AAAA;;AAAA;;AAAA;AAAA;;AACtD;;;;;;;;AADsD,mGAA+B,OAA/B,EAA+B,eAA/B,EAA+B,cAA/B,EAA+B,IAA/B;;;;;;;;AAL5D;;AACI;;AAAoC;;AAAS;;AAC7C;;AACI;;AAEA;;AAEJ;;AAEA;;AAAwB;;AAAO;AAAA;;AAAA;AAAA;AAAA,WAA0B,QAA1B,EAA0B;AAAA;;AAAA;;AAAA;;AAAA;AAAA,SAA1B;;AAAmG;;AAAlI;;AACA;;AAAwB;;AAAO;AAAA;;AAAA;AAAA;AAAA,WAAyB,QAAzB,EAAyB;AAAA;;AAAA;;AAAA;;AAAA;AAAA,SAAzB;;AAAoG;;AAAnI;;AACA;;AACI;;AAAuD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;;;AAAiC;;AAAiC;;AAC7H;;AACJ;;;;;;;;;AAbwC;;AAAA;;AAEpB;;AAAA;;AAED;;AAAA;;AAIgB;;AAAA;;AACA;;AAAA;;AAEL;;AAAA;;;;;;;;AA/B1C;;AACI;;AACI;;AACI;;AAAI;;;;AAA4B;;AACpC;;AAED;;AACH;;AACI;;AACI;;AACI;;AAAgB;;AAAC;;AACjB;;AAAgB;;;;AAA4B;;AAC5C;;AAAgB;;;;AAAwB;;AACxC;;AAAgB;;;;AAAuB;;AACvC;;AAAgB;;;;AAAuB;;AAE3C;;AACJ;;AACA;;AACI;;AAeJ;;AACJ;;AAEA;;AACI;;AAEJ;;AAA6C;AAAA;;AAAA;;AAAA;AAAA;;AAA0B;;;;AAAyB;;AAAS;;AAEvG;;AACN;;;;;;AAxCgB;;AAAA;;AAQgB;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAKf;;AAAA;;AAqB0D;;AAAA;;AAAkC;;AAAA;;;;;;AA3CjH;;AAGI;;AA4CJ;;;;;;AA5C2B;;AAAA;;;;QDvNdujB,uB;AAsBT,uCACY1uC,eADZ,EAEY2uC,mBAFZ,EAGYrV,iBAHZ,EAIW5/C,KAJX,EAKUhG,MALV,EAMWk7D,eANX,EAOUt1D,EAPV,EAQWu1D,uBARX,EASWC,kBATX,EAUWC,eAVX,EAWW9uC,eAXX,EAYW+uC,UAZX,EAaWv7D,SAbX,EAcYD,aAdZ,EAeYwa,eAfZ,EAgBYihD,sBAhBZ,EAgByD;AAAA;;AAf7C,aAAAjvC,eAAA,GAAAA,eAAA;AACA,aAAA2uC,mBAAA,GAAAA,mBAAA;AACA,aAAArV,iBAAA,GAAAA,iBAAA;AACD,aAAA5/C,KAAA,GAAAA,KAAA;AACD,aAAAhG,MAAA,GAAAA,MAAA;AACC,aAAAk7D,eAAA,GAAAA,eAAA;AACD,aAAAt1D,EAAA,GAAAA,EAAA;AACC,aAAAu1D,uBAAA,GAAAA,uBAAA;AACA,aAAAC,kBAAA,GAAAA,kBAAA;AACA,aAAAC,eAAA,GAAAA,eAAA;AACA,aAAA9uC,eAAA,GAAAA,eAAA;AACA,aAAA+uC,UAAA,GAAAA,UAAA;AACA,aAAAv7D,SAAA,GAAAA,SAAA;AACC,aAAAD,aAAA,GAAAA,aAAA;AACA,aAAAwa,eAAA,GAAAA,eAAA;AACA,aAAAihD,sBAAA,GAAAA,sBAAA;AArCZ,aAAAC,QAAA,GAAuB,EAAvB;AAEA,aAAAl8D,EAAA,GAAG,CAAH;AAEA,aAAAm8D,UAAA,GAAW,KAAX;AACA,aAAAnzB,UAAA,GAAwB,EAAxB;AACA,aAAAozB,UAAA,GAA2B,EAA3B;AACA,aAAAC,KAAA,GAAY,EAAZ;AACA,aAAAC,eAAA,GAAwC,CAAC;AAACxF,mBAAS,EAAC,CAAX;AAAaxpC,gBAAM,EAAC,CAApB;AAAsBivC,oBAAU,EAAC,KAAKv8D,EAAtC;AAAyCoL,qBAAW,EAAC,EAArD;AAAwDpL,YAAE,EAAC;AAA3D,SAAD,CAAxC;AACA,aAAAw8D,mBAAA,GAA8C,CAAC;AAAC/O,sBAAY,EAAC,CAAd;AAAgBngC,gBAAM,EAAC,CAAvB;AAAyBivC,oBAAU,EAAC,KAAKv8D,EAAzC;AAA4C2tD,iBAAO,EAAC,CAApD;AAAsD3tD,YAAE,EAAC;AAAzD,SAAD,CAA9C;AACA,aAAAy8D,WAAA,GAA+B,EAA/B;AACO,aAAA/oD,WAAA,GAAc,IAAd;AACD,aAAAC,MAAA,GAAgB,EAAhB;AACP,aAAA+oD,iBAAA,GAAwC,EAAxC;AACA,aAAAC,cAAA,GAAqC,EAArC;AACA,aAAArV,OAAA,GAA0B,EAA1B;AACA,aAAAsV,KAAA,GAAsB,EAAtB;AACA,aAAAzvC,UAAA,GAAiB,EAAjB;AACA,aAAA0vC,KAAA,GAAsB,EAAtB;AACA,aAAA3hD,SAAA,GAAiC,EAAjC;AACA,aAAA4hD,QAAA,GAAgC,EAAhC;AAuBA,aAAAC,aAAA,GAAe,KAAf;AACA,aAAAC,gBAAA,GAAkB,KAAlB;AACA,aAAAC,WAAA,GAAa,KAAb;AACA,aAAAC,cAAA,GAAgB,KAAhB;AACA,aAAAC,gBAAA,GAAkB,KAAlB;AACA,aAAAC,gBAAA,GAAkB,KAAlB;AAoTC,aAAAz/C,KAAA,GAA2B,EAA3B;AAcA,aAAA0/C,SAAA,GAAY,CAAZ;AA3UC,aAAK76D,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACA,aAAKW,EAAL,GAAU,CAAE0G,KAAK,CAACM,QAAN,CAAeC,QAAf,CAAwBzH,GAAxB,CAA4B,IAA5B,CAAZ;AAED;;;;mCAOQ;AAAA;;AACJ,eAAKy8D,sBAAL,CAA4BqB,cAA5B,GACCv6D,SADD,CACW,UAAAC,MAAM,EAAE;AACf,oBAAI,CAAC85D,QAAL,GAAgB95D,MAAhB;AACH,WAHD;AAIA,eAAKgY,eAAL,CAAqB5X,MAArB,GACCL,SADD,CACW,UAAAC,MAAM,EAAE;AACf,oBAAI,CAACkY,SAAL,GAAiBlY,MAAjB;AACH,WAHD;AAIA,eAAKiqB,eAAL,CAAqB7pB,MAArB,GACCL,SADD,CACW,UAAAM,IAAI,EAAE;AAEb,oBAAI,CAAC8pB,UAAL,GAAkB9pB,IAAlB;AACA,oBAAI,CAAC25D,gBAAL,GAAwB,IAAxB;AACH,WALD;AAMA,eAAKhB,UAAL,CAAgB54D,MAAhB,GACCL,SADD,CACW,UAAAM,IAAI,EAAI;AACf,oBAAI,CAACw5D,KAAL,GAAax5D,IAAb;AACA,oBAAI,CAAC45D,WAAL,GAAmB,IAAnB;AAGH,WAND;AAOA,eAAKtB,mBAAL,CAAyBt3B,kBAAzB,CAA4C,CAA5C,EAA+CthC,SAA/C,CACI,UAAAM,IAAI,EAAE;AACF,oBAAI,CAACq5D,iBAAL,GAAuBr5D,IAAvB;AACA,oBAAI,CAACs5D,cAAL,GAAsBt5D,IAAI,CAACynB,GAAL,CAAS,UAAAhmB,IAAI;AAAA,qBAAEwK,MAAM,CAACy+C,MAAP,CAAc,EAAd,EAAkBjpD,IAAlB,CAAF;AAAA,aAAb,CAAtB;AACA,oBAAI,CAACo4D,cAAL,GAAsB,IAAtB;AAEH,WANL;AAQA,eAAKrB,uBAAL,CAA6Bz4D,MAA7B,GACCL,SADD,CACW,UAAAw6D,SAAS,EAAE;AAClB,oBAAI,CAACv0B,UAAL,GAAkBu0B,SAAlB;AACAtjD,mBAAO,CAACC,GAAR,CAAY,kBAAZ,EAA+B,QAAI,CAAC8uB,UAApC;AACA,oBAAI,CAACm0B,gBAAL,GAAwB,IAAxB;AAEH,WAND;AAOA,eAAKnwC,eAAL,CAAqB5pB,MAArB,GACCL,SADD,CACW,UAAAM,IAAI,EAAI;AACf;AACA,oBAAI,CAAC+4D,UAAL,GAAkB/4D,IAAlB;AAEA,oBAAI,CAAC+5D,gBAAL,GAAwB,IAAxB;AAEH,WAPD;AAQA,eAAK9W,iBAAL,CAAuBljD,MAAvB,CAA8B,CAA9B,EACCL,SADD,CACW,UAAAy6D,YAAY,EAAE;AACrB,oBAAI,CAAClW,OAAL,GAAekW,YAAf;AACA,oBAAI,CAACT,aAAL,GAAqB,IAArB;AACH,WAJD;;AAKA,cAAG,KAAK/8D,EAAL,IAAW,CAAd,EAAgB;AACZ,iBAAK47D,eAAL,CAAqB/yD,WAArB,GACC9F,SADD,CACW,UAAArE,IAAI,EAAE;AACb,sBAAI,CAACw9D,QAAL,GAAgB,IAAI,oEAAJ,EAAhB;AACA,sBAAI,CAACA,QAAL,CAAc/2D,IAAd,GAAqBzG,IAAI,GAAG,CAA5B;AACA,sBAAI,CAACwJ,IAAL,GAAY,QAAI,CAACU,UAAL,EAAZ;;AACA,sBAAI,CAACwzD,UAAL,CAAgB5qD,OAAhB,CAAwB,UAAAC,OAAO,EAAI;AAC/B,oBAAGA,OAAO,CAAC09C,MAAR,IAAkB,IAArB,EAA0B;AACtB,0BAAI,CAACjnD,IAAL,CAAU4lB,QAAV,CAAmB,YAAnB,EAAiCC,QAAjC,CAA0Ctc,OAAO,CAACzR,EAAlD;AACH;AACJ,eAJD;AAKH,aAVD;AAYH,WAbD,MAcI;AACA,iBAAK47D,eAAL,CAAqBlzD,OAArB,CAA6B,KAAK1I,EAAlC,EACC+C,SADD,CACW,UAAAM,IAAI,EAAE;AACb,sBAAI,CAAC84D,UAAL,GAAkB,MAAlB;AACA,sBAAI,CAACD,QAAL,GAAe74D,IAAf;AACA,sBAAI,CAACi5D,eAAL,GAAyB,QAAI,CAACJ,QAAL,CAAcuB,QAAvC;AACA,sBAAI,CAACjB,mBAAL,GAAyB,QAAI,CAACN,QAAL,CAAc1Q,WAAvC;AACA,sBAAI,CAAC7tC,KAAL,GAAyB,QAAI,CAACu+C,QAAL,CAAcwB,KAAvC;AACA,sBAAI,CAACx1D,IAAL,GAAY,QAAI,CAACU,UAAL,EAAZ;AACH,aARD;AASH;AAEJ;;;qCACS;AACN,iBAAO,KAAKtC,EAAL,CAAQY,KAAR,CAAc;AACjBlH,cAAE,EAAe,CAAC,KAAKk8D,QAAL,CAAcl8D,EAAf,CADA;AAEjBstB,kBAAM,EAAW,CAAC,KAAK4uC,QAAL,CAAc5uC,MAAf,CAFA;AAGjBE,sBAAU,EAAO,CAAC,KAAK0uC,QAAL,CAAc1uC,UAAf,CAHA;AAIjBroB,gBAAI,EAAa,CAAC,KAAK+2D,QAAL,CAAc/2D,IAAf,CAJA;AAKjBkC,gBAAI,EAAa,CAAC,KAAK60D,QAAL,CAAc70D,IAAf,CALA;AAMjBs2D,wBAAY,EAAK,CAAC,KAAKzB,QAAL,CAAcyB,YAAf,CANA;AAOjB9gC,sBAAU,EAAO,CAAC,KAAKq/B,QAAL,CAAcr/B,UAAf,CAPA;AAQjBiwB,iBAAK,EAAY,CAAC,KAAKoP,QAAL,CAAcpP,KAAf,CARA;AASjB8Q,oBAAQ,EAAS,CAAC,KAAK1B,QAAL,CAAc0B,QAAf,CATA;AAUjBC,mBAAO,EAAU,CAAC,KAAK3B,QAAL,CAAc2B,OAAf,CAVA;AAWjBC,2BAAe,EAAE,CAAC,KAAK5B,QAAL,CAAc4B,eAAf,CAXA;AAYjBC,sBAAU,EAAO,CAAC,KAAK7B,QAAL,CAAc6B,UAAf,CAZA;AAajBC,wBAAY,EAAK,CAAC,KAAK9B,QAAL,CAAc8B,YAAf,CAbA;AAcjBC,sBAAU,EAAO,CAAC,KAAK/B,QAAL,CAAc+B,UAAf,CAdA;AAejBP,iBAAK,EAAU,CAAC,KAAKxB,QAAL,CAAcwB,KAAf,CAfE;AAgBjBtyD,uBAAW,EAAM,CAAC,KAAK8wD,QAAL,CAAc9wD,WAAf,CAhBA;AAiBjBqyD,oBAAQ,EAAS,CAAC,KAAKvB,QAAL,CAAcuB,QAAf,CAjBA;AAkBjBjS,uBAAW,EAAM,CAAC,KAAK0Q,QAAL,CAAc1Q,WAAf,CAlBA;AAmBjBsL,qBAAS,EAAO,CAAC,KAAKoF,QAAL,CAAcpF,SAAf,CAnBC;AAoBjBoH,oBAAQ,EAAQ,CAAC,KAAKhC,QAAL,CAAcgC,QAAf,CApBC;AAqBjBC,wBAAY,EAAQ,CAAC,KAAKjC,QAAL,CAAciC,YAAf,CArBH;AAsBjBC,6BAAiB,EAAQ,CAAC,KAAKlC,QAAL,CAAckC,iBAAf;AAtBR,WAAd,CAAP;AAwBH;;;mCACUP,O,EAAO;AACd,eAAK31D,IAAL,CAAU4lB,QAAV,CAAmB,SAAnB,EAA8BC,QAA9B,CAAuC8vC,OAAvC;;AACA,cAAG,KAAK31D,IAAL,CAAU4lB,QAAV,CAAmB,SAAnB,EAA8B3lB,KAA9B,IAAqC,KAAxC,EAA8C;AAC1C,iBAAKm0D,eAAL,GAAqB,CAAC;AAACxF,uBAAS,EAAC,CAAX;AAAaxpC,oBAAM,EAAC,CAApB;AAAsBivC,wBAAU,EAAC,KAAKv8D,EAAtC;AAAyCoL,yBAAW,EAAC,EAArD;AAAwDpL,gBAAE,EAAC;AAA3D,aAAD,CAArB;AACH,WAFD,MAGK,IAAG,KAAKkI,IAAL,CAAU4lB,QAAV,CAAmB,SAAnB,EAA8B3lB,KAA9B,IAAqC,IAAxC,EAA6C;AAC9C,iBAAKD,IAAL,CAAU4lB,QAAV,CAAmB,WAAnB,EAAgCC,QAAhC,CAAyC,CAAzC;AACA,iBAAKyuC,mBAAL,GAAyB,CAAC;AAAC/O,0BAAY,EAAC,CAAd;AAAgBngC,oBAAM,EAAC,CAAvB;AAAyBivC,wBAAU,EAAC,KAAKv8D,EAAzC;AAA4C2tD,qBAAO,EAAC,CAApD;AAAsD3tD,gBAAE,EAAC;AAAzD,aAAD,CAAzB;AACA,iBAAKkI,IAAL,CAAU4lB,QAAV,CAAmB,OAAnB,EAA4BC,QAA5B,CAAqC,CAArC;AACA,iBAAK7lB,IAAL,CAAU4lB,QAAV,CAAmB,UAAnB,EAA+BC,QAA/B,CAAwC,CAAxC;AAEH;AACJ;;;qCACYxpB,M,EAAM;AACf;AACA,cAAIH,CAAC,GAAG,KAAKs4D,iBAAL,CAAuB93D,SAAvB,CAAiC,UAAAC,CAAC;AAAA,mBAAEA,CAAC,CAAC7E,EAAF,IAAQuE,MAAM,CAACvE,EAAjB;AAAA,WAAlC,CAAR;;AACA,cAAGoE,CAAC,GAAG,CAAC,CAAR,EAAU;AACN,iBAAKs4D,iBAAL,CAAuBvsD,MAAvB,CAA8B/L,CAA9B,EAAgC,CAAhC;AACH;AACJ;;;8CACqBU,I,EAAI;AAAA;;AACtB;AACA,cAAIV,CAAC,GAAG,KAAKk4D,eAAL,CAAqBj6C,OAArB,CAA6Bvd,IAA7B,CAAR;;AACA,cAAGV,CAAC,GAAG,CAAC,CAAR,EAAU;AAEN,gBAAIS,CAAC,GAAE,KAAK83D,cAAL,CAAoB/3D,SAApB,CAA8B,UAAAC,CAAC;AAAA,qBAAEA,CAAC,CAAC7E,EAAF,IAAQ,QAAI,CAACs8D,eAAL,CAAqBl4D,CAArB,EAAwB0yD,SAAlC;AAAA,aAA/B,CAAP;;AACA,gBAAGjyD,CAAC,GAAG,CAAC,CAAR,EAAU;AAEN,mBAAK63D,iBAAL,CAAuBz3D,IAAvB,CAA4B,KAAK03D,cAAL,CAAoB93D,CAApB,CAA5B;AACH;;AACD,iBAAKy3D,eAAL,CAAqBnsD,MAArB,CAA4B/L,CAA5B,EAA8B,CAA9B;AACA,iBAAKi6D,mBAAL;AACH;AACJ;;;qCACS;AACN;AACA,cAAIC,oCAAoC,GAAE,IAAI,qFAAJ,EAA1C;AACAA,8CAAoC,CAACt+D,EAArC,GAA0C,KAAKs8D,eAAL,CAAqB56D,MAArB,GAA4B,CAAtE;AACA48D,8CAAoC,CAAChxC,MAArC,GAA8C,CAA9C;AACAgxC,8CAAoC,CAACxH,SAArC,GAAiD,CAAjD;AACAwH,8CAAoC,CAAC/B,UAArC,GAAkD,KAAKv8D,EAAvD;AACAs+D,8CAAoC,CAAClzD,WAArC,GAAmD,EAAnD;AACA,eAAKkxD,eAAL,CAAqBr3D,IAArB,CAA0Bq5D,oCAA1B;AACH;;;wCACY;AACT,eAAK9B,mBAAL,CAAyBv3D,IAAzB,CAA8B,IAAI,2FAAJ,EAA9B;AACH;;;yCACgB2oD,I,EAAI;AACjB,cAAIxpD,CAAC,GAAG,KAAKo4D,mBAAL,CAAyBn6C,OAAzB,CAAiCurC,IAAjC,CAAR;;AACA,cAAGxpD,CAAC,GAAG,CAAC,CAAR,EAAU;AACN,iBAAKo4D,mBAAL,CAAyBrsD,MAAzB,CAAgC/L,CAAhC,EAAkC,CAAlC;AACH;AAEJ;;;sCACawpD,I,EAAKrpD,M,EAAM;AACrB;AACA,cAAIypB,MAAM,GAAG,KAAK9lB,IAAL,CAAU4lB,QAAV,CAAmB,QAAnB,EAA6B3lB,KAA1C;AACAylD,cAAI,CAACD,OAAL,GAAe,CAAEppD,MAAM,CAACC,MAAP,CAAc2D,KAA/B;AACA,cAAI0lD,YAAY,GAAG,CAAnB;AACA,eAAK2O,mBAAL,CAAyBhrD,OAAzB,CAAiC,UAAAC,OAAO,EAAI;AACxCo8C,wBAAY,IAAIp8C,OAAO,CAACk8C,OAAxB;AACH,WAFD;AAGAE,sBAAY,GAAGA,YAAY,GAAGD,IAAI,CAACD,OAAnC;;AACA,cAAGC,IAAI,CAACD,OAAL,IAAgB,GAAhB,IAAuBC,IAAI,CAACD,OAAL,GAAe,CAAtC,IAA2CE,YAAY,GAAG,GAA7D,EAAiE;AAC7D,gBAAID,IAAI,CAACD,OAAL,GAAaE,YAAd,GAA8B,GAAjC,EAAqC;AACjCD,kBAAI,CAACD,OAAL,GAAe,MAAME,YAArB;;AACA,kBAAGD,IAAI,CAACD,OAAL,GAAe,CAAlB,EAAoB;AAChBC,oBAAI,CAACD,OAAL,IAAgB,CAAC,CAAjB;AACH;AACJ;;AACDC,gBAAI,CAACtgC,MAAL,GAAeU,MAAM,GAAG4/B,IAAI,CAACD,OAAf,GAA0B,GAAxC;AAEH,WATD,MAUK,IAAGE,YAAY,IAAI,GAAnB,EAAuB;AACxBD,gBAAI,CAACD,OAAL,GAAe,CAAf;AACAC,gBAAI,CAACtgC,MAAL,GAAeU,MAAM,GAAG4/B,IAAI,CAACD,OAAf,GAA0B,GAAxC;AAEH,WAJI,MAKA,IAAGC,IAAI,CAACD,OAAL,GAAe,GAAlB,EAAsB;AACvBC,gBAAI,CAACD,OAAL,GAAe,GAAf;AACAC,gBAAI,CAACtgC,MAAL,GAAeU,MAAM,GAAG4/B,IAAI,CAACD,OAAf,GAA0B,GAAxC;AAEH;AACJ;;;qCACYC,I,EAAKrpD,M,EAAM;AACpB;AACA,cAAIypB,MAAM,GAAG,KAAK9lB,IAAL,CAAU4lB,QAAV,CAAmB,QAAnB,EAA6B3lB,KAA1C;AACAylD,cAAI,CAACtgC,MAAL,GAAc,CAAE/oB,MAAM,CAACC,MAAP,CAAc2D,KAA9B;AACA,cAAI0lD,YAAY,GAAG,CAAnB;AACA,eAAK2O,mBAAL,CAAyBhrD,OAAzB,CAAiC,UAAAC,OAAO,EAAI;AACxCo8C,wBAAY,IAAIp8C,OAAO,CAACk8C,OAAxB;AACH,WAFD;AAGAC,cAAI,CAACD,OAAL,GAAeC,IAAI,CAACtgC,MAAL,GAAc,GAAf,GAAqBU,MAAnC;;AAEA,cAAG4/B,IAAI,CAACD,OAAL,IAAgB,GAAhB,IAAuBC,IAAI,CAACD,OAAL,GAAe,CAAtC,IAA0CE,YAAY,GAAG,GAA5D,EAAgE;AAC5D,gBAAID,IAAI,CAACD,OAAL,GAAaE,YAAd,GAA8B,GAAjC,EAAqC;AACjCD,kBAAI,CAACD,OAAL,GAAe,MAAME,YAArB;;AACA,kBAAGD,IAAI,CAACD,OAAL,GAAe,CAAlB,EAAoB;AAChBC,oBAAI,CAACD,OAAL,IAAgB,CAAC,CAAjB;AACH;AAEJ;;AACDC,gBAAI,CAACtgC,MAAL,GAAeU,MAAM,GAAG4/B,IAAI,CAACD,OAAf,GAA0B,GAAxC;AAEH,WAVD,MAWK,IAAGE,YAAY,IAAI,GAAnB,EAAuB;AACxBD,gBAAI,CAACD,OAAL,GAAe,CAAf;AACAC,gBAAI,CAACtgC,MAAL,GAAeU,MAAM,GAAG4/B,IAAI,CAACD,OAAf,GAA0B,GAAxC;AAEH,WAJI,MAKA,IAAGC,IAAI,CAACD,OAAL,GAAe,GAAlB,EAAsB;AACvBC,gBAAI,CAACD,OAAL,GAAe,GAAf;AACAC,gBAAI,CAACtgC,MAAL,GAAeU,MAAM,GAAG4/B,IAAI,CAACD,OAAf,GAA0B,GAAxC;AAEH;AACJ;;;8CACkB;AACf,cAAI9zB,KAAK,GAAG,CAAZ;AACA,eAAKyiC,eAAL,CAAqB9qD,OAArB,CAA6B,UAAAC,OAAO,EAAI;AACpCooB,iBAAK,IAAIpoB,OAAO,CAAC6b,MAAjB;AACH,WAFD;AAGA,cAAIU,MAAM,GAAG,KAAK9lB,IAAL,CAAU4lB,QAAV,CAAmB,QAAnB,EAA6BC,QAA7B,CAAsC8L,KAAtC,CAAb;AACH;;;+BACG;AAAA;;AACA;AACA,eAAKqiC,QAAL,GAAgB,KAAKh0D,IAAL,CAAUY,WAAV,EAAhB;AACA,eAAKozD,QAAL,CAAcl8D,EAAd,GAAmB,KAAKA,EAAxB;AACA,eAAKk8D,QAAL,CAAcuB,QAAd,GAAyB,KAAKnB,eAA9B;AACA,eAAKJ,QAAL,CAAc1Q,WAAd,GAA4B,KAAKgR,mBAAjC;AACA,eAAKN,QAAL,CAAcwB,KAAd,GAAsB,KAAK//C,KAA3B;;AACA,cAAG,KAAK3d,EAAL,GAAU,CAAb,EAAgB;AACZ,iBAAK47D,eAAL,CAAqBryD,MAArB,CAA4B,KAAK2yD,QAAjC,EACCn5D,SADD,CACW,UAAAC,MAAM,EAAI;AACjB,kBAAGA,MAAM,IAAI,IAAb,EAAkB;AACd,wBAAI,CAACtC,MAAL,CAAY0E,QAAZ,CAAqB,CAAC,uBAAD,CAArB;;AACA,wBAAI,CAACG,YAAL,CAAkB,QAAI,CAAC9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,oBAAvB,CAArD;AAEH,eAJD,MAKI;AACH,wBAAI,CAACD,UAAL,CAAgB,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAAhB,EAAiD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,YAAvB,CAAjD;AAEA;AACJ,aAXD;AAYH,WAbD,MAcI;AACA,iBAAKy4D,eAAL,CAAqBtyD,MAArB,CAA4B,KAAK4yD,QAAjC,EACCn5D,SADD,CACW,UAAAC,MAAM,EAAI;AACjB,kBAAGA,MAAM,IAAI,IAAb,EAAkB;AACd,wBAAI,CAACuC,YAAL,CAAkB,QAAI,CAAC9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,iBAAvB,CAArD;;AACA,wBAAI,CAACzC,MAAL,CAAY0E,QAAZ,CAAqB,CAAC,uBAAD,CAArB;AAEH,eAJD,MAKI;AACH,wBAAI,CAAClC,UAAL,CAAgB,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAAhB,EAAiD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,WAAvB,CAAjD;AAEA;AACJ,aAXD;AAYH;AAEJ;;;oCACQ;AAAA;;AACL;AACA,eAAK+4D,QAAL,GAAgB,KAAKh0D,IAAL,CAAUY,WAAV,EAAhB;AACA,eAAKozD,QAAL,CAAcl8D,EAAd,GAAmB,KAAKA,EAAxB;AACA,eAAKk8D,QAAL,CAAcuB,QAAd,GAAyB,KAAKnB,eAA9B;AACA,eAAKJ,QAAL,CAAc1Q,WAAd,GAA4B,KAAKgR,mBAAjC;AACA,eAAKN,QAAL,CAAcwB,KAAd,GAAsB,KAAK//C,KAA3B;;AACA,cAAG,KAAK3d,EAAL,GAAU,CAAb,EAAgB;AACZ,iBAAK47D,eAAL,CAAqBryD,MAArB,CAA4B,KAAK2yD,QAAjC,EACCn5D,SADD,CACW,UAAAC,MAAM,EAAI;AACjB,kBAAGA,MAAM,IAAI,IAAb,EAAkB;AACd,wBAAI,CAACuC,YAAL,CAAkB,QAAI,CAAC9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,oBAAvB,CAArD;;AACA,wBAAI,CAAC+4D,QAAL,GAAgB,IAAI,oEAAJ,EAAhB;AACD,wBAAI,CAACvoD,MAAL,GAAc,EAAd;AACA,wBAAI,CAAC2oD,eAAL,GAAuB,EAAvB;AACA,wBAAI,CAACE,mBAAL,GAA2B,EAA3B;AACC,wBAAI,CAAC7+C,KAAL,GAAa,EAAb;AACH,eAPD,MAQI;AACH,wBAAI,CAACza,UAAL,CAAgB,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAAhB,EAAiD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,YAAvB,CAAjD;AAEA;AACJ,aAdD;AAeH,WAhBD,MAiBI;AACA,iBAAKy4D,eAAL,CAAqBtyD,MAArB,CAA4B,KAAK4yD,QAAjC,EACCn5D,SADD,CACW,UAAAC,MAAM,EAAI;AACjB,kBAAGA,MAAM,IAAI,IAAb,EAAkB;AACd,wBAAI,CAACuC,YAAL,CAAkB,QAAI,CAAC9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,iBAAvB,CAArD;;AACA,wBAAI,CAAC+4D,QAAL,GAAgB,IAAI,oEAAJ,EAAhB;AACA,wBAAI,CAACvoD,MAAL,GAAc,EAAd;AACA,wBAAI,CAAC2oD,eAAL,GAAuB,EAAvB;AACA,wBAAI,CAACE,mBAAL,GAA2B,EAA3B;AACA,wBAAI,CAAC7+C,KAAL,GAAa,EAAb;AAEH,eARD,MASI;AACA,wBAAI,CAACza,UAAL,CAAgB,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAAhB,EAAiD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,WAAvB,CAAjD;AAEH;AACJ,aAfD;AAgBH;AAEJ;;;wCAEY;AACT,cAAIsxB,IAAI,GAAG,IAAI,+EAAJ,EAAX;AACAA,cAAI,CAAC8nC,UAAL,GAAkB,KAAKv8D,EAAvB;AACAy0B,cAAI,CAACC,OAAL,GAAe,KAAK/gB,MAApB;AACA8gB,cAAI,CAACz0B,EAAL,GAAU,CAAV;AACA,eAAK2d,KAAL,CAAW1Y,IAAX,CAAgBwvB,IAAhB;AACH;;;mCACUA,I,EAAI;AACX,cAAIrwB,CAAC,GAAG,KAAKuZ,KAAL,CAAW0E,OAAX,CAAmBoS,IAAnB,CAAR;;AACA,cAAGrwB,CAAC,GAAC,CAAC,CAAN,EAAQ;AACJ,iBAAKuZ,KAAL,CAAWxN,MAAX,CAAkB/L,CAAlB,EAAoB,CAApB;AACH;AACJ;;;yCAEa;AAAA;;AACV,cAAIsnD,SAAS,GAAG,KAAKxjD,IAAL,CAAU4lB,QAAV,CAAmB,mBAAnB,EAAwC3lB,KAAxD;AACA,eAAKyzD,eAAL,CAAqB2C,cAArB,CAAoC7S,SAApC,EACC3oD,SADD,CACW,UAAAC,MAAM,EAAE;AACfiX,mBAAO,CAACC,GAAR,CAAY,aAAZ,EAA0BlX,MAA1B;;AACA,gBAAIw7D,YAAY,GAAG,QAAI,CAAC1B,QAAL,CAAcl4D,SAAd,CAAwB,UAAAC,CAAC;AAAA,qBAAEA,CAAC,CAAC7E,EAAF,IAAQ0rD,SAAV;AAAA,aAAzB,CAAnB;;AACA,gBAAG8S,YAAY,GAAG,CAAC,CAAnB,EAAqB;AACjB,sBAAI,CAACnB,SAAL,GAAiB,QAAI,CAACP,QAAL,CAAc0B,YAAd,EAA4BC,oBAA5B,GAAmDz7D,MAApE;;AACA,sBAAI,CAACkF,IAAL,CAAU4lB,QAAV,CAAmB,QAAnB,EAA6BC,QAA7B,CAAsC,QAAI,CAACsvC,SAA3C;AAEH;AACJ,WATD;AAUH;;;sCAEU;AACP,cAAIrvC,MAAM,GAAG,KAAK9lB,IAAL,CAAU4lB,QAAV,CAAmB,QAAnB,EAA6B3lB,KAA1C;;AACA,cAAG6lB,MAAM,GAAG,KAAKqvC,SAAd,IAA2B,KAAKA,SAAL,GAAiB,CAA/C,EAAiD;AAC7C,iBAAKn1D,IAAL,CAAU4lB,QAAV,CAAmB,QAAnB,EAA6BC,QAA7B,CAAsC,KAAKsvC,SAA3C;AACH;AACJ;;;qCACY53D,W,EAAqBC,S,EAAiB;AAC/C,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBE,OADnB,EAC4B;AAAEC,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD5B;AAED;;;mCACUL,W,EAAqBC,S,EAAiB;AAC/C,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBjH,KADnB,EAC0B;AAAEoH,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD1B;AAED;;;;;;;uBA/YM41D,uB,EAAuB,4J,EAAA,qJ,EAAA,4J,EAAA,+H,EAAA,uH,EAAA,4I,EAAA,4H,EAAA,0J,EAAA,+I,EAAA,mI,EAAA,+L,EAAA,4J,EAAA,sI,EAAA,4I,EAAA,kM,EAAA,wL;AAAA,K;;;YAAvBA,uB;AAAuB,sC;AAAA,c;AAAA,a;AAAA,2lL;AAAA;AAAA;ACnCpC;;AAqBA;;AA2KA;;AACA;;AAEA;;AAoDA;;;;AAvPiC;;AAqBR;;AAAA;;AA8KP;;AAAA;;AAoD0B;;AAAA;;;;;;;;;;sEDpN/BA,uB,EAAuB;cALnC,uDAKmC;eALzB;AACPx1D,kBAAQ,EAAE,iBADH;AAEPC,qBAAW,EAAE,gCAFN;AAGPC,mBAAS,EAAE,CAAC,gCAAD;AAHJ,S;AAKyB,Q;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEjCpC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;;;;;;;;;ACDA;;AAC4F;AAAA;;AAAA;;AAAA,mCAAwB,IAAxB,EAA6B,KAA7B;AAAkC,SAAlC,EAAoC,iBAApC,EAAoC;AAAA;;AAAA;;AAAA,iBACxE,QAAAyG,WAAA,kBADwE;AAC3C,SADO,EAAoC,eAApC,EAAoC;AAAA;;AAAA;;AAAA;AAAA,SAApC,EAAoC,aAApC,EAAoC;AAAA;;AAAA;;AAAA,iBAE7G,QAAAA,WAAA,6DAAgE,MAAhE,CAF6G;AAEtC,SAFE;;AAG5F;;;;;;AAJuC,8JAAgC,cAAhC,EAAgC,+BAAhC,EAAgC,gBAAhC,EAAgC,iCAAhC,EAAgC,aAAhC,EAAgC,kBAAhC,EAAgC,YAAhC,EAAgC,IAAhC;;;;;;AAqBf;;AAAoD;;;;AAAqD;;;;;;AAArD;;AAAA;;;;;;AACpD;;AAA+E;;;;AAAyD;;;;;;AAAzD;;AAAA;;;;;;AAC/E;;AAAqD;;;;AAA4B;;;;AAA5B;;AAAA;;;;;;AACrD;;AAAqD;;;;AAA4B;;;;AAA5B;;AAAA;;;;;;AAL7D;;AACI;;AACI;;AACA;;AACA;;AACA;;AACA;;AACJ;;AACJ;;;;;;AANe;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;;;AAIf;;AAEI;;AACI;;AAAqD;;;;AAA2C;;AACpG;;AACA;;AACJ;;;;;;AAH6D;;AAAA;;;;;;;;AAiB7E;;AACI;;AAAG;AAAA;;AAAA;;AAAA,yCAAuB,OAAvB;AAA8B,SAA9B;;AAAgC;;AAAI;;AAC3C;;;;;;;;AAgC4C;;AAGI;;AAAoB;;AACZ;;AAEI;AAAA;;AAAA;;AAAA,iBAAS,QAAAA,WAAA,cAAyB,UAAzB,CAAT;AAA6C,SAA7C;;AACsF;;;;AAE3E;;AAAS;;AAAI;;AACxC;;;;;;AAHgB;;AAAA;;AAAsF;;AAAA;;;;;;;;AA+DlG;;AACI;;AACI;AAAA;;AAAA;;AAAA;;AAAA,iBAAS,QAAAA,WAAA,wBAA+B,CAA/B,CAAT;AAA0C,SAA1C;;AAA4C;;AAAQ;;AAAI;;;;;;;;AADzD;;AAAA;;AAC6C;;AAAA;;;;;;AAJxD;;AAEI;;AAGJ;;;;;;AAHwB;;AAAA;;;;;;;;AAUpC;;AACI;;AACI;;AAEI;;AAEI;AAAA;;AAAA;;AAAA;;AAAA,iBAAU,QAAAA,WAAA,kBAAV;AAAmC,SAAnC;;AAFJ;;AAGA;;AACJ;;AACJ;;AACA;;AAAgB;;AAAY;;AAC5B;;AAAgB;;;;AAA8B;;AAC9C;;AAAgB;;AAAc;;AAE9B;;AACI;;AAA4B;AAAA;;AAAA;;AAAA;;AAAA,+CAA2B,MAA3B;AAAiC,SAAjC;;;;AAEqB;;AACrD;;AACA;;AACI;;AAA8B;AAAA;;AAAA;;AAAA;;AAAA,+CAA2B,MAA3B;AAAiC,SAAjC;;;;AAEmB;;AACrD;;AACA;;AACI;;AAA6B;AAAA;;AAAA;;AAAA;;AAAA,iBAAS,QAAAA,WAAA,yBAAT;AAAyC,SAAzC;;;;AAEoB;;AACrD;;AACJ;;;;;;;;;AAzBgE;;AAAA,8FAAsB,SAAtB,EAAsB,sCAAtB;;AAGhB;;AAAA;;AAG5B;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAIR;;AAAA;;AAKA;;AAAA;;AAKA;;AAAA;;;;;;AAqDxC;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AAIA;;;;;;;;;;;;;;;;;;QD9OS6xD,iB;AAST,iCAAoBr+D,WAApB,EAAsDC,YAAtD,EAA6FC,QAA7F,EACUC,aADV,EACuDC,SADvD,EAEWi1C,QAFX,EAGWh1C,MAHX,EAG0B;AAAA;;AAHN,aAAAL,WAAA,GAAAA,WAAA;AAAkC,aAAAC,YAAA,GAAAA,YAAA;AAAuC,aAAAC,QAAA,GAAAA,QAAA;AACnF,aAAAC,aAAA,GAAAA,aAAA;AAA6C,aAAAC,SAAA,GAAAA,SAAA;AAC5C,aAAAi1C,QAAA,GAAAA,QAAA;AACA,aAAAh1C,MAAA,GAAAA,MAAA,CAAe,CAX1B;AACA;AACA;AACA;AAEA;;AACA,aAAA+b,SAAA,GAAqB,KAArB;AAQA,aAAAkiD,UAAA,GAAa,IAAI,4HAAJ,EAAb;AAEA,aAAA9xD,WAAA,GAAc,IAAI,+DAAJ,CAAgB,KAAKpM,SAArB,EAAgC,KAAKD,aAArC,CAAd;AACA,aAAAG,aAAA,GAAqB,OAArB;AACA,aAAAyM,SAAA,GAAiB,IAAjB;AAEA,aAAAxM,eAAA,GAA0B,UAA1B;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,cAAA,GAAiB,CAAC,IAAD,CAAjB;AAEA,aAAAC,WAAA,GAA6B,IAAI,oEAAJ,EAA7B;AAEA,aAAAC,MAAA,GAA0B,EAA1B;AACA,aAAAC,QAAA,GAAsB,IAAI,wDAAJ,CAAc,EAAd,CAAtB;AAKA,aAAAI,aAAA,GAAgB,EAAhB;AACA,aAAAa,SAAA,GAAY,CAAZ;AACA,aAAAD,WAAA,GAAc,CAAd;AACA,aAAAK,YAAA,GAAsB,EAAtB;AACA,aAAAigD,QAAA,GAAe,EAAf;AACA,aAAArnC,SAAA,GAAgB,EAAhB;AACA,aAAAg9B,KAAA,GAAY,EAAZ;AAC6C,aAAAnvC,YAAA,GAAmC,IAAnC;AACJ,aAAA1D,QAAA,GAAyB,IAAzB;AACE,aAAAgI,UAAA,GAA4B,IAA5B;AAiC3C,aAAAm6C,QAAA,GAAW,CAAX;AAsBA,aAAAoX,WAAA,GAAY,EAAZ,CAtF0B,CAkH1B;;AACA,aAAAC,cAAA,GAAiB,KAAjB,CAnH0B,CA6H1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,aAAAniD,UAAA,GAAmB,IAAnB;AACA,aAAAC,QAAA,GAAgB,IAAhB;AAOA,aAAArP,UAAA,GAAa,EAAb;AAYA,aAAAwxD,yBAAA,GAA4B,CAA5B;AAEA,aAAArsC,YAAA,GAAe,CAAf,CA9J0B,CAwL1B;;AAEA,aAAA7V,WAAA,GAAc,MAAd;AAOA,aAAAmiD,gBAAA,GAAmB,EAAnB;AAEA,aAAAjiD,SAAA,GAAY,EAAZ;AACA,aAAAC,UAAA,GAAsB,IAAtB;AACA,aAAAF,UAAA,GAAsB,IAAtB;AAnMC;;;;mCA+BO;AAEN,cAAI,KAAKJ,SAAT,EAAoB;AAClB,iBAAKuiD,wBAAL;AACD;;AAED,eAAKx8D,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACA,eAAKoD,SAAL,GAAiB;AAAEC,iBAAK,EAAE,MAAT;AAAiBC,oBAAQ,EAAE;AAA3B,WAAjB;AACA,eAAK9B,YAAL,GAAoB,CAClB;AAAE6B,iBAAK,EAAE,MAAT;AAAiBC,oBAAQ,EAAE;AAA3B,WADkB,EAElB;AAAED,iBAAK,EAAE,MAAT;AAAiBC,oBAAQ,EAAE;AAA3B,WAFkB,EAGlB;AAAED,iBAAK,EAAE,QAAT;AAAmBC,oBAAQ,EAAE;AAA7B,WAHkB,CAApB;AAMA,eAAKkK,WAAL,CAAiBwB,eAAjB,CAAiC,KAAKrN,MAAtC,EAA8C,KAAKV,YAAnD,EAAiE,KAAKS,WAAtE,EACE,KAAKD,cADP,EACuB,KAAKD,YAD5B,EAC0C,KAAKI,QAD/C,EACyD,KAAKL,eAD9D,EAC+E,KAAK6B,SADpF,EAEE,KAAKsG,YAFP,EAEqB,KAAK1D,QAF1B,EAEoC,KAAKgI,UAFzC,EAEqD,KAAK7K,IAF1D;AAKA,eAAK4L,YAAL;AACD;;;mDAG0B,CACzB;AACA;AACA;AACA;AACA;AACD;;;kCAGSpO,E,EAAIsO,M,EAAQ;AACpB;;AACA,cAAIA,MAAM,KAAK,KAAf,EAAsB;AACpB,iBAAK5N,MAAL,CAAY0E,QAAZ,CAAqB,CAAC,gCAAD,CAArB;AAED,WAHD,MAIK,IAAIkJ,MAAM,KAAK,MAAf,EAAuB;AAC1B,iBAAK5N,MAAL,CAAY0E,QAAZ,CAAqB,CAAC,8BAAD,EAAgCpF,EAAhC,CAArB;AACD,WAFI,MAGA,IAAIsO,MAAM,KAAK,MAAf,EAAuB;AAC1B,iBAAK5N,MAAL,CAAY0E,QAAZ,CAAqB,CAAC,8BAAD,EAAgCpF,EAAhC,CAArB;AACD;;AACD,eAAKoN,SAAL,GAAiB,KAAjB;AACA,eAAKrM,WAAL,GAAmB,KAAK8L,WAAL,CAAiB9L,WAApC;AACA,eAAKE,QAAL,GAAgB,KAAK4L,WAAL,CAAiB5L,QAAjC;AACAgZ,iBAAO,CAACC,GAAR,CAAa5L,MAAM,GAAG,SAAtB,EAAkC,KAAKvN,WAAvC;AAGAkZ,iBAAO,CAACC,GAAR,CAAY,iCAAZ,EAA+C,KAAKnZ,WAApD;AACD,S,CAID;AACA;AACA;;;;uCACe;AACb,eAAKmB,SAAL,GAAiB,KAAKD,WAAtB,CADa,CAEb;;AACA,eAAKZ,aAAL,GAAqB,SAArB;AACA,eAAKwB,mBAAL;AACD,S,CAED;;;;8CACsB;AAAA;;AACpB,eAAKvC,YAAL,CAAkBwC,UAAlB,CAA6B,KAAK+J,WAAL,CAAiBvK,YAA9C,EAA4DS,SAA5D,CAAsE,UAAAC,MAAM,EAAI;AAC9E,gBAAIA,MAAM,KAAK,IAAX,IAAmBA,MAAM,GAAG,CAAhC,EAAmC;AACjC,sBAAI,CAAC6J,WAAL,CAAiBjK,QAAjB;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAACwL,WAAL,CAAiB5J,gBAAjB;AACD,aAJD,MAKK;AACH,sBAAI,CAAC4J,WAAL,CAAiB3J,UAAjB,CAA4B,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAA5B,EAA6D,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,cAAvB,CAA7D;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAVD;AAWD;;;oCAKW;AACV,cAAG,EAAE,KAAKmmD,QAAL,GAAgB,CAAlB,CAAH,EAAwB;AACtB,iBAAKqX,cAAL,GAAsB,KAAtB;AACA5kD,mBAAO,CAACC,GAAR,CAAY,UAAZ,EAAwB,KAAKstC,QAA7B;AAEA,mBAAO,KAAKqX,cAAZ;AACD;;AACD,iBAAO,KAAKA,cAAZ;AACD;;;sCAea;AACZ,eAAKniD,UAAL,GAAiB,IAAjB;AACA,eAAKC,QAAL,GAAgB,IAAhB;AACD;;;uCAMc;AACb,eAAKtb,aAAL,GAAqB,SAArB;AACA,eAAKwL,WAAL,CAAiBjK,QAAjB;AAID,S,CAMD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;uCACewN,O,EAAS;AACtB,eAAKsM,UAAL;AACA,eAAKC,QAAL;AAGA,eAAK9P,WAAL,CAAiBwD,UAAjB,CAA4B,KAAKxD,WAAL,CAAiByD,OAAjB,CAAyBF,OAAzB,CAA5B;AACA,eAAK3N,SAAL,GAAiB,KAAKoK,WAAL,CAAiBpK,SAAlC;AACD;;;yCAEgB0a,U,EAAe;AAC9B,cAAIC,SAAS,GAAaD,UAAU,CAACE,QAAX,GAAsBC,KAAtB,CAA4B,GAA5B,CAA1B;AAEA,iBAAO,IAAIjW,IAAJ,CAAS+V,SAAS,CAAC,CAAD,CAAlB,EAAuBA,SAAS,CAAC,CAAD,CAAT,GAAa,CAApC,EAAuCA,SAAS,CAAC,CAAD,CAAhD,CAAP;AACD;;;0CAIiBG,I,EAAI;AACpB,eAAKX,WAAL,GAAmBW,IAAnB;AACD;;;2CACkBC,O,EAAe;AAChC,eAAK3Q,WAAL,CAAiBlJ,YAAjB,CAA8B6Z,OAA9B,EAAuC,CAAvC;AACD;;;0CAMc;AACX,eAAK3Q,WAAL,CAAiBgR,qBAAjB,CAAuC,KAAKnB,UAA5C,EAAuD,KAAKC,QAA5D,EAAqE,KAAKG,SAAL,IAAgB,EAAhB,GAAmB,MAAnB,GAA0B,KAAKA,SAApG;AACA7C,iBAAO,CAACC,GAAR,CAAY,iBAAZ,EAA8B,KAAKwC,UAAnC;AACD;;;0CACc;AACb,eAAK7P,WAAL,CAAiBrJ,UAAjB;AACD;;;yCAEa;AACZ,eAAKqJ,WAAL,CAAiBiR,YAAjB,CAA8B,UAA9B;AACD;;;;;;;uBA5NM4gD,iB,EAAiB,2H,EAAA,2I,EAAA,wH,EAAA,4I,EAAA,qI,EAAA,yH,EAAA,uH;AAAA,K;;;YAAjBA,iB;AAAiB,+B;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;ACjB9B;;AAMA;;AACI;;AACI;;AACI;;AAAkE;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAAwB,WAAxB;;AAE9D;;AAAyB;;AAAO;;AACpC;;AACA;;AACI;;AACI;;;;AACW;;AACnB;;AACA;;AACI;;AASA;;AAQA;;AACI;;AAA2D;AAAA,mBAAS,IAAAz4D,YAAA,EAAT;AAAuB,WAAvB;;AAEK;;;;AAAwB;;AACxF;;AAA8B;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAAwB,WAAxB;;AACoD;;;;AACnE;;AACnB;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AAIA;;AACI;;AAEI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AAEI;;AAGI;AAAA,mBAAU,IAAA4G,WAAA,kBAAV;AAAuC,WAAvC;;AAHJ;;AAII;;AAAmC;;AAAM;;AACjD;;AACJ;;AACA;;AAMI;;AACJ;;AACA;;AAWJ;;AACJ;;AACJ;;AAEA;;AAAqB;AAAA,mBAAS,IAAAoyD,cAAA,CAAe,MAAf,CAAT;AAA+B,WAA/B;;AAEjB;;AAKJ;;AACA;;AAAuB;AAAA,mBAAS,IAAAA,cAAA,CAAe,MAAf,CAAT;AAA+B,WAA/B;;AAEnB;;;;AACJ;;AAGA;;AAAqB;AAAA,mBAAS,IAAAA,cAAA,CAAe,MAAf,CAAT;AAA+B,WAA/B;;AAEjB;;AAKJ;;AACA;;AAAuB;AAAA,mBAAS,IAAAA,cAAA,CAAe,MAAf,CAAT;AAA+B,WAA/B;;AAEvB;;;;AACJ;;AACA;;AAAqB;AAAA,mBAAS,IAAAA,cAAA,CAAe,QAAf,CAAT;AAAiC,WAAjC;;AAErB;;AAKJ;;AACA;;AAAuB;AAAA,mBAAS,IAAAA,cAAA,CAAe,QAAf,CAAT;AAAiC,WAAjC;;AAEvB;;;;AACJ;;AAEY;;AAGI;;AAEI;;AACI;;;;AACJ;;AACA;;AACI;;AAGI;;AACJ;;AACA;;AAMJ;;AACJ;;AAEJ;;AACJ;;AACA;;AACI;;AA8BJ;;AACJ;;AAEA;;AACI;;AAKI;;AAGI;;AACI;;AACwB;AAAA;AAAA,aAAyB,aAAzB,EAAyB;AAAA,mBAKhB,IAAApyD,WAAA,mBALgB;AAKc,WALvC;;AAMxB;;AACJ;;AACJ;;AACJ;;AACJ;;AAGJ;;AACJ;;AAEJ;;AACJ;;AACJ;;AAEA;;AAEI;;AAA6E;;AAAM;;AAGnF;;AAA0E;;AAAM;;AAEpF;;AACJ;;AAEA;;AAIA;;AAKA;;AAKA;;AAIA;;;;;;;;;;;;AA9PsB;;AAeF;;AAAA;;AAIiC;;AAAA;;AAS4B;;AAAA;;AAWG;;AAAA;;AAEkB;;AAAA;;AAOhG;;AAAA;;AAoBkD;;AAAA,4HAAkD,eAAlD,EAAkD,kDAAlD;;AAQR;;AAAA;;AAsBZ;;AAAA;;AAEI;;AAAA;;AAMJ;;AAAA;;AACA;;AAAA;;AAKA;;AAAA;;AAEI;;AAAA;;AAMR;;AAAA;;AACA;;AAAA;;AAGJ;;AAAA;;AAEI;;AAAA;;AAMR;;AAAA;;AACA;;AAAA;;AAGY;;AAAA;;AAMQ;;AAAA;;AAMI;;AAAA;;AAcZ;;AAAA;;AA4C4B;;AAAA,+FAAyB,eAAzB,EAAyB,IAAzB,EAAyB,YAAzB,EAAyB,mCAAzB,EAAyB,cAAzB,EAAyB,4BAAzB,EAAyB,qBAAzB,EAAyB,IAAzB,EAAyB,oBAAzB,EAAyB,IAAzB,EAAyB,wBAAzB,EAAyB,IAAzB,EAAyB,oBAAzB,EAAyB,GAAzB,EAAyB,SAAzB,EAAyB,CAAzB;;;;;;;;;;sED7LnD6xD,iB,EAAiB;cAL7B,uDAK6B;eALnB;AACPx4D,kBAAQ,EAAE,UADH;AAEPC,qBAAW,EAAE,yBAFN;AAGPC,mBAAS,EAAE,CAAC,yBAAD;AAHJ,S;AAKmB,Q;;;;;;;;;;;;;;;;;;gBAgBzB,uD;iBAAU,Q;;;gBAyBV,uD;iBAAU,c,EAAgB;AAAE,sBAAQ;AAAV,W;;;gBAC1B,uD;iBAAU,U,EAAY;AAAE,sBAAQ;AAAV,W;;;gBACtB,uD;iBAAU,Y,EAAc;AAAE,sBAAQ;AAAV,W;;;;;;;;;;;;;;;;;;;;AE7D7B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACI4B;;AAAqB;;;;AAA+B;;;;AAA/B;;AAAA;;;;;;;;;;;;;;AAD7C;;AAA0G;AAAA;;AAAA;;AAAA;AAAA;;AACxG;;AAAsB;;AAA2D;;AACnF;;;;;;AAFmE,uKAAsC,UAAtC,EAAsC,sBAAtC;;AACrC;;AAAA;;;;;;AAE9B;;;;;;AAAmD;;;;QDK1C84D,2B;AAcT,2CAAoBz+D,SAApB,EAAyDD,aAAzD,EAA8F;AAAA;;AAAA;;AAA1E,aAAAC,SAAA,GAAAA,SAAA;AAAqC,aAAAD,aAAA,GAAAA,aAAA;AAZlD,aAAAo0B,WAAA,GAAc,KAAd;AAGA,aAAAC,QAAA,GAAW,KAAX;AAGA,aAAAC,GAAA,GAAM,EAAN;AAGA,aAAAC,SAAA,GAAY,IAAI,0DAAJ,EAAZ;AAIH,aAAKvyB,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AAEF,aAAK21B,eAAL,GAAuB,IAAI,4DAAJ,CAAiB;AACtCF,aAAG,EAAE,yEAAY51B,UAAZ,GAAuB,+BADU;AAEtC+1B,0BAAgB,EAAE,KAFoB;AAGtCC,oBAAU,EAAE;AAH0B,SAAjB,CAAvB;AAMA,aAAKF,eAAL,CAAqBG,QAArB,CAA8BpyB,SAA9B,CAAwC,UAAAqyB,GAAG,EAAI;AAC7C;AACA,cAAGA,GAAG,IAAI,IAAP,IAAeA,GAAG,IAAI,EAAtB,IAA4BA,GAAG,IAAIlmB,SAAtC,EAAgD;AAChD,oBAAI,CAAC4lB,GAAL,GAAW,yEAAYO,MAAZ,GAAoB,qCAApB,GAA4Dp1B,IAAI,CAACq1B,KAAL,CAAWF,GAAX,CAAvE;;AACA,oBAAI,CAACL,SAAL,CAAe/V,IAAf,CAAoB,QAAI,CAAC8V,GAAzB;AACC,WAHD,MAII;AACA,oBAAI,CAACvvB,YAAL,CAAkB,QAAI,CAAC9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAAlB,EAAqD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,eAAvB,CAArD;AACH;AACD,SATF,EASG,UAAAzD,KAAK,EAAG;AACT,kBAAI,CAACwD,UAAL,CAAgB,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAAhB,EAAiD,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,cAAvB,CAAjD;AACA,SAXF;AAYD;;;;iCAEe3E,C,EAAM;AAEpB,eAAKo2B,WAAL,GAAmBp2B,CAAnB;AACD;;;mCAEU,CAEV;;;qCACYiH,W,EAAqBC,S,EAAiB;AAC/C,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBE,OADnB,EAC4B;AAAEC,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD5B;AAED;;;mCACUL,W,EAAqBC,S,EAAiB;AAC/C,eAAKlF,aAAL,CAAmBmF,MAAnB,CAA0BF,WAA1B,EAAuCC,SAAvC,EACE,wEAAiBjH,KADnB,EAC0B;AAAEoH,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAD1B;AAED;;;;;;;uBApDMo5D,2B,EAA2B,qI,EAAA,4I;AAAA,K;;;YAA3BA,2B;AAA2B,2C;AAAA;AAAA;AAAA;AAAA,O;AAAA;AAAA;AAAA,O;AAAA,c;AAAA,a;AAAA,qf;AAAA;AAAA;ACXxC;;AAGI;;AAGA;;AACF;;;;AAJS;;AAAA;;AAGA;;AAAA;;;;;;;;;;sEDKEA,2B,EAA2B;cALvC,uDAKuC;eAL7B;AACPh5D,kBAAQ,EAAE,sBADH;AAEPC,qBAAW,EAAE,qCAFN;AAGPC,mBAAS,EAAE,CAAC,qCAAD;AAHJ,S;AAK6B,Q;;;;;;;;gBAInC;;;gBAGA;;;gBAGA;;;;;;;;;;;;;;;;;;;;AErBL;AAAA;;;AAAA;AAAA;AAAA;;QAAa+4D,qB,GAMT,+BAAYr6D,IAAZ,EAAyC;AAAA;;AACrCA,UAAI,GAAGA,IAAI,GAAGA,IAAH,GAAU,EAArB;AACA,WAAK9E,EAAL,GAAU8E,IAAI,CAAC9E,EAAL,GAAU8E,IAAI,CAAC9E,EAAf,GAAoB,CAA9B;AACA,WAAK82D,SAAL,GAAiBhyD,IAAI,CAACgyD,SAAL,GAAiBhyD,IAAI,CAACgyD,SAAtB,GAAkC,CAAnD;AACA,WAAKyF,UAAL,GAAkBz3D,IAAI,CAACy3D,UAAL,GAAkBz3D,IAAI,CAACy3D,UAAvB,GAAoC,CAAtD;AACA,WAAKjvC,MAAL,GAAcxoB,IAAI,CAACwoB,MAAL,GAAcxoB,IAAI,CAACwoB,MAAnB,GAA4B,CAA1C;AACA,WAAKliB,WAAL,GAAmBtG,IAAI,CAACsG,WAAL,GAAmBtG,IAAI,CAACsG,WAAxB,GAAsC,EAAzD;AACH,K;;;;;;;;;;;;;;;;;ACbL;AAAA;;;AAAA;AAAA;AAAA;;QAAag0D,uB,GAMT,iCAAYt6D,IAAZ,EAA2C;AAAA;;AACvCA,UAAI,GAAGA,IAAI,GAAGA,IAAH,GAAU,EAArB;AACA,WAAK9E,EAAL,GAAU8E,IAAI,CAAC9E,EAAL,GAAU8E,IAAI,CAAC9E,EAAf,GAAoB,CAA9B;AACA,WAAKytD,YAAL,GAAoB3oD,IAAI,CAAC2oD,YAAL,GAAoB3oD,IAAI,CAAC2oD,YAAzB,GAAwC,CAA5D;AACA,WAAKE,OAAL,GAAe7oD,IAAI,CAAC6oD,OAAL,GAAe7oD,IAAI,CAAC6oD,OAApB,GAA8B,CAA7C;AACA,WAAKrgC,MAAL,GAAcxoB,IAAI,CAACwoB,MAAL,GAAcxoB,IAAI,CAACwoB,MAAnB,GAA4B,CAA1C;AACA,WAAKivC,UAAL,GAAkBz3D,IAAI,CAACy3D,UAAL,GAAkBz3D,IAAI,CAACy3D,UAAvB,GAAoC,CAAtD;AACH,K;;;;;;;;;;;;;;;;;ACbL;AAAA;;;AAAA;AAAA;AAAA;;QAAa8C,kB,GAIT,4BAAYv6D,IAAZ,EAAsC;AAAA;;AAClCA,UAAI,GAAGA,IAAI,GAAGA,IAAH,GAAU,EAArB;AACA,WAAK9E,EAAL,GAAU8E,IAAI,CAAC9E,EAAL,GAAU8E,IAAI,CAAC9E,EAAf,GAAoB,CAA9B;AACA,WAAKu8D,UAAL,GAAkBz3D,IAAI,CAACy3D,UAAL,GAAkBz3D,IAAI,CAACy3D,UAAvB,GAAoC,CAAtD;AACA,WAAK7nC,OAAL,GAAe5vB,IAAI,CAAC4vB,OAAL,GAAe5vB,IAAI,CAAC4vB,OAApB,GAA8B,EAA7C;AACH,K;;;;;;;;;;;;;;;;;ACLL;AAAA;;;AAAA;AAAA;AAAA;;QAAa4qC,a,GAuBX,uBAAYx6D,IAAZ,EAAiC;AAAA;;AAC/BA,UAAI,GAAGA,IAAI,GAAGA,IAAH,GAAU,EAArB;AACA,WAAK9E,EAAL,GAAuB8E,IAAI,CAAC9E,EAAL,GAAuB8E,IAAI,CAAC9E,EAA5B,GAA8C,CAArE;AACA,WAAKstB,MAAL,GAAuBxoB,IAAI,CAACwoB,MAAL,GAAuBxoB,IAAI,CAACwoB,MAA5B,GAA8C,CAArE;AACA,WAAK8wC,iBAAL,GAAyBt5D,IAAI,CAACs5D,iBAAL,GAAyBt5D,IAAI,CAACs5D,iBAA9B,GAAkD,CAA3E;AACA,WAAK5wC,UAAL,GAAuB1oB,IAAI,CAAC0oB,UAAL,GAAuB1oB,IAAI,CAAC0oB,UAA5B,GAA8C,CAArE;AACA,WAAKroB,IAAL,GAAuBL,IAAI,CAACK,IAAL,GAAuBL,IAAI,CAACK,IAA5B,GAA8C,CAArE;AACA,WAAK2xD,SAAL,GAAuBhyD,IAAI,CAACgyD,SAAL,GAAuBhyD,IAAI,CAACgyD,SAA5B,GAA8C,CAArE;AACA,WAAKoH,QAAL,GAAuBp5D,IAAI,CAACo5D,QAAL,GAAuBp5D,IAAI,CAACo5D,QAA5B,GAA8C,CAArE;AACA,WAAK72D,IAAL,GAAuBvC,IAAI,CAACuC,IAAL,GAAuBvC,IAAI,CAACuC,IAA5B,GAA8C,IAAIA,IAAJ,EAArE;AACA,WAAKs2D,YAAL,GAAuB74D,IAAI,CAAC64D,YAAL,GAAuB74D,IAAI,CAAC64D,YAA5B,GAA8C,CAArE;AACA,WAAK9gC,UAAL,GAAuB/3B,IAAI,CAAC+3B,UAAL,GAAuB/3B,IAAI,CAAC+3B,UAA5B,GAA8C,CAArE;AACA,WAAKiwB,KAAL,GAAuBhoD,IAAI,CAACgoD,KAAL,GAAuBhoD,IAAI,CAACgoD,KAA5B,GAA8C,CAArE;AACA,WAAK8Q,QAAL,GAAuB94D,IAAI,CAAC84D,QAAL,GAAuB94D,IAAI,CAAC84D,QAA5B,GAA8C,CAArE;AACA,WAAKO,YAAL,GAA2Br5D,IAAI,CAACq5D,YAAL,GAA2Br5D,IAAI,CAACq5D,YAAhC,GAAsD,CAAjF;AACA,WAAKN,OAAL,GAAuB/4D,IAAI,CAAC+4D,OAAL,GAAuB/4D,IAAI,CAAC+4D,OAA5B,GAA8C,KAArE;AACA,WAAKC,eAAL,GAAuBh5D,IAAI,CAACg5D,eAAL,GAAuBh5D,IAAI,CAACg5D,eAA5B,GAA8C,KAArE;AACA,WAAKC,UAAL,GAAuBj5D,IAAI,CAACi5D,UAAL,GAAuBj5D,IAAI,CAACi5D,UAA5B,GAA8C,KAArE;AACA,WAAKC,YAAL,GAAuBl5D,IAAI,CAACk5D,YAAL,GAAuBl5D,IAAI,CAACk5D,YAA5B,GAA8C,EAArE;AACA,WAAKC,UAAL,GAAuBn5D,IAAI,CAACm5D,UAAL,GAAuBn5D,IAAI,CAACm5D,UAA5B,GAA8C,IAAI52D,IAAJ,EAArE;AACA,WAAKq2D,KAAL,GAAqB54D,IAAI,CAAC44D,KAAL,GAAqB54D,IAAI,CAAC44D,KAA1B,GAA0C,EAA/D;AACA,WAAKtyD,WAAL,GAAuBtG,IAAI,CAACsG,WAAL,GAAuBtG,IAAI,CAACsG,WAA5B,GAA8C,EAArE;AACA,WAAKqyD,QAAL,GAAuB34D,IAAI,CAAC24D,QAAL,GAAuB34D,IAAI,CAAC24D,QAA5B,GAA8C,EAArE;AACA,WAAKjS,WAAL,GAAuB1mD,IAAI,CAAC0mD,WAAL,GAAuB1mD,IAAI,CAAC0mD,WAA5B,GAA8C,EAArE;AACD,K;;;;;;;;;;;;;;;;;ACnDH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAWaoQ,e;AACT,+BAAoB58D,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAIpB,aAAAC,OAAA,GAAU,yEAAYC,UAAtB;AACC,aAAAC,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AAJA;;;;iCAYK;AAEJ,iBAAO,KAAKH,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,gCACgD,KAAKK,WADrD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCACOZ,E,EAAS;AAEf,iBAAO,KAAKE,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,wCACkDH,EADlD,GACuD,KAAKQ,WAD5D,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;sCACU;AACT,iBAAO,KAAKV,IAAL,CACJQ,GADI,WACW,KAAKP,OADhB,qCACwD,KAAKK,WAD7D,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BAEMI,O,EAAsB;AAE3B,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,gCACkDa,OADlD,EAC0D,KAAKR,WAD/D,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BAEMI,O,EAAsB;AAC3B,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,gCACkDa,OADlD,EAC0D,KAAKR,WAD/D,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCAEMI,O,EAAsB;AACzB,iBAAO,KAAKd,IAAL,CACNe,IADM,WACO,KAAKd,OADZ,gCACgDa,OADhD,EACwD,KAAKR,WAD7D,EAENG,IAFM,CAED,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFC,CAAP;AAGH;;;uCAEcgsD,S,EAAgB;AAE7B,iBAAO,KAAK1sD,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,+CACyDysD,SADzD,GACqE,KAAKpsD,WAD1E,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;mCACUI,O,EAAyB;AAClC,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,oCACqDgB,IAAI,CAACC,SAAL,CAAeJ,OAAf,CADrD,EAC6E,KAAKR,WADlF,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;;;;;uBA9DQk8D,e,EAAe,uH;AAAA,K;;;aAAfA,e;AAAe,eAAfA,eAAe,K;AAAA,kBAFd;;;;;sEAEDA,e,EAAe;cAH3B,wDAG2B;eAHhB;AACVz7D,oBAAU,EAAE;AADF,S;AAGgB,Q;;;;;;;;;;;;;;;;;;;;;;ACV5B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAAao/D,mB,GAWT,6BAAY10D,GAAZ,EAAoC;AAAA;;AAChCA,SAAG,GAAGA,GAAG,GAAEA,GAAF,GAAM,EAAf;AACA,WAAK7K,EAAL,GAAU6K,GAAG,CAAC7K,EAAJ,GAAQ6K,GAAG,CAAC7K,EAAZ,GAAe,CAAzB;AACA,WAAKqH,IAAL,GAAYwD,GAAG,CAACxD,IAAJ,GAAUwD,GAAG,CAACxD,IAAd,GAAmB,IAAIA,IAAJ,EAA/B;AACA,WAAK2xB,aAAL,GAAqBnuB,GAAG,CAACmuB,aAAJ,GAAmBnuB,GAAG,CAACmuB,aAAvB,GAAqC,CAA1D;AACA,WAAKwmC,UAAL,GAAkB30D,GAAG,CAAC20D,UAAJ,GAAgB30D,GAAG,CAAC20D,UAApB,GAA+B,CAAjD;AACA,WAAKC,WAAL,GAAmB50D,GAAG,CAAC40D,WAAJ,GAAiB50D,GAAG,CAAC40D,WAArB,GAAiC,CAApD;AACA,WAAKC,YAAL,GAAoB70D,GAAG,CAAC60D,YAAJ,GAAkB70D,GAAG,CAAC60D,YAAtB,GAAmC,CAAvD;AAEA,WAAKC,wBAAL,GAAgC90D,GAAG,CAAC80D,wBAAJ,GAA8B90D,GAAG,CAAC80D,wBAAlC,GAA2D,EAA3F;AACA,WAAKvmC,QAAL,GAAgBvuB,GAAG,CAACuuB,QAAJ,GAAcvuB,GAAG,CAACuuB,QAAlB,GAA2B,KAA3C;AAEH,K;;QAEQwmC,yB,GAOT,mCAAY/0D,GAAZ,EAA0C;AAAA;;AACtCA,SAAG,GAAGA,GAAG,GAAEA,GAAF,GAAM,EAAf;AACA,WAAK7K,EAAL,GAAU6K,GAAG,CAAC7K,EAAJ,GAAQ6K,GAAG,CAAC7K,EAAZ,GAAe,CAAzB;AACA,WAAK6/D,cAAL,GAAsBh1D,GAAG,CAACg1D,cAAJ,GAAoBh1D,GAAG,CAACg1D,cAAxB,GAAuC,CAA7D;AACA,WAAKC,KAAL,GAAaj1D,GAAG,CAACi1D,KAAJ,GAAWj1D,GAAG,CAACi1D,KAAf,GAAqB,CAAlC;AACA,WAAKC,MAAL,GAAcl1D,GAAG,CAACk1D,MAAJ,GAAYl1D,GAAG,CAACk1D,MAAhB,GAAuB,CAArC;AACH,K;;QAGQC,iC,GAOT,2CAAYn1D,GAAZ,EAAkD;AAAA;;AAC9CA,SAAG,GAAGA,GAAG,GAAEA,GAAF,GAAM,EAAf;AACA,WAAK7K,EAAL,GAAU6K,GAAG,CAAC7K,EAAJ,GAAQ6K,GAAG,CAAC7K,EAAZ,GAAe,CAAzB;AACA,WAAKiJ,MAAL,GAAc4B,GAAG,CAAC5B,MAAJ,GAAY4B,GAAG,CAAC5B,MAAhB,GAAuB,EAArC;AACA,WAAK/H,MAAL,GAAc2J,GAAG,CAAC3J,MAAJ,GAAY2J,GAAG,CAAC3J,MAAhB,GAAuB,EAArC;AACA,WAAK4+D,KAAL,GAAaj1D,GAAG,CAACi1D,KAAJ,GAAWj1D,GAAG,CAACi1D,KAAf,GAAqB,CAAlC;AACA,WAAKC,MAAL,GAAcl1D,GAAG,CAACk1D,MAAJ,GAAYl1D,GAAG,CAACk1D,MAAhB,GAAuB,CAArC;AACH,K;;;;;;;;;;;;;;;;;ACxDL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAWaE,qB;AACT,qCAAoBjhE,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAIpB,aAAAC,OAAA,GAAU,yEAAYC,UAAtB;AACC,aAAAC,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AAJA;;;;iCAYK;AAEJ,iBAAO,KAAKH,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,mCACmD,KAAKK,WADxD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCACOZ,E,EAAS;AAEf,iBAAO,KAAKE,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,2CACqDH,EADrD,GAC0D,KAAKQ,WAD/D,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BACMI,O,EAA4B;AAEjC,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,mCACqDa,OADrD,EAC6D,KAAKR,WADlE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BAEMI,O,EAA4B;AACjC,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,mCACqDa,OADrD,EAC6D,KAAKR,WADlE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCAEMI,O,EAA4B;AACjC,iBAAO,KAAKd,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,0CACoDa,OAAO,CAACE,EAD5D,GACiE,KAAKV,WADtE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;mCAEUI,O,EAA+B;AACxC,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,uCACwDgB,IAAI,CAACC,SAAL,CAAeJ,OAAf,CADxD,EACgF,KAAKR,WADrF,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;;;;;uBAlDQugE,qB,EAAqB,uH;AAAA,K;;;aAArBA,qB;AAAqB,eAArBA,qBAAqB,K;AAAA,kBAFpB;;;;;sEAEDA,qB,EAAqB;cAHjC,wDAGiC;eAHtB;AACV9/D,oBAAU,EAAE;AADF,S;AAGsB,Q;;;;;;;;;;;;;;;;;;;;;;ACXlC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;AC8CwB;;AAAgE;;AAA0C;;;;;;;;AAA1C;;AAAA;;;;;;;;AAiEpE;;AACI;;AAAgB;;AAAW;;AAC3B;;AAAI;;AAA0C;;AAC9C;;AAAI;;AAAO;AAAA;;AAAA;AAAA;AAAA,WAAwB,QAAxB,EAAwB;AAAA;;AAAA;;AAAA;;AAAA;AAAA,SAAxB;;AAAgG;;AAA3G;;AACA;;AAAI;;AAAO;AAAA;;AAAA;AAAA;AAAA,WAAyB,QAAzB,EAAyB;AAAA;;AAAA;;AAAA;;AAAA;AAAA,SAAzB;;AAAoG;;AAA/G;;AAEJ;;;;;;;;AALoB;;AAAA;;AACZ;;AAAA;;AACO;;AAAA;;AACA;;AAAA;;;;QDjGtB+/D,uB;AAeT,uCAAoBD,qBAApB,EAAyEE,mBAAzE,EAA0HxE,mBAA1H,EAAkK;AAAA;;AAAA;;AAA9I,aAAAsE,qBAAA,GAAAA,qBAAA;AAAqD,aAAAE,mBAAA,GAAAA,mBAAA;AAAiD,aAAAxE,mBAAA,GAAAA,mBAAA;AAb1H,aAAAyE,iBAAA,GAAkC,EAAlC;AACA,aAAA1D,iBAAA,GAAwC,EAAxC,CAYkK,CAXlK;;AACA,aAAA6C,mBAAA,GAAyC,IAAI,wEAAJ,EAAzC;AACA,aAAAK,yBAAA,GAAyD,EAAzD;AACA,aAAAI,iCAAA,GAAyE,EAAzE;AAKA,aAAAK,aAAA,GAAqB,CAArB;AACA,aAAAC,WAAA,GAAmB,CAAnB;AACA,aAAA/4D,KAAA,GAAa,CAAb;AAEI,aAAKg5D,eAAL,GAAuB,IAAI,wDAAJ,CAAc;AACjCC,6BAAmB,EAAE,IAAI,0DAAJ,CAAgB,IAAhB,EAAsB,0DAAW3xD,QAAjC,CADY;AAEjC4xD,mBAAS,EAAE,IAAI,0DAAJ,CAAgB,IAAhB,EAAsB,0DAAW5xD,QAAjC;AAFsB,SAAd,CAAvB,CAD8J,CAK9J;AACA;AACA;AAEA;;AAEA,aAAKsxD,mBAAL,CAAyB/8D,MAAzB,GAAkCL,SAAlC,CACI,UAAAM,IAAI,EAAE;AACF,kBAAI,CAAC+8D,iBAAL,GAAuB/8D,IAAvB;AACA4W,iBAAO,CAACC,GAAR,CAAY,mBAAZ,EAAgC,QAAI,CAACkmD,iBAArC;AACH,SAJL;AAMA,aAAKzE,mBAAL,CAAyBv4D,MAAzB,CAAgC,CAAhC,EAAmCL,SAAnC,CACI,UAAAM,IAAI,EAAE;AACF,kBAAI,CAACq5D,iBAAL,GAAuBr5D,IAAvB;AACA,kBAAI,CAAC28D,iCAAL,GAAwC38D,IAAxC;AACA4W,iBAAO,CAACC,GAAR,CAAY,kBAAZ,EAA+B,QAAI,CAACkmD,iBAApC;AACH,SALL;AAOH,O,CACD;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;;;;;qCAEatmC,I,EAAKv1B,M,EAAM;AAAA;;AACpB,cAAIo1B,SAAS,GAAG,CAACp1B,MAAM,CAACC,MAAP,CAAc2D,KAA/B;AACA8R,iBAAO,CAACC,GAAR,CAAY,cAAZ;AACAD,iBAAO,CAACC,GAAR,CAAY,SAAZ,EAAsByf,SAAtB;AACA1f,iBAAO,CAACC,GAAR,CAAY,QAAZ,EAAqB4f,IAAI,CAAC,IAAD,CAAzB;AACC,cAAI4mC,aAAa,GAAG,KAAKV,iCAAL,CAAuCp7D,SAAvC,CAAiD,UAAAR,CAAC;AAAA,mBAAIA,CAAC,CAACpE,EAAF,IAAQ85B,IAAI,CAAC,IAAD,CAAhB;AAAA,WAAlD,CAApB;AACD,eAAKkmC,iCAAL,CAAuCU,aAAvC,EAAsDZ,KAAtD,GAA4DnmC,SAA5D;AACA,eAAK0mC,aAAL,GAAmB,CAAnB;AACA,eAAKC,WAAL,GAAiB,CAAjB;AACA,eAAKN,iCAAL,CAAuCU,aAAvC,EAAsDX,MAAtD,GAA6D,CAA7D;AACA,eAAKC,iCAAL,CAAuCxuD,OAAvC,CACI,UAAA1M,IAAI,EAAE;AACF,oBAAI,CAACu7D,aAAL,IAAoBv7D,IAAI,CAACi7D,MAAzB;AACA,oBAAI,CAACO,WAAL,IAAkBx7D,IAAI,CAACg7D,KAAvB;AACH,WAJL;AAOA7lD,iBAAO,CAACC,GAAR,CAAY,MAAZ,EAAmB4f,IAAnB;AAEH;;;qCACYA,I,EAAKv1B,M,EAAM;AAAA;;AACpB,cAAIo1B,SAAS,GAAE,CAAEp1B,MAAM,CAACC,MAAP,CAAc2D,KAA/B;AACA8R,iBAAO,CAACC,GAAR,CAAY,SAAZ,EAAsByf,SAAtB;AACA1f,iBAAO,CAACC,GAAR,CAAY,QAAZ,EAAqB4f,IAAI,CAAC,IAAD,CAAzB;AACA,cAAI4mC,aAAa,GAAG,KAAKV,iCAAL,CAAuCp7D,SAAvC,CAAiD,UAAAR,CAAC;AAAA,mBAAIA,CAAC,CAACpE,EAAF,IAAQ85B,IAAI,CAAC,IAAD,CAAhB;AAAA,WAAlD,CAApB;AACA,eAAKkmC,iCAAL,CAAuCU,aAAvC,EAAsDX,MAAtD,GAA6DpmC,SAA7D;AACA,eAAK0mC,aAAL,GAAmB,CAAnB;AACA,eAAKC,WAAL,GAAiB,CAAjB;AACA,eAAKN,iCAAL,CAAuCU,aAAvC,EAAsDZ,KAAtD,GAA4D,CAA5D;AACA,eAAKE,iCAAL,CAAuCxuD,OAAvC,CACI,UAAA1M,IAAI,EAAE;AACN,gBAAGA,IAAI,CAACi7D,MAAL,GAAY,CAAf,EAAiB;AAChB,sBAAI,CAACM,aAAL,IAAoBv7D,IAAI,CAACi7D,MAAzB;AAEA,aAHD,MAGK;AAED,sBAAI,CAACO,WAAL,IAAkBx7D,IAAI,CAACg7D,KAAvB;AACH;AACA,WATL;AAYA7lD,iBAAO,CAACC,GAAR,CAAY,SAAZ,EAAsB,KAAKmmD,aAA3B,EArBoB,CAuBxB;;AAEIpmD,iBAAO,CAACC,GAAR,CAAY,MAAZ,EAAmB4f,IAAnB;AAEH,S,CACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;kCACO;AAAA;;AACH,eAAKvyB,KAAL,GAAa,KAAK84D,aAAL,GAAqB,KAAKC,WAAvC;;AACA,cAAG,KAAK/4D,KAAL,IAAY,CAAf,EAAiB;AACjB0S,mBAAO,CAACC,GAAR,CAAY,uCAAZ;;AACA,gBAAG,KAAKqmD,eAAL,CAAqBI,KAAxB,EAA8B;AAC9B1mD,qBAAO,CAACC,GAAR,CAAY,wDAAZ,EAD8B,CAE9B;;AACAD,qBAAO,CAACC,GAAR,CAAY,qDAAZ,EAAkE,KAAK8lD,iCAAvE;AAEA,mBAAKT,mBAAL,CAAyBvmC,aAAzB,GAAwC,KAAKunC,eAAL,CAAqBz3D,WAArB,GAAmC03D,mBAA3E;AACA,mBAAKjB,mBAAL,CAAyBl4D,IAAzB,GAA8B,KAAKk5D,eAAL,CAAqBz3D,WAArB,GAAmC23D,SAAjE;AACA,mBAAKlB,mBAAL,CAAyBE,WAAzB,GAAqC,KAAKY,aAA1C;AACA,mBAAKd,mBAAL,CAAyBC,UAAzB,GAAoC,KAAKc,WAAzC;AACA,mBAAKf,mBAAL,CAAyBG,YAAzB,GAAsC,KAAKn4D,KAA3C;AACA,mBAAKy4D,iCAAL,CAAuCxuD,OAAvC,CACI,UAAAsoB,IAAI,EAAE;AACF,oBAAK8mC,4BAA4B,GAAG,IAAI,8EAAJ,EAApC;AACEA,4CAA4B,CAAC5gE,EAA7B,GAAiC85B,IAAI,CAAC95B,EAAtC;AACA4gE,4CAA4B,CAACb,MAA7B,GAAqCjmC,IAAI,CAACimC,MAA1C;AACAa,4CAA4B,CAACd,KAA7B,GAAoChmC,IAAI,CAACgmC,KAAzC;;AACF,wBAAI,CAACP,mBAAL,CAAyBI,wBAAzB,CAAkD16D,IAAlD,CAAuD27D,4BAAvD;AACH,eAPL;AASA3mD,qBAAO,CAACC,GAAR,CAAY,qDAAZ,EAAkE,KAAKqlD,mBAAvE;AACA,mBAAKU,qBAAL,CAA2B32D,MAA3B,CAAkC,KAAKi2D,mBAAvC,EAA4Dx8D,SAA5D,CACI,UAAAM,IAAI,EAAE;AACF,oBAAGA,IAAH,EAAQ;AACJ4W,yBAAO,CAACC,GAAR,CAAY,MAAZ;AACH;AACJ,eALL;AAQC,aA5BD,MA4BK;AACDD,qBAAO,CAACC,GAAR,CAAY,oDAAZ;AAEH;AAEA,WAnCD,MAmCK;AACDD,mBAAO,CAACC,GAAR,CAAY,mCAAZ;AAEH;AACJ;;;;;;;uBA1JQgmD,uB,EAAuB,6I,EAAA,gJ,EAAA,qJ;AAAA,K;;;YAAvBA,uB;AAAuB,sC;AAAA,e;AAAA,c;AAAA,otB;AAAA;AAAA;ACjBpC;;AACI;;AACI;;AACY;;AAEb;;AACC;;AACA;;AAAI;;;;AAAkC;;AAEtC;;AAEA;;AAA6C;AAAA,mBAAS,IAAA3K,OAAA,EAAT;AAAkB,WAAlB;;AAAoB;;;;AAAwB;;AAAS;;AAEnG;;AACK;;AA0BA;;AAEI;;AACI;;AAAwB;;;;AAAgC;;AACxD;;AACI;;AAEJ;;AACJ;;AACA;;AACI;;AAAyB;;;;AAA8B;;AACvD;;AACJ;;AAEJ;;AACJ;;AAEJ;;AACJ;;AACI;;AACA;;AACA;;AACI;;AAQI;;AAGA;;AAcA;;AAEA;;AACI;;AACI;;AACI;;AAAgB;;AAAC;;AACjB;;AAAgB;;;;AAAwB;;AACxC;;AAAgB;;;;AAAuB;;AACvC;;AAAgB;;;;AAAyB;;AAE7C;;AACJ;;AACA;;AAWI;;AAWJ;;AACJ;;AAEA;;AACA;;AAEI;;AAEI;;AACI;;AAAgB;;;;AAAyB;;AACzC;;AAAI;;AAAe;;AACnB;;AAAI;;AAAiB;;AACzB;;AAEJ;;AACJ;;AAEJ;;AAEJ;;;;AA5IE;;AAOM;;AAAA;;AAI6D;;AAAA;;AAAiC;;AAAA;;AAgC9D;;AAAA;;AAEZ;;AAAA;;AAKa;;AAAA;;AA2CL;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAef;;AAAA;;AAoBe;;AAAA;;AACZ;;AAAA;;AACA;;AAAA;;;;;;;;;;sEDnHf2K,uB,EAAuB;cANnC,uDAMmC;eANzB;AACP;AACAh6D,kBAAQ,EAAE,iBAFH;AAGPC,qBAAW,EAAE,gCAHN;AAIPC,mBAAS,EAAE,CAAC,gCAAD;AAJJ,S;AAMyB,Q;;;;;;;;;;;;;;;;;;;;;;;;;;AElBpC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;;ACsEwB;;;;;;AAEI;;;;;;AACJ;;AACkB;;AAAsB;;;;;;AAAtB;;AAAA;;;;;;AAClB;;AAEI;;;;AAAgC;;;;AAAhC;;AAAA;;;;;;AAMJ;;;;;;AAEI;;;;;;AACJ;;AACkB;;AAAsB;;;;;;AAAtB;;AAAA;;;;;;AAClB;;AAEI;;;;AAAgC;;;;AAAhC;;AAAA;;;;;;;;AAKJ;;AAE8B;AAAA;;AAAA;;AAAA;AAAA;;AACkC;;;;AACjD;;;;;;AAHX;;AAE4D;;AAAA;;;;;;;;AAEhE;;AAE8B;AAAA;;AAAA;;AAAA;AAAA;;AACkC;;;;AAC/C;;;;;;AAHb;;AAE4D;;AAAA;;;;;;AA8BpE;;AACI;;AAAmB;;AAA4C;;AAC/D;;AACJ;;;;;;;;AAFuB;;AAAA;;;;;;AAJ3B;;AAGI;;AAIJ;;;;;;AAJS;;AAAA;;;;;;AAKT;;AAEI;;AACI;;AAAqD;;;;AAA2C;;AACpG;;AACA;;AACJ;;;;;;AAH6D;;AAAA;;;;;;;;AAiB7E;;AACI;;AAAG;AAAA;;AAAA;;AAAA,yCAAuB,OAAvB;AAA8B,SAA9B;;AAAgC;;AAAI;;AAC3C;;;;;;;;AAwDoC;;AAEI;;AAAoB;;AACZ;;AAEI;AAAA;;AAAA;;AAAA,iBAAS,QAAAyG,WAAA,cAAyB,UAAzB,CAAT;AAA6C,SAA7C;;AACsF;;;;AAE3E;;AAAS;;AAAI;;AACxC;;;;;;AAHgB;;AAAA;;AAAsF;;AAAA;;;;;;;;AA8BlG;;AAAwE;;AAEhE;AAAA;;AAAA;;AAAA;;AAAA,iBAAS,QAAAA,WAAA,wBAA+B,CAA/B,CAAT;AAA0C,SAA1C;;AAA4C;;AAAQ;;AAAI;;;;;;;;AADxD;;AAAA;;AAC4C;;AAAA;;;;;;AAJxD;;AAEI;;AAGJ;;;;;;AAHwB;;AAAA;;;;;;;;AASpC;;AACI;;AACI;;AACI;;AAC4C;AAAA;;AAAA;;AAAA;;AAAA,iBAAU,QAAAA,WAAA,kBAAV;AAAmC,SAAnC;;AAD5C;;AAEA;;AACJ;;AACJ;;AACA;;AAAgB;;AAAwC;;AACxD;;AAAI;;AAAyC;AAAA;;AAAA;;AAAA;;AAAA,+CAA2B,MAA3B;AAAiC,SAAjC;;AACsD;;;;AAC9E;;AAAS;;AAC9B;;AAAI;;AAAoD;AAAA;;AAAA;;AAAA;;AAAA,+CAA2B,MAA3B;AAAiC,SAAjC;;AAC2C;;;;AAC9E;;AAAS;;AAC9B;;AAAI;;AAAmD;AAAA;;AAAA;;AAAA;;AAAA,iBAAS,QAAAA,WAAA,yBAAT;AAAyC,SAAzC;;AAC2C;;;;AAC7E;;AAAS;;AAClC;;;;;;;;;AAfgE;;AAAA,8FAAsB,SAAtB,EAAsB,uCAAtB;;AAEhB;;AAAA;;AAG5B;;AAAA;;AAER;;AAAA;;AAA2F;;AAAA;;AAG3F;;AAAA;;AAA2F;;AAAA;;AAG3F;;AAAA;;AAA0F;;AAAA;;;;;;;;;;;;;;;;;;;;;;AAnH9H;;AACI;;AACI;;AAEI;;AACI;;AACI;;AACI;;AAAsC;AAAA;;AAAA;;AAAA;AAAA,WAAoC,OAApC,EAAoC;AAAA;;AAAA;;AAAA,iBAAU,QAAAA,WAAA,eAAV;AAAoC,SAAxE,EAAoC,QAApC,EAAoC;AAAA;;AAAA;;AAAA,iBAAgD,QAAAA,WAAA,eAAhD;AAA0E,SAA9G;;;;AAAtC;;AAEJ;;AACJ;;AACJ;;AACJ;;AAEA;;AACI;;AACI;;AACJ;;AACA;;AACI;;AAEI;AAAA;;AAAA;;AAAA,mCAAmB,IAAnB,EAAwB,KAAxB;AAA6B,SAA7B;;AAAmF;;;;AACxE;;AAEnB;;AACJ;;AAEJ;;AAGA;;AAEI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AAEI;;AAGI;AAAA;;AAAA;;AAAA,iBAAU,QAAAA,WAAA,kBAAV;AAAuC,SAAvC;;AAHJ;;AAIA;;AAAmC;;AAAM;;AAC7C;;AACJ;;AACA;;AAGI;;AACJ;;AACA;;AAUJ;;AACJ;;AACJ;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,iBAAS,QAAAA,WAAA,YAAuB,QAAAA,WAAA,SAAoB,MAApB,CAAvB,CAAT;AAA4D,SAA5D;;AACjB;;AAEwF;;AAC5F;;AAAuB;AAAA;;AAAA;;AAAA,iBAAS,QAAAA,WAAA,YAAuB,QAAAA,WAAA,SAAoB,MAApB,CAAvB,CAAT;AAA4D,SAA5D;;AAEf;;;;AACR;;AAEA;;AACA;;AACI;;AAEI;;AACI;;;;AACJ;;AACA;;AACI;;AAEI;;AACJ;;AACA;;AAMJ;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AAmBJ;;AACA;;AACI;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAEA;;AAEI;;AAA6E;;AAAM;;AAEnF;;AAEI;;AACI;;AACI;;AACyC;AAAA;;AAAA;;AAAA;AAAA,WAAyB,aAAzB,EAAyB;AAAA;;AAAA;;AAAA,iBAI/C,QAAAA,WAAA,mBAJ+C;AAIjB,SAJR;;AAKzC;;AACJ;;AACJ;;AACJ;;AAEA;;AAA0E;;AAAM;;AAEpF;;AACJ;;;;;;;;;;;;;;AApJ2E;;AAAA;;AADb;;AAcV;;AAAA;;AAAmD;;AAAA;;AAsBvD;;AAAA,8HAAkD,eAAlD,EAAkD,sDAAlD;;AAwB2D;;AAAA;;AAC1E;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAIJ;;AAAA;;AAIQ;;AAAA;;AAKI;;AAAA;;AAaZ;;AAAA;;AA4CiC;;AAAA,iGAAyB,eAAzB,EAAyB,IAAzB,EAAyB,YAAzB,EAAyB,uCAAzB,EAAyB,cAAzB,EAAyB,gCAAzB,EAAyB,qBAAzB,EAAyB,IAAzB,EAAyB,oBAAzB,EAAyB,IAAzB,EAAyB,wBAAzB,EAAyB,IAAzB,EAAyB,oBAAzB,EAAyB,IAAzB,EAAyB,SAAzB,EAAyB,CAAzB;;;;;;AAoBzD;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AAIA;;;;QD9TSg0D,gC;AACX;AACA;AACA;AACA;AAEA,gDAAoBxgE,WAApB,EAAqDC,YAArD,EAA2GC,QAA3G,EACUC,aADV,EACuDC,SADvD,EACkF;AAAA;;AAD9D,aAAAJ,WAAA,GAAAA,WAAA;AAAiC,aAAAC,YAAA,GAAAA,YAAA;AAAsD,aAAAC,QAAA,GAAAA,QAAA;AACjG,aAAAC,aAAA,GAAAA,aAAA;AAA6C,aAAAC,SAAA,GAAAA,SAAA;AAKvD,aAAAoM,WAAA,GAAc,IAAI,oFAAJ,CAAgB,KAAKpM,SAArB,EAAgC,KAAKD,aAArC,CAAd;AACA,aAAAG,aAAA,GAAqB,OAArB;AAEA,aAAAC,eAAA,GAA0B,oBAA1B;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,cAAA,GAAiB,CAAC,QAAD,EAAW,QAAX,CAAjB;AAEA,aAAAC,WAAA,GAA0B,IAAI,wDAAJ,EAA1B;AAEA,aAAAC,MAAA,GAAuB,EAAvB;AACA,aAAAC,QAAA,GAAsB,IAAI,wDAAJ,CAAc;AAClCjB,YAAE,EAAE,IAAI,0DAAJ,EAD8B;AAElCkB,gBAAM,EAAE,IAAI,0DAAJ,EAF0B;AAGlC+H,gBAAM,EAAE,IAAI,0DAAJ;AAH0B,SAAd,CAAtB;AASA,aAAA5H,aAAA,GAAgB,EAAhB;AACA,aAAAa,SAAA,GAAY,CAAZ;AACA,aAAAD,WAAA,GAAc,CAAd;AACA,aAAAK,YAAA,GAAsB,EAAtB;AAE6C,aAAAyG,YAAA,GAAmC,IAAnC;AA3B5C;;;;mCA8BO;AACN,eAAKvG,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACA,eAAKoD,SAAL,GAAiB;AAAEC,iBAAK,EAAE,MAAT;AAAiBC,oBAAQ,EAAE,KAAKH,IAAL,KAAc,OAAd,GAAwB,QAAxB,GAAmC;AAA9D,WAAjB;AACA,eAAK3B,YAAL,GAAoB,CAClB;AAAE6B,iBAAK,EAAE,MAAT;AAAiBC,oBAAQ,EAAE,KAAKH,IAAL,KAAc,OAAd,GAAwB,QAAxB,GAAmC;AAA9D,WADkB,CAApB;AAIA,eAAKqK,WAAL,CAAiBwB,eAAjB,CAAiC,KAAKrN,MAAtC,EAA8C,KAAKV,YAAnD,EAAiE,KAAKS,WAAtE,EACE,KAAKD,cADP,EACuB,KAAKD,YAD5B,EAC0C,KAAKI,QAD/C,EACyD,KAAKL,eAD9D,EAC+E,KAAK6B,SADpF,EAEE,KAAKsG,YAFP,EAEqB,KAAK1D,QAF1B,EAEoC,KAAKgI,UAFzC,EAEqD,KAAK7K,IAF1D;AAIA,eAAK4L,YAAL;AACD;;;kCAESpO,E,EAAIsO,M,EAAQ;AACpB,cAAIA,MAAM,KAAK,KAAf,EAAsB;AACpB,iBAAKzB,WAAL,CAAiB0B,kBAAjB,CAAoC,KAAK3F,UAAzC,EAAqD,KAAKvI,WAA1D;AACD,WAFD,MAGK,IAAIiO,MAAM,KAAK,MAAf,EAAuB;AAE1B,iBAAKzB,WAAL,CAAiB6B,gBAAjB,CAAkC1O,EAAlC,EAAsC,KAAK4I,UAA3C,EAAuD,KAAKvI,WAA5D;AACA4Z,mBAAO,CAACC,GAAR,CAAY,uBAAuB,KAAKnZ,WAAxC;AACAkZ,mBAAO,CAACC,GAAR,CAAY,KAAKnZ,WAAjB;AACAkZ,mBAAO,CAACC,GAAR,CAAY,+BAA+B,KAAKrN,WAAL,CAAiB9L,WAA5D;AACAkZ,mBAAO,CAACC,GAAR,CAAY,KAAKrN,WAAL,CAAiB9L,WAA7B;AAED,WARI,MASA,IAAIuN,MAAM,KAAK,MAAf,EAAuB;AAC1B,iBAAKzB,WAAL,CAAiB8B,gBAAjB,CAAkC3O,EAAlC,EAAsC,KAAK4I,UAA3C,EAAuD,KAAKvI,WAA5D;AACD;;AACD,eAAKU,WAAL,GAAmB,KAAK8L,WAAL,CAAiB9L,WAApC;AACA,eAAKE,QAAL,GAAgB,KAAK4L,WAAL,CAAiB5L,QAAjC;AACD;;;mCAEUF,W,EAAaV,W,EAAW;AACjC;AAEA;AAEA,iBAAOA,WAAW,CAAC6G,KAAZ,CAAkB;AACvBlH,cAAE,EAAE,CAACe,WAAW,CAACf,EAAZ,IAAkB,CAAlB,GAAsBe,WAAW,CAACf,EAAlC,GAAuC,CAAxC,CADmB;AAEvBkB,kBAAM,EAAE,CAACH,WAAW,CAACG,MAAb,EAAqB,0DAAW0N,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWE,SAAX,CAAqB,CAArB,CAAtB,CAAnB,CAArB,CAFe;AAGvB9F,kBAAM,EAAE,CAAClI,WAAW,CAACkI,MAAb,EAAqB,0DAAW2F,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWC,OAAX,CAAmB,4CAAnB,CAAtB,CAAnB,CAArB;AAHe,WAAlB,CAAP;AAMD;;;oCAEW;AACV,eAAKzN,aAAL,GAAqB,SAArB;AAEA,eAAKN,WAAL,GAAmB,IAAI,wDAAJ,EAAnB;AACA,eAAKA,WAAL,CAAiBf,EAAjB,GAAsB,CAAtB;AACA,eAAKe,WAAL,CAAiBG,MAAjB,GAA0B,KAAKD,QAAL,CAAc6H,WAAd,GAA4B5H,MAAtD;AACA,eAAKH,WAAL,CAAiBkI,MAAjB,GAA0B,KAAKhI,QAAL,CAAc6H,WAAd,GAA4BG,MAAtD,CANU,CAOV;;AAEA,eAAKgG,gBAAL;AACD;;;2CAEkB;AAAA;;AACjBgL,iBAAO,CAACC,GAAR,CAAY,KAAKnZ,WAAjB;AAEA,eAAKT,YAAL,CAAkBgJ,MAAlB,CAAyB,KAAKvI,WAA9B,EAA2CgC,SAA3C,CAAqD,UAAAC,MAAM,EAAI;AAC7D,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAAC6J,WAAL,CAAiBjK,QAAjB;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAACwL,WAAL,CAAiBtH,YAAjB,CAA8B,QAAI,CAAC9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAA9B,EAAiE,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,mBAAvB,CAAjE;;AACA,kBAAI,QAAI,CAAC4F,YAAL,KAAsBmG,SAA1B,EAAqC;AAEnC,wBAAI,CAACrC,WAAL,CAAiBQ,UAAjB,CAA4B7H,IAA5B;AAED,eAJD,MAIO;AAEL,wBAAI,CAACqH,WAAL,CAAiB9D,YAAjB,CAA8BI,QAA9B,CAAuC3D,IAAvC;AACD;AACF,aAZD,MAaK;AACH,sBAAI,CAACqH,WAAL,CAAiB3J,UAAjB,CAA4B,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAA5B,EAA6D,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,WAAvB,CAA7D;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAlBD;AAmBD;;;qCAEY;AACX,eAAKA,aAAL,GAAqB,SAArB;AACA,eAAKwL,WAAL,CAAiB3K,SAAjB,GAA6B,KAAK2K,WAAL,CAAiB5K,WAA9C;AAEA,cAAImN,OAAO,GAAG,IAAI,wDAAJ,CAAe;AAC3BpP,cAAE,EAAE,KAAKe,WAAL,CAAiBf,EADM;AAE3BkB,kBAAM,EAAE,KAAKD,QAAL,CAAc6H,WAAd,GAA4B5H,MAFT;AAG3B+H,kBAAM,EAAE,KAAKhI,QAAL,CAAc6H,WAAd,GAA4BG;AAHT,WAAf,CAAd;;AAOA,cAAIhJ,IAAI,CAACC,SAAL,CAAekP,OAAf,KAA2BnP,IAAI,CAACC,SAAL,CAAe,KAAKa,WAApB,CAA/B,EAAiE;AAC/D,iBAAKsO,iBAAL,CAAuBD,OAAvB;AACD,WAFD,MAGK;AAAC,gBAAI,KAAKrG,YAAL,KAAsBmG,SAA1B,EAAqC;AAEzC,mBAAKrC,WAAL,CAAiBQ,UAAjB,CAA4B7H,IAA5B;AAED,aAJK,MAIC;AAEL,mBAAKqH,WAAL,CAAiB9D,YAAjB,CAA8BI,QAA9B,CAAuC3D,IAAvC;AACD;AACA;AACF;;;0CAEiB8J,M,EAAQ;AAAA;;AACxB2K,iBAAO,CAACC,GAAR,CAAY,cAAZ,EAA4B5K,MAA5B;AAEA,eAAKhP,YAAL,CAAkBiJ,MAAlB,CAAyB+F,MAAzB,EAAiCvM,SAAjC,CAA2C,UAAAC,MAAM,EAAI;AACnD,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAAC6J,WAAL,CAAiBjK,QAAjB;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAACwL,WAAL,CAAiBtH,YAAjB,CAA8B,QAAI,CAAC9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAA9B,EAAiE,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,oBAAvB,CAAjE;;AACA,kBAAI,QAAI,CAAC4F,YAAL,KAAsBmG,SAA1B,EAAqC;AAEnC,wBAAI,CAACrC,WAAL,CAAiBQ,UAAjB,CAA4B7H,IAA5B;AAED,eAJD,MAIO;AAEL,wBAAI,CAACqH,WAAL,CAAiB9D,YAAjB,CAA8BI,QAA9B,CAAuC3D,IAAvC;AACD;AACF,aAZD,MAaK;AACH,sBAAI,CAACqH,WAAL,CAAiB3J,UAAjB,CAA4B,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAA5B,EAA6D,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,YAAvB,CAA7D;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAlBD;AAmBD,S,CAED;AACA;AACA;;;;uCACe;AACb,eAAKa,SAAL,GAAiB,KAAKD,WAAtB,CADa,CAEb;;AACA,eAAKZ,aAAL,GAAqB,SAArB;AACA,eAAKwB,mBAAL;AACD,S,CAED;;;;8CACsB;AAAA;;AACpB,eAAKvC,YAAL,CAAkBwC,UAAlB,CAA6B,KAAK+J,WAAL,CAAiBvK,YAA9C,EAA4DS,SAA5D,CAAsE,UAAAC,MAAM,EAAI;AAC9E,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAAC6J,WAAL,CAAiBjK,QAAjB;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAACwL,WAAL,CAAiB5J,gBAAjB;AACD,aAJD,MAKK;AACH,sBAAI,CAAC4J,WAAL,CAAiB3J,UAAjB,CAA4B,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAA5B,EAA6D,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,cAAvB,CAA7D;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAVD;AAWD;;;uCAGc+O,O,EAAS;AACtB,eAAKvD,WAAL,CAAiBpK,SAAjB,GAA6B,KAAKA,SAAlC;AACA,eAAKoK,WAAL,CAAiBwD,UAAjB,CAA4B,KAAKxD,WAAL,CAAiByD,OAAjB,CAAyBF,OAAzB,CAA5B;AACD,S,CACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;uCACe;AACb,eAAK/O,aAAL,GAAqB,SAArB;AACA,eAAKwL,WAAL,CAAiBjK,QAAjB;AACD,S,CAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;iCACSwN,O,EAAS;AAChB,eAAKvD,WAAL,CAAiBwD,UAAjB,CAA4B,KAAKxD,WAAL,CAAiByD,OAAjB,CAAyB,MAAzB,CAA5B;AACA,eAAK7N,SAAL,GAAiB,KAAKoK,WAAL,CAAiBpK,SAAlC;AACD;;;;;;;uBAvOUo+D,gC,EAAgC,2H,EAAA,8I,EAAA,wH,EAAA,4I,EAAA,qI;AAAA,K;;;YAAhCA,gC;AAAgC,iD;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;ACoC7C;;AACI;;AACI;;AAEA;;AACI;;AACI;;AACI;;;;AAA2D;;AACnE;;AACA;;AACI;;AACI;;AACI;;AAAqC;;;;AAAwB;;AAC7D;;AAGA;;AAEA;;AAGA;;AACJ;;AAEA;;AACI;;AAAqC;;;;AAAwB;;AAC7D;;AAGA;;AAEA;;AAGA;;AACJ;;AAEA;;AACI;;AAKA;;AAKA;;AAA8B;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAA0B,WAA1B;;AACoD;;;;AACnE;;AACnB;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AACJ;;AAGA;;AACI;;AACI;;AACI;;AAAkE;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAAwB,WAAxB;;AAE9D;;AAAyB;;AAAO;;AACpC;;AACA;;AACI;;AACI;;;;AACW;;AACnB;;AACA;;AACI;;AAQA;;AAQA;;AACI;;AAA2D;AAAA,mBAAS,IAAA56D,YAAA,EAAT;AAAuB,WAAvB;;AAEK;;;;AAAwB;;AACxF;;AAA8B;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAAwB,WAAxB;;AACoD;;;;AACnE;;AACnB;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AAIA;;AA8JA;;AAIA;;AAKA;;AAKA;;AAIA;;AAKA;;;;AAvRoB;;AAAA;;AAG0C;;AAAA;;AAED;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAMiC;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAMI;;AAAA;;AAKA;;AAAA;;AAM0E;;AAAA;;AAoBtF;;AAAA;;AAIiC;;AAAA;;AAQ4B;;AAAA;;AAUzD;;AAAA;;AAC4D;;AAAA;;AAEkB;;AAAA;;AAOhG;;AAAA;;AAID;;AAAA;;;;;;;;;;sED7IQ46D,gC,EAAgC;cAN5C,uDAM4C;eANlC;AACT;AACA36D,kBAAQ,EAAE,4BAFD;AAGTC,qBAAW,EAAE,2CAHJ;AAITC,mBAAS,EAAE,CAAC,2CAAD;AAJF,S;AAMkC,Q;;;;;;;;;;;;;;gBAqC1C,uD;iBAAU,c,EAAgB;AAAE,sBAAQ;AAAV,W;;;gBAC1B,uD;iBAAU,U,EAAY;AAAE,sBAAQ;AAAV,W;;;gBACtB,uD;iBAAU,Y,EAAc;AAAE,sBAAQ;AAAV,W;;;;;;;;;;;;;;;;;;;;AE5D3B;AAAA;;;AAAA;AAAA;AAAA;;QAAa06D,U,GAIL,oBAAYh8D,IAAZ,EAA+B;AAAA;;AAC3BA,UAAI,GAAGA,IAAI,GAAGA,IAAH,GAAU,EAArB;AACA,WAAK9E,EAAL,GAAU8E,IAAI,CAAC9E,EAAL,GAAU8E,IAAI,CAAC9E,EAAf,GAAoB,CAA9B;AACA,WAAKiJ,MAAL,GAAcnE,IAAI,CAACmE,MAAL,GAAcnE,IAAI,CAACmE,MAAnB,GAA4B,EAA1C;AACA,WAAK/H,MAAL,GAAc4D,IAAI,CAAC5D,MAAL,GAAc4D,IAAI,CAAC5D,MAAnB,GAA4B,EAA1C;AACH,K;;;;;;;;;;;;;;;;;ACTT;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAYa6/D,8B;AACT,8CAAoB/hE,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAIpB,aAAAC,OAAA,GAAU,yEAAYC,UAAtB;AACC,aAAAC,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AAJA;;;;iCAYK;AAEJ,iBAAO,KAAKH,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,qCACqD,KAAKK,WAD1D,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCACOZ,E,EAAS;AAEf,iBAAO,KAAKE,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,6CACuDH,EADvD,GAC4D,KAAKQ,WADjE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BACMI,O,EAAmB;AAExB,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,qCACuDa,OADvD,EAC+D,KAAKR,WADpE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BAEMI,O,EAAmB;AACxB,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,qCACuDa,OADvD,EAC+D,KAAKR,WADpE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCAEMI,O,EAAmB;AACtB,iBAAO,KAAKd,IAAL,CACNe,IADM,WACO,KAAKd,OADZ,qCACqDa,OADrD,EAC6D,KAAKR,WADlE,EAENG,IAFM,CAED,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFC,CAAP;AAGH;;;mCAGUI,O,EAAsB;AAC/B,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,yCAC0DgB,IAAI,CAACC,SAAL,CAAeJ,OAAf,CAD1D,EACkF,KAAKR,WADvF,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;;;;;uBAnDQqhE,8B,EAA8B,uH;AAAA,K;;;aAA9BA,8B;AAA8B,eAA9BA,8BAA8B,K;AAAA,kBAF7B;;;;;sEAEDA,8B,EAA8B;cAH1C,wDAG0C;eAH/B;AACV5gE,oBAAU,EAAE;AADF,S;AAG+B,Q;;;;;;;;;;;;;;;;;;;;;;ACZ3C;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;;ACsEwB;;;;;;AAEI;;;;;;AACJ;;AACkB;;AAAsB;;;;;;AAAtB;;AAAA;;;;;;AAClB;;AAEI;;;;AAAgC;;;;AAAhC;;AAAA;;;;;;AAMJ;;;;;;AAEI;;;;;;AACJ;;AACkB;;AAAsB;;;;;;AAAtB;;AAAA;;;;;;AAClB;;AAEI;;;;AAAgC;;;;AAAhC;;AAAA;;;;;;;;AAKJ;;AAE8B;AAAA;;AAAA;;AAAA;AAAA;;AACkC;;;;AACjD;;;;;;AAHX;;AAE4D;;AAAA;;;;;;;;AAEhE;;AAE8B;AAAA;;AAAA;;AAAA;AAAA;;AACkC;;;;AAC/C;;;;;;AAHb;;AAE4D;;AAAA;;;;;;AA8BpE;;AACI;;AAAmB;;AAA4C;;AAC/D;;AACJ;;;;;;;;AAFuB;;AAAA;;;;;;AAJ3B;;AAGI;;AAIJ;;;;;;AAJS;;AAAA;;;;;;AAKT;;AAEI;;AACI;;AAAqD;;;;AAA2C;;AACpG;;AACA;;AACJ;;;;;;AAH6D;;AAAA;;;;;;;;AAiB7E;;AACI;;AAAG;AAAA;;AAAA;;AAAA,yCAAuB,OAAvB;AAA8B,SAA9B;;AAAgC;;AAAI;;AAC3C;;;;;;;;AAwDoC;;AAEI;;AAAoB;;AACZ;;AAEI;AAAA;;AAAA;;AAAA,iBAAS,QAAA0M,WAAA,cAAyB,UAAzB,CAAT;AAA6C,SAA7C;;AACsF;;;;AAE3E;;AAAS;;AAAI;;AACxC;;;;;;AAHgB;;AAAA;;AAAsF;;AAAA;;;;;;;;AA8BlG;;AAAwE;;AAEhE;AAAA;;AAAA;;AAAA;;AAAA,iBAAS,QAAAA,WAAA,wBAA+B,CAA/B,CAAT;AAA0C,SAA1C;;AAA4C;;AAAQ;;AAAI;;;;;;;;AADxD;;AAAA;;AAC4C;;AAAA;;;;;;AAJxD;;AAEI;;AAGJ;;;;;;AAHwB;;AAAA;;;;;;;;AASpC;;AACI;;AACI;;AACI;;AAC4C;AAAA;;AAAA;;AAAA;;AAAA,iBAAU,QAAAA,WAAA,kBAAV;AAAmC,SAAnC;;AAD5C;;AAEA;;AACJ;;AACJ;;AACA;;AAAgB;;AAAwC;;AACxD;;AAAI;;AAAyC;AAAA;;AAAA;;AAAA;;AAAA,+CAA2B,MAA3B;AAAiC,SAAjC;;AACsD;;;;AAC9E;;AAAS;;AAC9B;;AAAI;;AAAoD;AAAA;;AAAA;;AAAA;;AAAA,+CAA2B,MAA3B;AAAiC,SAAjC;;AAC2C;;;;AAC9E;;AAAS;;AAC9B;;AAAI;;AAAmD;AAAA;;AAAA;;AAAA;;AAAA,iBAAS,QAAAA,WAAA,yBAAT;AAAyC,SAAzC;;AAC2C;;;;AAC7E;;AAAS;;AAClC;;;;;;;;;AAfgE;;AAAA,8FAAsB,SAAtB,EAAsB,uCAAtB;;AAEhB;;AAAA;;AAG5B;;AAAA;;AAER;;AAAA;;AAA2F;;AAAA;;AAG3F;;AAAA;;AAA2F;;AAAA;;AAG3F;;AAAA;;AAA0F;;AAAA;;;;;;;;;;;;;;;;;;;;;;AAnH9H;;AACI;;AACI;;AAEI;;AACI;;AACI;;AACI;;AAAsC;AAAA;;AAAA;;AAAA;AAAA,WAAoC,OAApC,EAAoC;AAAA;;AAAA;;AAAA,iBAAU,QAAAA,WAAA,eAAV;AAAoC,SAAxE,EAAoC,QAApC,EAAoC;AAAA;;AAAA;;AAAA,iBAAgD,QAAAA,WAAA,eAAhD;AAA0E,SAA9G;;;;AAAtC;;AAEJ;;AACJ;;AACJ;;AACJ;;AAEA;;AACI;;AACI;;AACJ;;AACA;;AACI;;AAEI;AAAA;;AAAA;;AAAA,mCAAmB,IAAnB,EAAwB,KAAxB;AAA6B,SAA7B;;AAAmF;;;;AACxE;;AAEnB;;AACJ;;AAEJ;;AAGA;;AAEI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AAEI;;AAGI;AAAA;;AAAA;;AAAA,iBAAU,QAAAA,WAAA,kBAAV;AAAuC,SAAvC;;AAHJ;;AAIA;;AAAmC;;AAAM;;AAC7C;;AACJ;;AACA;;AAGI;;AACJ;;AACA;;AAUJ;;AACJ;;AACJ;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,iBAAS,QAAAA,WAAA,YAAuB,QAAAA,WAAA,SAAoB,MAApB,CAAvB,CAAT;AAA4D,SAA5D;;AACjB;;AAEwF;;AAC5F;;AAAuB;AAAA;;AAAA;;AAAA,iBAAS,QAAAA,WAAA,YAAuB,QAAAA,WAAA,SAAoB,MAApB,CAAvB,CAAT;AAA4D,SAA5D;;AAEf;;;;AACR;;AAEA;;AACA;;AACI;;AAEI;;AACI;;;;AACJ;;AACA;;AACI;;AAEI;;AACJ;;AACA;;AAMJ;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AAmBJ;;AACA;;AACI;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAEA;;AAEI;;AAA6E;;AAAM;;AAEnF;;AAEI;;AACI;;AACI;;AACyC;AAAA;;AAAA;;AAAA;AAAA,WAAyB,aAAzB,EAAyB;AAAA;;AAAA;;AAAA,iBAI/C,QAAAA,WAAA,mBAJ+C;AAIjB,SAJR;;AAKzC;;AACJ;;AACJ;;AACJ;;AAEA;;AAA0E;;AAAM;;AAEpF;;AACJ;;;;;;;;;;;;;;AApJ2E;;AAAA;;AADb;;AAcV;;AAAA;;AAAmD;;AAAA;;AAsBvD;;AAAA,8HAAkD,eAAlD,EAAkD,sDAAlD;;AAwB2D;;AAAA;;AAC1E;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAIJ;;AAAA;;AAIQ;;AAAA;;AAKI;;AAAA;;AAaZ;;AAAA;;AA4CiC;;AAAA,iGAAyB,eAAzB,EAAyB,IAAzB,EAAyB,YAAzB,EAAyB,uCAAzB,EAAyB,cAAzB,EAAyB,gCAAzB,EAAyB,qBAAzB,EAAyB,IAAzB,EAAyB,oBAAzB,EAAyB,IAAzB,EAAyB,wBAAzB,EAAyB,IAAzB,EAAyB,oBAAzB,EAAyB,IAAzB,EAAyB,SAAzB,EAAyB,CAAzB;;;;;;AAoBzD;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AAIA;;;;QD/TSm0D,yB;AACX;AACA;AACA;AACA;AAEA,yCAAoB3gE,WAApB,EAAqDC,YAArD,EAAmGC,QAAnG,EACUC,aADV,EACuDC,SADvD,EACkF;AAAA;;AAD9D,aAAAJ,WAAA,GAAAA,WAAA;AAAiC,aAAAC,YAAA,GAAAA,YAAA;AAA8C,aAAAC,QAAA,GAAAA,QAAA;AACzF,aAAAC,aAAA,GAAAA,aAAA;AAA6C,aAAAC,SAAA,GAAAA,SAAA;AAKvD,aAAAoM,WAAA,GAAc,IAAI,oFAAJ,CAAgB,KAAKpM,SAArB,EAAgC,KAAKD,aAArC,CAAd;AACA,aAAAG,aAAA,GAAqB,OAArB;AAEA,aAAAC,eAAA,GAA0B,iBAA1B;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,cAAA,GAAiB,CAAC,QAAD,EAAW,QAAX,CAAjB;AAEA,aAAAC,WAAA,GAA0B,IAAI,wDAAJ,EAA1B;AAEA,aAAAC,MAAA,GAAuB,EAAvB;AACA,aAAAC,QAAA,GAAsB,IAAI,wDAAJ,CAAc;AAClCjB,YAAE,EAAE,IAAI,0DAAJ,EAD8B;AAElCkB,gBAAM,EAAE,IAAI,0DAAJ,EAF0B;AAGlC+H,gBAAM,EAAE,IAAI,0DAAJ;AAH0B,SAAd,CAAtB;AASA,aAAA5H,aAAA,GAAgB,EAAhB;AACA,aAAAa,SAAA,GAAY,CAAZ;AACA,aAAAD,WAAA,GAAc,CAAd;AACA,aAAAK,YAAA,GAAsB,EAAtB;AAE6C,aAAAyG,YAAA,GAAmC,IAAnC;AA3B5C;;;;mCA8BO;AACN,eAAKvG,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACA,eAAKoD,SAAL,GAAiB;AAAEC,iBAAK,EAAE,MAAT;AAAiBC,oBAAQ,EAAE,KAAKH,IAAL,KAAc,OAAd,GAAwB,QAAxB,GAAmC;AAA9D,WAAjB;AACA,eAAK3B,YAAL,GAAoB,CAClB;AAAE6B,iBAAK,EAAE,MAAT;AAAiBC,oBAAQ,EAAE,KAAKH,IAAL,KAAc,OAAd,GAAwB,QAAxB,GAAmC;AAA9D,WADkB,CAApB;AAIA,eAAKqK,WAAL,CAAiBwB,eAAjB,CAAiC,KAAKrN,MAAtC,EAA8C,KAAKV,YAAnD,EAAiE,KAAKS,WAAtE,EACE,KAAKD,cADP,EACuB,KAAKD,YAD5B,EAC0C,KAAKI,QAD/C,EACyD,KAAKL,eAD9D,EAC+E,KAAK6B,SADpF,EAEE,KAAKsG,YAFP,EAEqB,KAAK1D,QAF1B,EAEoC,KAAKgI,UAFzC,EAEqD,KAAK7K,IAF1D;AAIA,eAAK4L,YAAL;AACD;;;kCAESpO,E,EAAIsO,M,EAAQ;AACpB,cAAIA,MAAM,KAAK,KAAf,EAAsB;AACpB,iBAAKzB,WAAL,CAAiB0B,kBAAjB,CAAoC,KAAK3F,UAAzC,EAAqD,KAAKvI,WAA1D;AACD,WAFD,MAGK,IAAIiO,MAAM,KAAK,MAAf,EAAuB;AAE1B,iBAAKzB,WAAL,CAAiB6B,gBAAjB,CAAkC1O,EAAlC,EAAsC,KAAK4I,UAA3C,EAAuD,KAAKvI,WAA5D;AACA4Z,mBAAO,CAACC,GAAR,CAAY,uBAAuB,KAAKnZ,WAAxC;AACAkZ,mBAAO,CAACC,GAAR,CAAY,KAAKnZ,WAAjB;AACAkZ,mBAAO,CAACC,GAAR,CAAY,+BAA+B,KAAKrN,WAAL,CAAiB9L,WAA5D;AACAkZ,mBAAO,CAACC,GAAR,CAAY,KAAKrN,WAAL,CAAiB9L,WAA7B;AAED,WARI,MASA,IAAIuN,MAAM,KAAK,MAAf,EAAuB;AAC1B,iBAAKzB,WAAL,CAAiB8B,gBAAjB,CAAkC3O,EAAlC,EAAsC,KAAK4I,UAA3C,EAAuD,KAAKvI,WAA5D;AACD;;AACD,eAAKU,WAAL,GAAmB,KAAK8L,WAAL,CAAiB9L,WAApC;AACA,eAAKE,QAAL,GAAgB,KAAK4L,WAAL,CAAiB5L,QAAjC;AACD;;;mCAEUF,W,EAAaV,W,EAAW;AACjC;AAEA;AAEA,iBAAOA,WAAW,CAAC6G,KAAZ,CAAkB;AACvBlH,cAAE,EAAE,CAACe,WAAW,CAACf,EAAZ,IAAkB,CAAlB,GAAsBe,WAAW,CAACf,EAAlC,GAAuC,CAAxC,CADmB;AAEvBkB,kBAAM,EAAE,CAACH,WAAW,CAACG,MAAb,EAAqB,0DAAW0N,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWE,SAAX,CAAqB,CAArB,CAAtB,CAAnB,CAArB,CAFe;AAGvB9F,kBAAM,EAAE,CAAClI,WAAW,CAACkI,MAAb,EAAqB,0DAAW2F,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWC,OAAX,CAAmB,4CAAnB,CAAtB,CAAnB,CAArB;AAHe,WAAlB,CAAP;AAMD;;;oCAEW;AACV,eAAKzN,aAAL,GAAqB,SAArB;AAEA,eAAKN,WAAL,GAAmB,IAAI,wDAAJ,EAAnB;AACA,eAAKA,WAAL,CAAiBf,EAAjB,GAAsB,CAAtB;AACA,eAAKe,WAAL,CAAiBG,MAAjB,GAA0B,KAAKD,QAAL,CAAc6H,WAAd,GAA4B5H,MAAtD;AACA,eAAKH,WAAL,CAAiBkI,MAAjB,GAA0B,KAAKhI,QAAL,CAAc6H,WAAd,GAA4BG,MAAtD,CANU,CAOV;;AAEA,eAAKgG,gBAAL;AACD;;;2CAEkB;AAAA;;AACjBgL,iBAAO,CAACC,GAAR,CAAY,KAAKnZ,WAAjB;AAEA,eAAKT,YAAL,CAAkBgJ,MAAlB,CAAyB,KAAKvI,WAA9B,EAA2CgC,SAA3C,CAAqD,UAAAC,MAAM,EAAI;AAC7D,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAAC6J,WAAL,CAAiBjK,QAAjB;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAACwL,WAAL,CAAiBtH,YAAjB,CAA8B,QAAI,CAAC9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAA9B,EAAiE,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,mBAAvB,CAAjE;;AACA,kBAAI,QAAI,CAAC4F,YAAL,KAAsBmG,SAA1B,EAAqC;AAEnC,wBAAI,CAACrC,WAAL,CAAiBQ,UAAjB,CAA4B7H,IAA5B;AAED,eAJD,MAIO;AAEL,wBAAI,CAACqH,WAAL,CAAiB9D,YAAjB,CAA8BI,QAA9B,CAAuC3D,IAAvC;AACD;AACF,aAZD,MAaK;AACH,sBAAI,CAACqH,WAAL,CAAiB3J,UAAjB,CAA4B,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAA5B,EAA6D,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,WAAvB,CAA7D;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAlBD;AAmBD;;;qCAEY;AACX,eAAKA,aAAL,GAAqB,SAArB;AACA,eAAKwL,WAAL,CAAiB3K,SAAjB,GAA6B,KAAK2K,WAAL,CAAiB5K,WAA9C;AAEA,cAAImN,OAAO,GAAG,IAAI,wDAAJ,CAAe;AAC3BpP,cAAE,EAAE,KAAKe,WAAL,CAAiBf,EADM;AAE3BkB,kBAAM,EAAE,KAAKD,QAAL,CAAc6H,WAAd,GAA4B5H,MAFT;AAG3B+H,kBAAM,EAAE,KAAKhI,QAAL,CAAc6H,WAAd,GAA4BG;AAHT,WAAf,CAAd;;AAOA,cAAIhJ,IAAI,CAACC,SAAL,CAAekP,OAAf,KAA2BnP,IAAI,CAACC,SAAL,CAAe,KAAKa,WAApB,CAA/B,EAAiE;AAC/D,iBAAKsO,iBAAL,CAAuBD,OAAvB;AACD,WAFD,MAGK;AAAC,gBAAI,KAAKrG,YAAL,KAAsBmG,SAA1B,EAAqC;AAEzC,mBAAKrC,WAAL,CAAiBQ,UAAjB,CAA4B7H,IAA5B;AAED,aAJK,MAIC;AAEL,mBAAKqH,WAAL,CAAiB9D,YAAjB,CAA8BI,QAA9B,CAAuC3D,IAAvC;AACD;AACA;AACF;;;0CAEiB8J,M,EAAQ;AAAA;;AACxB2K,iBAAO,CAACC,GAAR,CAAY,cAAZ,EAA4B5K,MAA5B;AAEA,eAAKhP,YAAL,CAAkBiJ,MAAlB,CAAyB+F,MAAzB,EAAiCvM,SAAjC,CAA2C,UAAAC,MAAM,EAAI;AACnD,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAAC6J,WAAL,CAAiBjK,QAAjB;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAACwL,WAAL,CAAiBtH,YAAjB,CAA8B,QAAI,CAAC9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAA9B,EAAiE,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,oBAAvB,CAAjE;;AACA,kBAAI,QAAI,CAAC4F,YAAL,KAAsBmG,SAA1B,EAAqC;AAEnC,wBAAI,CAACrC,WAAL,CAAiBQ,UAAjB,CAA4B7H,IAA5B;AAED,eAJD,MAIO;AAEL,wBAAI,CAACqH,WAAL,CAAiB9D,YAAjB,CAA8BI,QAA9B,CAAuC3D,IAAvC;AACD;AACF,aAZD,MAaK;AACH,sBAAI,CAACqH,WAAL,CAAiB3J,UAAjB,CAA4B,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAA5B,EAA6D,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,YAAvB,CAA7D;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAlBD;AAmBD,S,CAED;AACA;AACA;;;;uCACe;AACb,eAAKa,SAAL,GAAiB,KAAKD,WAAtB,CADa,CAEb;;AACA,eAAKZ,aAAL,GAAqB,SAArB;AACA,eAAKwB,mBAAL;AACD,S,CAED;;;;8CACsB;AAAA;;AACpB,eAAKvC,YAAL,CAAkBwC,UAAlB,CAA6B,KAAK+J,WAAL,CAAiBvK,YAA9C,EAA4DS,SAA5D,CAAsE,UAAAC,MAAM,EAAI;AAC9E,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAAC6J,WAAL,CAAiBjK,QAAjB;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAACwL,WAAL,CAAiB5J,gBAAjB;AACD,aAJD,MAKK;AACH,sBAAI,CAAC4J,WAAL,CAAiB3J,UAAjB,CAA4B,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAA5B,EAA6D,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,cAAvB,CAA7D;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAVD;AAWD;;;uCAGc+O,O,EAAS;AACtB,eAAKvD,WAAL,CAAiBpK,SAAjB,GAA6B,KAAKA,SAAlC;AACA,eAAKoK,WAAL,CAAiBwD,UAAjB,CAA4B,KAAKxD,WAAL,CAAiByD,OAAjB,CAAyBF,OAAzB,CAA5B;AACD,S,CACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;uCACe;AACb,eAAK/O,aAAL,GAAqB,SAArB;AACA,eAAKwL,WAAL,CAAiBjK,QAAjB;AACD,S,CAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;iCACSwN,O,EAAS;AAChB,eAAKvD,WAAL,CAAiBwD,UAAjB,CAA4B,KAAKxD,WAAL,CAAiByD,OAAjB,CAAyB,MAAzB,CAA5B;AACA,eAAK7N,SAAL,GAAiB,KAAKoK,WAAL,CAAiBpK,SAAlC;AACD;;;;;;;uBAvOUu+D,yB,EAAyB,2H,EAAA,sI,EAAA,wH,EAAA,4I,EAAA,qI;AAAA,K;;;YAAzBA,yB;AAAyB,wC;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;ACqCtC;;AACI;;AACI;;AAEA;;AACI;;AACI;;AACI;;;;AAA2D;;AACnE;;AACA;;AACI;;AACI;;AACI;;AAAqC;;;;AAAwB;;AAC7D;;AAGA;;AAEA;;AAGA;;AACJ;;AAEA;;AACI;;AAAqC;;;;AAAwB;;AAC7D;;AAGA;;AAEA;;AAGA;;AACJ;;AAEA;;AACI;;AAKA;;AAKA;;AAA8B;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAA0B,WAA1B;;AACoD;;;;AACnE;;AACnB;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AACJ;;AAGA;;AACI;;AACI;;AACI;;AAAkE;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAAwB,WAAxB;;AAE9D;;AAAyB;;AAAO;;AACpC;;AACA;;AACI;;AACI;;;;AACW;;AACnB;;AACA;;AACI;;AAQA;;AAQA;;AACI;;AAA2D;AAAA,mBAAS,IAAA/6D,YAAA,EAAT;AAAuB,WAAvB;;AAEK;;;;AAAwB;;AACxF;;AAA8B;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAAwB,WAAxB;;AACoD;;;;AACnE;;AACnB;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AAIA;;AA8JA;;AAIA;;AAKA;;AAKA;;AAIA;;AAKA;;;;AAvRoB;;AAAA;;AAG0C;;AAAA;;AAED;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAMiC;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAMI;;AAAA;;AAKA;;AAAA;;AAM0E;;AAAA;;AAoBtF;;AAAA;;AAIiC;;AAAA;;AAQ4B;;AAAA;;AAUzD;;AAAA;;AAC4D;;AAAA;;AAEkB;;AAAA;;AAOhG;;AAAA;;AAID;;AAAA;;;;;;;;;;sED9IQ+6D,yB,EAAyB;cANrC,uDAMqC;eAN3B;AACT;AACA96D,kBAAQ,EAAE,mBAFD;AAGTC,qBAAW,EAAE,kCAHJ;AAITC,mBAAS,EAAE,CAAC,kCAAD;AAJF,S;AAM2B,Q;;;;;;;;;;;;;;gBAqCnC,uD;iBAAU,c,EAAgB;AAAE,sBAAQ;AAAV,W;;;gBAC1B,uD;iBAAU,U,EAAY;AAAE,sBAAQ;AAAV,W;;;gBACtB,uD;iBAAU,Y,EAAc;AAAE,sBAAQ;AAAV,W;;;;;;;;;;;;;;;;;;;;AE3D3B;AAAA;;;AAAA;AAAA;AAAA;;QAAa06D,U,GAIL,oBAAYh8D,IAAZ,EAA+B;AAAA;;AAC3BA,UAAI,GAAGA,IAAI,GAAGA,IAAH,GAAU,EAArB;AACA,WAAK9E,EAAL,GAAU8E,IAAI,CAAC9E,EAAL,GAAU8E,IAAI,CAAC9E,EAAf,GAAoB,CAA9B;AACA,WAAKiJ,MAAL,GAAcnE,IAAI,CAACmE,MAAL,GAAcnE,IAAI,CAACmE,MAAnB,GAA4B,EAA1C;AACA,WAAK/H,MAAL,GAAc4D,IAAI,CAAC5D,MAAL,GAAc4D,IAAI,CAAC5D,MAAnB,GAA4B,EAA1C;AACH,K;;;;;;;;;;;;;;;;;ACTT;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAYa+/D,sB;AACT,sCAAoBjiE,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAIpB,aAAAC,OAAA,GAAU,yEAAYC,UAAtB;AACC,aAAAC,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AAJA;;;;iCAYK;AAEJ,iBAAO,KAAKH,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,6BAC6C,KAAKK,WADlD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCACOZ,E,EAAS;AAEf,iBAAO,KAAKE,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,qCAC+CH,EAD/C,GACoD,KAAKQ,WADzD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BACMI,O,EAAmB;AAExB,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,6BAC+Ca,OAD/C,EACuD,KAAKR,WAD5D,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BAEMI,O,EAAmB;AACxB,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,6BAC+Ca,OAD/C,EACuD,KAAKR,WAD5D,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCAEMI,O,EAAmB;AACtB,iBAAO,KAAKd,IAAL,CACNe,IADM,WACO,KAAKd,OADZ,6BAC6Ca,OAD7C,EACqD,KAAKR,WAD1D,EAENG,IAFM,CAED,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFC,CAAP;AAGH;;;mCAGUI,O,EAAsB;AAC/B,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,iCACkDgB,IAAI,CAACC,SAAL,CAAeJ,OAAf,CADlD,EAC0E,KAAKR,WAD/E,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;;;;;uBAnDQuhE,sB,EAAsB,uH;AAAA,K;;;aAAtBA,sB;AAAsB,eAAtBA,sBAAsB,K;AAAA,kBAFrB;;;;;sEAEDA,sB,EAAsB;cAHlC,wDAGkC;eAHvB;AACV9gE,oBAAU,EAAE;AADF,S;AAGuB,Q;;;;;;;;;;;;;;;;;;;;;;ACZnC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;;ACsEwB;;;;;;AAEI;;;;;;AACJ;;AACkB;;AAAsB;;;;;;AAAtB;;AAAA;;;;;;AAClB;;AAEI;;;;AAAgC;;;;AAAhC;;AAAA;;;;;;AAMJ;;;;;;AAEI;;;;;;AACJ;;AACkB;;AAAsB;;;;;;AAAtB;;AAAA;;;;;;AAClB;;AAEI;;;;AAAgC;;;;AAAhC;;AAAA;;;;;;;;AAKJ;;AAE8B;AAAA;;AAAA;;AAAA;AAAA;;AACkC;;;;AACjD;;;;;;AAHX;;AAE4D;;AAAA;;;;;;;;AAEhE;;AAE8B;AAAA;;AAAA;;AAAA;AAAA;;AACkC;;;;AAC/C;;;;;;AAHb;;AAE4D;;AAAA;;;;;;AA8BpE;;AACI;;AAAmB;;AAA4C;;AAC/D;;AACJ;;;;;;;;AAFuB;;AAAA;;;;;;AAJ3B;;AAGI;;AAIJ;;;;;;AAJS;;AAAA;;;;;;AAKT;;AAEI;;AACI;;AAAqD;;;;AAA2C;;AACpG;;AACA;;AACJ;;;;;;AAH6D;;AAAA;;;;;;;;AAiB7E;;AACI;;AAAG;AAAA;;AAAA;;AAAA,yCAAuB,OAAvB;AAA8B,SAA9B;;AAAgC;;AAAI;;AAC3C;;;;;;;;AAwDoC;;AAEI;;AAAoB;;AACZ;;AAEI;AAAA;;AAAA;;AAAA,iBAAS,QAAA0M,WAAA,cAAyB,UAAzB,CAAT;AAA6C,SAA7C;;AACsF;;;;AAE3E;;AAAS;;AAAI;;AACxC;;;;;;AAHgB;;AAAA;;AAAsF;;AAAA;;;;;;;;AA8BlG;;AAAwE;;AAEhE;AAAA;;AAAA;;AAAA;;AAAA,iBAAS,QAAAA,WAAA,wBAA+B,CAA/B,CAAT;AAA0C,SAA1C;;AAA4C;;AAAQ;;AAAI;;;;;;;;AADxD;;AAAA;;AAC4C;;AAAA;;;;;;AAJxD;;AAEI;;AAGJ;;;;;;AAHwB;;AAAA;;;;;;;;AASpC;;AACI;;AACI;;AACI;;AAC4C;AAAA;;AAAA;;AAAA;;AAAA,iBAAU,QAAAA,WAAA,kBAAV;AAAmC,SAAnC;;AAD5C;;AAEA;;AACJ;;AACJ;;AACA;;AAAgB;;AAAwC;;AACxD;;AAAI;;AAAyC;AAAA;;AAAA;;AAAA;;AAAA,+CAA2B,MAA3B;AAAiC,SAAjC;;AACsD;;;;AAC9E;;AAAS;;AAC9B;;AAAI;;AAAoD;AAAA;;AAAA;;AAAA;;AAAA,+CAA2B,MAA3B;AAAiC,SAAjC;;AAC2C;;;;AAC9E;;AAAS;;AAC9B;;AAAI;;AAAmD;AAAA;;AAAA;;AAAA;;AAAA,iBAAS,QAAAA,WAAA,yBAAT;AAAyC,SAAzC;;AAC2C;;;;AAC7E;;AAAS;;AAClC;;;;;;;;;AAfgE;;AAAA,8FAAsB,SAAtB,EAAsB,uCAAtB;;AAEhB;;AAAA;;AAG5B;;AAAA;;AAER;;AAAA;;AAA2F;;AAAA;;AAG3F;;AAAA;;AAA2F;;AAAA;;AAG3F;;AAAA;;AAA0F;;AAAA;;;;;;;;;;;;;;;;;;;;;;AAnH9H;;AACI;;AACI;;AAEI;;AACI;;AACI;;AACI;;AAAsC;AAAA;;AAAA;;AAAA;AAAA,WAAoC,OAApC,EAAoC;AAAA;;AAAA;;AAAA,iBAAU,QAAAA,WAAA,eAAV;AAAoC,SAAxE,EAAoC,QAApC,EAAoC;AAAA;;AAAA;;AAAA,iBAAgD,QAAAA,WAAA,eAAhD;AAA0E,SAA9G;;;;AAAtC;;AAEJ;;AACJ;;AACJ;;AACJ;;AAEA;;AACI;;AACI;;AACJ;;AACA;;AACI;;AAEI;AAAA;;AAAA;;AAAA,mCAAmB,IAAnB,EAAwB,KAAxB;AAA6B,SAA7B;;AAAmF;;;;AACxE;;AAEnB;;AACJ;;AAEJ;;AAGA;;AAEI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AAEI;;AAGI;AAAA;;AAAA;;AAAA,iBAAU,QAAAA,WAAA,kBAAV;AAAuC,SAAvC;;AAHJ;;AAIA;;AAAmC;;AAAM;;AAC7C;;AACJ;;AACA;;AAGI;;AACJ;;AACA;;AAUJ;;AACJ;;AACJ;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,iBAAS,QAAAA,WAAA,YAAuB,QAAAA,WAAA,SAAoB,MAApB,CAAvB,CAAT;AAA4D,SAA5D;;AACjB;;AAEwF;;AAC5F;;AAAuB;AAAA;;AAAA;;AAAA,iBAAS,QAAAA,WAAA,YAAuB,QAAAA,WAAA,SAAoB,MAApB,CAAvB,CAAT;AAA4D,SAA5D;;AAEf;;;;AACR;;AAEA;;AACA;;AACI;;AAEI;;AACI;;;;AACJ;;AACA;;AACI;;AAEI;;AACJ;;AACA;;AAMJ;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AAmBJ;;AACA;;AACI;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAEA;;AAEI;;AAA6E;;AAAM;;AAEnF;;AAEI;;AACI;;AACI;;AACyC;AAAA;;AAAA;;AAAA;AAAA,WAAyB,aAAzB,EAAyB;AAAA;;AAAA;;AAAA,iBAI/C,QAAAA,WAAA,mBAJ+C;AAIjB,SAJR;;AAKzC;;AACJ;;AACJ;;AACJ;;AAEA;;AAA0E;;AAAM;;AAEpF;;AACJ;;;;;;;;;;;;;;AApJ2E;;AAAA;;AADb;;AAcV;;AAAA;;AAAmD;;AAAA;;AAsBvD;;AAAA,8HAAkD,eAAlD,EAAkD,sDAAlD;;AAwB2D;;AAAA;;AAC1E;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAIJ;;AAAA;;AAIQ;;AAAA;;AAKI;;AAAA;;AAaZ;;AAAA;;AA4CiC;;AAAA,iGAAyB,eAAzB,EAAyB,IAAzB,EAAyB,YAAzB,EAAyB,uCAAzB,EAAyB,cAAzB,EAAyB,gCAAzB,EAAyB,qBAAzB,EAAyB,IAAzB,EAAyB,oBAAzB,EAAyB,IAAzB,EAAyB,wBAAzB,EAAyB,IAAzB,EAAyB,oBAAzB,EAAyB,IAAzB,EAAyB,SAAzB,EAAyB,CAAzB;;;;;;AAoBzD;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AAIA;;;;QD/TSq0D,oB;AACX;AACA;AACA;AACA;AAEA,oCAAoB7gE,WAApB,EAAqDC,YAArD,EAA+FC,QAA/F,EACUC,aADV,EACuDC,SADvD,EACkF;AAAA;;AAD9D,aAAAJ,WAAA,GAAAA,WAAA;AAAiC,aAAAC,YAAA,GAAAA,YAAA;AAA0C,aAAAC,QAAA,GAAAA,QAAA;AACrF,aAAAC,aAAA,GAAAA,aAAA;AAA6C,aAAAC,SAAA,GAAAA,SAAA;AAKvD,aAAAoM,WAAA,GAAc,IAAI,oFAAJ,CAAgB,KAAKpM,SAArB,EAAgC,KAAKD,aAArC,CAAd;AACA,aAAAG,aAAA,GAAqB,OAArB;AAEA,aAAAC,eAAA,GAA0B,cAA1B;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,cAAA,GAAiB,CAAC,QAAD,EAAW,QAAX,CAAjB;AAEA,aAAAC,WAAA,GAA0B,IAAI,wDAAJ,EAA1B;AAEA,aAAAC,MAAA,GAAuB,EAAvB;AACA,aAAAC,QAAA,GAAsB,IAAI,wDAAJ,CAAc;AAClCjB,YAAE,EAAE,IAAI,0DAAJ,EAD8B;AAElCkB,gBAAM,EAAE,IAAI,0DAAJ,EAF0B;AAGlC+H,gBAAM,EAAE,IAAI,0DAAJ;AAH0B,SAAd,CAAtB;AASA,aAAA5H,aAAA,GAAgB,EAAhB;AACA,aAAAa,SAAA,GAAY,CAAZ;AACA,aAAAD,WAAA,GAAc,CAAd;AACA,aAAAK,YAAA,GAAsB,EAAtB;AAE6C,aAAAyG,YAAA,GAAmC,IAAnC;AA3B5C;;;;mCA8BO;AACN,eAAKvG,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACA,eAAKoD,SAAL,GAAiB;AAAEC,iBAAK,EAAE,MAAT;AAAiBC,oBAAQ,EAAE,KAAKH,IAAL,KAAc,OAAd,GAAwB,QAAxB,GAAmC;AAA9D,WAAjB;AACA,eAAK3B,YAAL,GAAoB,CAClB;AAAE6B,iBAAK,EAAE,MAAT;AAAiBC,oBAAQ,EAAE,KAAKH,IAAL,KAAc,OAAd,GAAwB,QAAxB,GAAmC;AAA9D,WADkB,CAApB;AAIA,eAAKqK,WAAL,CAAiBwB,eAAjB,CAAiC,KAAKrN,MAAtC,EAA8C,KAAKV,YAAnD,EAAiE,KAAKS,WAAtE,EACE,KAAKD,cADP,EACuB,KAAKD,YAD5B,EAC0C,KAAKI,QAD/C,EACyD,KAAKL,eAD9D,EAC+E,KAAK6B,SADpF,EAEE,KAAKsG,YAFP,EAEqB,KAAK1D,QAF1B,EAEoC,KAAKgI,UAFzC,EAEqD,KAAK7K,IAF1D;AAIA,eAAK4L,YAAL;AACD;;;kCAESpO,E,EAAIsO,M,EAAQ;AACpB,cAAIA,MAAM,KAAK,KAAf,EAAsB;AACpB,iBAAKzB,WAAL,CAAiB0B,kBAAjB,CAAoC,KAAK3F,UAAzC,EAAqD,KAAKvI,WAA1D;AACD,WAFD,MAGK,IAAIiO,MAAM,KAAK,MAAf,EAAuB;AAE1B,iBAAKzB,WAAL,CAAiB6B,gBAAjB,CAAkC1O,EAAlC,EAAsC,KAAK4I,UAA3C,EAAuD,KAAKvI,WAA5D;AACA4Z,mBAAO,CAACC,GAAR,CAAY,uBAAuB,KAAKnZ,WAAxC;AACAkZ,mBAAO,CAACC,GAAR,CAAY,KAAKnZ,WAAjB;AACAkZ,mBAAO,CAACC,GAAR,CAAY,+BAA+B,KAAKrN,WAAL,CAAiB9L,WAA5D;AACAkZ,mBAAO,CAACC,GAAR,CAAY,KAAKrN,WAAL,CAAiB9L,WAA7B;AAED,WARI,MASA,IAAIuN,MAAM,KAAK,MAAf,EAAuB;AAC1B,iBAAKzB,WAAL,CAAiB8B,gBAAjB,CAAkC3O,EAAlC,EAAsC,KAAK4I,UAA3C,EAAuD,KAAKvI,WAA5D;AACD;;AACD,eAAKU,WAAL,GAAmB,KAAK8L,WAAL,CAAiB9L,WAApC;AACA,eAAKE,QAAL,GAAgB,KAAK4L,WAAL,CAAiB5L,QAAjC;AACD;;;mCAEUF,W,EAAaV,W,EAAW;AACjC;AAEA;AAEA,iBAAOA,WAAW,CAAC6G,KAAZ,CAAkB;AACvBlH,cAAE,EAAE,CAACe,WAAW,CAACf,EAAZ,IAAkB,CAAlB,GAAsBe,WAAW,CAACf,EAAlC,GAAuC,CAAxC,CADmB;AAEvBkB,kBAAM,EAAE,CAACH,WAAW,CAACG,MAAb,EAAqB,0DAAW0N,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWE,SAAX,CAAqB,CAArB,CAAtB,CAAnB,CAArB,CAFe;AAGvB9F,kBAAM,EAAE,CAAClI,WAAW,CAACkI,MAAb,EAAqB,0DAAW2F,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWC,OAAX,CAAmB,4CAAnB,CAAtB,CAAnB,CAArB;AAHe,WAAlB,CAAP;AAMD;;;oCAEW;AACV,eAAKzN,aAAL,GAAqB,SAArB;AAEA,eAAKN,WAAL,GAAmB,IAAI,wDAAJ,EAAnB;AACA,eAAKA,WAAL,CAAiBf,EAAjB,GAAsB,CAAtB;AACA,eAAKe,WAAL,CAAiBG,MAAjB,GAA0B,KAAKD,QAAL,CAAc6H,WAAd,GAA4B5H,MAAtD;AACA,eAAKH,WAAL,CAAiBkI,MAAjB,GAA0B,KAAKhI,QAAL,CAAc6H,WAAd,GAA4BG,MAAtD,CANU,CAOV;;AAEA,eAAKgG,gBAAL;AACD;;;2CAEkB;AAAA;;AACjBgL,iBAAO,CAACC,GAAR,CAAY,KAAKnZ,WAAjB;AAEA,eAAKT,YAAL,CAAkBgJ,MAAlB,CAAyB,KAAKvI,WAA9B,EAA2CgC,SAA3C,CAAqD,UAAAC,MAAM,EAAI;AAC7D,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAAC6J,WAAL,CAAiBjK,QAAjB;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAACwL,WAAL,CAAiBtH,YAAjB,CAA8B,QAAI,CAAC9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAA9B,EAAiE,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,mBAAvB,CAAjE;;AACA,kBAAI,QAAI,CAAC4F,YAAL,KAAsBmG,SAA1B,EAAqC;AAEnC,wBAAI,CAACrC,WAAL,CAAiBQ,UAAjB,CAA4B7H,IAA5B;AAED,eAJD,MAIO;AAEL,wBAAI,CAACqH,WAAL,CAAiB9D,YAAjB,CAA8BI,QAA9B,CAAuC3D,IAAvC;AACD;AACF,aAZD,MAaK;AACH,sBAAI,CAACqH,WAAL,CAAiB3J,UAAjB,CAA4B,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAA5B,EAA6D,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,WAAvB,CAA7D;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAlBD;AAmBD;;;qCAEY;AACX,eAAKA,aAAL,GAAqB,SAArB;AACA,eAAKwL,WAAL,CAAiB3K,SAAjB,GAA6B,KAAK2K,WAAL,CAAiB5K,WAA9C;AAEA,cAAImN,OAAO,GAAG,IAAI,wDAAJ,CAAe;AAC3BpP,cAAE,EAAE,KAAKe,WAAL,CAAiBf,EADM;AAE3BkB,kBAAM,EAAE,KAAKD,QAAL,CAAc6H,WAAd,GAA4B5H,MAFT;AAG3B+H,kBAAM,EAAE,KAAKhI,QAAL,CAAc6H,WAAd,GAA4BG;AAHT,WAAf,CAAd;;AAOA,cAAIhJ,IAAI,CAACC,SAAL,CAAekP,OAAf,KAA2BnP,IAAI,CAACC,SAAL,CAAe,KAAKa,WAApB,CAA/B,EAAiE;AAC/D,iBAAKsO,iBAAL,CAAuBD,OAAvB;AACD,WAFD,MAGK;AAAC,gBAAI,KAAKrG,YAAL,KAAsBmG,SAA1B,EAAqC;AAEzC,mBAAKrC,WAAL,CAAiBQ,UAAjB,CAA4B7H,IAA5B;AAED,aAJK,MAIC;AAEL,mBAAKqH,WAAL,CAAiB9D,YAAjB,CAA8BI,QAA9B,CAAuC3D,IAAvC;AACD;AACA;AACF;;;0CAEiB8J,M,EAAQ;AAAA;;AACxB2K,iBAAO,CAACC,GAAR,CAAY,cAAZ,EAA4B5K,MAA5B;AAEA,eAAKhP,YAAL,CAAkBiJ,MAAlB,CAAyB+F,MAAzB,EAAiCvM,SAAjC,CAA2C,UAAAC,MAAM,EAAI;AACnD,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAAC6J,WAAL,CAAiBjK,QAAjB;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAACwL,WAAL,CAAiBtH,YAAjB,CAA8B,QAAI,CAAC9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAA9B,EAAiE,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,oBAAvB,CAAjE;;AACA,kBAAI,QAAI,CAAC4F,YAAL,KAAsBmG,SAA1B,EAAqC;AAEnC,wBAAI,CAACrC,WAAL,CAAiBQ,UAAjB,CAA4B7H,IAA5B;AAED,eAJD,MAIO;AAEL,wBAAI,CAACqH,WAAL,CAAiB9D,YAAjB,CAA8BI,QAA9B,CAAuC3D,IAAvC;AACD;AACF,aAZD,MAaK;AACH,sBAAI,CAACqH,WAAL,CAAiB3J,UAAjB,CAA4B,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAA5B,EAA6D,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,YAAvB,CAA7D;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAlBD;AAmBD,S,CAED;AACA;AACA;;;;uCACe;AACb,eAAKa,SAAL,GAAiB,KAAKD,WAAtB,CADa,CAEb;;AACA,eAAKZ,aAAL,GAAqB,SAArB;AACA,eAAKwB,mBAAL;AACD,S,CAED;;;;8CACsB;AAAA;;AACpB,eAAKvC,YAAL,CAAkBwC,UAAlB,CAA6B,KAAK+J,WAAL,CAAiBvK,YAA9C,EAA4DS,SAA5D,CAAsE,UAAAC,MAAM,EAAI;AAC9E,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAAC6J,WAAL,CAAiBjK,QAAjB;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAACwL,WAAL,CAAiB5J,gBAAjB;AACD,aAJD,MAKK;AACH,sBAAI,CAAC4J,WAAL,CAAiB3J,UAAjB,CAA4B,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAA5B,EAA6D,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,cAAvB,CAA7D;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAVD;AAWD;;;uCAGc+O,O,EAAS;AACtB,eAAKvD,WAAL,CAAiBpK,SAAjB,GAA6B,KAAKA,SAAlC;AACA,eAAKoK,WAAL,CAAiBwD,UAAjB,CAA4B,KAAKxD,WAAL,CAAiByD,OAAjB,CAAyBF,OAAzB,CAA5B;AACD,S,CACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;uCACe;AACb,eAAK/O,aAAL,GAAqB,SAArB;AACA,eAAKwL,WAAL,CAAiBjK,QAAjB;AACD,S,CAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;iCACSwN,O,EAAS;AAChB,eAAKvD,WAAL,CAAiBwD,UAAjB,CAA4B,KAAKxD,WAAL,CAAiByD,OAAjB,CAAyB,MAAzB,CAA5B;AACA,eAAK7N,SAAL,GAAiB,KAAKoK,WAAL,CAAiBpK,SAAlC;AACD;;;;;;;uBAvOUy+D,oB,EAAoB,2H,EAAA,kI,EAAA,wH,EAAA,4I,EAAA,qI;AAAA,K;;;YAApBA,oB;AAAoB,mC;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;ACqCjC;;AACI;;AACI;;AAEA;;AACI;;AACI;;AACI;;;;AAA2D;;AACnE;;AACA;;AACI;;AACI;;AACI;;AAAqC;;;;AAAwB;;AAC7D;;AAGA;;AAEA;;AAGA;;AACJ;;AAEA;;AACI;;AAAqC;;;;AAAwB;;AAC7D;;AAGA;;AAEA;;AAGA;;AACJ;;AAEA;;AACI;;AAKA;;AAKA;;AAA8B;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAA0B,WAA1B;;AACoD;;;;AACnE;;AACnB;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AACJ;;AAGA;;AACI;;AACI;;AACI;;AAAkE;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAAwB,WAAxB;;AAE9D;;AAAyB;;AAAO;;AACpC;;AACA;;AACI;;AACI;;;;AACW;;AACnB;;AACA;;AACI;;AAQA;;AAQA;;AACI;;AAA2D;AAAA,mBAAS,IAAAj7D,YAAA,EAAT;AAAuB,WAAvB;;AAEK;;;;AAAwB;;AACxF;;AAA8B;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAAwB,WAAxB;;AACoD;;;;AACnE;;AACnB;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AAIA;;AA8JA;;AAIA;;AAKA;;AAKA;;AAIA;;AAKA;;;;AAvRoB;;AAAA;;AAG0C;;AAAA;;AAED;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAMiC;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAMI;;AAAA;;AAKA;;AAAA;;AAM0E;;AAAA;;AAoBtF;;AAAA;;AAIiC;;AAAA;;AAQ4B;;AAAA;;AAUzD;;AAAA;;AAC4D;;AAAA;;AAEkB;;AAAA;;AAOhG;;AAAA;;AAID;;AAAA;;;;;;;;;;sED9IQi7D,oB,EAAoB;cANhC,uDAMgC;eANtB;AACT;AACAh7D,kBAAQ,EAAE,cAFD;AAGTC,qBAAW,EAAE,6BAHJ;AAITC,mBAAS,EAAE,CAAC,6BAAD;AAJF,S;AAMsB,Q;;;;;;;;;;;;;;gBAqC9B,uD;iBAAU,c,EAAgB;AAAE,sBAAQ;AAAV,W;;;gBAC1B,uD;iBAAU,U,EAAY;AAAE,sBAAQ;AAAV,W;;;gBACtB,uD;iBAAU,Y,EAAc;AAAE,sBAAQ;AAAV,W;;;;;;;;;;;;;;;;;;;;AE3D3B;AAAA;;;AAAA;AAAA;AAAA;;QAAa06D,U,GAIL,oBAAYh8D,IAAZ,EAA+B;AAAA;;AAC3BA,UAAI,GAAGA,IAAI,GAAGA,IAAH,GAAU,EAArB;AACA,WAAK9E,EAAL,GAAU8E,IAAI,CAAC9E,EAAL,GAAU8E,IAAI,CAAC9E,EAAf,GAAoB,CAA9B;AACA,WAAKiJ,MAAL,GAAcnE,IAAI,CAACmE,MAAL,GAAcnE,IAAI,CAACmE,MAAnB,GAA4B,EAA1C;AACA,WAAK/H,MAAL,GAAc4D,IAAI,CAAC5D,MAAL,GAAc4D,IAAI,CAAC5D,MAAnB,GAA4B,EAA1C;AACH,K;;;;;;;;;;;;;;;;;ACTT;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAYaigE,kB;AACT,kCAAoBniE,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAIpB,aAAAC,OAAA,GAAU,yEAAYC,UAAtB;AACC,aAAAC,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AAJA;;;;iCAYK;AAEJ,iBAAO,KAAKH,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,yBACyC,KAAKK,WAD9C,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCACOZ,E,EAAS;AAEf,iBAAO,KAAKE,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,iCAC2CH,EAD3C,GACgD,KAAKQ,WADrD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BACMI,O,EAAmB;AAExB,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,yBAC2Ca,OAD3C,EACmD,KAAKR,WADxD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BAEMI,O,EAAmB;AACxB,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,yBAC2Ca,OAD3C,EACmD,KAAKR,WADxD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCAEMI,O,EAAmB;AACtB,iBAAO,KAAKd,IAAL,CACNe,IADM,WACO,KAAKd,OADZ,yBACyCa,OADzC,EACiD,KAAKR,WADtD,EAENG,IAFM,CAED,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFC,CAAP;AAGH;;;mCAGUI,O,EAAsB;AAC/B,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,6BAC8CgB,IAAI,CAACC,SAAL,CAAeJ,OAAf,CAD9C,EACsE,KAAKR,WAD3E,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;;;;;uBAnDQyhE,kB,EAAkB,uH;AAAA,K;;;aAAlBA,kB;AAAkB,eAAlBA,kBAAkB,K;AAAA,kBAFjB;;;;;sEAEDA,kB,EAAkB;cAH9B,wDAG8B;eAHnB;AACVhhE,oBAAU,EAAE;AADF,S;AAGmB,Q;;;;;;;;;;;;;;;;;;;;;;ACX/B;AAAA;;;AAAA;AAAA;AAAA;;QAAaihE,gB,GAoBT,0BAAYv2D,GAAZ,EAAiC;AAAA;;AAC7BA,SAAG,GAAGA,GAAG,GAAEA,GAAF,GAAM,EAAf;AACA,WAAK7K,EAAL,GAAU6K,GAAG,CAAC7K,EAAJ,GAAQ6K,GAAG,CAAC7K,EAAZ,GAAe,CAAzB;AACA,WAAKiJ,MAAL,GAAc4B,GAAG,CAAC5B,MAAJ,GAAY4B,GAAG,CAAC5B,MAAhB,GAAuB,EAArC;AACA,WAAK/H,MAAL,GAAc2J,GAAG,CAAC3J,MAAJ,GAAY2J,GAAG,CAAC3J,MAAhB,GAAuB,EAArC;AACA,WAAKmgE,UAAL,GAAkBx2D,GAAG,CAACw2D,UAAJ,GAAgBx2D,GAAG,CAACw2D,UAApB,GAA+B,EAAjD;AACA,WAAKnqC,aAAL,GAAqBrsB,GAAG,CAACqsB,aAAJ,GAAmBrsB,GAAG,CAACqsB,aAAvB,GAAqC,CAA1D;AACA,WAAKoqC,aAAL,GAAqBz2D,GAAG,CAACy2D,aAAJ,GAAmBz2D,GAAG,CAACy2D,aAAvB,GAAqC,CAA1D;AACA,WAAKC,UAAL,GAAkB12D,GAAG,CAAC02D,UAAJ,GAAgB12D,GAAG,CAAC02D,UAApB,GAA+B,CAAjD;AACA,WAAKC,SAAL,GAAiB32D,GAAG,CAAC22D,SAAJ,GAAe32D,GAAG,CAAC22D,SAAnB,GAA6B,CAA9C;AACA,WAAKC,oBAAL,GAA4B52D,GAAG,CAAC42D,oBAAJ,GAA0B52D,GAAG,CAAC42D,oBAA9B,GAAmD,CAA/E;AACA,WAAKC,iBAAL,GAAyB72D,GAAG,CAAC62D,iBAAJ,GAAuB72D,GAAG,CAAC62D,iBAA3B,GAA6C,CAAtE;AACA,WAAKC,mBAAL,GAA2B92D,GAAG,CAAC82D,mBAAJ,GAAyB92D,GAAG,CAAC82D,mBAA7B,GAAiD,CAA5E;AACA,WAAKC,aAAL,GAAqB/2D,GAAG,CAAC+2D,aAAJ,GAAmB/2D,GAAG,CAAC+2D,aAAvB,GAAqC,CAA1D;AACA,WAAKC,WAAL,GAAmBh3D,GAAG,CAACg3D,WAAJ,GAAiBh3D,GAAG,CAACg3D,WAArB,GAAiC,CAApD;AACA,WAAKC,aAAL,GAAqBj3D,GAAG,CAACi3D,aAAJ,GAAmBj3D,GAAG,CAACi3D,aAAvB,GAAqC,CAA1D;AACA,WAAKhC,KAAL,GAAaj1D,GAAG,CAACi1D,KAAJ,GAAWj1D,GAAG,CAACi1D,KAAf,GAAqB,CAAlC;AACA,WAAKC,MAAL,GAAcl1D,GAAG,CAACk1D,MAAJ,GAAYl1D,GAAG,CAACk1D,MAAhB,GAAuB,CAArC;AACA,WAAKgC,SAAL,GAAiBl3D,GAAG,CAACk3D,SAAJ,GAAel3D,GAAG,CAACk3D,SAAnB,GAA6B,KAA9C;AACA,WAAKC,oBAAL,GAA+Bn3D,GAAG,CAACm3D,oBAAJ,GAA6Bn3D,GAAG,CAACm3D,oBAAjC,GAAyD,KAAxF;AACA,WAAKC,uBAAL,GAA+Bp3D,GAAG,CAACo3D,uBAAJ,GAA6Bp3D,GAAG,CAACo3D,uBAAjC,GAAyD,KAAxF;AAEH,K;;;;;;;;;;;;;;;;;AC3CL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAYaC,mB;AACT,mCAAoBljE,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAIpB,aAAAC,OAAA,GAAU,yEAAYC,UAAtB;AACC,aAAAC,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AAJA;;;;+BAYML,E,EAAS;AAEd,iBAAO,KAAKE,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,iCAC2CH,EAD3C,GACgD,KAAKQ,WADrD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;0CACiBZ,E,EAAS;AAEzB,iBAAO,KAAKE,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,4CACsDH,EADtD,GAC2D,KAAKQ,WADhE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;2CAEkBZ,E,EAAS;AAE1B,iBAAO,KAAKE,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,6CACuDH,EADvD,GAC4D,KAAKQ,WADjE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;4CACmBZ,E,EAAS;AAE3B,iBAAO,KAAKE,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,8CACwDH,EADxD,GAC6D,KAAKQ,WADlE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;6CAEiB;AAChB,iBAAO,KAAKV,IAAL,CACJQ,GADI,WACW,KAAKP,OADhB,sCACyD,KAAKK,WAD9D,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCACOZ,E,EAAS;AAEf,iBAAO,KAAKE,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,kCAC4CH,EAD5C,GACiD,KAAKQ,WADtD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BACMI,O,EAAyB;AAE9B,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,0BAC4Ca,OAD5C,EACoD,KAAKR,WADzD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BAEMI,O,EAAyB;AAC9B,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,0BAC4Ca,OAD5C,EACoD,KAAKR,WADzD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCAEMI,O,EAAyB;AAC9B,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,0BAC2Ca,OAD3C,EACmD,KAAKR,WADxD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;mCAEUI,O,EAA4B;AACrC,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,8BAC+CgB,IAAI,CAACC,SAAL,CAAeJ,OAAf,CAD/C,EACuE,KAAKR,WAD5E,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;;;;;uBA3EQwiE,mB,EAAmB,uH;AAAA,K;;;aAAnBA,mB;AAAmB,eAAnBA,mBAAmB,K;AAAA,kBAFlB;;;;;sEAEDA,mB,EAAmB;cAH/B,wDAG+B;eAHpB;AACV/hE,oBAAU,EAAE;AADF,S;AAGoB,Q;;;;;;;;;;;;;;;;;;;;;;ACZhC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACSgB;;AAAuE;;AAAe;;;;;;AAAjC;;AAAkB;;AAAA;;;;;;AAMvE;;AAAmE;;AAAe;;;;;;AAAjC;;AAAkB;;AAAA;;;;;;AAOnE;;AAA2E;;AAAe;;;;;;AAAjC;;AAAkB;;AAAA;;;;;;AAW3E;;AAAgE;;AAAe;;;;;;AAAjC;;AAAkB;;AAAA;;;;;;AAMhE;;AAAiE;;AAAe;;;;;;AAAjC;;AAAkB;;AAAA;;;;;;AAOjE;;AAA+D;;AAAe;;;;;;AAAjC;;AAAkB;;AAAA;;;;;;AAU/D;;AAAgE;;AAAe;;;;;;AAAjC;;AAAkB;;AAAA;;;;;;;;AAgD5E;;AACI;;AAA6C;AAAA;;AAAA;;AAAA;AAAA;;AAAoB;;;;AAA6B;;AAAS;;AAE3G;;;;;;AAFqE;;AAAA;;AAAsC;;AAAA;;;;;;AAxG/G;;AACA;;AACI;;AACA;;AACA;;AACI;;AACI;;AAAwB;;;;AAAoC;;AAC5D;;AACI;;AACJ;;AACJ;;AACA;;AACI;;AAAwB;;;;AAAoC;;AAC5D;;AACI;;AAEJ;;AACJ;;AACA;;AACI;;AAAwB;;;;AAAyC;;AACjE;;AACI;;AACJ;;AACJ;;AACJ;;AAEA;;AAEA;;AACI;;AACI;;AAAwB;;;;AAAgC;;AACxD;;AACI;;AACJ;;AACJ;;AACA;;AACI;;AAAwB;;;;AAAkC;;AAC1D;;AACI;;AAEJ;;AACJ;;AACA;;AACI;;AAAwB;;;;AAAgC;;AACxD;;AACI;;AACJ;;AACJ;;AACJ;;AAEA;;AACA;;AACI;;AACI;;AAAwB;;;;AAAgC;;AACxD;;AACI;;AACJ;;AACJ;;AACA;;AACI;;AACA;;AACA;;AACI;;AAEI;;AAA2D;;AACpD;;AAAQ;;AAC3B;;AACJ;;AAIA;;AAEA;;AACI;;AACI;;AAAO;;;;AAA0B;;AACjC;;AACJ;;AACA;;AACI;;AAAQ;;;;AAA0B;;AAClC;;AACJ;;AAEJ;;AACA;;AACI;;AACI;;AAAwB;;;;AAAkC;;AAC1D;;AACJ;;AACA;;AACI;;AAAwB;;;;AAA8B;;AACtD;;AACJ;;AAEJ;;AACA;;AACI;;AAEI;;AAAuD;;AAAQ;;AAAQ;;AACvE;;AACI;;AAEI;;AAAqD;;AAAa;;AAAQ;;AAC1F;;AAIJ;;AACA;;;;;;AA5GM;;AAM8B;;AAAA;;AAEZ;;AAAA;;AAIY;;AAAA;;AAEZ;;AAAA;;AAKY;;AAAA;;AAEZ;;AAAA;;AASY;;AAAA;;AAEZ;;AAAA;;AAIY;;AAAA;;AAEZ;;AAAA;;AAKY;;AAAA;;AAEZ;;AAAA;;AAQY;;AAAA;;AAEZ;;AAAA;;AAoBL;;AAAA;;AAIC;;AAAA;;AAOgB;;AAAA;;AAIA;;AAAA;;AAa3B;;AAAA;;;;QDnFIgiE,2B;AAkBT,2CAAqB1hE,SAArB,EAAyDD,aAAzD,EAAqG0zC,cAArG,EAA4IynB,mBAA5I,EAAsLyG,oBAAtL,EAAkOC,kBAAlO,EAAyQlC,mBAAzQ,EAAkTmC,sBAAlT,EAAmWC,8BAAnW,EAAmaC,0BAAna,EAAyd;AAAA;;AAAA;;AAApc,aAAA/hE,SAAA,GAAAA,SAAA;AAAoC,aAAAD,aAAA,GAAAA,aAAA;AAA4C,aAAA0zC,cAAA,GAAAA,cAAA;AAAuC,aAAAynB,mBAAA,GAAAA,mBAAA;AAjB5I,aAAA8G,mBAAA,GAAoC,EAApC;AACA,aAAAC,2BAAA,GAA4C,EAA5C;AACA,aAAAC,uBAAA,GAAwC,EAAxC;AACA,aAAAC,gBAAA,GAAiC,EAAjC;AACA,aAAAC,eAAA,GAAgC,EAAhC;AACA,aAAAC,iBAAA,GAAkC,EAAlC;AACA,aAAAC,gBAAA,GAAuC,EAAvC;AAIA,aAAAlR,WAAA,GAAsB,EAAtB;AAEA,aAAAmR,kBAAA,GAA6B,IAA7B;AACA,aAAAC,UAAA,GAAqB,KAArB;AAMI,aAAK/uB,cAAL,CAAoBO,MAApB,CAA2B1xC,SAA3B,CAAqC,UAAC0xC,MAAD,EAAoB;AACrD,kBAAI,CAACqd,UAAL,GAAkBrd,MAAM,CAAC,OAAD,CAAxB;AACA,kBAAI,CAAChP,MAAL,GAAc,CAACgP,MAAM,CAAC,IAAD,CAArB;AACH,SAHD;AAMA6tB,8BAAsB,CAACl/D,MAAvB,GAAgCL,SAAhC,CACI,UAAA+B,IAAI,EAAI;AACJ,kBAAI,CAAC29D,mBAAL,GAA2B39D,IAA3B;AACAmV,iBAAO,CAACC,GAAR,CAAY,qBAAZ,EAAkCpV,IAAlC;AACAy9D,wCAA8B,CAACn/D,MAA/B,GAAwCL,SAAxC,CACI,UAAA+B,IAAI,EAAI;AACJ,oBAAI,CAAC49D,2BAAL,GAAmC59D,IAAnC;AACAmV,mBAAO,CAACC,GAAR,CAAY,6BAAZ,EAA0CpV,IAA1C;AACA09D,sCAA0B,CAACp/D,MAA3B,GAAoCL,SAApC,CACI,UAAA+B,IAAI,EAAI;AACJ,sBAAI,CAAC69D,uBAAL,GAA+B79D,IAA/B;AACAmV,qBAAO,CAACC,GAAR,CAAY,yBAAZ,EAAsCpV,IAAtC;AACAq7D,iCAAmB,CAAC/8D,MAApB,GAA6BL,SAA7B,CACI,UAAA+B,IAAI,EAAI;AACJ,wBAAI,CAAC89D,gBAAL,GAAwB99D,IAAxB;AACAmV,uBAAO,CAACC,GAAR,CAAY,qBAAZ,EAAkCpV,IAAlC;AAEAu9D,kCAAkB,CAACj/D,MAAnB,GAA4BL,SAA5B,CACI,UAAA+B,IAAI,EAAI;AACJ,0BAAI,CAAC+9D,eAAL,GAAuB/9D,IAAvB;AACAmV,yBAAO,CAACC,GAAR,CAAY,oBAAZ,EAAiCpV,IAAjC;AAEAs9D,sCAAoB,CAACh/D,MAArB,GAA8BL,SAA9B,CACI,UAAA+B,IAAI,EAAI;AACJ,4BAAI,CAACg+D,iBAAL,GAAyBh+D,IAAzB;AACAmV,2BAAO,CAACC,GAAR,CAAY,oBAAZ,EAAiCpV,IAAjC;AAEA62D,uCAAmB,CAACv4D,MAApB,CAA2B,CAA3B,EAA8BL,SAA9B,CACI,UAAA+B,IAAI,EAAI;AACJ,8BAAI,CAACi+D,gBAAL,GAAwBj+D,IAAxB;AACAmV,6BAAO,CAACC,GAAR,CAAY,kBAAZ,EAA+BpV,IAA/B;AACA,8BAAI,CAAC43D,iBAAL,GAAwB,QAAI,CAACqG,gBAAL,CAAsB5+D,IAAtB,CAA2B,UAAAW,IAAI;AAAA,+BAAEA,IAAI,CAAC9E,EAAL,IAAS,QAAI,CAACylC,MAAhB;AAAA,uBAA/B,CAAxB;AACAxrB,6BAAO,CAACC,GAAR,CAAY,yBAAZ,EAAuC,QAAI,CAACwiD,iBAA5C;AACD,8BAAI,CAACuG,UAAL,GAAiB,IAAjB;;AACA,8BAAI,CAACjR,QAAL;AACF,qBARL;AAUH,mBAfL;AAmBH,iBAxBL;AA2BH,eAhCL;AAmCH,aAvCL;AA0CH,WA9CL;AAiDH,SArDL;AAwDH;;;;mCAIU;AACP,cAAI,KAAKF,UAAL,IAAmB,KAAvB,EAA8B;AAC1B,iBAAKD,WAAL,GAAmB,aAAnB;AACH,WAFD,MAEO;AACH,iBAAKA,WAAL,GAAmB,QAAnB;AACH,WALM,CAMP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACH;;;mCACU;AACP,kBAAQ,KAAKC,UAAb;AACI,iBAAK,MAAL;AAAa;AACT,qBAAKG,QAAL;AACA;AACH;;AACD,iBAAK,MAAL;AAAa;AACT,qBAAKC,QAAL;AACA;AACH;;AACD;AAAS;AACL,qBAAKC,OAAL;AACA;AACH;AAZL;AAcH;;;kCACS;AACN,eAAK+Q,2BAAL,GAAmC,IAAI,wDAAJ,CAAc;AAC7CC,2BAAe,EAAE,IAAI,0DAAJ,CAAgB,IAAhB,EAAsB,0DAAWt0D,QAAjC,CAD4B;AAE7Cu0D,2BAAe,EAAE,IAAI,0DAAJ,CAAgB,IAAhB,EAAsB,0DAAWv0D,QAAjC,CAF4B;AAG7Cw0D,+BAAmB,EAAE,IAAI,0DAAJ,CAAgB,IAAhB,EAAsB,0DAAWx0D,QAAjC,CAHwB;AAK7CgzD,uBAAW,EAAE,IAAI,0DAAJ,CAAgB,IAAhB,EAAsB,0DAAWhzD,QAAjC,CALgC;AAM7CizD,yBAAa,EAAE,IAAI,0DAAJ,CAAgB,IAAhB,EAAsB,0DAAWjzD,QAAjC,CAN8B;AAO7Cy0D,uBAAW,EAAE,IAAI,0DAAJ,CAAgB,IAAhB,EAAsB,0DAAWz0D,QAAjC,CAPgC;AAS7C00D,uBAAW,EAAE,IAAI,0DAAJ,CAAgB,IAAhB,CATgC;AAU7CC,yBAAa,EAAE,IAAI,0DAAJ,CAAgB,KAAhB,CAV8B;AAY7CC,yBAAa,EAAE,IAAI,0DAAJ,CAAgB,IAAhB,EAAsB,0DAAW50D,QAAjC,CAZ8B;AAa7C60D,yBAAa,EAAE,IAAI,0DAAJ,CAAgB,IAAhB,EAAsB,0DAAW70D,QAAjC,CAb8B;AAe7CyyD,yBAAa,EAAE,IAAI,0DAAJ,CAAgB,IAAhB,EAAsB,0DAAWzyD,QAAjC,CAf8B;AAgB7C80D,qBAAS,EAAE,IAAI,0DAAJ,CAAgB,IAAhB,EAAsB,0DAAW90D,QAAjC,CAhBkC;AAkB7C+0D,mBAAO,EAAE,IAAI,0DAAJ,CAAgB,KAAhB,CAlBoC;AAmB7CC,uBAAW,EAAE,IAAI,0DAAJ,CAAgB,KAAhB;AAnBgC,WAAd,CAAnC;AAsBH;;;mCAEU;AACP;AACA;AACA,eAAKX,2BAAL,GAAmC,IAAI,wDAAJ,CAAc;AAC7CC,2BAAe,EAAE,IAAI,0DAAJ,CAAgB,KAAKzG,iBAAL,CAAuB+E,oBAAvC,EAA6D,0DAAW5yD,QAAxE,CAD4B;AAE7Cu0D,2BAAe,EAAE,IAAI,0DAAJ,CAAgB,KAAK1G,iBAAL,CAAuBgF,iBAAvC,EAA0D,0DAAW7yD,QAArE,CAF4B;AAG7Cw0D,+BAAmB,EAAE,IAAI,0DAAJ,CAAgB,KAAK3G,iBAAL,CAAuBiF,mBAAvC,EAA4D,0DAAW9yD,QAAvE,CAHwB;AAK7CgzD,uBAAW,EAAE,IAAI,0DAAJ,CAAgB,KAAKnF,iBAAL,CAAuBmF,WAAvC,EAAoD,0DAAWhzD,QAA/D,CALgC;AAM7CizD,yBAAa,EAAE,IAAI,0DAAJ,CAAgB,KAAKpF,iBAAL,CAAuBoF,aAAvC,EAAsD,0DAAWjzD,QAAjE,CAN8B;AAO7Cy0D,uBAAW,EAAE,IAAI,0DAAJ,CAAgB,KAAK5G,iBAAL,CAAuBkF,aAAvC,EAAsD,0DAAW/yD,QAAjE,CAPgC;AAS7C00D,uBAAW,EAAE,IAAI,0DAAJ,CAAgB,KAAK7G,iBAAL,CAAuB6E,UAAvC,EAAmD,0DAAW1yD,QAA9D,CATgC;AAU7C;AAGA40D,yBAAa,EAAE,IAAI,0DAAJ,CAAgB,KAAK/G,iBAAL,CAAuBzzD,MAAvC,EAA+C,0DAAW4F,QAA1D,CAb8B;AAc7C60D,yBAAa,EAAE,IAAI,0DAAJ,CAAgB,KAAKhH,iBAAL,CAAuBx7D,MAAvC,EAA+C,0DAAW2N,QAA1D,CAd8B;AAgB7CyyD,yBAAa,EAAE,IAAI,0DAAJ,CAAgB,KAAK5E,iBAAL,CAAuB4E,aAAvC,EAAsD,0DAAWzyD,QAAjE,CAhB8B;AAiB7C80D,qBAAS,EAAE,IAAI,0DAAJ,CAAgB,KAAKjH,iBAAL,CAAuB8E,SAAvC,EAAkD,0DAAW3yD,QAA7D,CAjBkC;AAmB7C+0D,mBAAO,EAAE,IAAI,0DAAJ,CAAgB,KAAKlH,iBAAL,CAAuBqF,SAAvC;AAnBoC,WAAd,CAAnC;AAsBH,S,CACD;;;;mCACW;AACP;AACA;AACA,eAAKmB,2BAAL,GAAmC,IAAI,wDAAJ,CAAc;AAC7CC,2BAAe,EAAE,IAAI,0DAAJ,CAAgB;AAAEh7D,mBAAK,EAAG,KAAKu0D,iBAAL,CAAuB+E,oBAAjC;AAAuDpO,sBAAQ,EAAE;AAAjE,aAAhB,CAD4B;AAE7C+P,2BAAe,EAAE,IAAI,0DAAJ,CAAgB;AAAEj7D,mBAAK,EAAG,KAAKu0D,iBAAL,CAAuBgF,iBAAjC;AAAmDrO,sBAAQ,EAAE;AAA7D,aAAhB,CAF4B;AAG7CgQ,+BAAmB,EAAE,IAAI,0DAAJ,CAAgB;AAAEl7D,mBAAK,EAAG,KAAKu0D,iBAAL,CAAuBiF,mBAAjC;AAAsDtO,sBAAQ,EAAE;AAAhE,aAAhB,CAHwB;AAK7CwO,uBAAW,EAAE,IAAI,0DAAJ,CAAgB;AAAE15D,mBAAK,EAAG,KAAKu0D,iBAAL,CAAuBmF,WAAjC;AAA8CxO,sBAAQ,EAAE;AAAxD,aAAhB,CALgC;AAM7CyO,yBAAa,EAAE,IAAI,0DAAJ,CAAgB;AAAE35D,mBAAK,EAAG,KAAKu0D,iBAAL,CAAuBoF,aAAjC;AAAgDzO,sBAAQ,EAAE;AAA1D,aAAhB,CAN8B;AAO7CiQ,uBAAW,EAAE,IAAI,0DAAJ,CAAgB;AAAEn7D,mBAAK,EAAG,KAAKu0D,iBAAL,CAAuBkF,aAAjC;AAAgDvO,sBAAQ,EAAE;AAA1D,aAAhB,CAPgC;AAS7CkQ,uBAAW,EAAE,IAAI,0DAAJ,CAAgB;AAAEp7D,mBAAK,EAAG,KAAKu0D,iBAAL,CAAuB6E,UAAjC;AAA4ClO,sBAAQ,EAAE;AAAtD,aAAhB,CATgC;AAU7C;AAGAoQ,yBAAa,EAAE,IAAI,0DAAJ,CAAgB;AAAEt7D,mBAAK,EAAG,KAAKu0D,iBAAL,CAAuBzzD,MAAjC;AAAyCoqD,sBAAQ,EAAE;AAAnD,aAAhB,CAb8B;AAc7CqQ,yBAAa,EAAE,IAAI,0DAAJ,CAAgB;AAAEv7D,mBAAK,EAAG,KAAKu0D,iBAAL,CAAuBx7D,MAAjC;AAAwCmyD,sBAAQ,EAAE;AAAlD,aAAhB,CAd8B;AAgB7CiO,yBAAa,EAAE,IAAI,0DAAJ,CAAgB;AAAEn5D,mBAAK,EAAG,KAAKu0D,iBAAL,CAAuB4E,aAAjC;AAAgDjO,sBAAQ,EAAE;AAA1D,aAAhB,CAhB8B;AAiB7CsQ,qBAAS,EAAE,IAAI,0DAAJ,CAAgB;AAAEx7D,mBAAK,EAAG,KAAKu0D,iBAAL,CAAuB8E,SAAjC;AAA4CnO,sBAAQ,EAAE;AAAtD,aAAhB,CAjBkC;AAmB7CuQ,mBAAO,EAAE,IAAI,0DAAJ,CAAgB;AAAEz7D,mBAAK,EAAG,KAAKu0D,iBAAL,CAAuBqF,SAAjC;AAA4C1O,sBAAQ,EAAE;AAAtD,aAAhB;AAnBoC,WAAd,CAAnC;AAsBH;;;kCAES;AACN,cAAI,KAAKvB,UAAL,IAAmB,KAAvB,EAA8B;AACzB,iBAAK/8C,IAAL;AACJ,WAFD,MAEO;AACF,iBAAKu+C,MAAL;AACJ;AACJ;;;+BAEM;AAAA;;;;AACH,eAAKC,SAAL;AACA,cAAIuQ,2BAA2B,GAAG,KAAKZ,2BAAL,CAAiCp6D,WAAjC,EAAlC;AACA,cAAIi7D,gBAAgB,GAAG,IAAI,kEAAJ,EAAvB;AACAA,0BAAgB,CAAC/jE,EAAjB,GAAsB,CAAtB;AACA+jE,0BAAgB,CAACtC,oBAAjB,GAAwCqC,2BAA2B,CAACX,eAApE;AACAY,0BAAgB,CAACrC,iBAAjB,GAAqCoC,2BAA2B,CAACV,eAAjE;AACAW,0BAAgB,CAACpC,mBAAjB,GAAuCmC,2BAA2B,CAACT,mBAAnE;AAEAU,0BAAgB,CAACnC,aAAjB,GAAiCkC,2BAA2B,CAACR,WAA7D;AACAS,0BAAgB,CAAClC,WAAjB,GAA+BiC,2BAA2B,CAACjC,WAA3D;AACAkC,0BAAgB,CAACjC,aAAjB,GAAiCgC,2BAA2B,CAAChC,aAA7D;AAEAiC,0BAAgB,CAACzC,aAAjB,GAAiCwC,2BAA2B,CAACxC,aAA7D;AACAyC,0BAAgB,CAACxC,UAAjB,GAA8B,CAAH,KAAGuC,2BAA2B,CAACP,WAA5B,MAAuC,IAAvC,IAAuC,aAAvC,GAAuC,EAAvC,GAA0C,CAAxE;AACAQ,0BAAgB,CAAC96D,MAAjB,GAA0B66D,2BAA2B,CAACL,aAAtD;AACAM,0BAAgB,CAAC7iE,MAAjB,GAA0B4iE,2BAA2B,CAACJ,aAAtD;AAEAK,0BAAgB,CAACvC,SAAjB,GAA6BsC,2BAA2B,CAACH,SAAzD;AACAI,0BAAgB,CAAChC,SAAjB,GAA6B+B,2BAA2B,CAACF,OAAzD;AAEA,eAAKjI,mBAAL,CAAyBryD,MAAzB,CAAgCy6D,gBAAhC,EAAkDhhE,SAAlD,CACI,UAAAC,MAAM,EAAI;AACN,gBAAIA,MAAJ,EAAY;AACR,sBAAI,CAAC0wD,SAAL;AACH,aAFD,MAEO;AACH,sBAAI,CAACC,OAAL;AACH;AACJ,WAPL;AAUH;;;iCAEQ;AAAA;;AACL,eAAKJ,SAAL;AACA,cAAIuQ,2BAA2B,GAAG,KAAKZ,2BAAL,CAAiCp6D,WAAjC,EAAlC;AACA,cAAIi7D,gBAAgB,GAAG,IAAI,kEAAJ,EAAvB;AACAA,0BAAgB,CAAC/jE,EAAjB,GAAsB,KAAKylC,MAA3B;AACAs+B,0BAAgB,CAACtC,oBAAjB,GAAwCqC,2BAA2B,CAACX,eAApE;AACAY,0BAAgB,CAACrC,iBAAjB,GAAqCoC,2BAA2B,CAACV,eAAjE;AACAW,0BAAgB,CAACpC,mBAAjB,GAAuCmC,2BAA2B,CAACT,mBAAnE;AAEAU,0BAAgB,CAACnC,aAAjB,GAAiCkC,2BAA2B,CAACR,WAA7D;AACAS,0BAAgB,CAAClC,WAAjB,GAA+BiC,2BAA2B,CAACjC,WAA3D;AACAkC,0BAAgB,CAACjC,aAAjB,GAAiCgC,2BAA2B,CAAChC,aAA7D;AAEAiC,0BAAgB,CAACzC,aAAjB,GAAiCwC,2BAA2B,CAACxC,aAA7D;AACAyC,0BAAgB,CAACxC,UAAjB,GAA8BuC,2BAA2B,CAACP,WAA1D;AACAQ,0BAAgB,CAAC96D,MAAjB,GAA0B66D,2BAA2B,CAACL,aAAtD;AACAM,0BAAgB,CAAC7iE,MAAjB,GAA0B4iE,2BAA2B,CAACJ,aAAtD;AAEAK,0BAAgB,CAACvC,SAAjB,GAA6BsC,2BAA2B,CAACH,SAAzD;AACAI,0BAAgB,CAAChC,SAAjB,GAA6B+B,2BAA2B,CAACF,OAAzD;AACA3pD,iBAAO,CAACC,GAAR,CAAY,wBAAZ,EAAsC6pD,gBAAtC;AAEA,eAAKpI,mBAAL,CAAyBpyD,MAAzB,CAAgCw6D,gBAAhC,EAAkDhhE,SAAlD,CACI,UAAAC,MAAM,EAAI;AACN,gBAAIA,MAAJ,EAAY;AACRiX,qBAAO,CAACC,GAAR,CAAY,UAAZ;;AACA,sBAAI,CAACw5C,SAAL;;AACAz5C,qBAAO,CAACC,GAAR,CAAY,4BAAZ,EAA0C6pD,gBAA1C;AAEH,aALD,MAKO;AACH,sBAAI,CAACpQ,OAAL;AACH;AACJ,WAVL;AAaH;;;oCAEQ;AAEL,eAAKnzD,aAAL,CAAmBmF,MAAnB,CAA0B,KAAKlF,SAAL,CAAe0C,OAAf,CAAuB,MAAvB,CAA1B,EACI,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,oBAAvB,CADJ,EAEI,wEAAiBywD,IAFrB,EAE2B;AAAE/tD,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAF3B;AAGH;;;kCAEM;AACH,eAAKtF,aAAL,CAAmBmF,MAAnB,CAA0B,KAAKlF,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAA1B,EACI,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,iBAAvB,CADJ,EAEI,wEAAiB1E,KAFrB,EAE4B;AAAEoH,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAF5B;AAGH;;;oCAEQ;AAEL,eAAKtF,aAAL,CAAmBmF,MAAnB,CAA0B,KAAKlF,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAA1B,EACI,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,gBAAvB,CADJ,EAEI,wEAAiByC,OAFrB,EAE8B;AAAEC,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAF9B;AAGH;;;;;;;uBA1SQq8D,2B,EAA2B,qI,EAAA,4I,EAAA,+H,EAAA,wI,EAAA,oJ,EAAA,+I,EAAA,gJ,EAAA,yJ,EAAA,0K,EAAA,0J;AAAA,K;;;YAA3BA,2B;AAA2B,2C;AAAA,c;AAAA,a;AAAA,olD;AAAA;AAAA;ACrBxC;;AACA;;;;AAAgD;;AAAA;;;;;;;;;;sEDoBnCA,2B,EAA2B;cANvC,uDAMuC;eAN7B;AACP;AACAj8D,kBAAQ,EAAE,sBAFH;AAGPC,qBAAW,EAAE,qCAHN;AAIPC,mBAAS,EAAE,CAAC,qCAAD;AAJJ,S;AAM6B,Q;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AErBxC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;ACMI;;AAII;AAAA;;AAAA;;AAAA;AAAA;;AACyH;;;;AAC9G;;;;AAD8G;;AAAA;;;;;;;;AAE7H;;AAGI;AAAA;;AAAA;;AAAA;AAAA;;AAEyH;;;;AAC5G;;;;AAD4G;;AAAA;;;;;;;;AAEzH;;AAGC;AAAA;;AAAA;;AAAA;AAAA;;AAEyH;;;;AAC5G;;;;AAD4G;;AAAA;;;;;;;;AAE1H;;AAGC;AAAA;;AAAA;;AAAA;AAAA;;AAEyH;;;;AAC5G;;;;AAD4G;;AAAA;;;;;;;;AA8B9G;;AAGsD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAClD;;AAA2C;;AAAC;;AAC7C;;;;;;AAJH;;;;;;;;AAKG;;AAGsD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAClD;;AACC;;AACF;;AACA;;;;;;AANH;;;;;;;;;;;;;;AAbX;;AACI;;AAEI;;AAE4B;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA4B;;AAAa;;AACrE;;AAMG;;AASP;;AACJ;;;;;;;;AArB8B;;AAAA;;AAGtB;;AAAA;;AACwD;;AAAA;;AAGxD;;AAAA;;AAMG;;AAAA;;;;;;;;AAUX;;AACI;;AACI;;AACI;;AAEI;;AACI;;AAEJ;;AACJ;;AACA;;AAA+B;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC3B;;AACA;;AAEJ;;AAA+D;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC9D;;AAA2C;;AAAC;;AAC7C;;AACJ;;AACA;;AACI;;AACJ;;AACJ;;AACJ;;;;;;;;AArBQ;;AAAA;;AAGQ;;AAAA;;AAEI;;AAAA;;AAKJ;;AAAA;;AAOJ;;AAAA;;;;;;AAmBhB;;AAAsE;;AAA0C;;;;;;;;AAA9D;;AAAoB;;AAAA;;;;;;AAQpE;;AAAkE;;AAA0C;;;;;;;;AAA9D;;AAAoB;;AAAA;;;;;;AAmClE;;AAA8D;;AAA0C;;;;;;;;AAA9D;;AAAoB;;AAAA;;;;;;AAnDtE;;AACE;;AAGA;;AACE;;AAAwB;;;;AAA6B;;AACrD;;AACE;;AAAkC;;;;AAAyB;;AAC3D;;AACF;;AACF;;AAEA;;AACI;;AAAwB;;;;AAAiC;;AACzD;;AACE;;AAAkC;;;;AAAyB;;AAC3D;;AACF;;AACF;;AACA;;AACE;;AAAwB;;;;AAAkC;;AAC1D;;AACE;;AAAkC;;;;AAAyB;;AAC3D;;AAAsB;;;;AAAwB;;AAC9C;;AAAsB;;;;AAA4B;;AACpD;;AACF;;AAEJ;;AACA;;AACE;;AACE;;AAAwB;;;;AAA4B;;AACpD;;AACE;;AAAkC;;;;AAAyB;;AAC3D;;AAAsB;;;;AAAoB;;AAC1C;;AAAsB;;;;AAAmB;;AACnC;;AACV;;AAEA;;AACI;;AAAwB;;;;AAA8B;;AACtD;;AACE;;AAAkC;;;;AAAyB;;AAC3D;;AAAsB;;;;AAAoB;;AAC1C;;AAAsB;;;;AAAsB;;AAC9C;;AACF;;AACA;;AACE;;AAAwB;;;;AAA4B;;AACpD;;AACE;;AAAkC;;;;AAAyB;;AAC3D;;AACF;;AACF;;AAEJ;;AACA;;AACE;;AACI;;AAAO;;;;AAA0B;;AACjC;;AACJ;;AACA;;AACI;;AAAQ;;;;AAA0B;;AAClC;;AACJ;;AAEJ;;AACE;;AACE;;AACI;;AAAO;;;;AAAuC;;AAC9C;;AACJ;;AACA;;AACI;;AAAQ;;;;AAAuC;;AAC/C;;AACA;;AAER;;AAEA;;AACI;;AACI;;AAAwB;;;;AAAkC;;AAC1D;;AACJ;;AACA;;AACI;;AAAwB;;;;AAA8B;;AACtD;;AACJ;;AAEJ;;AACA;;AACI;;AAEI;;AAAuD;;;;AAAwB;;AAAQ;;AAoC7F;;;;;;AAjIkC;;AAKN;;AAAA;;AAEF;;AAAA;;AAAc;;AAAA;;AAC1B;;AAAA;;AAKgB;;AAAA;;AAEF;;AAAA;;AAAc;;AAAA;;AAC1B;;AAAA;;AAIc;;AAAA;;AAEF;;AAAA;;AAAc;;AAAA;;AAC1B;;AAAA;;AAAc;;AAAA;;AACd;;AAAA;;AAAc;;AAAA;;AAOF;;AAAA;;AAEF;;AAAA;;AAAc;;AAAA;;AAC1B;;AAAA;;AAAc;;AAAA;;AACd;;AAAA;;AAAc;;AAAA;;AAKE;;AAAA;;AAEF;;AAAA;;AAAc;;AAAA;;AAC1B;;AAAA;;AAAc;;AAAA;;AACd;;AAAA;;AAAc;;AAAA;;AAIA;;AAAA;;AAEF;;AAAA;;AAAc;;AAAA;;AAC1B;;AAAA;;AAOH;;AAAA;;AAIC;;AAAA;;AAOD;;AAAA;;AAIC;;AAAA;;AAQgB;;AAAA;;AAIA;;AAAA;;AAQ+B;;AAAA;;;;;;AAqC7D;;;;;;AAA6E;;;;QD9MlE49D,oB;AAuCN,oCACSvjE,SADT,EAEQD,aAFR,EAGS8F,EAHT,EAIS+7C,cAJT,EAKQggB,kBALR,EAMQlC,mBANR,EAOQmC,sBAPR,EAQSC,8BART,EASQC,0BATR,EAS8D;AAAA;;AAAA;;AARrD,aAAA/hE,SAAA,GAAAA,SAAA;AACD,aAAAD,aAAA,GAAAA,aAAA;AACC,aAAA8F,EAAA,GAAAA,EAAA;AACA,aAAA+7C,cAAA,GAAAA,cAAA;AACD,aAAAggB,kBAAA,GAAAA,kBAAA;AACA,aAAAlC,mBAAA,GAAAA,mBAAA;AACA,aAAAmC,sBAAA,GAAAA,sBAAA;AACC,aAAAC,8BAAA,GAAAA,8BAAA;AACD,aAAAC,0BAAA,GAAAA,0BAAA;AA5CR,aAAAyB,aAAA,GAA2B,EAA3B;AACA,aAAAC,YAAA,GAAmB,EAAnB;AACA,aAAAC,aAAA,GAAoB,EAApB;AACA,aAAAC,gBAAA,GAAuB,EAAvB;AACA,aAAAC,uBAAA,GAA8B,EAA9B;AACA,aAAAC,oBAAA,GAA2B,EAA3B;AACA,aAAAvB,gBAAA,GAAmC,CAClC;AAAC/iE,YAAE,EAAC,CAAJ;AAAM2M,eAAK,EAAC,CAAZ;AAAc43D,kBAAQ,EAAC,CACnB;AAACvkE,cAAE,EAAC,CAAJ;AAAM2M,iBAAK,EAAC,CAAZ;AAAc43D,oBAAQ,EAAC,EAAvB;AAA0BhD,sBAAU,EAAC,CAArC;AAAuC9tD,gBAAI,EAAC;AAA5C,WADmB,EAEnB;AAACzT,cAAE,EAAC,CAAJ;AAAM2M,iBAAK,EAAC,CAAZ;AAAc43D,oBAAQ,EAAC,EAAvB;AAA0BhD,sBAAU,EAAC,CAArC;AAAuC9tD,gBAAI,EAAC;AAA5C,WAFmB,EAGnB;AAACzT,cAAE,EAAC,CAAJ;AAAM2M,iBAAK,EAAC,CAAZ;AAAc43D,oBAAQ,EAAC,EAAvB;AAA0BhD,sBAAU,EAAC,CAArC;AAAuC9tD,gBAAI,EAAC;AAA5C,WAHmB,CAAvB;AAIE8tD,oBAAU,EAAC,CAJb;AAIe9tD,cAAI,EAAC;AAJpB,SADkC,EAMlC;AAACzT,YAAE,EAAC,CAAJ;AAAM2M,eAAK,EAAC,CAAZ;AAAc43D,kBAAQ,EAAC,CACnB;AAACvkE,cAAE,EAAC,CAAJ;AAAM2M,iBAAK,EAAC,CAAZ;AAAc43D,oBAAQ,EAAC,EAAvB;AAA0BhD,sBAAU,EAAC,CAArC;AAAuC9tD,gBAAI,EAAC;AAA5C,WADmB,EAEnB;AAACzT,cAAE,EAAC,CAAJ;AAAM2M,iBAAK,EAAC,CAAZ;AAAc43D,oBAAQ,EAAC,EAAvB;AAA0BhD,sBAAU,EAAC,CAArC;AAAuC9tD,gBAAI,EAAC;AAA5C,WAFmB,EAGnB;AAACzT,cAAE,EAAC,CAAJ;AAAM2M,iBAAK,EAAC,CAAZ;AAAc43D,oBAAQ,EAAC,EAAvB;AAA0BhD,sBAAU,EAAC,CAArC;AAAuC9tD,gBAAI,EAAC;AAA5C,WAHmB,CAAvB;AAIE8tD,oBAAU,EAAC,CAJb;AAIe9tD,cAAI,EAAC;AAJpB,SANkC,EAWlC;AAACzT,YAAE,EAAC,CAAJ;AAAM2M,eAAK,EAAC,CAAZ;AAAc43D,kBAAQ,EAAC,CACrB;AAACvkE,cAAE,EAAC,EAAJ;AAAO2M,iBAAK,EAAC,CAAb;AAAe43D,oBAAQ,EAAC,CACtB;AAACvkE,gBAAE,EAAC,EAAJ;AAAO2M,mBAAK,EAAC,CAAb;AAAe43D,sBAAQ,EAAC,EAAxB;AAA2BhD,wBAAU,EAAC,EAAtC;AAAyC9tD,kBAAI,EAAC;AAA9C,aADsB,EAEtB;AAACzT,gBAAE,EAAC,EAAJ;AAAO2M,mBAAK,EAAC,CAAb;AAAe43D,sBAAQ,EAAC,EAAxB;AAA2BhD,wBAAU,EAAC,EAAtC;AAAyC9tD,kBAAI,EAAC;AAA9C,aAFsB,EAGtB;AAACzT,gBAAE,EAAC,EAAJ;AAAO2M,mBAAK,EAAC,CAAb;AAAe43D,sBAAQ,EAAC,EAAxB;AAA2BhD,wBAAU,EAAC,EAAtC;AAAyC9tD,kBAAI,EAAC;AAA9C,aAHsB,CAAxB;AAIE8tD,sBAAU,EAAC,CAJb;AAIe9tD,gBAAI,EAAC;AAJpB,WADqB,EAMrB;AAACzT,cAAE,EAAC,EAAJ;AAAO2M,iBAAK,EAAC,CAAb;AAAe43D,oBAAQ,EAAC,EAAxB;AAA2BhD,sBAAU,EAAC,CAAtC;AAAwC9tD,gBAAI,EAAC;AAA7C,WANqB,EAOrB;AAACzT,cAAE,EAAC,EAAJ;AAAO2M,iBAAK,EAAC,CAAb;AAAe43D,oBAAQ,EAAC,EAAxB;AAA2BhD,sBAAU,EAAC,CAAtC;AAAwC9tD,gBAAI,EAAC;AAA7C,WAPqB,CAAvB;AAQA8tD,oBAAU,EAAC,CARX;AAQa9tD,cAAI,EAAC;AARlB,SAXkC,CAAnC;AAqBD,aAAA6zC,OAAA,GAA2B,CACzB;AAACma,8BAAoB,EAAC,CAAtB;AAAwBC,2BAAiB,EAAC,CAA1C;AAA4CC,6BAAmB,EAAC,CAAhE;AAAkEC,uBAAa,EAAC,CAAhF;AAAkFE,uBAAa,EAAC,CAAhG;AAAkGR,uBAAa,EAAC,CAAhH;AAAkHO,qBAAW,EAAC,CAA9H;AAAgI3qC,uBAAa,EAAC,CAA9I;AAAgJl3B,YAAE,EAAC,CAAnJ;AAAqJ+hE,mBAAS,EAAC,IAA/J;AAAoKP,mBAAS,EAAC,CAA9K;AAAgLv4D,gBAAM,EAAC,QAAvL;AAAgM/H,gBAAM,EAAC,QAAvM;AAAgNqgE,oBAAU,EAAC;AAA3N,SADyB,EAEzB;AAACE,8BAAoB,EAAC,CAAtB;AAAwBC,2BAAiB,EAAC,CAA1C;AAA4CC,6BAAmB,EAAC,CAAhE;AAAkEC,uBAAa,EAAC,CAAhF;AAAkFE,uBAAa,EAAC,CAAhG;AAAkGR,uBAAa,EAAC,CAAhH;AAAkHO,qBAAW,EAAC,CAA9H;AAAgI3qC,uBAAa,EAAC,CAA9I;AAAgJl3B,YAAE,EAAC,CAAnJ;AAAqJ+hE,mBAAS,EAAC,IAA/J;AAAoKP,mBAAS,EAAC,CAA9K;AAAgLv4D,gBAAM,EAAC,QAAvL;AAAgM/H,gBAAM,EAAC,aAAvM;AAAqNqgE,oBAAU,EAAC;AAAhO,SAFyB,EAGzB;AAACE,8BAAoB,EAAC,CAAtB;AAAwBC,2BAAiB,EAAC,CAA1C;AAA4CC,6BAAmB,EAAC,CAAhE;AAAkEC,uBAAa,EAAC,CAAhF;AAAkFE,uBAAa,EAAC,CAAhG;AAAkGR,uBAAa,EAAC,CAAhH;AAAkHO,qBAAW,EAAC,CAA9H;AAAgI3qC,uBAAa,EAAC,CAA9I;AAAgJl3B,YAAE,EAAC,CAAnJ;AAAqJ+hE,mBAAS,EAAC,IAA/J;AAAoKP,mBAAS,EAAC,CAA9K;AAAgLv4D,gBAAM,EAAC,cAAvL;AAAsM/H,gBAAM,EAAC,iBAA7M;AAA+NqgE,oBAAU,EAAC;AAA1O,SAHyB,EAIzB;AAACE,8BAAoB,EAAC,CAAtB;AAAwBC,2BAAiB,EAAC,CAA1C;AAA4CC,6BAAmB,EAAC,CAAhE;AAAkEC,uBAAa,EAAC,CAAhF;AAAkFE,uBAAa,EAAC,CAAhG;AAAkGR,uBAAa,EAAC,CAAhH;AAAkHO,qBAAW,EAAC,CAA9H;AAAgI3qC,uBAAa,EAAC,CAA9I;AAAgJl3B,YAAE,EAAC,CAAnJ;AAAqJ+hE,mBAAS,EAAC,IAA/J;AAAoKP,mBAAS,EAAC,CAA9K;AAAgLv4D,gBAAM,EAAC,WAAvL;AAAmM/H,gBAAM,EAAC,SAA1M;AAAoNqgE,oBAAU,EAAC;AAA/N,SAJyB,CAA3B;AAOC,aAAAiD,YAAA,GAA8B,IAAI,kEAAJ,EAA9B;AAeA,aAAAC,cAAA,GAAiB,KAAjB;AACA,aAAA3N,SAAA,GAAY,CAAZ;AAMD,aAAA4N,iBAAA,GAAoB,CAApB;AAoBE,aAAAC,WAAA,GAAc,KAAd;AAqBA,aAAA57B,QAAA,GAA+B,EAA/B;AACA,aAAA67B,YAAA,GAAe,KAAf,CAtD6D,CAmH3D;AACA;AACA;AACA;AACA;AACA;;AACA,aAAAC,SAAA,GAAY,CAAZ;AA6BA,aAAAC,UAAA,GAAa,CAAb;AACA,aAAAC,WAAA,GAAc,IAAI,mEAAJ,CAAuC,UAAAC,IAAI;AAAA,iBAAIA,IAAI,CAACT,QAAT;AAAA,SAA3C,CAAd;AACA,aAAAU,UAAA,GAAa,IAAI,8EAAJ,EAAb,CAxJ2D,CAyJ3D;;AACA,aAAAC,QAAA,GAAW,UAACC,CAAD,EAAYH,IAAZ;AAAA,iBAAsC,CAAC,CAACA,IAAI,CAACT,QAAP,IAAmBS,IAAI,CAACT,QAAL,CAAc7iE,MAAd,GAAuB,CAA1C,IAA+CsjE,IAAI,CAACr4D,KAAL,GAAW,CAAX,GAAa,QAAI,CAACm4D,UAAvG;AAAA,SAAX;;AAmDA,aAAAM,YAAA,GAAa,KAAb;AACA,aAAAC,UAAA,GAAW,KAAX;AACA,aAAAC,kBAAA,GAAmB,KAAnB;AACA,aAAAC,sBAAA,GAAuB,KAAvB;AACA,aAAAC,6BAAA,GAA8B,KAA9B;AACA,aAAAC,0BAAA,GAA2B,KAA3B;AAhNF,aAAKjjE,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AAEA;;;;0CAGiBy3D,S,EAAgB;AACjC,eAAKA,SAAL,GAAiBA,SAAjB;AACA,eAAK2N,cAAL,GAAsB,IAAtB;AACA,eAAKE,WAAL,GAAmB,KAAnB;AACA;;;mCAEQ;AAAA;;AACN;AACE,eAAKtiB,cAAL,CAAoBj/C,MAApB,CAA2B,CAA3B,EACCL,SADD,CACW,UAAAM,IAAI,EAAI;AACjB,oBAAI,CAACikD,OAAL,GAAejkD,IAAf;AACA4W,mBAAO,CAACC,GAAR,CAAY,UAAZ,EAAuB,QAAI,CAACotC,OAA5B;;AACA,gBAAG,QAAI,CAACA,OAAL,IAAgB,QAAI,CAACA,OAAL,CAAa5lD,MAAb,GAAsB,CAAzC,EAA2C,CAE1C;;AACD,oBAAI,CAACgkE,YAAL,GANiB,CAOjB;;AACD,WATD;AAUA,eAAKC,OAAL;AACA,eAAKtjB,cAAL,CAAoBujB,kBAApB,GACC7iE,SADD,CACW,UAAA8iE,aAAa,EAAE;AACxB,oBAAI,CAACnB,iBAAL,GAAyBmB,aAAzB;AACD,WAHD;AAKH;;;qCAES;AACR,eAAKlB,WAAL,GAAmB,IAAnB;AACA,iBAAO,KAAKr+D,EAAL,CAAQY,KAAR,CAAc;AACnBlH,cAAE,EAAC,CAAC,KAAKwkE,YAAL,CAAkBxkE,EAAnB,CADgB;AAEnByhE,gCAAoB,EAAC,CAAC,KAAK+C,YAAL,CAAkB/C,oBAAnB,CAFF;AAGnBC,6BAAiB,EAAC,CAAC,KAAK8C,YAAL,CAAkB9C,iBAAnB,CAHC;AAInBC,+BAAmB,EAAC,CAAC,KAAK6C,YAAL,CAAkB7C,mBAAnB,CAJD;AAKnBC,yBAAa,EAAC,CAAC,KAAK4C,YAAL,CAAkB5C,aAAnB,CALK;AAMnBE,yBAAa,EAAC,CAAC,KAAK0C,YAAL,CAAkB1C,aAAnB,CANK;AAOnBR,yBAAa,EAAC,CAAC,KAAKkD,YAAL,CAAkBlD,aAAnB,CAPK;AAQnBO,uBAAW,EAAC,CAAC,KAAK2C,YAAL,CAAkB3C,WAAnB,CARO;AASnB3qC,yBAAa,EAAC,CAAC,KAAKstC,YAAL,CAAkBttC,aAAnB,CATK;AAUnB6qC,qBAAS,EAAC,CAAC,KAAKyC,YAAL,CAAkBzC,SAAnB,CAVS;AAWnBP,qBAAS,EAAC,CAAC,KAAKgD,YAAL,CAAkBhD,SAAnB,CAXS;AAYnBv4D,kBAAM,EAAC,CAAC,KAAKu7D,YAAL,CAAkBv7D,MAAnB,CAZY;AAanB/H,kBAAM,EAAC,CAAC,KAAKsjE,YAAL,CAAkBtjE,MAAnB,CAbY;AAcnBqgE,sBAAU,EAAC,CAAC,KAAKiD,YAAL,CAAkBjD,UAAnB,CAdQ;AAenBF,sBAAU,EAAC,CAAC,KAAKmD,YAAL,CAAkBnD,UAAnB;AAfQ,WAAd,CAAP;AAiBD;;;uCAIW;AAAA;;AACR,eAAKwD,SAAL,GAAiB,CAAjB;AACA,eAAK97B,QAAL,GAAgB,EAAhB;AACA,eAAKue,OAAL,CAAa91C,OAAb,CAAqB,UAAAC,OAAO,EAAI;AAC9B;;AACA,gBAAGA,OAAO,CAAC8vD,UAAR,IAAsB,CAAzB,EAA2B;AACzB,sBAAI,CAACx4B,QAAL,CAAc9jC,IAAd,CAAmB;AACjBjF,kBAAE,EAAGyR,OAAO,CAACzR,EADI;AAEjB2M,qBAAK,EAAG8E,OAAO,CAAC+vD,SAFC;AAGjB/tD,oBAAI,EAAG,QAAI,CAACjR,IAAL,IAAY,OAAZ,GAAsBiP,OAAO,CAACxI,MAA9B,GAAuCwI,OAAO,CAACvQ,MAHrC;AAIjBqgE,0BAAU,EAAG9vD,OAAO,CAAC8vD,UAJJ;AAKjBgD,wBAAQ,EAAG;AALM,eAAnB;AAOD,aARD,MASC;AACH,sBAAI,CAACx7B,QAAL,CAAcv3B,OAAd,CAAsB,UAAAs0D,KAAK,EAAI;;;AAC7B,oBAAGA,KAAK,CAAC9lE,EAAN,IAAYyR,OAAO,CAAC8vD,UAAvB,EAAkC;AAChC,wBAAAuE,KAAK,CAACvB,QAAN,MAAc,IAAd,IAAc,aAAd,GAAc,MAAd,GAAc,GAAEt/D,IAAF,CAAO;AACnBjF,sBAAE,EAAGyR,OAAO,CAACzR,EADM;AAEnB2M,yBAAK,EAAG8E,OAAO,CAAC+vD,SAFG;AAGnB/tD,wBAAI,EAAG,QAAI,CAACjR,IAAL,IAAY,OAAZ,GAAsBiP,OAAO,CAACxI,MAA9B,GAAuCwI,OAAO,CAACvQ,MAHnC;AAInBqgE,8BAAU,EAAG9vD,OAAO,CAAC8vD,UAJF;AAKnBgD,4BAAQ,EAAG;AALQ,mBAAP,CAAd;AAOD,iBARD,MASI;AAEF,yBAAMuB,KAAK,CAACvB,QAAN,IAAgBuB,KAAK,CAACvB,QAAN,CAAe7iE,MAAf,GAAwB,CAA9C,EAAgD;AAC9C,wBAAGokE,KAAK,CAAC9lE,EAAN,IAAYyR,OAAO,CAAC8vD,UAAvB,EAAkC;AAChCuE,2BAAK,CAACvB,QAAN,CAAet/D,IAAf,CAAoB;AAClBjF,0BAAE,EAAGyR,OAAO,CAACzR,EADK;AAElB2M,6BAAK,EAAG8E,OAAO,CAAC+vD,SAFE;AAGlB/tD,4BAAI,EAAG,QAAI,CAACjR,IAAL,IAAY,OAAZ,GAAsBiP,OAAO,CAACxI,MAA9B,GAAuCwI,OAAO,CAACvQ,MAHpC;AAIlBqgE,kCAAU,EAAG9vD,OAAO,CAAC8vD,UAJH;AAKlBgD,gCAAQ,EAAG;AALO,uBAApB;AAOA;AACD;;AACD;AAED;AACF;AAEA,eA5BH;AA8BA;;AACE,oBAAI,CAACM,SAAL;AACD,WA5CD;AA8CA5qD,iBAAO,CAACC,GAAR,CAAY,KAAK6uB,QAAjB;AAEA,eAAKg9B,eAAL,CAAqB,KAAKh9B,QAA1B;AAEA,eAAKk8B,UAAL,CAAgB5hE,IAAhB,GAAuB,EAAvB;AACA,eAAK4hE,UAAL,CAAgB5hE,IAAhB,GAAuB,KAAK0lC,QAA5B;AAID;;;wCAQei9B,gB,EAAoC;AAAA;;AAClD/rD,iBAAO,CAACC,GAAR,CAAY,cAAZ,EAA4B,KAAK6oD,gBAAL,CAAsBrhE,MAAlD;AACAuY,iBAAO,CAACC,GAAR,CAAY,cAAZ,EAA4B,KAAK2qD,SAAjC;AACA5qD,iBAAO,CAACC,GAAR,CAAY,iBAAZ,EAA+B,KAAK6uB,QAApC;;AAEA,cAAG,KAAK87B,SAAL,IAAkB,KAAK9B,gBAAL,CAAsBrhE,MAA3C,EAAkD;AAChDuY,mBAAO,CAACC,GAAR,CAAY,6CAAZ;AACA,mBAAO8rD,gBAAP;AACD,WAHD,MAII;AACF/rD,mBAAO,CAACC,GAAR,CAAY,qEAAZ;AAEA,gBAAI+rD,aAAa,GAAsB,EAAvC;AAEAD,4BAAgB,CAACx0D,OAAjB,CAAyB,UAAAwzD,IAAI,EAAI;AAC/B,sBAAI,CAACjC,gBAAL,CAAsB/9D,MAAtB,CAA6B,UAAAH,CAAC;AAAA,uBAAEA,CAAC,CAAC08D,UAAF,IAAgByD,IAAI,CAAChlE,EAAvB;AAAA,eAA9B,EAAyDwR,OAAzD,CAAiE,UAAA00D,SAAS,EAAI;;;AAC5E,oBAAIC,QAAQ,GAAoB,EAAhC;AACAA,wBAAQ,CAACnmE,EAAT,GAAckmE,SAAS,CAAClmE,EAAxB;AACAmmE,wBAAQ,CAAC5B,QAAT,GAAoB,EAApB;AACA4B,wBAAQ,CAACx5D,KAAT,GAAiBq4D,IAAI,CAACr4D,KAAL,GAAa,CAA9B;AACA,sBAAAq4D,IAAI,CAACT,QAAL,MAAa,IAAb,IAAa,aAAb,GAAa,MAAb,GAAa,GAAEt/D,IAAF,CAAOkhE,QAAP,CAAb;AACA,wBAAI,CAACtB,SAAL;AACAoB,6BAAa,CAAChhE,IAAd,CAAmBkhE,QAAnB;AACD,eARD;AASD,aAVD;AAWA,mBAAO,KAAKJ,eAAL,CAAqBE,aAArB,CAAP;AACD;AACF,S,CAMD;;;;2CAEmBnnE,E,EAAO;AACxB,iBAAO,KAAKikE,gBAAL,CAAsB5+D,IAAtB,CAA2B,UAAAU,CAAC;AAAA,mBAAEA,CAAC,CAAC7E,EAAF,KAAOlB,EAAT;AAAA,WAA5B,CAAP;AACD;;;2CACe;AACd,eAAK0lE,YAAL,CAAkBxkE,EAAlB,GAAuB,CAAvB;AACA,eAAKwkE,YAAL,CAAkBhD,SAAlB,GAA8B,CAA9B;AACA,eAAKgD,YAAL,CAAkBjD,UAAlB,GAA+B,CAA/B;AACA,eAAKiD,YAAL,CAAkB/C,oBAAlB,GAAyC,CAAzC;AACA,eAAK+C,YAAL,CAAkB9C,iBAAlB,GAAsC,CAAtC;AACA,eAAK8C,YAAL,CAAkB7C,mBAAlB,GAAwC,CAAxC;AACA,eAAK6C,YAAL,CAAkB5C,aAAlB,GAAkC,CAAlC;AACA,eAAK4C,YAAL,CAAkBv7D,MAAlB,GAA2B,EAA3B;AACA,eAAKu7D,YAAL,CAAkBtjE,MAAlB,GAA2B,EAA3B;AACA,eAAKsjE,YAAL,CAAkBjD,UAAlB,GAA+B,CAA/B;AACA,eAAKiD,YAAL,CAAkBlD,aAAlB,GAAkC,KAAKoD,iBAAL,GAAyB,CAA3D;AACA,eAAKx8D,IAAL,GAAY,KAAKU,UAAL,EAAZ;AACD;;;2CACkB5I,E,EAAE;AACnB;AACA,cAAIoE,CAAC,GAAG,KAAKkjD,OAAL,CAAa1iD,SAAb,CAAuB,UAAAC,CAAC;AAAA,mBAAEA,CAAC,CAAC7E,EAAF,IAAQA,EAAV;AAAA,WAAxB,CAAR;AACA,eAAKwkE,YAAL,CAAkBxkE,EAAlB,GAAuB,CAAvB;;AAEA,cAAGoE,CAAC,GAAG,CAAC,CAAR,EAAU;AACR,iBAAKogE,YAAL,CAAkBhD,SAAlB,GAA8B,KAAKla,OAAL,CAAaljD,CAAb,EAAgBo9D,SAAhB,GAA2B,CAAzD;AACA,iBAAKgD,YAAL,CAAkBjD,UAAlB,GAA+BvhE,EAA/B;AACA,iBAAKwC,IAAL,IAAY,OAAZ,GAAsB,KAAKgiE,YAAL,CAAkBnD,UAAlB,GAA+B,KAAK/Z,OAAL,CAAaljD,CAAb,EAAgB6E,MAArE,GAA8E,KAAKu7D,YAAL,CAAkBnD,UAAlB,GAA+B,KAAK/Z,OAAL,CAAaljD,CAAb,EAAgBlD,MAA7H;AACF,iBAAKsjE,YAAL,CAAkBlD,aAAlB,GAAkC,KAAKoD,iBAAL,GAAyB,CAA3D;AAEE,iBAAKx8D,IAAL,GAAY,KAAKU,UAAL,EAAZ;AACH,WAPC,MAQI;AACJ,iBAAK47D,YAAL,CAAkBlD,aAAlB,GAAkC,KAAKoD,iBAAL,GAAyB,CAA3D;AAEE,iBAAKF,YAAL,CAAkBhD,SAAlB,GAA8B,CAA9B;AACA,iBAAKgD,YAAL,CAAkBjD,UAAlB,GAA+B,CAA/B;AACA,iBAAKr5D,IAAL,GAAY,KAAKU,UAAL,EAAZ;AACD;AACF;;;iCACQ5I,E,EAAE;AACT;AACA,eAAK82D,SAAL,GAAiB92D,EAAjB;AACA,cAAIoE,CAAC,GAAG,KAAKkjD,OAAL,CAAa1iD,SAAb,CAAuB,UAAAC,CAAC;AAAA,mBAAEA,CAAC,CAAC7E,EAAF,IAAQA,EAAV;AAAA,WAAxB,CAAR;;AACA,cAAGoE,CAAC,GAAG,CAAC,CAAR,EAAU;AACR,iBAAKogE,YAAL,GAAoB,KAAKld,OAAL,CAAaljD,CAAb,CAApB;AAEA,iBAAK8D,IAAL,GAAY,KAAKU,UAAL,EAAZ;AACD;AACF;;;kCAOM;AAAA;;AAEL,eAAKy5D,kBAAL,CAAwBj/D,MAAxB,GACCL,SADD,CACW,UAAAM,IAAI,EAAI;AACjB,oBAAI,CAAC6gE,YAAL,sBAAwB7gE,IAAxB;AACA,oBAAI,CAACgiE,UAAL,GAAkB,IAAlB;AACD,WAJD;AAKA,eAAKlF,mBAAL,CAAyB/8D,MAAzB,GACCL,SADD,CACW,UAAAM,IAAI,EAAI;AACjB,oBAAI,CAAC8gE,aAAL,sBAAyB9gE,IAAzB;AACA,oBAAI,CAACiiE,kBAAL,GAA0B,IAA1B;AACD,WAJD;AAKA,eAAKhD,sBAAL,CAA4Bl/D,MAA5B,GACCL,SADD,CACW,UAAAM,IAAI,EAAI;AACjB,oBAAI,CAAC+gE,gBAAL,sBAA4B/gE,IAA5B;AACA,oBAAI,CAACkiE,sBAAL,GAA8B,IAA9B;AACD,WAJD;AAKA,eAAKhD,8BAAL,CAAoCn/D,MAApC,GACCL,SADD,CACW,UAAAM,IAAI,EAAI;AACjB,oBAAI,CAACghE,uBAAL,sBAAmChhE,IAAnC;AACA,oBAAI,CAACmiE,6BAAL,GAAqC,IAArC;AACD,WAJD;AAKA,eAAKhD,0BAAL,CAAgCp/D,MAAhC,GACCL,SADD,CACW,UAAAM,IAAI,EAAI;AACjB,oBAAI,CAACihE,oBAAL,sBAAgCjhE,IAAhC;AACA,oBAAI,CAACoiE,0BAAL,GAAkC,IAAlC;AACD,WAJD;AAKD;;;+BAEM;AAAA;;AACL,eAAKjB,YAAL,GAAoB,KAAKt8D,IAAL,CAAUY,WAAV,EAApB;AACA,eAAKu5C,cAAL,CAAoB/4C,MAApB,CAA2B,KAAKk7D,YAAhC,EAA8CzhE,SAA9C,CACI,UAAAC,MAAM,EAAI;AACN,gBAAIA,MAAM,GAAG,CAAb,EAAiB;AACb;AACA,sBAAI,CAACwhE,YAAL,CAAkBxkE,EAAlB,GAAuBgD,MAAvB;;AACA,sBAAI,CAACskD,OAAL,CAAariD,IAAb,CAAkB,QAAI,CAACu/D,YAAvB;;AACA,sBAAI,CAACkB,YAAL;;AACA,sBAAI,CAAClB,YAAL,GAAoB,IAAI,kEAAJ,EAApB;AACA,sBAAI,CAACG,WAAL,GAAmB,KAAnB;AACA,sBAAI,CAACD,iBAAL;;AACA,sBAAI,CAAChR,SAAL;AACH,aATD,MASO;AACH,sBAAI,CAACC,OAAL;AACH;AACJ,WAdL;AAiBH;;;iCAEQ;AAAA;;AACP;AACA,eAAK6Q,YAAL,GAAoB,KAAKt8D,IAAL,CAAUY,WAAV,EAApB;AACA,eAAKu5C,cAAL,CAAoB94C,MAApB,CAA2B,KAAKi7D,YAAhC,EAA8CzhE,SAA9C,CACI,UAAAC,MAAM,EAAI;AACN,gBAAIA,MAAJ,EAAY;AACV,sBAAI,CAACwhE,YAAL,GAAoB,IAAI,kEAAJ,EAApB;AACA,sBAAI,CAACG,WAAL,GAAmB,KAAnB;;AAEE,sBAAI,CAACjR,SAAL;AACH,aALD,MAKO;AACH,sBAAI,CAACC,OAAL;AACH;AACJ,WAVL;AAYD;;;iCACK;AAAA;;AACJ,eAAKtR,cAAL,WAA2B,KAAKmiB,YAAhC,EACCzhE,SADD,CACW,UAAAM,IAAI,EAAI;AACjB,gBAAIe,CAAC,GAAG,QAAI,CAACkjD,OAAL,CAAa1iD,SAAb,CAAuB,UAAAC,CAAC;AAAA,qBAAEA,CAAC,CAAC7E,EAAF,IAAQ,QAAI,CAACwkE,YAAL,CAAkBxkE,EAA5B;AAAA,aAAxB,CAAR;;AACA,gBAAGoE,CAAC,GAAG,CAAC,CAAR,EAAU;AACR,sBAAI,CAACkjD,OAAL,CAAan3C,MAAb,CAAoB/L,CAApB,EAAsB,CAAtB;;AACA,sBAAI,CAACshE,YAAL;;AACA,sBAAI,CAAClB,YAAL,GAAoB,IAAI,kEAAJ,EAApB;AACA,sBAAI,CAACG,WAAL,GAAmB,KAAnB;AACD;AACF,WATD;AAUD;;;sCACU;AACT,cAAG,KAAKyB,0BAAL,CAAgCC,eAAhC,MAAqD,IAAxD,EAA6D;AAC3D,iBAAKvP,SAAL,GAAiB,CAAjB;AACA,iBAAK2N,cAAL,GAAsB,KAAtB;AACD,WAJQ,CAKT;;AACD;;;oCACQ;AACP;AACA,eAAKjkE,aAAL,CAAmBmF,MAAnB,CAA0B,KAAKlF,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAA1B,EACI,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,gBAAvB,CADJ,EAEI,wEAAiByC,OAFrB,EAE8B;AAAEC,mBAAO,EAAE,GAAX;AAAgBC,2BAAe,EAAE;AAAjC,WAF9B;AAGH;;;oCAEQ;AAEP,eAAKtF,aAAL,CAAmBmF,MAAnB,CAA0B,KAAKlF,SAAL,CAAe0C,OAAf,CAAuB,MAAvB,CAA1B,EACI,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,oBAAvB,CADJ,EAEI,wEAAiBywD,IAFrB,EAE2B;AAAE/tD,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAF3B;AAGH;;;kCAEM;AACH,eAAKtF,aAAL,CAAmBmF,MAAnB,CAA0B,KAAKlF,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAA1B,EACI,KAAK1C,SAAL,CAAe0C,OAAf,CAAuB,iBAAvB,CADJ,EAEI,wEAAiB1E,KAFrB,EAE4B;AAAEoH,mBAAO,EAAE,IAAX;AAAiBC,2BAAe,EAAE;AAAlC,WAF5B;AAGH;;;;;;;uBA1WQk+D,oB,EAAoB,qI,EAAA,4I,EAAA,2H,EAAA,wI,EAAA,+I,EAAA,iJ,EAAA,yJ,EAAA,0K,EAAA,0J;AAAA,K;;;YAApBA,oB;AAAoB,mC;AAAA;AAAA;oEAClB,6G,EAA0B,I;;;;;;;;;;;;;;ACjCzC;;AACI;;AAE6H;;;;AAC9G;;AACf;;AAOA;;AAOI;;AAOA;;AAON;;AACA;;AAEA;;AACE;;AACA;;AACI;;AAAI;;;;AAA0B;;AACjC;;AACG;;AAGoE;AAAA,mBAAS,IAAAsC,gBAAA,EAAT;AAA2B,WAA3B;;AAChE;;AAA2C;;AAAC;;AAC7C;;AAGN;;AACD;;AACI;;AAII;;AAwBA;;AAwBJ;;AACJ;;AACF;;AAEA;;AACA;;AAkIA;;AACA;;AAEA;;;;AA9O+H;;AAAA;;AAGzH;;AAAA;;AAOD;;AAAA;;AAOC;;AAAA;;AAOA;;AAAA;;AAYI;;AAAA;;AAIJ;;AAAA;;AAQU;;AAAA,iGAAyB,aAAzB,EAAyB,eAAzB;;AA4BgB;;AAAA;;AA6B1B;;AAAA;;AAkIe;;AAAA;;;;;;;;;;sED9MVtC,oB,EAAoB;cANhC,uDAMgC;eANtB;AACT;AACA99D,kBAAQ,EAAE,cAFD;AAGTC,qBAAW,EAAE,6BAHJ;AAITC,mBAAS,EAAE,CAAC,6BAAD;AAJF,S;AAMsB,Q;;;;;;;;;;;;;;;;;;;;;;gBAC5B,uD;iBAAU,6G;;;;;;;;;;;;;;;;;;;;AElCf;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;;ACsEwB;;;;;;AAEI;;;;;;AACJ;;AACkB;;AAAsB;;;;;;AAAtB;;AAAA;;;;;;AAClB;;AAEI;;;;AAAgC;;;;AAAhC;;AAAA;;;;;;AAMJ;;;;;;AAEI;;;;;;AACJ;;AACkB;;AAAsB;;;;;;AAAtB;;AAAA;;;;;;AAClB;;AAEI;;;;AAAgC;;;;AAAhC;;AAAA;;;;;;;;AAKJ;;AAE8B;AAAA;;AAAA;;AAAA;AAAA;;AACkC;;;;AACjD;;;;;;AAHX;;AAE4D;;AAAA;;;;;;;;AAEhE;;AAE8B;AAAA;;AAAA;;AAAA;AAAA;;AACkC;;;;AAC/C;;;;;;AAHb;;AAE4D;;AAAA;;;;;;AA8BpE;;AACI;;AAAmB;;AAA4C;;AAC/D;;AACJ;;;;;;;;AAFuB;;AAAA;;;;;;AAJ3B;;AAGI;;AAIJ;;;;;;AAJS;;AAAA;;;;;;AAKT;;AAEI;;AACI;;AAAqD;;;;AAA2C;;AACpG;;AACA;;AACJ;;;;;;AAH6D;;AAAA;;;;;;;;AAiB7E;;AACI;;AAAG;AAAA;;AAAA;;AAAA,yCAAuB,OAAvB;AAA8B,SAA9B;;AAAgC;;AAAI;;AAC3C;;;;;;;;AAwDoC;;AAEI;;AAAoB;;AACZ;;AAEI;AAAA;;AAAA;;AAAA,iBAAS,QAAAyG,WAAA,cAAyB,UAAzB,CAAT;AAA6C,SAA7C;;AACsF;;;;AAE3E;;AAAS;;AAAI;;AACxC;;;;;;AAHgB;;AAAA;;AAAsF;;AAAA;;;;;;;;AA8BlG;;AAAwE;;AAEhE;AAAA;;AAAA;;AAAA;;AAAA,iBAAS,QAAAA,WAAA,wBAA+B,CAA/B,CAAT;AAA0C,SAA1C;;AAA4C;;AAAQ;;AAAI;;;;;;;;AADxD;;AAAA;;AAC4C;;AAAA;;;;;;AAJxD;;AAEI;;AAGJ;;;;;;AAHwB;;AAAA;;;;;;;;AASpC;;AACI;;AACI;;AACI;;AAC4C;AAAA;;AAAA;;AAAA;;AAAA,iBAAU,QAAAA,WAAA,kBAAV;AAAmC,SAAnC;;AAD5C;;AAEA;;AACJ;;AACJ;;AACA;;AAAgB;;AAAwC;;AACxD;;AAAI;;AAAyC;AAAA;;AAAA;;AAAA;;AAAA,+CAA2B,MAA3B;AAAiC,SAAjC;;AACsD;;;;AAC9E;;AAAS;;AAC9B;;AAAI;;AAAoD;AAAA;;AAAA;;AAAA;;AAAA,+CAA2B,MAA3B;AAAiC,SAAjC;;AAC2C;;;;AAC9E;;AAAS;;AAC9B;;AAAI;;AAAmD;AAAA;;AAAA;;AAAA;;AAAA,iBAAS,QAAAA,WAAA,yBAAT;AAAyC,SAAzC;;AAC2C;;;;AAC7E;;AAAS;;AAClC;;;;;;;;;AAfgE;;AAAA,8FAAsB,SAAtB,EAAsB,uCAAtB;;AAEhB;;AAAA;;AAG5B;;AAAA;;AAER;;AAAA;;AAA2F;;AAAA;;AAG3F;;AAAA;;AAA2F;;AAAA;;AAG3F;;AAAA;;AAA0F;;AAAA;;;;;;;;;;;;;;;;;;;;;;AAnH9H;;AACI;;AACI;;AAEI;;AACI;;AACI;;AACI;;AAAsC;AAAA;;AAAA;;AAAA;AAAA,WAAoC,OAApC,EAAoC;AAAA;;AAAA;;AAAA,iBAAU,QAAAA,WAAA,eAAV;AAAoC,SAAxE,EAAoC,QAApC,EAAoC;AAAA;;AAAA;;AAAA,iBAAgD,QAAAA,WAAA,eAAhD;AAA0E,SAA9G;;;;AAAtC;;AAEJ;;AACJ;;AACJ;;AACJ;;AAEA;;AACI;;AACI;;AACJ;;AACA;;AACI;;AAEI;AAAA;;AAAA;;AAAA,mCAAmB,IAAnB,EAAwB,KAAxB;AAA6B,SAA7B;;AAAmF;;;;AACxE;;AAEnB;;AACJ;;AAEJ;;AAGA;;AAEI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AAEI;;AAGI;AAAA;;AAAA;;AAAA,iBAAU,QAAAA,WAAA,kBAAV;AAAuC,SAAvC;;AAHJ;;AAIA;;AAAmC;;AAAM;;AAC7C;;AACJ;;AACA;;AAGI;;AACJ;;AACA;;AAUJ;;AACJ;;AACJ;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,iBAAS,QAAAA,WAAA,YAAuB,QAAAA,WAAA,SAAoB,MAApB,CAAvB,CAAT;AAA4D,SAA5D;;AACjB;;AAEwF;;AAC5F;;AAAuB;AAAA;;AAAA;;AAAA,iBAAS,QAAAA,WAAA,YAAuB,QAAAA,WAAA,SAAoB,MAApB,CAAvB,CAAT;AAA4D,SAA5D;;AAEf;;;;AACR;;AAEA;;AACA;;AACI;;AAEI;;AACI;;;;AACJ;;AACA;;AACI;;AAEI;;AACJ;;AACA;;AAMJ;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AAmBJ;;AACA;;AACI;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAEA;;AAEI;;AAA6E;;AAAM;;AAEnF;;AAEI;;AACI;;AACI;;AACyC;AAAA;;AAAA;;AAAA;AAAA,WAAyB,aAAzB,EAAyB;AAAA;;AAAA;;AAAA,iBAI/C,QAAAA,WAAA,mBAJ+C;AAIjB,SAJR;;AAKzC;;AACJ;;AACJ;;AACJ;;AAEA;;AAA0E;;AAAM;;AAEpF;;AACJ;;;;;;;;;;;;;;AApJ2E;;AAAA;;AADb;;AAcV;;AAAA;;AAAmD;;AAAA;;AAsBvD;;AAAA,8HAAkD,eAAlD,EAAkD,sDAAlD;;AAwB2D;;AAAA;;AAC1E;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAIJ;;AAAA;;AAIQ;;AAAA;;AAKI;;AAAA;;AAaZ;;AAAA;;AA4CiC;;AAAA,iGAAyB,eAAzB,EAAyB,IAAzB,EAAyB,YAAzB,EAAyB,uCAAzB,EAAyB,cAAzB,EAAyB,gCAAzB,EAAyB,qBAAzB,EAAyB,IAAzB,EAAyB,oBAAzB,EAAyB,IAAzB,EAAyB,wBAAzB,EAAyB,IAAzB,EAAyB,oBAAzB,EAAyB,IAAzB,EAAyB,SAAzB,EAAyB,CAAzB;;;;;;AAoBzD;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AAIA;;;;QD/TS05D,uB;AACX;AACA;AACA;AACA;AACA,uCAAoBlmE,WAApB,EAAqDC,YAArD,EAAiGC,QAAjG,EACUC,aADV,EACuDC,SADvD,EACkF;AAAA;;AAD9D,aAAAJ,WAAA,GAAAA,WAAA;AAAiC,aAAAC,YAAA,GAAAA,YAAA;AAA4C,aAAAC,QAAA,GAAAA,QAAA;AACvF,aAAAC,aAAA,GAAAA,aAAA;AAA6C,aAAAC,SAAA,GAAAA,SAAA;AAKvD,aAAAoM,WAAA,GAAc,IAAI,oFAAJ,CAAgB,KAAKpM,SAArB,EAAgC,KAAKD,aAArC,CAAd;AACA,aAAAG,aAAA,GAAqB,OAArB;AAEA,aAAAC,eAAA,GAA0B,gBAA1B;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,cAAA,GAAiB,CAAC,QAAD,EAAW,QAAX,CAAjB;AAEA,aAAAC,WAAA,GAA0B,IAAI,wDAAJ,EAA1B;AAEA,aAAAC,MAAA,GAAuB,EAAvB;AACA,aAAAC,QAAA,GAAsB,IAAI,wDAAJ,CAAc;AAClCjB,YAAE,EAAE,IAAI,0DAAJ,EAD8B;AAElCkB,gBAAM,EAAE,IAAI,0DAAJ,EAF0B;AAGlC+H,gBAAM,EAAE,IAAI,0DAAJ;AAH0B,SAAd,CAAtB;AASA,aAAA5H,aAAA,GAAgB,EAAhB;AACA,aAAAa,SAAA,GAAY,CAAZ;AACA,aAAAD,WAAA,GAAc,CAAd;AACA,aAAAK,YAAA,GAAsB,EAAtB;AAE6C,aAAAyG,YAAA,GAAmC,IAAnC;AA3B5C;;;;mCA8BO;AACN,eAAKvG,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACA,eAAKoD,SAAL,GAAiB;AAAEC,iBAAK,EAAE,MAAT;AAAiBC,oBAAQ,EAAE,KAAKH,IAAL,KAAc,OAAd,GAAwB,QAAxB,GAAmC;AAA9D,WAAjB;AACA,eAAK3B,YAAL,GAAoB,CAClB;AAAE6B,iBAAK,EAAE,MAAT;AAAiBC,oBAAQ,EAAE,KAAKH,IAAL,KAAc,OAAd,GAAwB,QAAxB,GAAmC;AAA9D,WADkB,CAApB;AAIA,eAAKqK,WAAL,CAAiBwB,eAAjB,CAAiC,KAAKrN,MAAtC,EAA8C,KAAKV,YAAnD,EAAiE,KAAKS,WAAtE,EACE,KAAKD,cADP,EACuB,KAAKD,YAD5B,EAC0C,KAAKI,QAD/C,EACyD,KAAKL,eAD9D,EAC+E,KAAK6B,SADpF,EAEE,KAAKsG,YAFP,EAEqB,KAAK1D,QAF1B,EAEoC,KAAKgI,UAFzC,EAEqD,KAAK7K,IAF1D;AAIA,eAAK4L,YAAL;AACD;;;kCAESpO,E,EAAIsO,M,EAAQ;AACpB,cAAIA,MAAM,KAAK,KAAf,EAAsB;AACpB,iBAAKzB,WAAL,CAAiB0B,kBAAjB,CAAoC,KAAK3F,UAAzC,EAAqD,KAAKvI,WAA1D;AACD,WAFD,MAGK,IAAIiO,MAAM,KAAK,MAAf,EAAuB;AAE1B,iBAAKzB,WAAL,CAAiB6B,gBAAjB,CAAkC1O,EAAlC,EAAsC,KAAK4I,UAA3C,EAAuD,KAAKvI,WAA5D;AACA4Z,mBAAO,CAACC,GAAR,CAAY,uBAAuB,KAAKnZ,WAAxC;AACAkZ,mBAAO,CAACC,GAAR,CAAY,KAAKnZ,WAAjB;AACAkZ,mBAAO,CAACC,GAAR,CAAY,+BAA+B,KAAKrN,WAAL,CAAiB9L,WAA5D;AACAkZ,mBAAO,CAACC,GAAR,CAAY,KAAKrN,WAAL,CAAiB9L,WAA7B;AAED,WARI,MASA,IAAIuN,MAAM,KAAK,MAAf,EAAuB;AAC1B,iBAAKzB,WAAL,CAAiB8B,gBAAjB,CAAkC3O,EAAlC,EAAsC,KAAK4I,UAA3C,EAAuD,KAAKvI,WAA5D;AACD;;AACD,eAAKU,WAAL,GAAmB,KAAK8L,WAAL,CAAiB9L,WAApC;AACA,eAAKE,QAAL,GAAgB,KAAK4L,WAAL,CAAiB5L,QAAjC;AACD;;;mCAEUF,W,EAAaV,W,EAAW;AACjC;AAEA;AAEA,iBAAOA,WAAW,CAAC6G,KAAZ,CAAkB;AACvBlH,cAAE,EAAE,CAACe,WAAW,CAACf,EAAZ,IAAkB,CAAlB,GAAsBe,WAAW,CAACf,EAAlC,GAAuC,CAAxC,CADmB;AAEvBkB,kBAAM,EAAE,CAACH,WAAW,CAACG,MAAb,EAAqB,0DAAW0N,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWE,SAAX,CAAqB,CAArB,CAAtB,CAAnB,CAArB,CAFe;AAGvB9F,kBAAM,EAAE,CAAClI,WAAW,CAACkI,MAAb,EAAqB,0DAAW2F,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWC,OAAX,CAAmB,4CAAnB,CAAtB,CAAnB,CAArB;AAHe,WAAlB,CAAP;AAMD;;;oCAEW;AACV,eAAKzN,aAAL,GAAqB,SAArB;AAEA,eAAKN,WAAL,GAAmB,IAAI,wDAAJ,EAAnB;AACA,eAAKA,WAAL,CAAiBf,EAAjB,GAAsB,CAAtB;AACA,eAAKe,WAAL,CAAiBG,MAAjB,GAA0B,KAAKD,QAAL,CAAc6H,WAAd,GAA4B5H,MAAtD;AACA,eAAKH,WAAL,CAAiBkI,MAAjB,GAA0B,KAAKhI,QAAL,CAAc6H,WAAd,GAA4BG,MAAtD,CANU,CAOV;;AAEA,eAAKgG,gBAAL;AACD;;;2CAEkB;AAAA;;AACjBgL,iBAAO,CAACC,GAAR,CAAY,KAAKnZ,WAAjB;AAEA,eAAKT,YAAL,CAAkBgJ,MAAlB,CAAyB,KAAKvI,WAA9B,EAA2CgC,SAA3C,CAAqD,UAAAC,MAAM,EAAI;AAC7D,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAAC6J,WAAL,CAAiBjK,QAAjB;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAACwL,WAAL,CAAiBtH,YAAjB,CAA8B,QAAI,CAAC9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAA9B,EAAiE,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,mBAAvB,CAAjE;;AACA,kBAAI,QAAI,CAAC4F,YAAL,KAAsBmG,SAA1B,EAAqC;AAEnC,wBAAI,CAACrC,WAAL,CAAiBQ,UAAjB,CAA4B7H,IAA5B;AAED,eAJD,MAIO;AAEL,wBAAI,CAACqH,WAAL,CAAiB9D,YAAjB,CAA8BI,QAA9B,CAAuC3D,IAAvC;AACD;AACF,aAZD,MAaK;AACH,sBAAI,CAACqH,WAAL,CAAiB3J,UAAjB,CAA4B,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAA5B,EAA6D,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,WAAvB,CAA7D;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAlBD;AAmBD;;;qCAEY;AACX,eAAKA,aAAL,GAAqB,SAArB;AACA,eAAKwL,WAAL,CAAiB3K,SAAjB,GAA6B,KAAK2K,WAAL,CAAiB5K,WAA9C;AAEA,cAAImN,OAAO,GAAG,IAAI,wDAAJ,CAAe;AAC3BpP,cAAE,EAAE,KAAKe,WAAL,CAAiBf,EADM;AAE3BkB,kBAAM,EAAE,KAAKD,QAAL,CAAc6H,WAAd,GAA4B5H,MAFT;AAG3B+H,kBAAM,EAAE,KAAKhI,QAAL,CAAc6H,WAAd,GAA4BG;AAHT,WAAf,CAAd;;AAOA,cAAIhJ,IAAI,CAACC,SAAL,CAAekP,OAAf,KAA2BnP,IAAI,CAACC,SAAL,CAAe,KAAKa,WAApB,CAA/B,EAAiE;AAC/D,iBAAKsO,iBAAL,CAAuBD,OAAvB;AACD,WAFD,MAGK;AAAC,gBAAI,KAAKrG,YAAL,KAAsBmG,SAA1B,EAAqC;AAEzC,mBAAKrC,WAAL,CAAiBQ,UAAjB,CAA4B7H,IAA5B;AAED,aAJK,MAIC;AAEL,mBAAKqH,WAAL,CAAiB9D,YAAjB,CAA8BI,QAA9B,CAAuC3D,IAAvC;AACD;AACA;AACF;;;0CAEiB8J,M,EAAQ;AAAA;;AACxB2K,iBAAO,CAACC,GAAR,CAAY,cAAZ,EAA4B5K,MAA5B;AAEA,eAAKhP,YAAL,CAAkBiJ,MAAlB,CAAyB+F,MAAzB,EAAiCvM,SAAjC,CAA2C,UAAAC,MAAM,EAAI;AACnD,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAAC6J,WAAL,CAAiBjK,QAAjB;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAACwL,WAAL,CAAiBtH,YAAjB,CAA8B,QAAI,CAAC9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAA9B,EAAiE,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,oBAAvB,CAAjE;;AACA,kBAAI,QAAI,CAAC4F,YAAL,KAAsBmG,SAA1B,EAAqC;AAEnC,wBAAI,CAACrC,WAAL,CAAiBQ,UAAjB,CAA4B7H,IAA5B;AAED,eAJD,MAIO;AAEL,wBAAI,CAACqH,WAAL,CAAiB9D,YAAjB,CAA8BI,QAA9B,CAAuC3D,IAAvC;AACD;AACF,aAZD,MAaK;AACH,sBAAI,CAACqH,WAAL,CAAiB3J,UAAjB,CAA4B,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAA5B,EAA6D,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,YAAvB,CAA7D;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAlBD;AAmBD,S,CAED;AACA;AACA;;;;uCACe;AACb,eAAKa,SAAL,GAAiB,KAAKD,WAAtB,CADa,CAEb;;AACA,eAAKZ,aAAL,GAAqB,SAArB;AACA,eAAKwB,mBAAL;AACD,S,CAED;;;;8CACsB;AAAA;;AACpB,eAAKvC,YAAL,CAAkBwC,UAAlB,CAA6B,KAAK+J,WAAL,CAAiBvK,YAA9C,EAA4DS,SAA5D,CAAsE,UAAAC,MAAM,EAAI;AAC9E,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAAC6J,WAAL,CAAiBjK,QAAjB;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAACwL,WAAL,CAAiB5J,gBAAjB;AACD,aAJD,MAKK;AACH,sBAAI,CAAC4J,WAAL,CAAiB3J,UAAjB,CAA4B,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAA5B,EAA6D,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,cAAvB,CAA7D;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAVD;AAWD;;;uCAGc+O,O,EAAS;AACtB,eAAKvD,WAAL,CAAiBpK,SAAjB,GAA6B,KAAKA,SAAlC;AACA,eAAKoK,WAAL,CAAiBwD,UAAjB,CAA4B,KAAKxD,WAAL,CAAiByD,OAAjB,CAAyBF,OAAzB,CAA5B;AACD,S,CACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;uCACe;AACb,eAAK/O,aAAL,GAAqB,SAArB;AACA,eAAKwL,WAAL,CAAiBjK,QAAjB;AACD,S,CAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;iCACSwN,O,EAAS;AAChB,eAAKvD,WAAL,CAAiBwD,UAAjB,CAA4B,KAAKxD,WAAL,CAAiByD,OAAjB,CAAyB,MAAzB,CAA5B;AACA,eAAK7N,SAAL,GAAiB,KAAKoK,WAAL,CAAiBpK,SAAlC;AACD;;;;;;;uBAtOU8jE,uB,EAAuB,2H,EAAA,oI,EAAA,wH,EAAA,4I,EAAA,qI;AAAA,K;;;YAAvBA,uB;AAAuB,sC;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;ACqCpC;;AACI;;AACI;;AAEA;;AACI;;AACI;;AACI;;;;AAA2D;;AACnE;;AACA;;AACI;;AACI;;AACI;;AAAqC;;;;AAAwB;;AAC7D;;AAGA;;AAEA;;AAGA;;AACJ;;AAEA;;AACI;;AAAqC;;;;AAAwB;;AAC7D;;AAGA;;AAEA;;AAGA;;AACJ;;AAEA;;AACI;;AAKA;;AAKA;;AAA8B;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAA0B,WAA1B;;AACoD;;;;AACnE;;AACnB;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AACJ;;AAGA;;AACI;;AACI;;AACI;;AAAkE;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAAwB,WAAxB;;AAE9D;;AAAyB;;AAAO;;AACpC;;AACA;;AACI;;AACI;;;;AACW;;AACnB;;AACA;;AACI;;AAQA;;AAQA;;AACI;;AAA2D;AAAA,mBAAS,IAAAtgE,YAAA,EAAT;AAAuB,WAAvB;;AAEK;;;;AAAwB;;AACxF;;AAA8B;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAAwB,WAAxB;;AACoD;;;;AACnE;;AACnB;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AAIA;;AA8JA;;AAIA;;AAKA;;AAKA;;AAIA;;AAKA;;;;AAvRoB;;AAAA;;AAG0C;;AAAA;;AAED;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAMiC;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAMI;;AAAA;;AAKA;;AAAA;;AAM0E;;AAAA;;AAoBtF;;AAAA;;AAIiC;;AAAA;;AAQ4B;;AAAA;;AAUzD;;AAAA;;AAC4D;;AAAA;;AAEkB;;AAAA;;AAOhG;;AAAA;;AAID;;AAAA;;;;;;;;;;sED9IQsgE,uB,EAAuB;cANnC,uDAMmC;eANzB;AACT;AACArgE,kBAAQ,EAAE,iBAFD;AAGTC,qBAAW,EAAE,gCAHJ;AAITC,mBAAS,EAAE,CAAC,gCAAD;AAJF,S;AAMyB,Q;;;;;;;;;;;;;;gBAoCjC,uD;iBAAU,c,EAAgB;AAAE,sBAAQ;AAAV,W;;;gBAC1B,uD;iBAAU,U,EAAY;AAAE,sBAAQ;AAAV,W;;;gBACtB,uD;iBAAU,Y,EAAc;AAAE,sBAAQ;AAAV,W;;;;;;;;;;;;;;;;;;;;AE1D3B;AAAA;;;AAAA;AAAA;AAAA;;QAAa06D,U,GAIL,oBAAYh8D,IAAZ,EAA+B;AAAA;;AAC3BA,UAAI,GAAGA,IAAI,GAAGA,IAAH,GAAU,EAArB;AACA,WAAK9E,EAAL,GAAU8E,IAAI,CAAC9E,EAAL,GAAU8E,IAAI,CAAC9E,EAAf,GAAoB,CAA9B;AACA,WAAKiJ,MAAL,GAAcnE,IAAI,CAACmE,MAAL,GAAcnE,IAAI,CAACmE,MAAnB,GAA4B,EAA1C;AACA,WAAK/H,MAAL,GAAc4D,IAAI,CAAC5D,MAAL,GAAc4D,IAAI,CAAC5D,MAAnB,GAA4B,EAA1C;AACH,K;;;;;;;;;;;;;;;;;ACTT;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAYaslE,oB;AACT,oCAAoBxnE,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAIpB,aAAAC,OAAA,GAAU,yEAAYC,UAAtB;AACC,aAAAC,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AAJA;;;;iCAYK;AAEJ,iBAAO,KAAKH,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,2BAC2C,KAAKK,WADhD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCACOZ,E,EAAS;AAEf,iBAAO,KAAKE,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,mCAC6CH,EAD7C,GACkD,KAAKQ,WADvD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BACMI,O,EAAmB;AAExB,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,2BAC6Ca,OAD7C,EACqD,KAAKR,WAD1D,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BAEMI,O,EAAmB;AACxB,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,2BAC6Ca,OAD7C,EACqD,KAAKR,WAD1D,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCAEMI,O,EAAmB;AACtB,iBAAO,KAAKd,IAAL,CACNe,IADM,WACO,KAAKd,OADZ,2BAC2Ca,OAD3C,EACmD,KAAKR,WADxD,EAENG,IAFM,CAED,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFC,CAAP;AAGH;;;mCAGUI,O,EAAsB;AAC/B,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,+BACgDgB,IAAI,CAACC,SAAL,CAAeJ,OAAf,CADhD,EACwE,KAAKR,WAD7E,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;;;;;uBAnDQ8mE,oB,EAAoB,uH;AAAA,K;;;aAApBA,oB;AAAoB,eAApBA,oBAAoB,K;AAAA,kBAFnB;;;;;sEAEDA,oB,EAAoB;cAHhC,wDAGgC;eAHrB;AACVrmE,oBAAU,EAAE;AADF,S;AAGqB,Q;;;;;;;;;;;;;;;;;;;;;;ACZjC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;;ACsEwB;;;;;;AAEI;;;;;;AACJ;;AACkB;;AAAsB;;;;;;AAAtB;;AAAA;;;;;;AAClB;;AAEI;;;;AAAgC;;;;AAAhC;;AAAA;;;;;;AAMJ;;;;;;AAEI;;;;;;AACJ;;AACkB;;AAAsB;;;;;;AAAtB;;AAAA;;;;;;AAClB;;AAEI;;;;AAAgC;;;;AAAhC;;AAAA;;;;;;;;AAKJ;;AAE8B;AAAA;;AAAA;;AAAA;AAAA;;AACkC;;;;AACjD;;;;;;AAHX;;AAE4D;;AAAA;;;;;;;;AAEhE;;AAE8B;AAAA;;AAAA;;AAAA;AAAA;;AACkC;;;;AAC/C;;;;;;AAHb;;AAE4D;;AAAA;;;;;;AA8BpE;;AACI;;AAAmB;;AAA4C;;AAC/D;;AACJ;;;;;;;;AAFuB;;AAAA;;;;;;AAJ3B;;AAGI;;AAIJ;;;;;;AAJS;;AAAA;;;;;;AAKT;;AAEI;;AACI;;AAAqD;;;;AAA2C;;AACpG;;AACA;;AACJ;;;;;;AAH6D;;AAAA;;;;;;;;AAiB7E;;AACI;;AAAG;AAAA;;AAAA;;AAAA,yCAAuB,OAAvB;AAA8B,SAA9B;;AAAgC;;AAAI;;AAC3C;;;;;;;;AAwDoC;;AAEI;;AAAoB;;AACZ;;AAEI;AAAA;;AAAA;;AAAA,iBAAS,QAAA0M,WAAA,cAAyB,UAAzB,CAAT;AAA6C,SAA7C;;AACsF;;;;AAE3E;;AAAS;;AAAI;;AACxC;;;;;;AAHgB;;AAAA;;AAAsF;;AAAA;;;;;;;;AA8BlG;;AAAwE;;AAEhE;AAAA;;AAAA;;AAAA;;AAAA,iBAAS,QAAAA,WAAA,wBAA+B,CAA/B,CAAT;AAA0C,SAA1C;;AAA4C;;AAAQ;;AAAI;;;;;;;;AADxD;;AAAA;;AAC4C;;AAAA;;;;;;AAJxD;;AAEI;;AAGJ;;;;;;AAHwB;;AAAA;;;;;;;;AASpC;;AACI;;AACI;;AACI;;AAC4C;AAAA;;AAAA;;AAAA;;AAAA,iBAAU,QAAAA,WAAA,kBAAV;AAAmC,SAAnC;;AAD5C;;AAEA;;AACJ;;AACJ;;AACA;;AAAgB;;AAAwC;;AACxD;;AAAI;;AAAyC;AAAA;;AAAA;;AAAA;;AAAA,+CAA2B,MAA3B;AAAiC,SAAjC;;AACsD;;;;AAC9E;;AAAS;;AAC9B;;AAAI;;AAAoD;AAAA;;AAAA;;AAAA;;AAAA,+CAA2B,MAA3B;AAAiC,SAAjC;;AAC2C;;;;AAC9E;;AAAS;;AAC9B;;AAAI;;AAAmD;AAAA;;AAAA;;AAAA;;AAAA,iBAAS,QAAAA,WAAA,yBAAT;AAAyC,SAAzC;;AAC2C;;;;AAC7E;;AAAS;;AAClC;;;;;;;;;AAfgE;;AAAA,8FAAsB,SAAtB,EAAsB,uCAAtB;;AAEhB;;AAAA;;AAG5B;;AAAA;;AAER;;AAAA;;AAA2F;;AAAA;;AAG3F;;AAAA;;AAA2F;;AAAA;;AAG3F;;AAAA;;AAA0F;;AAAA;;;;;;;;;;;;;;;;;;;;;;AAnH9H;;AACI;;AACI;;AAEI;;AACI;;AACI;;AACI;;AAAsC;AAAA;;AAAA;;AAAA;AAAA,WAAoC,OAApC,EAAoC;AAAA;;AAAA;;AAAA,iBAAU,QAAAA,WAAA,eAAV;AAAoC,SAAxE,EAAoC,QAApC,EAAoC;AAAA;;AAAA;;AAAA,iBAAgD,QAAAA,WAAA,eAAhD;AAA0E,SAA9G;;;;AAAtC;;AAEJ;;AACJ;;AACJ;;AACJ;;AAEA;;AACI;;AACI;;AACJ;;AACA;;AACI;;AAEI;AAAA;;AAAA;;AAAA,mCAAmB,IAAnB,EAAwB,KAAxB;AAA6B,SAA7B;;AAAmF;;;;AACxE;;AAEnB;;AACJ;;AAEJ;;AAGA;;AAEI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AAEI;;AAGI;AAAA;;AAAA;;AAAA,iBAAU,QAAAA,WAAA,kBAAV;AAAuC,SAAvC;;AAHJ;;AAIA;;AAAmC;;AAAM;;AAC7C;;AACJ;;AACA;;AAGI;;AACJ;;AACA;;AAUJ;;AACJ;;AACJ;;AACA;;AAAqB;AAAA;;AAAA;;AAAA,iBAAS,QAAAA,WAAA,YAAuB,QAAAA,WAAA,SAAoB,MAApB,CAAvB,CAAT;AAA4D,SAA5D;;AACjB;;AAEwF;;AAC5F;;AAAuB;AAAA;;AAAA;;AAAA,iBAAS,QAAAA,WAAA,YAAuB,QAAAA,WAAA,SAAoB,MAApB,CAAvB,CAAT;AAA4D,SAA5D;;AAEf;;;;AACR;;AAEA;;AACA;;AACI;;AAEI;;AACI;;;;AACJ;;AACA;;AACI;;AAEI;;AACJ;;AACA;;AAMJ;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AAmBJ;;AACA;;AACI;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAEA;;AAEI;;AAA6E;;AAAM;;AAEnF;;AAEI;;AACI;;AACI;;AACyC;AAAA;;AAAA;;AAAA;AAAA,WAAyB,aAAzB,EAAyB;AAAA;;AAAA;;AAAA,iBAI/C,QAAAA,WAAA,mBAJ+C;AAIjB,SAJR;;AAKzC;;AACJ;;AACJ;;AACJ;;AAEA;;AAA0E;;AAAM;;AAEpF;;AACJ;;;;;;;;;;;;;;AApJ2E;;AAAA;;AADb;;AAcV;;AAAA;;AAAmD;;AAAA;;AAsBvD;;AAAA,8HAAkD,eAAlD,EAAkD,sDAAlD;;AAwB2D;;AAAA;;AAC1E;;AAAA;;AAIT;;AAAA;;AACQ;;AAAA;;AAIJ;;AAAA;;AAIQ;;AAAA;;AAKI;;AAAA;;AAaZ;;AAAA;;AA4CiC;;AAAA,iGAAyB,eAAzB,EAAyB,IAAzB,EAAyB,YAAzB,EAAyB,uCAAzB,EAAyB,cAAzB,EAAyB,gCAAzB,EAAyB,qBAAzB,EAAyB,IAAzB,EAAyB,oBAAzB,EAAyB,IAAzB,EAAyB,wBAAzB,EAAyB,IAAzB,EAAyB,oBAAzB,EAAyB,IAAzB,EAAyB,SAAzB,EAAyB,CAAzB;;;;;;AAoBzD;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AACA;;;;;;AADA;;AACA;;;;;;AADG;;AACA;;AAAA;;;;;;AAIH;;;;;;AAIA;;;;QD/TS45D,oB;AACX;AACA;AACA;AACA;AAEA,oCAAoBpmE,WAApB,EAAqDC,YAArD,EAAgGC,QAAhG,EACUC,aADV,EACuDC,SADvD,EACkF;AAAA;;AAD9D,aAAAJ,WAAA,GAAAA,WAAA;AAAiC,aAAAC,YAAA,GAAAA,YAAA;AAA2C,aAAAC,QAAA,GAAAA,QAAA;AACtF,aAAAC,aAAA,GAAAA,aAAA;AAA6C,aAAAC,SAAA,GAAAA,SAAA;AAKvD,aAAAoM,WAAA,GAAc,IAAI,oFAAJ,CAAgB,KAAKpM,SAArB,EAAgC,KAAKD,aAArC,CAAd;AACA,aAAAG,aAAA,GAAqB,OAArB;AAEA,aAAAC,eAAA,GAA0B,cAA1B;AAEA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,cAAA,GAAiB,CAAC,QAAD,EAAW,QAAX,CAAjB;AAEA,aAAAC,WAAA,GAA0B,IAAI,wDAAJ,EAA1B;AAEA,aAAAC,MAAA,GAAuB,EAAvB;AACA,aAAAC,QAAA,GAAsB,IAAI,wDAAJ,CAAc;AAClCjB,YAAE,EAAE,IAAI,0DAAJ,EAD8B;AAElCkB,gBAAM,EAAE,IAAI,0DAAJ,EAF0B;AAGlC+H,gBAAM,EAAE,IAAI,0DAAJ;AAH0B,SAAd,CAAtB;AASA,aAAA5H,aAAA,GAAgB,EAAhB;AACA,aAAAa,SAAA,GAAY,CAAZ;AACA,aAAAD,WAAA,GAAc,CAAd;AACA,aAAAK,YAAA,GAAsB,EAAtB;AAE6C,aAAAyG,YAAA,GAAmC,IAAnC;AA3B5C;;;;mCA8BO;AACN,eAAKvG,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACA,eAAKoD,SAAL,GAAiB;AAAEC,iBAAK,EAAE,MAAT;AAAiBC,oBAAQ,EAAE,KAAKH,IAAL,KAAc,OAAd,GAAwB,QAAxB,GAAmC;AAA9D,WAAjB;AACA,eAAK3B,YAAL,GAAoB,CAClB;AAAE6B,iBAAK,EAAE,MAAT;AAAiBC,oBAAQ,EAAE,KAAKH,IAAL,KAAc,OAAd,GAAwB,QAAxB,GAAmC;AAA9D,WADkB,CAApB;AAIA,eAAKqK,WAAL,CAAiBwB,eAAjB,CAAiC,KAAKrN,MAAtC,EAA8C,KAAKV,YAAnD,EAAiE,KAAKS,WAAtE,EACE,KAAKD,cADP,EACuB,KAAKD,YAD5B,EAC0C,KAAKI,QAD/C,EACyD,KAAKL,eAD9D,EAC+E,KAAK6B,SADpF,EAEE,KAAKsG,YAFP,EAEqB,KAAK1D,QAF1B,EAEoC,KAAKgI,UAFzC,EAEqD,KAAK7K,IAF1D;AAIA,eAAK4L,YAAL;AACD;;;kCAESpO,E,EAAIsO,M,EAAQ;AACpB,cAAIA,MAAM,KAAK,KAAf,EAAsB;AACpB,iBAAKzB,WAAL,CAAiB0B,kBAAjB,CAAoC,KAAK3F,UAAzC,EAAqD,KAAKvI,WAA1D;AACD,WAFD,MAGK,IAAIiO,MAAM,KAAK,MAAf,EAAuB;AAE1B,iBAAKzB,WAAL,CAAiB6B,gBAAjB,CAAkC1O,EAAlC,EAAsC,KAAK4I,UAA3C,EAAuD,KAAKvI,WAA5D;AACA4Z,mBAAO,CAACC,GAAR,CAAY,uBAAuB,KAAKnZ,WAAxC;AACAkZ,mBAAO,CAACC,GAAR,CAAY,KAAKnZ,WAAjB;AACAkZ,mBAAO,CAACC,GAAR,CAAY,+BAA+B,KAAKrN,WAAL,CAAiB9L,WAA5D;AACAkZ,mBAAO,CAACC,GAAR,CAAY,KAAKrN,WAAL,CAAiB9L,WAA7B;AAED,WARI,MASA,IAAIuN,MAAM,KAAK,MAAf,EAAuB;AAC1B,iBAAKzB,WAAL,CAAiB8B,gBAAjB,CAAkC3O,EAAlC,EAAsC,KAAK4I,UAA3C,EAAuD,KAAKvI,WAA5D;AACD;;AACD,eAAKU,WAAL,GAAmB,KAAK8L,WAAL,CAAiB9L,WAApC;AACA,eAAKE,QAAL,GAAgB,KAAK4L,WAAL,CAAiB5L,QAAjC;AACD;;;mCAEUF,W,EAAaV,W,EAAW;AACjC;AAEA;AAEA,iBAAOA,WAAW,CAAC6G,KAAZ,CAAkB;AACvBlH,cAAE,EAAE,CAACe,WAAW,CAACf,EAAZ,IAAkB,CAAlB,GAAsBe,WAAW,CAACf,EAAlC,GAAuC,CAAxC,CADmB;AAEvBkB,kBAAM,EAAE,CAACH,WAAW,CAACG,MAAb,EAAqB,0DAAW0N,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWE,SAAX,CAAqB,CAArB,CAAtB,CAAnB,CAArB,CAFe;AAGvB9F,kBAAM,EAAE,CAAClI,WAAW,CAACkI,MAAb,EAAqB,0DAAW2F,OAAX,CAAmB,CAAC,0DAAWC,QAAZ,EAAsB,0DAAWC,OAAX,CAAmB,4CAAnB,CAAtB,CAAnB,CAArB;AAHe,WAAlB,CAAP;AAMD;;;oCAEW;AACV,eAAKzN,aAAL,GAAqB,SAArB;AAEA,eAAKN,WAAL,GAAmB,IAAI,wDAAJ,EAAnB;AACA,eAAKA,WAAL,CAAiBf,EAAjB,GAAsB,CAAtB;AACA,eAAKe,WAAL,CAAiBG,MAAjB,GAA0B,KAAKD,QAAL,CAAc6H,WAAd,GAA4B5H,MAAtD;AACA,eAAKH,WAAL,CAAiBkI,MAAjB,GAA0B,KAAKhI,QAAL,CAAc6H,WAAd,GAA4BG,MAAtD,CANU,CAOV;;AAEA,eAAKgG,gBAAL;AACD;;;2CAEkB;AAAA;;AACjBgL,iBAAO,CAACC,GAAR,CAAY,KAAKnZ,WAAjB;AAEA,eAAKT,YAAL,CAAkBgJ,MAAlB,CAAyB,KAAKvI,WAA9B,EAA2CgC,SAA3C,CAAqD,UAAAC,MAAM,EAAI;AAC7D,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAAC6J,WAAL,CAAiBjK,QAAjB;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAACwL,WAAL,CAAiBtH,YAAjB,CAA8B,QAAI,CAAC9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAA9B,EAAiE,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,mBAAvB,CAAjE;;AACA,kBAAI,QAAI,CAAC4F,YAAL,KAAsBmG,SAA1B,EAAqC;AAEnC,wBAAI,CAACrC,WAAL,CAAiBQ,UAAjB,CAA4B7H,IAA5B;AAED,eAJD,MAIO;AAEL,wBAAI,CAACqH,WAAL,CAAiB9D,YAAjB,CAA8BI,QAA9B,CAAuC3D,IAAvC;AACD;AACF,aAZD,MAaK;AACH,sBAAI,CAACqH,WAAL,CAAiB3J,UAAjB,CAA4B,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAA5B,EAA6D,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,WAAvB,CAA7D;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAlBD;AAmBD;;;qCAEY;AACX,eAAKA,aAAL,GAAqB,SAArB;AACA,eAAKwL,WAAL,CAAiB3K,SAAjB,GAA6B,KAAK2K,WAAL,CAAiB5K,WAA9C;AAEA,cAAImN,OAAO,GAAG,IAAI,wDAAJ,CAAe;AAC3BpP,cAAE,EAAE,KAAKe,WAAL,CAAiBf,EADM;AAE3BkB,kBAAM,EAAE,KAAKD,QAAL,CAAc6H,WAAd,GAA4B5H,MAFT;AAG3B+H,kBAAM,EAAE,KAAKhI,QAAL,CAAc6H,WAAd,GAA4BG;AAHT,WAAf,CAAd;;AAOA,cAAIhJ,IAAI,CAACC,SAAL,CAAekP,OAAf,KAA2BnP,IAAI,CAACC,SAAL,CAAe,KAAKa,WAApB,CAA/B,EAAiE;AAC/D,iBAAKsO,iBAAL,CAAuBD,OAAvB;AACD,WAFD,MAGK;AAAC,gBAAI,KAAKrG,YAAL,KAAsBmG,SAA1B,EAAqC;AAEzC,mBAAKrC,WAAL,CAAiBQ,UAAjB,CAA4B7H,IAA5B;AAED,aAJK,MAIC;AAEL,mBAAKqH,WAAL,CAAiB9D,YAAjB,CAA8BI,QAA9B,CAAuC3D,IAAvC;AACD;AACA;AACF;;;0CAEiB8J,M,EAAQ;AAAA;;AACxB2K,iBAAO,CAACC,GAAR,CAAY,cAAZ,EAA4B5K,MAA5B;AAEA,eAAKhP,YAAL,CAAkBiJ,MAAlB,CAAyB+F,MAAzB,EAAiCvM,SAAjC,CAA2C,UAAAC,MAAM,EAAI;AACnD,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAAC6J,WAAL,CAAiBjK,QAAjB;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAACwL,WAAL,CAAiBtH,YAAjB,CAA8B,QAAI,CAAC9E,SAAL,CAAe0C,OAAf,CAAuB,SAAvB,CAA9B,EAAiE,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,oBAAvB,CAAjE;;AACA,kBAAI,QAAI,CAAC4F,YAAL,KAAsBmG,SAA1B,EAAqC;AAEnC,wBAAI,CAACrC,WAAL,CAAiBQ,UAAjB,CAA4B7H,IAA5B;AAED,eAJD,MAIO;AAEL,wBAAI,CAACqH,WAAL,CAAiB9D,YAAjB,CAA8BI,QAA9B,CAAuC3D,IAAvC;AACD;AACF,aAZD,MAaK;AACH,sBAAI,CAACqH,WAAL,CAAiB3J,UAAjB,CAA4B,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAA5B,EAA6D,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,YAAvB,CAA7D;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAlBD;AAmBD,S,CAED;AACA;AACA;;;;uCACe;AACb,eAAKa,SAAL,GAAiB,KAAKD,WAAtB,CADa,CAEb;;AACA,eAAKZ,aAAL,GAAqB,SAArB;AACA,eAAKwB,mBAAL;AACD,S,CAED;;;;8CACsB;AAAA;;AACpB,eAAKvC,YAAL,CAAkBwC,UAAlB,CAA6B,KAAK+J,WAAL,CAAiBvK,YAA9C,EAA4DS,SAA5D,CAAsE,UAAAC,MAAM,EAAI;AAC9E,gBAAIA,MAAM,KAAK,IAAf,EAAqB;AACnB,sBAAI,CAAC6J,WAAL,CAAiBjK,QAAjB;;AACA,sBAAI,CAACvB,aAAL,GAAqB,EAArB;;AACA,sBAAI,CAACwL,WAAL,CAAiB5J,gBAAjB;AACD,aAJD,MAKK;AACH,sBAAI,CAAC4J,WAAL,CAAiB3J,UAAjB,CAA4B,QAAI,CAACzC,SAAL,CAAe0C,OAAf,CAAuB,OAAvB,CAA5B,EAA6D,QAAI,CAAC1C,SAAL,CAAe0C,OAAf,CAAuB,cAAvB,CAA7D;;AACA,sBAAI,CAAC9B,aAAL,GAAqB,EAArB;AACD;AACF,WAVD;AAWD;;;uCAGc+O,O,EAAS;AACtB,eAAKvD,WAAL,CAAiBpK,SAAjB,GAA6B,KAAKA,SAAlC;AACA,eAAKoK,WAAL,CAAiBwD,UAAjB,CAA4B,KAAKxD,WAAL,CAAiByD,OAAjB,CAAyBF,OAAzB,CAA5B;AACD,S,CACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;uCACe;AACb,eAAK/O,aAAL,GAAqB,SAArB;AACA,eAAKwL,WAAL,CAAiBjK,QAAjB;AACD,S,CAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;iCACSwN,O,EAAS;AAChB,eAAKvD,WAAL,CAAiBwD,UAAjB,CAA4B,KAAKxD,WAAL,CAAiByD,OAAjB,CAAyB,MAAzB,CAA5B;AACA,eAAK7N,SAAL,GAAiB,KAAKoK,WAAL,CAAiBpK,SAAlC;AACD;;;;;;;uBAvOUgkE,oB,EAAoB,2H,EAAA,mI,EAAA,wH,EAAA,4I,EAAA,qI;AAAA,K;;;YAApBA,oB;AAAoB,mC;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;ACqCjC;;AACI;;AACI;;AAEA;;AACI;;AACI;;AACI;;;;AAA2D;;AACnE;;AACA;;AACI;;AACI;;AACI;;AAAqC;;;;AAAwB;;AAC7D;;AAGA;;AAEA;;AAGA;;AACJ;;AAEA;;AACI;;AAAqC;;;;AAAwB;;AAC7D;;AAGA;;AAEA;;AAGA;;AACJ;;AAEA;;AACI;;AAKA;;AAKA;;AAA8B;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAA0B,WAA1B;;AACoD;;;;AACnE;;AACnB;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AACJ;;AAGA;;AACI;;AACI;;AACI;;AAAkE;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAAwB,WAAxB;;AAE9D;;AAAyB;;AAAO;;AACpC;;AACA;;AACI;;AACI;;;;AACW;;AACnB;;AACA;;AACI;;AAQA;;AAQA;;AACI;;AAA2D;AAAA,mBAAS,IAAAxgE,YAAA,EAAT;AAAuB,WAAvB;;AAEK;;;;AAAwB;;AACxF;;AAA8B;AAAA;;AAAA;;AAAA,mBAAS,UAAT;AAAwB,WAAxB;;AACoD;;;;AACnE;;AACnB;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AAIA;;AA8JA;;AAIA;;AAKA;;AAKA;;AAIA;;AAKA;;;;AAvRoB;;AAAA;;AAG0C;;AAAA;;AAED;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAMiC;;AAAA;;AAC9B;;AAAA;;AAGA;;AAAA;;AAGH;;AAAA;;AAMI;;AAAA;;AAKA;;AAAA;;AAM0E;;AAAA;;AAoBtF;;AAAA;;AAIiC;;AAAA;;AAQ4B;;AAAA;;AAUzD;;AAAA;;AAC4D;;AAAA;;AAEkB;;AAAA;;AAOhG;;AAAA;;AAID;;AAAA;;;;;;;;;;sED9IQwgE,oB,EAAoB;cANhC,uDAMgC;eANtB;AACT;AACAvgE,kBAAQ,EAAE,cAFD;AAGTC,qBAAW,EAAE,6BAHJ;AAITC,mBAAS,EAAE,CAAC,6BAAD;AAJF,S;AAMsB,Q;;;;;;;;;;;;;;gBAqC9B,uD;iBAAU,c,EAAgB;AAAE,sBAAQ;AAAV,W;;;gBAC1B,uD;iBAAU,U,EAAY;AAAE,sBAAQ;AAAV,W;;;gBACtB,uD;iBAAU,Y,EAAc;AAAE,sBAAQ;AAAV,W;;;;;;;;;;;;;;;;;;;;AE3D3B;AAAA;;;AAAA;AAAA;AAAA;;QAAa06D,U,GAIL,oBAAYh8D,IAAZ,EAA+B;AAAA;;AAC3BA,UAAI,GAAGA,IAAI,GAAGA,IAAH,GAAU,EAArB;AACA,WAAK9E,EAAL,GAAU8E,IAAI,CAAC9E,EAAL,GAAU8E,IAAI,CAAC9E,EAAf,GAAoB,CAA9B;AACA,WAAKiJ,MAAL,GAAcnE,IAAI,CAACmE,MAAL,GAAcnE,IAAI,CAACmE,MAAnB,GAA4B,EAA1C;AACA,WAAK/H,MAAL,GAAc4D,IAAI,CAAC5D,MAAL,GAAc4D,IAAI,CAAC5D,MAAnB,GAA4B,EAA1C;AACH,K;;;;;;;;;;;;;;;;;ACTT;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAYawlE,mB;AACT,mCAAoB1nE,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAIpB,aAAAC,OAAA,GAAU,yEAAYC,UAAtB;AACC,aAAAC,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AAJA;;;;iCAYK;AAEJ,iBAAO,KAAKH,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,0BAC0C,KAAKK,WAD/C,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCACOZ,E,EAAS;AAEf,iBAAO,KAAKE,IAAL,CACJQ,GADI,WACQ,KAAKP,OADb,kCAC4CH,EAD5C,GACiD,KAAKQ,WADtD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BACMI,O,EAAmB;AAExB,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,0BAC4Ca,OAD5C,EACoD,KAAKR,WADzD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;+BAEMI,O,EAAmB;AACxB,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,0BAC4Ca,OAD5C,EACoD,KAAKR,WADzD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;gCAEMI,O,EAAmB;AACtB,iBAAO,KAAKd,IAAL,CACNe,IADM,WACO,KAAKd,OADZ,0BAC0Ca,OAD1C,EACkD,KAAKR,WADvD,EAENG,IAFM,CAED,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFC,CAAP;AAGH;;;mCAGUI,O,EAAsB;AAC/B,iBAAO,KAAKd,IAAL,CACJe,IADI,WACS,KAAKd,OADd,8BAC+CgB,IAAI,CAACC,SAAL,CAAeJ,OAAf,CAD/C,EACuE,KAAKR,WAD5E,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;;;;;uBAnDQgnE,mB,EAAmB,uH;AAAA,K;;;aAAnBA,mB;AAAmB,eAAnBA,mBAAmB,K;AAAA,kBAFlB;;;;;sEAEDA,mB,EAAmB;cAH/B,wDAG+B;eAHpB;AACVvmE,oBAAU,EAAE;AADF,S;AAGoB,Q;;;;;;;;;;;;;;;;;;;;;;ACZhC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAQawmE,qB;;;;;uBAAAA,qB;AAAqB,K;;;YAArBA,qB;AAAqB,oC;AAAA,e;AAAA,a;AAAA,6iB;AAAA;AAAA;ACPlC;;AACI;;AACE;;AAAyD;;;;AAAwC;;AACjG;;AAAsB;;AACtB;;AACF;;AACA;;AACE;;AAAwD;;AAAY;;AACpE;;AACE;;AAAoB;;AAAS;;AAC7B;;AAAQ;;AAAG;;AACb;;AACF;;AACA;;AACE;;AAAwD;;AAAmB;;AAC3E;;AACE;;AAAoB;;AAAS;;AAC7B;;AAAQ;;AAAG;;AACb;;AACF;;AACA;;AACE;;AAAwD;;AAAI;;AAAmB;;AAAK;;AAEpF;;AAEE;;AACE;;AAAsB;;AAAwB;;AAAgE;;AAAkD;;AAAU;;AAAQ;;AAAM;;AACxL;;AAAsB;;AAAwB;;AAAgE;;AAAkD;;AAAmB;;AAAQ;;AAAM;;AACjM;;AAAsB;;AAAwB;;AAAgE;;AAAkD;;AAAoB;;AAAQ;;AAAM;;AAClM;;AAAsB;;AAAwB;;AAAgE;;AAAkD;;AAA6D;;AAAQ;;AAAM;;AAC7O;;AACA;;AACE;;AAA2D;;AAAmC;;AAElG;;AAEF;;AACA;;AArCJ;;;;AAE+D;;AAAA;;;;;;;;;;sEDKlDA,qB,EAAqB;cANjC,uDAMiC;eANvB;AACP;AACAzgE,kBAAQ,EAAE,eAFH;AAGPC,qBAAW,EAAE,8BAHN;AAIPC,mBAAS,EAAE,CAAC,8BAAD;AAJJ,S;AAMuB,Q;;;;;;;;;;;;;;;;;;AERlC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAOawgE,yB;;;;;uBAAAA,yB;AAAyB,K;;;YAAzBA,yB;AAAyB,wC;AAAA,e;AAAA,c;AAAA,2d;AAAA;AAAA;ACNtC;;AAAiB;;;;AAAgC;;AACjD;;AACE;;AACE;;AACE;;;;AACE;;AACA;;AACE;;AAAsE;;;;AAA8B;;AAAS;;AAC7G;;AAAyD;;;;AAA+B;;AAC1F;;AACF;;AACA;;;;AACE;;AACA;;AACE;;AAA6D;;;;AAA+B;;AAAS;;AACrG;;AAAyD;;;;AAA+B;;AAC1F;;AACF;;AACA;;;;AACE;;AACE;;AAAiB;;;;AAAyC;;AAC1D;;AAAG;;;;AAAqC;;AAC1C;;AACA;;AACE;;AAA6D;;;;AAA+B;;AAAS;;AACrG;;AAAkE;;;;AAA+B;;AACnG;;AACF;;AACF;;AACF;;AACF;;;;AA9BiB;;AAAA;;AAIK;;AAAA;;AAG0D;;AAAA;;AAAuC;;AAAA;;AACpD;;AAAA;;AAG7C;;AAAA;;AAGiD;;AAAA;;AAAwC;;AAAA;;AAC5C;;AAAA;;AAG7C;;AAAA;;AAEK;;AAAA;;AACd;;AAAA;;AAG0D;;AAAA;;AAAwC;;AAAA;;AACnC;;AAAA;;;;;;;;;;sEDnB/DA,yB,EAAyB;cANrC,uDAMqC;eAN3B;AACP;AACA1gE,kBAAQ,EAAE,mBAFH;AAGPC,qBAAW,EAAE,kCAHN;AAINC,mBAAS,EAAE,CAAC,kCAAD;AAJL,S;AAM2B,Q;;;;;;;;;;;;;;;;;;AEPtC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAQaygE,4B;;;;;uBAAAA,4B;AAA4B,K;;;YAA5BA,4B;AAA4B,2C;AAAA,gB;AAAA,c;AAAA,4mH;AAAA;AAAA;ACPzC;;AACI;;AACQ;;AAAI;;;;AAAuB;;AACnC;;AACA;;AACI;;AAEI;;AACI;;AACI;;AAEI;;AACA;;AAAI;;;;AAA+B;;AACvC;;AACJ;;AACJ;;AACJ;;AACA;;AAEA;;AACI;;AACI;;AAEI;;AAEA;;AAAI;;;;AAA0B;;AAClC;;AACJ;;AACJ;;AACA;;AAEA;;AAEA;;AACI;;AACI;;AAEI;;AAEA;;AAAI;;;;AAA0C;;AAClD;;AACJ;;AACJ;;AACA;;AACA;;AAER;;AACI;;AACI;;AAEI;;AAEA;;AAAI;;;;AAA+B;;AACvC;;AACJ;;AACJ;;AACA;;AACQ;;AAEA;;AACI;;AACI;;AAEI;;AAEA;;AAAI;;;;AAA4C;;AACpD;;AACJ;;AACJ;;AACA;;AACA;;AACA;;AACI;;AAAI;;;;AAAgC;;AAC5C;;AACJ;;AAEA;;AACI;;AACI;;AACI;;AAEA;;AAAI;;;;AAAmC;;AAC3C;;AACJ;;AACJ;;AACA;;AACA;;AAEA;;AACI;;AACI;;AAEI;;AAEA;;AAAI;;;;AAAkC;;AAC1C;;AACJ;;AACJ;;AACA;;AACA;;AAEA;;AACI;;AACI;;AAEI;;AAEA;;AAAI;;;;AAA8B;;AACtC;;AACJ;;AACJ;;AACA;;AACA;;AAEA;;AACI;;AACI;;AAEI;;AAEA;;AAAI;;;;AAAwB;;AAChC;;AACJ;;AACJ;;AACA;;AACA;;AAEA;;AACI;;AACI;;AAEI;;AAEA;;AAAI;;;;AAA0B;;AAClC;;AACJ;;AACJ;;AACA;;AAGA;;AACA;;AACI;;AAAI;;;;AAA2B;;AACnC;;AAGA;;AAEA;;AACI;;AACI;;AAEI;;AAEA;;AAAI;;;;AAAiC;;AACzC;;AACJ;;AACJ;;AACA;;AACA;;AAEA;;AACI;;AACI;;AAEI;;AAEA;;AAAI;;;;AAA4B;;AACpC;;AACJ;;AACJ;;AACA;;AACA;;AAEA;;AACI;;AACI;;AAEI;;AAEA;;AAAI;;;;AAA6B;;AACrC;;AACJ;;AACJ;;AACA;;AACA;;AACA;;AACI;;AAAI;;;;AAAuB;;AAC/B;;AACA;;AAEA;;AACI;;AACI;;AAEI;;AAEA;;AAAI;;;;AAA2C;;AACnD;;AACJ;;AACJ;;AACA;;AACA;;AAEA;;AACI;;AACI;;AAEI;;AAEA;;AAAI;;;;AAAoC;;AAC5C;;AACJ;;AACJ;;AACA;;AACA;;AAEA;;AACI;;AACI;;AAEI;;AAEA;;AAAI;;;;AAA6B;;AACrC;;AACJ;;AACJ;;AACA;;AAEA;;AAEA;;AACI;;AACI;;AAEI;;AAEA;;AAAI;;;;AAA+B;;AACvC;;AACJ;;AACJ;;AACA;;AACA;;AAEA;;AACI;;AACI;;AAEI;;AAEA;;AAAI;;;;AAA+B;;AACvC;;AACJ;;AACJ;;AACA;;AACA;;AAEA;;AACI;;AACI;;AAEI;;AAEA;;AAAI;;;;AAA+C;;AACvD;;AACJ;;AACJ;;AACA;;AACA;;AAEA;;AACI;;AACI;;AAEI;;AAEA;;AAAI;;;;AAAgC;;AACxC;;AACJ;;AACJ;;AACA;;AACA;;AAEA;;AACI;;AACI;;AAEI;;AAEA;;AAAI;;;;AAA8B;;AACtC;;AACJ;;AACJ;;AACA;;AACA;;AAEA;;AACI;;AACI;;AAEI;;AAEA;;AAAI;;;;AAAqC;;AAC7C;;AACJ;;AACJ;;AACA;;AACA;;AAEA;;AACI;;AACI;;AAEI;;AAEA;;AAAI;;;;AAA4B;;AACpC;;AACJ;;AACJ;;AACA;;AACI;;AACJ;;;;AA/TgB;;AAAA;;AAUY;;AAAA;;AAaJ;;AAAA;;AAcA;;AAAA;;AAaR;;AAAA;;AAaQ;;AAAA;;AAOR;;AAAA;;AASA;;AAAA;;AAaA;;AAAA;;AAaA;;AAAA;;AAaA;;AAAA;;AAaA;;AAAA;;AASR;;AAAA;;AAYQ;;AAAA;;AAaA;;AAAA;;AAaA;;AAAA;;AAOR;;AAAA;;AAUQ;;AAAA;;AAaA;;AAAA;;AAaA;;AAAA;;AAcA;;AAAA;;AAaA;;AAAA;;AAaA;;AAAA;;AAaA;;AAAA;;AAaA;;AAAA;;AAaA;;AAAA;;AAaA;;AAAA;;;;;;;;;;sEDpTHA,4B,EAA4B;cANxC,uDAMwC;eAN9B;AACP;AACA3gE,kBAAQ,EAAE,sBAFH;AAGPC,qBAAW,EAAE,qCAHN;AAIPC,mBAAS,EAAE,CAAC,qCAAD;AAJJ,S;AAM8B,Q;;;;;;;;;;;;;;;;;;AERzC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAYa0gE,mB;AACT,mCAAoB9nE,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAIpB,aAAAC,OAAA,GAAU,sEAAYC,UAAtB;AACC,aAAAC,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AAJA;;;;+BAYMoqC,S,EAAwB;AAC7B,iBAAO,KAAKvqC,IAAL,CACJe,IADI,WACS,KAAKd,OADd,0BAC2CsqC,SAD3C,EACkD,KAAKjqC,WADvD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;;;;;uBAnBQonE,mB,EAAmB,uH;AAAA,K;;;aAAnBA,mB;AAAmB,eAAnBA,mBAAmB,K;AAAA,kBAFlB;;;;;sEAEDA,mB,EAAmB;cAH/B,wDAG+B;eAHpB;AACV3mE,oBAAU,EAAE;AADF,S;AAGoB,Q;;;;;;;;;;;;;;;;;;;;;;ACZhC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;ACiCc;;AAA8H;AAAA;;AAAA;;AAAA;AAAA;;;;AAC9H;;;;;;AADW;;AAA8D,2FAAkB,SAAlB,EAAkB,sBAAlB;;;;;;;;AAEzE;;AAA6H;AAAA;;AAAA;;AAAA;AAAA;;;;AAC7H;;;;;;AADW;;AAA6D,2FAAkB,SAAlB,EAAkB,sBAAlB;;;;;;;;AAYxE;;AAAoI;AAAA;;AAAA;;AAAA;AAAA;;;;AACpI;;;;;;AADY;;AAAiE,6FAAoB,SAApB,EAAoB,wBAApB;;;;;;;;AAE7E;;AAAkI;AAAA;;AAAA;;AAAA;AAAA;;;;AAClI;;;;;;AADW;;AAAgE,6FAAoB,SAApB,EAAoB,wBAApB;;;;;;AAmDvE;;AACI;;AAAI;;AAAa;;AACjB;;AAAI;;AAAqB;;AACzB;;AAAI;;;;AAA2C;;AAC/C;;AAAI;;;;AAAuC;;AAC3C;;AAAI;;AAAuB;;AAC3B;;AAAI;;AAAkB;;AACtB;;AAAI;;AAAkB;;AACtB;;AAAI;;AAAyC;;AAC7C;;AAAI;;AAAuC;;AAC3C;;AAAI;;AAA6B;;AACjC;;AAAI;;AAA0B;;AAC9B;;AAAI;;AAAsB;;AAC9B;;;;;;AAZQ;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;;;AAhCxB;;AACI;;AACA;;AACI;;AACI;;AACI;;AAAI;;;;AAAuD;;AAC3D;;AAAI;;;;AAAuD;;AAC3D;;AAAI;;;;AAAuD;;AAC3D;;AAAI;;;;AAAuD;;AAC3D;;AAAI;;;;AAAuD;;AAC3D;;AAAI;;;;AAAuD;;AAC3D;;AAAI;;;;AAAuD;;AAC3D;;AAAI;;;;AAAuD;;AAC3D;;AAAI;;;;AAAuD;;AAC3D;;AAAI;;;;AAAuD;;AAC3D;;AAAI;;;;AAAuD;;AAC3D;;AAAI;;;;AAAuD;;AAE/D;;AACA;;AACI;;AAcJ;;AACJ;;AAEJ;;AAEA;;AACF;;;;;;AAnCkB;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAIA;;AAAA;;;;QDvFT4mE,qB;AAQT,qCAAoBD,mBAApB,EAAoE9rD,eAApE,EAA8G;AAAA;;AAA1F,aAAA8rD,mBAAA,GAAAA,mBAAA;AAAgD,aAAA9rD,eAAA,GAAAA,eAAA;AANpE,aAAA4tB,KAAA,GAAW,IAAIvhC,IAAJ,EAAX;AACA,aAAAnC,IAAA,GAA6B,EAA7B;AACA,aAAA2jC,WAAA,GAAoC,EAApC;AACA,aAAAC,cAAA,GAAuC,EAAvC;AACA,aAAA5tB,SAAA,GAAU,EAAV;AACA,aAAA6tB,QAAA,GAAiC,EAAjC;AAIA,aAAAI,WAAA,GAAc,CAAd;AACA,aAAAC,gBAAA,GAAmB,CAAnB;AACA,aAAAC,mBAAA,GAAsB,CAAtB;AACA,aAAAhmC,IAAA,GAA6B,EAA7B;AACA,aAAAimC,MAAA,GAA+B,EAA/B;AACA,aAAAC,MAAA,GAAyB,EAAzB;AAPE,aAAK/mC,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACD;;;;mCAOO;AAAA;;AACJ,eAAKynE,mBAAL,CAAyBv9B,MAAzB,CAAgC,KAAKA,MAArC,EACCxmC,SADD,CACW,UAAAM,IAAI,EAAI;AACjB,oBAAI,CAACA,IAAL,GAAYA,IAAZ;;AACA,oBAAI,CAACA,IAAL,CAAUmO,OAAV,CAAkB,UAAAC,OAAO,EAAI;AAC3BA,qBAAO,CAACu1D,iBAAR,GAA4Bv1D,OAAO,CAACw1D,8BAAR,GAAyCx1D,OAAO,CAACy1D,oBAA7E;AACAz1D,qBAAO,CAAC01D,aAAR,IAAyB11D,OAAO,CAACu1D,iBAAjC;AACD,aAHD;;AAIA,oBAAI,CAAC19B,MAAL,GAAcjmC,IAAd;;AACA,oBAAI,CAAC2X,eAAL,CAAqB5X,MAArB,GACCL,SADD,CACW,UAAAC,MAAM,EAAG;AAClB,sBAAI,CAACkY,SAAL,GAAiBlY,MAAjB;AACD,aAHD;AAID,WAZD;AAcH;;;iCACK;AAAA;;AACJ,eAAK8jE,mBAAL,CAAyBv9B,MAAzB,CAAgC,KAAKA,MAArC,EACGxmC,SADH,CACa,UAAAM,IAAI,EAAI;AACjB,oBAAI,CAACA,IAAL,GAAYA,IAAZ;;AACA,oBAAI,CAACA,IAAL,CAAUmO,OAAV,CAAkB,UAAAC,OAAO,EAAI;AAC3BA,qBAAO,CAACu1D,iBAAR,GAA4Bv1D,OAAO,CAACw1D,8BAAR,GAAyCx1D,OAAO,CAACy1D,oBAA7E;AACAz1D,qBAAO,CAAC01D,aAAR,IAAyB11D,OAAO,CAACu1D,iBAAjC;AACD,aAHD;AAID,WAPH;AAQD;;;sCACU;AACT,cAAI3jE,IAAI,GAAGmmC,QAAQ,CAACC,cAAT,CAAwB,kBAAxB,CAAX;AACApmC,cAAI,CAACqmC,KAAL,CAAWC,OAAX,GAAqB,cAArB;AACA,6DAAYtmC,IAAZ,EAAiB,EAAjB,EAAqB9E,IAArB,CAA0B,UAAAqrC,MAAM,EAAI;AACpC,gBAAIC,QAAQ,GAAG,GAAf;AACA,gBAAIC,UAAU,GAAG,GAAjB;AACA,gBAAIC,SAAS,GAAGH,MAAM,CAACI,MAAP,GAAgBH,QAAhB,GAA2BD,MAAM,CAACK,KAAlD;AACA,gBAAIC,UAAU,GAAGH,SAAjB;AACA,gBAAMI,cAAc,GAAGP,MAAM,CAACQ,SAAP,CAAiB,WAAjB,CAAvB;AACA,gBAAIC,GAAG,GAAG,IAAI,6CAAJ,CAAU,GAAV,EAAe,IAAf,EAAqB,IAArB,CAAV,CANoC,CAME;;AACtC,gBAAIC,QAAQ,GAAG,CAAf;AACAD,eAAG,CAACE,QAAJ,CAAaJ,cAAb,EAA6B,KAA7B,EAAoC,CAApC,EAAuCG,QAAvC,EAAiDT,QAAjD,EAA2DE,SAA3D;AACAM,eAAG,CAACG,IAAJ,CAAS,cAAT,EAToC,CASV;;AAC1BnnC,gBAAI,CAACqmC,KAAL,CAAWC,OAAX,GAAqB,OAArB,CAVoC,CAYtC;AAEC,WAdC;AAeD;;;gCACI;AACD,cAAIc,aAAJ,EAAmBC,QAAnB;AACAD,uBAAa,GAAGjB,QAAQ,CAACC,cAAT,CAAwB,kBAAxB,EAA4CkB,SAA5D;AACAD,kBAAQ,GAAGE,MAAM,CAACC,IAAP,CAAY,EAAZ,EAAgB,QAAhB,EAA0B,qCAA1B,CAAX;AACAH,kBAAQ,CAAClB,QAAT,CAAkBqB,IAAlB;AACAD,gBAAM,CAACE,KAAP;AAED;;;;;;;uBArEMi8B,qB,EAAqB,2I,EAAA,iM;AAAA,K;;;YAArBA,qB;AAAqB,oC;AAAA,e;AAAA,c;AAAA,08C;AAAA;AAAA;ACXlC;;AACI;;AACE;;AACE;;AAEE;;AACE;;AACI;;AAAO;;AAAM;;;;AAAwB;;AAAO;;AAC5C;;AAAmG;AAAA;AAAA;;;;AACnG;;AAEF;;AACF;;AACE;;AAAO;;AAAM;;;;AAA4B;;AAAO;;AAChD;;AAGA;AAAA;AAAA;;;;AAHA;;AAKF;;AACA;;AACE;;AAAO;;AAAM;;;;AAA0B;;AAAO;;AAC9C;;AAGA;AAAA;AAAA;;;;AAHA;;AAKF;;AACA;;AACE;;AAAO;;AAAM;;;;AAA0B;;AAAO;;AAE9C;;AAEA;;AAEF;;AAEA;;AACE;;AAAO;;AAAM;;;;AAA4B;;AAAO;;AAChD;;AAA4G;AAAA;AAAA;;;;AAC5G;;AAEF;;AACA;;AACE;;AAAO;;AAAM;;;;AAA4B;;AAAO;;AAChD;;AAEA;;AAEF;;AAEA;;AACE;;AAAsB;AAAA,mBAAS,IAAAh8B,MAAA,EAAT;AAAiB,WAAjB;;AAA6E;;;;AAAwB;;AAAS;;AACpI;;AAAsB;AAAA,mBAAS,IAAAD,KAAA,EAAT;AAAgB,WAAhB;;AAA+E;;;;AAAuB;;AAAS;;AACrI;;AAAsB;AAAA,mBAAS,IAAAE,WAAA,EAAT;AAAsB,WAAtB;;AAAkF;;;;AAAqB;;AAAS;;AACtI;;AAAiF;;;;AAAuB;;AAAS;;AAEnH;;AACJ;;AACF;;AACF;;AACF;;AACA;;AACA;;AACE;;AACE;;AACE;;AACE;;AACI;;AAAqD;;;;AAAiC;;AACtF;;AAAqD;;;;AAA+B;;AACpF;;AAAqD;;;;AAA+B;;AAExF;;AACF;;AACF;;AACF;;AAGF;;AAyCA;;;;AAhH2B;;AAAA;;AACF;;AAAA;;AAAuC,wFAAgB,SAAhB,EAAgB,kBAAhB;;AAKvC;;AAAA;;AAKb;;AAAA;;AADA;;AAIa;;AAAA;;AAKb;;AAAA;;AADA;;AAIa;;AAAA;;AAEqC;;AAAA;;AAEA;;AAAA;;AAKrC;;AAAA;;AACF;;AAAA;;AAA2C,2FAAmB,SAAnB,EAAmB,qBAAnB;;AAKzC;;AAAA;;AACyC;;AAAA;;AAED;;AAAA;;AAK8C;;AAAA;;AAAiC;;AAAA;;AAC/B;;AAAA;;AAAgC;;AAAA;;AAC7B;;AAAA;;AAA8B;;AAAA;;AACrD;;AAAA;;AAAgC;;AAAA;;AAa5D;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAQZ;;AAAA;;;;;;;;;;sEDnE1C+7B,qB,EAAqB;cALjC,uDAKiC;eALvB;AACP7gE,kBAAQ,EAAE,eADH;AAEPC,qBAAW,EAAE,8BAFN;AAGPC,mBAAS,EAAE,CAAC,8BAAD;AAHJ,S;AAKuB,Q;;;;;;;;;;;;;;;;;;;;;;;;AEblC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAYaghE,mB;AACT,mCAAoBpoE,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAIpB,aAAAC,OAAA,GAAU,yEAAYC,UAAtB;AACC,aAAAC,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AAJA;;;;+BAYMoqC,S,EAAwB;AAC7B,iBAAO,KAAKvqC,IAAL,CACJe,IADI,WACS,KAAKd,OADd,0BAC2CsqC,SAD3C,EACkD,KAAKjqC,WADvD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;;;;;uBAnBQ0nE,mB,EAAmB,uH;AAAA,K;;;aAAnBA,mB;AAAmB,eAAnBA,mBAAmB,K;AAAA,kBAFlB;;;;;sEAEDA,mB,EAAmB;cAH/B,wDAG+B;eAHpB;AACVjnE,oBAAU,EAAE;AADF,S;AAGoB,Q;;;;;;;;;;;;;;;;;;;;;;ACVhC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACyCY;;AAA6E;;;;;;AAAkE;;;;;;AAAlE;;AAAA;;;;;;AAC7E;;AAA2E;;;;;;AAA8D;;;;;;AAA9D;;AAAA;;;;;;AAC3E;;AAA4E;;;;;;AAAsD;;;;;;AAAtD;;AAAA;;;;;;AAqBxE;;AAKI;;AAAK;;AAAwC;;AAC7C;;AAAI;;AAAc;;AACtB;;;;;;;;AAFS;;AAAA;;AACD;;AAAA;;;;;;AAhBhB;;AACI;;AACI;;AAAI;;;;AAAuB;;AAC3B;;AAAI;;;;AAAqB;;AAC7B;;AACA;;AACI;;AACI;;AAAI;;;;AAAsB;;AAC1B;;AAAI;;AAAe;;AACvB;;AACA;;AAQJ;;AAEJ;;;;;;AAlBY;;AAAA;;AACA;;AAAA;;AAII;;AAAA;;AACA;;AAAA;;AAEJ;;AAAA;;;;;;AAblB;;AACE;;AACA;;AACI;;AAqBJ;;AAEA;;AACF;;;;;;AAxB2B;;AAAA;;;;;;AAsCb;;AAEI;;AAAK;;AAAwC;;AAC7C;;AAAI;;AAAc;;AACtB;;;;;;;;AAFS;;AAAA;;AACD;;AAAA;;;;;;AAMR;;AAKI;;AAAK;;AAAwC;;AAC7C;;AAAI;;AAAc;;AACtB;;;;;;;;AAFS;;AAAA;;AACD;;AAAA;;;;;;AAzBhB;;AACI;;AACI;;AAAI;;;;AAAuB;;AAC3B;;AAAI;;;;AAAqB;;AAC7B;;AACA;;AACI;;AACI;;AAAI;;;;AAA2B;;AAC/B;;AAAI;;AAAoB;;AAC5B;;AACA;;AAKA;;AACI;;AAAI;;;;AAA8B;;AAClC;;AAAI;;AAAuB;;AAC/B;;AACA;;AAQJ;;AAEJ;;;;;;AA3BY;;AAAA;;AACA;;AAAA;;AAII;;AAAA;;AACA;;AAAA;;AAEJ;;AAAA;;AAMI;;AAAA;;AACA;;AAAA;;AAEJ;;AAAA;;;;;;AAtBlB;;AACE;;AACA;;AACI;;AA8BJ;;AAEA;;AACF;;;;;;AAjC2B;;AAAA;;;;QDvEhBknE,qB;AAQT,qCAAoBC,mBAApB,EAA2D;AAAA;;AAAvC,aAAAA,mBAAA,GAAAA,mBAAA;AANpB,aAAApiE,IAAA,GAAyB,EAAzB;AACA,aAAA2jC,WAAA,GAAgC,EAAhC;AACA,aAAAC,cAAA,GAAmC,EAAnC;AACA,aAAAF,KAAA,GAAM,IAAIvhC,IAAJ,EAAN;AAEA,aAAA0hC,QAAA,GAA6B,EAA7B;AAIA,aAAAI,WAAA,GAAc,CAAd;AACA,aAAAC,gBAAA,GAAmB,CAAnB;AACA,aAAAC,mBAAA,GAAsB,CAAtB;AAEA,aAAAE,MAAA,GAAyB,EAAzB;AANE,aAAK/mC,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACD;;;;mCAMO;AAAA;;AACN;AACE,eAAKioE,mBAAL,CAAyB/9B,MAAzB,CAAgC,KAAKA,MAArC,EACCxmC,SADD,CACW,UAAAM,IAAI,EAAI;AACjB,oBAAI,CAACA,IAAL,GAAYA,IAAZ;;AACA,oBAAI,CAACA,IAAL,CAAUkkE,MAAV,CAAiB/1D,OAAjB,CAAyB,UAAAC,OAAO,EAAI;AAClC,sBAAI,CAAC03B,WAAL,IAAoB13B,OAAO,CAACy9C,KAA5B;AACD,aAFD;;AAGA,oBAAI,CAAC7rD,IAAL,CAAUmkE,WAAV,CAAsBh2D,OAAtB,CAA8B,UAAAC,OAAO,EAAI;AACvC,sBAAI,CAAC23B,gBAAL,IAAyB33B,OAAO,CAACy9C,KAAjC;AACD,aAFD;;AAGA,oBAAI,CAAC7rD,IAAL,CAAUokE,wBAAV,CAAmCj2D,OAAnC,CAA2C,UAAAC,OAAO,EAAI;AACpD,sBAAI,CAAC43B,mBAAL,IAA4B53B,OAAO,CAACy9C,KAApC;AACD,aAFD;;AAGA,gBAAI9qD,CAAC,GAAG,QAAI,CAACf,IAAL,CAAUmkE,WAAV,CAAsB5iE,SAAtB,CAAgC,UAAAC,CAAC;AAAA,qBAAEA,CAAC,CAAC6iE,KAAF,IAAW,sBAAb;AAAA,aAAjC,CAAR;;AACA,gBAAGtjE,CAAC,GAAG,CAAC,CAAR,EAAU;AACR,kBAAG,QAAI,CAAC+kC,WAAL,GAAoB,QAAI,CAACC,gBAAL,GAAwB,QAAI,CAACC,mBAApD,EAA0E;AACxE,wBAAI,CAAChmC,IAAL,CAAUmkE,WAAV,CAAsBpjE,CAAtB,EAAyB8qD,KAAzB,GAAiC,QAAI,CAAC/lB,WAAL,IAAoB,QAAI,CAACC,gBAAL,GAAwB,QAAI,CAACC,mBAAjD,CAAjC;AACA,wBAAI,CAACD,gBAAL,IAAyB,QAAI,CAAC/lC,IAAL,CAAUmkE,WAAV,CAAsBpjE,CAAtB,EAAyB8qD,KAAlD;AACD,eAHD,MAII;AACF,wBAAI,CAAC7rD,IAAL,CAAUmkE,WAAV,CAAsBpjE,CAAtB,EAAyB8qD,KAAzB,GAAkC,QAAI,CAAC9lB,gBAAL,GAAwB,QAAI,CAACC,mBAA9B,GAAsD,QAAI,CAACF,WAA5F;AACA,wBAAI,CAACC,gBAAL,IAAyB,QAAI,CAAC/lC,IAAL,CAAUmkE,WAAV,CAAsBpjE,CAAtB,EAAyB8qD,KAAlD;AACD;AAEF;AACF,WAxBD;AA0BH;;;iCACK;AAAA;;AACJ,eAAKoY,mBAAL,CAAyB/9B,MAAzB,CAAgC,KAAKA,MAArC,EACGxmC,SADH,CACa,UAAAM,IAAI,EAAI;AACjB,oBAAI,CAACA,IAAL,GAAYA,IAAZ;;AACA,oBAAI,CAACA,IAAL,CAAUkkE,MAAV,CAAiB/1D,OAAjB,CAAyB,UAAAC,OAAO,EAAI;AAClC,sBAAI,CAAC03B,WAAL,IAAoB13B,OAAO,CAACy9C,KAA5B;AACD,aAFD;;AAGA,oBAAI,CAAC7rD,IAAL,CAAUmkE,WAAV,CAAsBh2D,OAAtB,CAA8B,UAAAC,OAAO,EAAI;AACvC,sBAAI,CAAC23B,gBAAL,IAAyB33B,OAAO,CAACy9C,KAAjC;AACD,aAFD;;AAGA,oBAAI,CAAC7rD,IAAL,CAAUokE,wBAAV,CAAmCj2D,OAAnC,CAA2C,UAAAC,OAAO,EAAI;AACpD,sBAAI,CAAC43B,mBAAL,IAA4B53B,OAAO,CAACy9C,KAApC;AACD,aAFD;AAGD,WAZH;AAaD;;;sCACU;AACT,cAAI7rD,IAAI,GAAGmmC,QAAQ,CAACC,cAAT,CAAwB,kBAAxB,CAAX;AACApmC,cAAI,CAACqmC,KAAL,CAAWC,OAAX,GAAqB,cAArB;AACA,6DAAYtmC,IAAZ,EAAiB,EAAjB,EAAqB9E,IAArB,CAA0B,UAAAqrC,MAAM,EAAI;AACpC,gBAAIC,QAAQ,GAAG,GAAf;AACA,gBAAIC,UAAU,GAAG,GAAjB;AACA,gBAAIC,SAAS,GAAGH,MAAM,CAACI,MAAP,GAAgBH,QAAhB,GAA2BD,MAAM,CAACK,KAAlD;AACA,gBAAIC,UAAU,GAAGH,SAAjB;AACA,gBAAMI,cAAc,GAAGP,MAAM,CAACQ,SAAP,CAAiB,WAAjB,CAAvB;AACA,gBAAIC,GAAG,GAAG,IAAI,6CAAJ,CAAU,GAAV,EAAe,IAAf,EAAqB,IAArB,CAAV,CANoC,CAME;;AACtC,gBAAIC,QAAQ,GAAG,CAAf;AACAD,eAAG,CAACE,QAAJ,CAAaJ,cAAb,EAA6B,KAA7B,EAAoC,CAApC,EAAuCG,QAAvC,EAAiDT,QAAjD,EAA2DE,SAA3D;AACAM,eAAG,CAACG,IAAJ,CAAS,cAAT,EAToC,CASV;;AAC1BnnC,gBAAI,CAACqmC,KAAL,CAAWC,OAAX,GAAqB,OAArB,CAVoC,CAYtC;AAEC,WAdC;AAeD;;;gCACI;AACD,cAAIc,aAAJ,EAAmBC,QAAnB;AACAD,uBAAa,GAAGjB,QAAQ,CAACC,cAAT,CAAwB,kBAAxB,EAA4CkB,SAA5D;AACAD,kBAAQ,GAAGE,MAAM,CAACC,IAAP,CAAY,EAAZ,EAAgB,QAAhB,EAA0B,qCAA1B,CAAX;AACAH,kBAAQ,CAAClB,QAAT,CAAkBqB,IAAlB;AACAD,gBAAM,CAACE,KAAP;AAED;;;;;;;uBAtFMu8B,qB,EAAqB,2I;AAAA,K;;;YAArBA,qB;AAAqB,oC;AAAA,e;AAAA,c;AAAA,2jC;AAAA;AAAA;ACXhC;;AACE;;AACE;;AACE;;AAEE;;AACE;;AACE;;AAAO;;AAAM;;;;AAA4B;;AAAO;;AAChD;;AAGA;AAAA;AAAA;;;;AAHA;;AAKF;;AACA;;AACE;;AAAO;;AAAM;;;;AAA0B;;AAAO;;AAC9C;;AAGA;AAAA;AAAA;;;;AAHA;;AAKF;;AACA;;AACE;;AAAsB;AAAA,mBAAS,IAAAt8B,MAAA,EAAT;AAAiB,WAAjB;;AAA6E;;;;AAAwB;;AAAS;;AACpI;;AAAsB;AAAA,mBAAS,IAAAD,KAAA,EAAT;AAAgB,WAAhB;;AAA+E;;;;AAAuB;;AAAS;;AACrI;;AAAsB;AAAA,mBAAS,IAAAE,WAAA,EAAT;AAAsB,WAAtB;;AAAkF;;;;AAAqB;;AAAS;;AACtI;;AAAiF;;;;AAAuB;;AAAS;;AAEnH;;AACJ;;AACF;;AACF;;AACF;;AACA;;AACA;;AACA;;AACE;;AACE;;AACE;;AACI;;AAAqD;;;;AAAiC;;AAEtF;;AACA;;AACA;;AACA;;AAAqD;;;;AAA+B;;AAExF;;AACF;;AACF;;AACF;;AAEA;;AA4BA;;AAqCA;;;;AA7GyB;;AAAA;;AAKb;;AAAA;;AADA;;AAIa;;AAAA;;AAKb;;AAAA;;AADA;;AAImG;;AAAA;;AAAiC;;AAAA;;AAC/B;;AAAA;;AAAgC;;AAAA;;AAC7B;;AAAA;;AAA8B;;AAAA;;AACrD;;AAAA;;AAAgC;;AAAA;;AAa9D;;AAAA;;AAEA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAOZ;;AAAA;;AA4BA;;AAAA;;;;;;;;;;sEDpExCq8B,qB,EAAqB;cALjC,uDAKiC;eALvB;AACPnhE,kBAAQ,EAAE,eADH;AAEPC,qBAAW,EAAE,8BAFN;AAGPC,mBAAS,EAAE,CAAC,8BAAD;AAHJ,S;AAKuB,Q;;;;;;;;;;;;;;;;;;;;;;AEblC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACgEe;;AAAkC;;;;AAAuC;;;;AAAvC;;AAAA;;;;;;AACjC;;AAAkC;;;;AAAmC;;;;AAAnC;;AAAA;;;;;;AA4BlC;;AACI;;AAAI;;AAAwC;;AAC5C;;AAAI;;AAAc;;AACtB;;;;;;;;AAFQ;;AAAA;;AACA;;AAAA;;;;;;AAmBR;;AACI;;AAAI;;AAAwC;;AAC5C;;AAAI;;AAAc;;AACtB;;;;;;;;AAFQ;;AAAA;;AACA;;AAAA;;;;;;AAmBR;;AACI;;AAAI;;AAAwC;;AAC5C;;AAAI;;AAAc;;AACtB;;;;;;;;AAFQ;;AAAA;;AACA;;AAAA;;;;;;AA5DxB;;AACI;;AACA;;AACI;;AACI;;AACI;;AAAI;;;;AAAoB;;AACxB;;AAAI;;;;AAAqB;;AAC7B;;AAEJ;;AACA;;AACI;;AACI;;AAAI;;;;AAAyC;;AAC7C;;AAAI;;;;AAAqB;;AAC7B;;AACA;;AACI;;AAIA;;AACE;;AAAI;;;;AAA+C;;AACnD;;AAAI;;AAA+B;;AACvC;;AACF;;AACJ;;AAEJ;;AACA;;AAEI;;AACI;;AACI;;AAAI;;;;AAAyC;;AAC7C;;AAAI;;;;AAAqB;;AAE7B;;AACA;;AACI;;AAIA;;AACE;;AAAI;;;;AAAgD;;AACpD;;AAAI;;AAAgC;;AACxC;;AACF;;AACJ;;AAEJ;;AACA;;AAEI;;AACI;;AACI;;AAAI;;;;AAAwC;;AAC5C;;AAAI;;;;AAAqB;;AAE7B;;AACA;;AACI;;AAIA;;AACE;;AAAI;;;;AAA8C;;AAClD;;AAAI;;AAA8B;;AACtC;;AACF;;AACJ;;AAEJ;;AACA;;AACF;;;;;;AAlEkB;;AAAA;;AACA;;AAAA;;AAMA;;AAAA;;AACA;;AAAA;;AAGA;;AAAA;;AAKE;;AAAA;;AACA;;AAAA;;AAUF;;AAAA;;AACA;;AAAA;;AAIA;;AAAA;;AAKE;;AAAA;;AACA;;AAAA;;AAUF;;AAAA;;AACA;;AAAA;;AAIA;;AAAA;;AAKE;;AAAA;;AACA;;AAAA;;;;QDnITuhE,kB;AAIT;AAAA;;AADA,aAAAp+B,MAAA,GAA4B,EAA5B;AAIA,aAAAJ,WAAA,GAAc,CAAd;AACA,aAAAC,gBAAA,GAAmB,CAAnB;AACA,aAAAC,mBAAA,GAAsB,CAAtB;AACA,aAAAT,KAAA,GAAM,IAAIvhC,IAAJ,EAAN;AACA,aAAAugE,2BAAA,GAA4B,CAA5B;AACA,aAAAC,4BAAA,GAA6B,CAA7B;AACA,aAAAC,0BAAA,GAA2B,CAA3B;AACA,aAAAniD,IAAA,GAAK,UAAL;AATE,aAAKnjB,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACD;;;;mCASO;AACJ,eAAK0oE,UAAL;AACH;;;iCACK,CAEL;;;qCACS;AACN,eAAKH,2BAAL,GAAmC,CAAnC;AACA,eAAKC,4BAAL,GAAoC,CAApC;AACA,eAAKC,0BAAL,GAAkC,CAAlC;;AACA,cAAG,KAAKniD,IAAL,IAAa,UAAhB,EAA2B;AAE/B;AACA,iBAAKtiB,IAAL,GAAU,IAAI,2EAAJ,EAAV;AACA,gBAAI2kE,OAAO,GAAG,IAAI,8EAAJ,EAAd;AACAA,mBAAO,CAACC,KAAR,GAAgB,YAAhB;AACAD,mBAAO,CAACN,KAAR,GAAgB,YAAhB;AACAM,mBAAO,CAAC9Y,KAAR,GAAgB,KAAhB;AACA,iBAAK0Y,2BAAL,IAAoCI,OAAO,CAAC9Y,KAA5C;AACA,iBAAK7rD,IAAL,CAAU6kE,sBAAV,CAAiCjjE,IAAjC,CAAsC+iE,OAAtC;AAEA,gBAAIG,mBAAmB,GAAG,IAAI,8EAAJ,EAA1B;AACAA,+BAAmB,CAACF,KAApB,GAA4B,iBAA5B;AACAE,+BAAmB,CAACT,KAApB,GAA4B,sBAA5B;AACAS,+BAAmB,CAACjZ,KAApB,GAA4B,KAA5B;AACA,iBAAK0Y,2BAAL,IAAoCO,mBAAmB,CAACjZ,KAAxD;AACA,iBAAK7rD,IAAL,CAAU6kE,sBAAV,CAAiCjjE,IAAjC,CAAsCkjE,mBAAtC;AAGA,gBAAIC,yBAAyB,GAAG,IAAI,8EAAJ,EAAhC;AACAA,qCAAyB,CAACH,KAA1B,GAAkC,8BAAlC;AACAG,qCAAyB,CAACV,KAA1B,GAAkC,6BAAlC;AACAU,qCAAyB,CAAClZ,KAA1B,GAAkC,IAAlC;AACA,iBAAK0Y,2BAAL,IAAoCQ,yBAAyB,CAAClZ,KAA9D;AACA,iBAAK7rD,IAAL,CAAU6kE,sBAAV,CAAiCjjE,IAAjC,CAAsCmjE,yBAAtC;AAEA,gBAAIC,oCAAoC,GAAG,IAAI,8EAAJ,EAA3C;AACAA,gDAAoC,CAACJ,KAArC,GAA6C,8BAA7C;AACAI,gDAAoC,CAACX,KAArC,GAA6C,gCAA7C;AACAW,gDAAoC,CAACnZ,KAArC,GAA6C,IAA7C;AACA,iBAAK0Y,2BAAL,IAAoCS,oCAAoC,CAACnZ,KAAzE;AACA,iBAAK7rD,IAAL,CAAU6kE,sBAAV,CAAiCjjE,IAAjC,CAAsCojE,oCAAtC;AAIA,gBAAIC,mBAAmB,GAAG,IAAI,8EAAJ,EAA1B;AACAA,+BAAmB,CAACL,KAApB,GAA4B,sBAA5B;AACAK,+BAAmB,CAACZ,KAApB,GAA4B,sBAA5B;AACAY,+BAAmB,CAACpZ,KAApB,GAA4B,CAAC,IAA7B;AACA,iBAAK0Y,2BAAL,IAAoCU,mBAAmB,CAACpZ,KAAxD;AACA,iBAAK7rD,IAAL,CAAU6kE,sBAAV,CAAiCjjE,IAAjC,CAAsCqjE,mBAAtC;AAEA,gBAAIA,mBAAmB,GAAG,IAAI,8EAAJ,EAA1B;AACAA,+BAAmB,CAACL,KAApB,GAA4B,gCAA5B;AACAK,+BAAmB,CAACZ,KAApB,GAA4B,6BAA5B;AACAY,+BAAmB,CAACpZ,KAApB,GAA4B,CAAC,KAA7B;AACA,iBAAK0Y,2BAAL,IAAoCU,mBAAmB,CAACpZ,KAAxD;AACA,iBAAK7rD,IAAL,CAAU6kE,sBAAV,CAAiCjjE,IAAjC,CAAsCqjE,mBAAtC;AAEA,gBAAIA,mBAAmB,GAAG,IAAI,8EAAJ,EAA1B;AACAA,+BAAmB,CAACL,KAApB,GAA4B,2CAA5B;AACAK,+BAAmB,CAACZ,KAApB,GAA4B,qCAA5B;AACAY,+BAAmB,CAACpZ,KAApB,GAA4B,CAAC,IAA7B;AACA,iBAAK0Y,2BAAL,IAAoCU,mBAAmB,CAACpZ,KAAxD;AACA,iBAAK7rD,IAAL,CAAU6kE,sBAAV,CAAiCjjE,IAAjC,CAAsCqjE,mBAAtC;AAEA,gBAAIA,mBAAmB,GAAG,IAAI,8EAAJ,EAA1B;AACAA,+BAAmB,CAACL,KAApB,GAA4B,gDAA5B;AACAK,+BAAmB,CAACZ,KAApB,GAA4B,2CAA5B;AACAY,+BAAmB,CAACpZ,KAApB,GAA4B,CAAC,KAA7B;AACA,iBAAK0Y,2BAAL,IAAoCU,mBAAmB,CAACpZ,KAAxD;AACA,iBAAK7rD,IAAL,CAAU6kE,sBAAV,CAAiCjjE,IAAjC,CAAsCqjE,mBAAtC,EA7D+B,CAgE/B;;AACQ,gBAAIC,+BAA+B,GAAG,IAAI,8EAAJ,EAAtC;AACAA,2CAA+B,CAACN,KAAhC,GAAwC,gDAAxC;AACAM,2CAA+B,CAACb,KAAhC,GAAwC,sDAAxC;AACAa,2CAA+B,CAACrZ,KAAhC,GAAwC,KAAxC;AACA,iBAAK2Y,4BAAL,IAAqCU,+BAA+B,CAACrZ,KAArE;AACA,iBAAK7rD,IAAL,CAAUmlE,uBAAV,CAAkCvjE,IAAlC,CAAuCsjE,+BAAvC;AAGA,gBAAIE,yBAAyB,GAAG,IAAI,8EAAJ,EAAhC;AACAA,qCAAyB,CAACR,KAA1B,GAAkC,0CAAlC;AACAQ,qCAAyB,CAACf,KAA1B,GAAkC,qEAAlC;AACAe,qCAAyB,CAACvZ,KAA1B,GAAkC,KAAlC;AACA,iBAAK2Y,4BAAL,IAAqCY,yBAAyB,CAACvZ,KAA/D;AACA,iBAAK7rD,IAAL,CAAUmlE,uBAAV,CAAkCvjE,IAAlC,CAAuCwjE,yBAAvC,EA9EuB,CA+E/B;;AACQ,gBAAIC,qBAAqB,GAAG,IAAI,8EAAJ,EAA5B;AACAA,iCAAqB,CAACT,KAAtB,GAA8B,yCAA9B;AACAS,iCAAqB,CAAChB,KAAtB,GAA8B,oCAA9B;AACAgB,iCAAqB,CAACxZ,KAAtB,GAA8B,KAA9B;AACA,iBAAK4Y,0BAAL,IAAmCY,qBAAqB,CAACxZ,KAAzD;AACA,iBAAK7rD,IAAL,CAAUslE,qBAAV,CAAgC1jE,IAAhC,CAAqCyjE,qBAArC;AAIA,gBAAIA,qBAAqB,GAAG,IAAI,8EAAJ,EAA5B;AACAA,iCAAqB,CAACT,KAAtB,GAA8B,wBAA9B;AACAS,iCAAqB,CAAChB,KAAtB,GAA8B,4CAA9B;AACAgB,iCAAqB,CAACxZ,KAAtB,GAA8B,CAAC,KAA/B;AACA,iBAAK4Y,0BAAL,IAAmCY,qBAAqB,CAACxZ,KAAzD;AACA,iBAAK7rD,IAAL,CAAUslE,qBAAV,CAAgC1jE,IAAhC,CAAqCyjE,qBAArC;AAEA,gBAAIA,qBAAqB,GAAG,IAAI,8EAAJ,EAA5B;AACAA,iCAAqB,CAACT,KAAtB,GAA8B,eAA9B;AACAS,iCAAqB,CAAChB,KAAtB,GAA8B,UAA9B;AACAgB,iCAAqB,CAACxZ,KAAtB,GAA8B,CAAC,IAA/B;AACA,iBAAK4Y,0BAAL,IAAmCY,qBAAqB,CAACxZ,KAAzD;AACA,iBAAK7rD,IAAL,CAAUslE,qBAAV,CAAgC1jE,IAAhC,CAAqCyjE,qBAArC;AACH,WAtGD,MAuGI;AACA,iBAAKrlE,IAAL,GAAU,IAAI,2EAAJ,EAAV;AACA,gBAAI2kE,OAAO,GAAG,IAAI,8EAAJ,EAAd;AACAA,mBAAO,CAACC,KAAR,GAAgB,6BAAhB;AACAD,mBAAO,CAACN,KAAR,GAAgB,8BAAhB;AACAM,mBAAO,CAAC9Y,KAAR,GAAgB,MAAhB;AACA,iBAAK0Y,2BAAL,IAAoCI,OAAO,CAAC9Y,KAA5C;AACA,iBAAK7rD,IAAL,CAAU6kE,sBAAV,CAAiCjjE,IAAjC,CAAsC+iE,OAAtC;AAEA,gBAAIG,mBAAmB,GAAG,IAAI,8EAAJ,EAA1B;AACAA,+BAAmB,CAACF,KAApB,GAA4B,2BAA5B;AACAE,+BAAmB,CAACT,KAApB,GAA4B,wBAA5B;AACAS,+BAAmB,CAACjZ,KAApB,GAA4B,CAAC,KAA7B;AACA,iBAAK0Y,2BAAL,IAAoCO,mBAAmB,CAACjZ,KAAxD;AACA,iBAAK7rD,IAAL,CAAU6kE,sBAAV,CAAiCjjE,IAAjC,CAAsCkjE,mBAAtC;AAGA,gBAAIC,yBAAyB,GAAG,IAAI,8EAAJ,EAAhC;AACAA,qCAAyB,CAACH,KAA1B,GAAkC,sCAAlC;AACAG,qCAAyB,CAACV,KAA1B,GAAkC,kCAAlC;AACAU,qCAAyB,CAAClZ,KAA1B,GAAkC,CAAC,IAAnC;AACA,iBAAK0Y,2BAAL,IAAoCQ,yBAAyB,CAAClZ,KAA9D;AACA,iBAAK7rD,IAAL,CAAU6kE,sBAAV,CAAiCjjE,IAAjC,CAAsCmjE,yBAAtC;AAEA,gBAAIC,oCAAoC,GAAG,IAAI,8EAAJ,EAA3C;AACAA,gDAAoC,CAACJ,KAArC,GAA6C,+BAA7C;AACAI,gDAAoC,CAACX,KAArC,GAA6C,0BAA7C;AACAW,gDAAoC,CAACnZ,KAArC,GAA6C,CAAC,IAA9C;AACA,iBAAK0Y,2BAAL,IAAoCS,oCAAoC,CAACnZ,KAAzE;AACA,iBAAK7rD,IAAL,CAAU6kE,sBAAV,CAAiCjjE,IAAjC,CAAsCojE,oCAAtC;AAIA,gBAAIC,mBAAmB,GAAG,IAAI,8EAAJ,EAA1B;AACAA,+BAAmB,CAACL,KAApB,GAA4B,gDAA5B;AACAK,+BAAmB,CAACZ,KAApB,GAA4B,2CAA5B;AACAY,+BAAmB,CAACpZ,KAApB,GAA4B,CAAC,IAA7B;AACA,iBAAK0Y,2BAAL,IAAoCU,mBAAmB,CAACpZ,KAAxD;AACA,iBAAK7rD,IAAL,CAAU6kE,sBAAV,CAAiCjjE,IAAjC,CAAsCqjE,mBAAtC,EAtCA,CAuCR;;AACQ,gBAAIC,+BAA+B,GAAG,IAAI,8EAAJ,EAAtC;AACAA,2CAA+B,CAACN,KAAhC,GAAwC,gDAAxC;AACAM,2CAA+B,CAACb,KAAhC,GAAwC,sDAAxC;AACAa,2CAA+B,CAACrZ,KAAhC,GAAwC,KAAxC;AACA,iBAAK2Y,4BAAL,IAAqCU,+BAA+B,CAACrZ,KAArE;AACA,iBAAK7rD,IAAL,CAAUmlE,uBAAV,CAAkCvjE,IAAlC,CAAuCsjE,+BAAvC;AAGA,gBAAIE,yBAAyB,GAAG,IAAI,8EAAJ,EAAhC;AACAA,qCAAyB,CAACR,KAA1B,GAAkC,0CAAlC;AACAQ,qCAAyB,CAACf,KAA1B,GAAkC,qEAAlC;AACAe,qCAAyB,CAACvZ,KAA1B,GAAkC,KAAlC;AACA,iBAAK2Y,4BAAL,IAAqCY,yBAAyB,CAACvZ,KAA/D;AACA,iBAAK7rD,IAAL,CAAUmlE,uBAAV,CAAkCvjE,IAAlC,CAAuCwjE,yBAAvC,EArDA,CAsDR;;AACQ,gBAAIC,qBAAqB,GAAG,IAAI,8EAAJ,EAA5B;AACAA,iCAAqB,CAACT,KAAtB,GAA8B,yCAA9B;AACAS,iCAAqB,CAAChB,KAAtB,GAA8B,oCAA9B;AACAgB,iCAAqB,CAACxZ,KAAtB,GAA8B,KAA9B;AACA,iBAAK4Y,0BAAL,IAAmCY,qBAAqB,CAACxZ,KAAzD;AACA,iBAAK7rD,IAAL,CAAUslE,qBAAV,CAAgC1jE,IAAhC,CAAqCyjE,qBAArC;AAIA,gBAAIA,qBAAqB,GAAG,IAAI,8EAAJ,EAA5B;AACAA,iCAAqB,CAACT,KAAtB,GAA8B,wBAA9B;AACAS,iCAAqB,CAAChB,KAAtB,GAA8B,4CAA9B;AACAgB,iCAAqB,CAACxZ,KAAtB,GAA8B,CAAC,KAA/B;AACA,iBAAK4Y,0BAAL,IAAmCY,qBAAqB,CAACxZ,KAAzD;AACA,iBAAK7rD,IAAL,CAAUslE,qBAAV,CAAgC1jE,IAAhC,CAAqCyjE,qBAArC;AAEA,gBAAIA,qBAAqB,GAAG,IAAI,8EAAJ,EAA5B;AACAA,iCAAqB,CAACT,KAAtB,GAA8B,eAA9B;AACAS,iCAAqB,CAAChB,KAAtB,GAA8B,UAA9B;AACAgB,iCAAqB,CAACxZ,KAAtB,GAA8B,CAAC,IAA/B;AACA,iBAAK4Y,0BAAL,IAAmCY,qBAAqB,CAACxZ,KAAzD;AACA,iBAAK7rD,IAAL,CAAUslE,qBAAV,CAAgC1jE,IAAhC,CAAqCyjE,qBAArC;AACH;AACJ;;;sCACU;AACP,cAAIrlE,IAAI,GAAGmmC,QAAQ,CAACC,cAAT,CAAwB,kBAAxB,CAAX;AACApmC,cAAI,CAACqmC,KAAL,CAAWC,OAAX,GAAqB,cAArB;AACA,6DAAYtmC,IAAZ,EAAiB,EAAjB,EAAqB9E,IAArB,CAA0B,UAAAqrC,MAAM,EAAI;AACpC,gBAAIC,QAAQ,GAAG,GAAf;AACA,gBAAIC,UAAU,GAAG,GAAjB;AACA,gBAAIC,SAAS,GAAGH,MAAM,CAACI,MAAP,GAAgBH,QAAhB,GAA2BD,MAAM,CAACK,KAAlD;AACA,gBAAIC,UAAU,GAAGH,SAAjB;AACA,gBAAMI,cAAc,GAAGP,MAAM,CAACQ,SAAP,CAAiB,WAAjB,CAAvB;AACA,gBAAIC,GAAG,GAAG,IAAI,6CAAJ,CAAU,GAAV,EAAe,IAAf,EAAqB,IAArB,CAAV,CANoC,CAME;;AACtC,gBAAIC,QAAQ,GAAG,CAAf;AACAD,eAAG,CAACE,QAAJ,CAAaJ,cAAb,EAA6B,KAA7B,EAAoC,CAApC,EAAuCG,QAAvC,EAAiDT,QAAjD,EAA2DE,SAA3D;AACAM,eAAG,CAACG,IAAJ,CAAS,cAAT,EAToC,CASV;;AAC1BnnC,gBAAI,CAACqmC,KAAL,CAAWC,OAAX,GAAqB,OAArB,CAVoC,CAYtC;AAEC,WAdC;AAeD;;;gCACI;AACD,cAAIc,aAAJ,EAAmBC,QAAnB;AACAD,uBAAa,GAAGjB,QAAQ,CAACC,cAAT,CAAwB,kBAAxB,EAA4CkB,SAA5D;AACAD,kBAAQ,GAAGE,MAAM,CAACC,IAAP,CAAY,EAAZ,EAAgB,QAAhB,EAA0B,qCAA1B,CAAX;AACAH,kBAAQ,CAAClB,QAAT,CAAkBqB,IAAlB;AACAD,gBAAM,CAACE,KAAP;AAED;;;;;;;uBAzOI68B,kB;AAAkB,K;;;YAAlBA,kB;AAAkB,iC;AAAA,e;AAAA,c;AAAA,smC;AAAA;AAAA;ACR7B;;AACE;;AACE;;AACE;;AAEE;;AACE;;AACE;;AAAO;;AAAM;;;;AAA4B;;AAAO;;AAChD;;AAGA;AAAA;AAAA;;;;AAHA;;AAKF;;AACA;;AACE;;AAAO;;AAAM;;;;AAA0B;;AAAO;;AAC9C;;AAGA;AAAA;AAAA;;;;AAHA;;AAKF;;AAcF;;AACE;;AAAO;;AAAM;;;;AAAwB;;AAAO;;AAE5C;;AAAgD;AAAA,mBAAU,IAAAI,UAAA,EAAV;AAAsB,WAAtB,EAAuB,eAAvB,EAAuB;AAAA;AAAA,WAAvB;;;;AAC9C;;AAAiC;;;;AAAqC;;AACtE;;AAA0C;;;;AAAmC;;AAC/E;;AAEF;;AACE;;AACE;;AAAsB;AAAA,mBAAS,IAAAh9B,MAAA,EAAT;AAAiB,WAAjB;;AAA6E;;;;AAAwB;;AAAS;;AACpI;;AAAsB;AAAA,mBAAS,IAAAD,KAAA,EAAT;AAAgB,WAAhB;;AAA+E;;;;AAAuB;;AAAS;;AACrI;;AAAsB;AAAA,mBAAS,IAAAE,WAAA,EAAT;AAAsB,WAAtB;;AAAkF;;;;AAAqB;;AAAS;;AACtI;;AAAiF;;;;AAAuB;;AAAS;;AAEnH;;AACJ;;AACF;;AACF;;AACF;;AACA;;AACA;;AACA;;AACE;;AACE;;AACE;;AACI;;AAAqD;;;;AAClD;;AACC;;AAED;;AACH;;AAAqD;;;;AAA+B;;AACpF;;AAAqD;;;;AAA+B;;AAExF;;AACF;;AACF;;AACF;;AAGF;;AAwEA;;;;AA5I2B;;AAAA;;AAKb;;AAAA;;AADA;;AAIa;;AAAA;;AAKb;;AAAA;;AADA;;AAiBW;;AAAA;;AAEF;;AAAA;;AAA8D;;AAC3D;;AAAA;;AAAqB;;AAAA;;AACrB;;AAAA;;AAA8B;;AAAA;;AAKyD;;AAAA;;AAAiC;;AAAA;;AAC/B;;AAAA;;AAAgC;;AAAA;;AAC7B;;AAAA;;AAA8B;;AAAA;;AACrD;;AAAA;;AAAgC;;AAAA;;AAa9D;;AAAA;;AAC5C;;AAAA;;AACC;;AAAA;;AAG2C;;AAAA;;AACA;;AAAA;;AAQZ;;AAAA;;;;;;;;;;sEDnExC28B,kB,EAAkB;cAL9B,uDAK8B;eALpB;AACPzhE,kBAAQ,EAAE,YADH;AAEPC,qBAAW,EAAE,2BAFN;AAGPC,mBAAS,EAAE,CAAC,2BAAD;AAHJ,S;AAKoB,Q;;;;;;;;;;;;;;;;;;;;AEV/B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAAawiE,kB,GAIT,4BAAY9jE,IAAZ,EAAsC;AAAA;;AAClCA,UAAI,GAAGA,IAAI,GAAGA,IAAH,GAAU,EAArB;AACA,WAAK6jE,qBAAL,GAA8B7jE,IAAI,CAAC6jE,qBAAL,GAA2B7jE,IAAI,CAAC6jE,qBAAhC,GAAsD,EAApF;AACA,WAAKH,uBAAL,GAA+B1jE,IAAI,CAAC0jE,uBAAL,GAA6B1jE,IAAI,CAAC0jE,uBAAlC,GAA0D,EAAzF;AACA,WAAKN,sBAAL,GAA8BpjE,IAAI,CAACojE,sBAAL,GAA4BpjE,IAAI,CAACojE,sBAAjC,GAAwD,EAAtF;AACH,K;;QAEQW,qB;;;;;;;;;;;;;;;;;;;ACTb;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;ACyBc;;AAA8H;AAAA;;AAAA;;AAAA;AAAA;;;;AAC9H;;;;;;AADW;;AAA8D,2FAAkB,SAAlB,EAAkB,sBAAlB;;;;;;;;AAEzE;;AAA6H;AAAA;;AAAA;;AAAA;AAAA;;;;AAC7H;;;;;;AADW;;AAA6D,2FAAkB,SAAlB,EAAkB,sBAAlB;;;;;;;;AAMxE;;AAAgI;AAAA;;AAAA;;AAAA;AAAA;;;;AAChI;;;;;;AADW;;AAAgE,2FAAkB,SAAlB,EAAkB,uBAAlB;;;;;;;;AAE3E;;AAA+H;AAAA;;AAAA;;AAAA;AAAA;;;;AAC/H;;;;;;AADW;;AAA+D,2FAAkB,SAAlB,EAAkB,uBAAlB;;;;;;;;AAKxE;;AAA4I;AAAA;;AAAA;;AAAA;AAAA,WAAiC,eAAjC,EAAiC;AAAA;;AAAA;;AAAA;AAAA,SAAjC;;;;AAC5I;;;;;;AADW;;AAAyE,+FAAqB,SAArB,EAAqB,+BAArB;;;;;;;;AAEpF;;AAA2I;AAAA;;AAAA;;AAAA;AAAA,WAAiC,eAAjC,EAAiC;AAAA;;AAAA;;AAAA;AAAA,SAAjC;;;;AAC3I;;;;;;AADW;;AAAwE,+FAAqB,SAArB,EAAqB,+BAArB;;;;;;AAJvF;;AACI;;AAAO;;AAAM;;;;AAAoC;;AAAO;;AACxD;;AAEA;;AAEF;;;;;;AALe;;AAAA;;AACgD;;AAAA;;AAEA;;AAAA;;;;;;;;AAK7D;;AAA0I;AAAA;;AAAA;;AAAA;AAAA,WAAgC,eAAhC,EAAgC;AAAA;;AAAA;;AAAA;AAAA,SAAhC;;;;AAC1I;;;;;;AADW;;AAAwE,8FAAoB,SAApB,EAAoB,8BAApB;;;;;;;;AAEnF;;AAAyI;AAAA;;AAAA;;AAAA;AAAA,WAAgC,eAAhC,EAAgC;AAAA;;AAAA;;AAAA;AAAA,SAAhC;;;;AACzI;;;;;;AADW;;AAAuE,8FAAoB,SAApB,EAAoB,8BAApB;;;;;;AAJpF;;AACE;;AAAO;;AAAM;;;;AAAmC;;AAAO;;AACvD;;AAEA;;AAEF;;;;;;AALe;;AAAA;;AAC+C;;AAAA;;AAEA;;AAAA;;;;;;AAoExD;;AAAqC;;AAAwB;;;;;;AAAxB;;AAAA;;;;;;AACrC;;AAAoC;;AAAuB;;;;;;AAAvB;;AAAA;;;;;;AATxC;;AACI;;AAAI;;AAAa;;AACjB;;AAAI;;;;AAA+B;;AACnC;;AAAI;;AAAoB;;AACxB;;AAAI;;AAAwD;;AAC5D;;AAAI;;AAA8B;;AAClC;;AAAI;;AAAoB;;AACxB;;AAAI;;AAAgB;;AACpB;;AACA;;AACA;;AAAI;;AAAsB;;AAC1B;;AAAI;;AAAqB;;AAC7B;;;;;;;;AAXQ;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;;;AA/Bd;;AACE;;AACI;;AACI;;AAAI;;AAA8D;;AACtE;;AACJ;;AACA;;AACI;;AACI;;AAAI;;;;AAAoB;;AACxB;;AAAI;;;;AAAoB;;AACxB;;AAAI;;;;AAA4B;;AAChC;;AAAI;;;;AAA4B;;AAChC;;AAAI;;;;AAAmC;;AACvC;;AAAI;;;;AAA2B;;AAC/B;;AAAI;;;;AAAuB;;AAC3B;;AAAI;;;;AAAyB;;AAC7B;;AAAI;;;;AAA8B;;AAClC;;AAAI;;;;AAA6B;;AACrC;;AACJ;;AACI;;AAaJ;;AACF;;AACF;;;;;;;;AAhCgB;;AAAA;;AAKA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAGH;;AAAA;;;;;;AA5BnB;;AACI;;AACA;;AACI;;AAKA;;AAoCJ;;AAEA;;AACF;;;;;;AAvCyC;;AAAA;;;;QD1EhCC,yB;AAMP,yCAAoBC,uBAApB,EACY3mB,aADZ,EAEYC,cAFZ,EAGYiE,iBAHZ,EAG+C;AAAA;;AAH3B,aAAAyiB,uBAAA,GAAAA,uBAAA;AACR,aAAA3mB,aAAA,GAAAA,aAAA;AACA,aAAAC,cAAA,GAAAA,cAAA;AACA,aAAAiE,iBAAA,GAAAA,iBAAA;AALZ,aAAA/c,MAAA,GAAmC,EAAnC;AACA,aAAA+Y,QAAA,GAA8B,EAA9B;AAQA,aAAAnZ,WAAA,GAAc,CAAd;AACA,aAAAC,gBAAA,GAAmB,CAAnB;AACA,aAAAC,mBAAA,GAAsB,CAAtB;AACA,aAAAkZ,QAAA,GAAuB,EAAvB;AACA,aAAA3Z,KAAA,GAAM,IAAIvhC,IAAJ,EAAN;AACA,aAAA2hE,WAAA,GAA8B,EAA9B;AACA,aAAAC,UAAA,GAA6B,EAA7B;AACA,aAAAC,iBAAA,GAAoC,EAApC;AACA,aAAAC,gBAAA,GAAmC,EAAnC;AAVE,aAAK3mE,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACD;;;;mCAUO;AAAA;;AACN;AACE,eAAK0pE,uBAAL,CAA6Bh+B,MAA7B,CAAoC,KAAKxB,MAAzC,EACCxmC,SADD,CACW,UAAAM,IAAI,EAAI;AACjB,oBAAI,CAACA,IAAL,GAAWA,IAAX;AACA4W,mBAAO,CAACC,GAAR,CAAY,MAAZ,EAAmB,QAAI,CAAC7W,IAAxB;AACD,WAJD;AAKA,eAAK++C,aAAL,CAAmBh/C,MAAnB,GACCL,SADD,CACW,UAAAw/C,QAAQ,EAAE;AACnB,oBAAI,CAACA,QAAL,GAAgBA,QAAhB;AACD,WAHD;AAIF,eAAKF,cAAL,CAAoBhe,kBAApB,CAAuC,CAAvC,EACGthC,SADH,CACa,UAAAM,IAAI,EAAI;AACf,oBAAI,CAACi/C,QAAL,GAAgBj/C,IAAhB;AACH,WAHH;AAIE,eAAKijD,iBAAL,CAAuBljD,MAAvB,CAA8B,CAA9B,EACCL,SADD,CACW,UAAAM,IAAI,EAAE;AACf4W,mBAAO,CAACC,GAAR,CAAY,SAAZ,EAAsB7W,IAAtB;AACAA,gBAAI,CAACmO,OAAL,CAAa,UAAAC,OAAO,EAAI;AACpB,kBAAGA,OAAO,CAAC23D,UAAR,IAAsB,MAAzB,EAAgC;AAC5B,wBAAI,CAACJ,WAAL,CAAiB/jE,IAAjB,CAAsBwM,OAAtB;AACH,eAFD,MAGI;AACA,wBAAI,CAACw3D,UAAL,CAAgBhkE,IAAhB,CAAqBwM,OAArB;AACH;AAEJ,aARD;AASA,oBAAI,CAACy3D,iBAAL,sBAA6B,QAAI,CAACF,WAAlC;AACA,oBAAI,CAACG,gBAAL,sBAA4B,QAAI,CAACF,UAAjC;AACD,WAdD;AAeH;;;iCACK;AAAA;;AACF,eAAKF,uBAAL,CAA6Bh+B,MAA7B,CAAoC,KAAKxB,MAAzC,EACCxmC,SADD,CACW,UAAAM,IAAI,EAAI;AACjB,oBAAI,CAACA,IAAL,GAAWA,IAAX;AAED,WAJD;AAKH;;;sCACU;AACT,cAAIA,IAAI,GAAGmmC,QAAQ,CAACC,cAAT,CAAwB,kBAAxB,CAAX;AACApmC,cAAI,CAACqmC,KAAL,CAAWC,OAAX,GAAqB,cAArB;AACA,6DAAYtmC,IAAZ,EAAiB,EAAjB,EAAqB9E,IAArB,CAA0B,UAAAqrC,MAAM,EAAI;AACpC,gBAAIC,QAAQ,GAAG,GAAf;AACA,gBAAIC,UAAU,GAAG,GAAjB;AACA,gBAAIC,SAAS,GAAGH,MAAM,CAACI,MAAP,GAAgBH,QAAhB,GAA2BD,MAAM,CAACK,KAAlD;AACA,gBAAIC,UAAU,GAAGH,SAAjB;AACA,gBAAMI,cAAc,GAAGP,MAAM,CAACQ,SAAP,CAAiB,WAAjB,CAAvB;AACA,gBAAIC,GAAG,GAAG,IAAI,6CAAJ,CAAU,GAAV,EAAe,IAAf,EAAqB,IAArB,CAAV,CANoC,CAME;;AACtC,gBAAIC,QAAQ,GAAG,CAAf;AACAD,eAAG,CAACE,QAAJ,CAAaJ,cAAb,EAA6B,KAA7B,EAAoC,CAApC,EAAuCG,QAAvC,EAAiDT,QAAjD,EAA2DE,SAA3D;AACAM,eAAG,CAACG,IAAJ,CAAS,cAAT,EAToC,CASV;;AAC1BnnC,gBAAI,CAACqmC,KAAL,CAAWC,OAAX,GAAqB,OAArB,CAVoC,CAYtC;AAEC,WAdC;AAeD;;;gCACI;AACD,cAAIc,aAAJ,EAAmBC,QAAnB;AACAD,uBAAa,GAAGjB,QAAQ,CAACC,cAAT,CAAwB,kBAAxB,EAA4CkB,SAA5D;AACAD,kBAAQ,GAAGE,MAAM,CAACC,IAAP,CAAY,EAAZ,EAAgB,QAAhB,EAA0B,qCAA1B,CAAX;AACAH,kBAAQ,CAAClB,QAAT,CAAkBqB,IAAlB;AACAD,gBAAM,CAACE,KAAP;AAED;;;+CACmB;AAAA;;AAChB,cAAI1mC,CAAC,GAAG,KAAK4kE,WAAL,CAAiBpkE,SAAjB,CAA2B,UAAAC,CAAC;AAAA,mBAAEA,CAAC,CAAC7E,EAAF,IAAQ,QAAI,CAACupC,MAAL,CAAY8/B,gBAAtB;AAAA,WAA5B,CAAR;;AACA,cAAGjlE,CAAC,GAAG,CAAC,CAAR,EAAU;AACN,iBAAK6kE,UAAL,GAAkB,KAAKE,gBAAL,CAAsBnkE,MAAtB,CAA6B,UAAAH,CAAC;AAAA,qBAAEA,CAAC,CAAC2H,QAAF,IAAc,QAAI,CAACw8D,WAAL,CAAiB5kE,CAAjB,EAAoBpE,EAApC;AAAA,aAA9B,CAAlB;AACH;AACJ;;;8CACkB,CAElB;;;;;;;uBA/FI8oE,yB,EAAyB,oJ,EAAA,sJ,EAAA,qJ,EAAA,4J;AAAA,K;;;YAAzBA,yB;AAAyB,yC;AAAA,e;AAAA,c;AAAA,u6D;AAAA;AAAA;ACftC;;AACI;;AACE;;AACE;;AAEE;;AACE;;AACE;;AAAO;;AAAM;;;;AAA4B;;AAAO;;AAChD;;AAGA;AAAA;AAAA;;;;AAHA;;AAKF;;AACA;;AACE;;AAAO;;AAAM;;;;AAA0B;;AAAO;;AAC9C;;AAGA;AAAA;AAAA;;;;AAHA;;AAKF;;AACA;;AACE;;AAAO;;AAAM;;;;AAA0B;;AAAO;;AAE9C;;AAEA;;AAEF;;AAEA;;AACE;;AAAO;;AAAM;;;;AAA2B;;AAAO;;AAC/C;;AAEA;;AAEF;;AACA;;AAOE;;AAOF;;AAEA;;AACE;;AAAsB;AAAA,mBAAS,IAAA/9B,MAAA,EAAT;AAAiB,WAAjB;;AAA6E;;;;AAAwB;;AAAS;;AACpI;;AAAsB;AAAA,mBAAS,IAAAD,KAAA,EAAT;AAAgB,WAAhB;;AAA+E;;;;AAAuB;;AAAS;;AACrI;;AAAsB;AAAA,mBAAS,IAAAE,WAAA,EAAT;AAAsB,WAAtB;;AAAkF;;;;AAAqB;;AAAS;;AACtI;;AAAiF;;;;AAAuB;;AAAS;;AAEnH;;AACJ;;AACF;;AACF;;AACF;;AACA;;AACA;;AACE;;AACE;;AACE;;AACE;;AACI;;AAAqD;;;;AAAsC;;AAC3F;;AAAqD;;;;AAA+B;;AACpF;;AAAqD;;;;AAA+B;;AAExF;;AACF;;AACF;;AACF;;AAGF;;AAgDA;;;;AA1HyB;;AAAA;;AAKb;;AAAA;;AADA;;AAIa;;AAAA;;AAKb;;AAAA;;AADA;;AAIa;;AAAA;;AAEqC;;AAAA;;AAEA;;AAAA;;AAKrC;;AAAA;;AACuC;;AAAA;;AAEA;;AAAA;;AAGpB;;AAAA;;AAOE;;AAAA;;AAUiE;;AAAA;;AAAiC;;AAAA;;AAC/B;;AAAA;;AAAgC;;AAAA;;AAC7B;;AAAA;;AAA8B;;AAAA;;AACrD;;AAAA;;AAAgC;;AAAA;;AAa5D;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAQZ;;AAAA;;;;;;;;;;sEDlE1C89B,yB,EAAyB;cALrC,uDAKqC;eAL3B;AACP5iE,kBAAQ,EAAE,oBADH;AAEPC,qBAAW,EAAE,mCAFN;AAGPC,mBAAS,EAAE,CAAC,mCAAD;AAHJ,S;AAK2B,Q;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEjBtC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAaa2iE,uB;AACT,uCAAoB/pE,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAIpB,aAAAC,OAAA,GAAU,yEAAYC,UAAtB;AACC,aAAAC,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AAJA;;;;+BAYMoqC,M,EAAkC;AACvC,iBAAO,KAAKvqC,IAAL,CACJe,IADI,WACiC,KAAKd,OADtC,8BACuEsqC,MADvE,EAC8E,KAAKjqC,WADnF,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;;;;;uBAnBQqpE,uB,EAAuB,uH;AAAA,K;;;aAAvBA,uB;AAAuB,eAAvBA,uBAAuB,K;AAAA,kBAFtB;;;;;sEAEDA,uB,EAAuB;cAHnC,wDAGmC;eAHxB;AACV5oE,oBAAU,EAAE;AADF,S;AAGwB,Q;;;;;;;;;;;;;;;;;;;;;;ACZpC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;AC0BY;;AAA8H;AAAA;;AAAA;;AAAA;AAAA;;;;AAC9H;;;;;;AADW;;AAA8D,2FAAkB,SAAlB,EAAkB,sBAAlB;;;;;;;;AAEzE;;AAA6H;AAAA;;AAAA;;AAAA;AAAA;;;;AAC7H;;;;;;AADW;;AAA6D,2FAAkB,SAAlB,EAAkB,sBAAlB;;;;;;;;AAMxE;;AAAgI;AAAA;;AAAA;;AAAA;AAAA;;;;AAChI;;;;;;AADW;;AAAgE,2FAAkB,SAAlB,EAAkB,uBAAlB;;;;;;;;AAE3E;;AAA+H;AAAA;;AAAA;;AAAA;AAAA;;;;AAC/H;;;;;;AADW;;AAA+D,2FAAkB,SAAlB,EAAkB,uBAAlB;;;;;;;;AAK1E;;AAAoI;AAAA;;AAAA;;AAAA;AAAA;;;;AACpI;;;;;;AADY;;AAA+D,0FAAiB,SAAjB,EAAiB,oBAAjB;;;;;;;;AAE3E;;AAAgI;AAAA;;AAAA;;AAAA;AAAA;;;;AAChI;;;;;;AADW;;AAA8D,0FAAiB,SAAjB,EAAiB,oBAAjB;;;;;;AA6CrE;;AACI;;AAAI;;;;AAA+B;;AACnC;;AAAI;;AAAa;;AACjB;;AAAI;;AAAoB;;AACxB;;AAAI;;;;AAA2B;;AAC/B;;AAAI;;AAAsD;;AAC1D;;AAAI;;AAAe;;AACvB;;;;;;;;AANQ;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;;;AAnBxB;;AACI;;AACA;;AACI;;AACI;;AACI;;AAAI;;;;AAAoB;;AACxB;;AAAI;;;;AAAoB;;AACxB;;AAAI;;;;AAA2B;;AAC/B;;AAAI;;;;AAAsB;;AAC1B;;AAAI;;;;AAAsB;;AAC1B;;AAAI;;;;AAAsB;;AAC9B;;AACA;;AACI;;AAQJ;;AACJ;;AAEJ;;AAEA;;AACF;;;;;;AAtBkB;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAGA;;AAAA;;;;QDzEPmpE,gC;AAOT,gDAAoBC,8BAApB,EACYnnB,aADZ,EAEYC,cAFZ,EAE8C;AAAA;;AAF1B,aAAAknB,8BAAA,GAAAA,8BAAA;AACR,aAAAnnB,aAAA,GAAAA,aAAA;AACA,aAAAC,cAAA,GAAAA,cAAA;AAPd,aAAAmnB,OAAA,GAAc,kEAAd;AAGE,aAAAjgC,MAAA,GAAkC,EAAlC;AACA,aAAA+Y,QAAA,GAA8B,EAA9B;AAOA,aAAAnZ,WAAA,GAAc,CAAd;AACA,aAAAC,gBAAA,GAAmB,CAAnB;AACA,aAAAC,mBAAA,GAAsB,CAAtB;AACA,aAAAkZ,QAAA,GAAuB,EAAvB;AACA,aAAA3Z,KAAA,GAAM,IAAIvhC,IAAJ,EAAN;AANE,aAAK7E,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACD;;;;mCAMO;AAAA;;AACN;AACE,eAAKkqE,8BAAL,CAAoCx+B,MAApC,CAA2C,KAAKxB,MAAhD,EACCxmC,SADD,CACW,UAAAM,IAAI,EAAI;AACjB,oBAAI,CAACA,IAAL,GAAWA,IAAX;AACA4W,mBAAO,CAACC,GAAR,CAAY,MAAZ,EAAmB,QAAI,CAAC7W,IAAxB;AACD,WAJD;AAKA,eAAK++C,aAAL,CAAmBh/C,MAAnB,GACCL,SADD,CACW,UAAAw/C,QAAQ,EAAE;AACnB,oBAAI,CAACA,QAAL,GAAgBA,QAAhB;AACD,WAHD;AAIF,eAAKF,cAAL,CAAoBhe,kBAApB,CAAuC,CAAvC,EACGthC,SADH,CACa,UAAAM,IAAI,EAAI;AACf,oBAAI,CAACi/C,QAAL,GAAgBj/C,IAAhB;AACH,WAHH;AAID;;;iCACK;AAAA;;AACF,eAAKkmE,8BAAL,CAAoCx+B,MAApC,CAA2C,KAAKxB,MAAhD,EACCxmC,SADD,CACW,UAAAM,IAAI,EAAI;AACjB,oBAAI,CAACA,IAAL,GAAWA,IAAX;AAED,WAJD;AAKH;;;sCACU;AACT,cAAIA,IAAI,GAAGmmC,QAAQ,CAACC,cAAT,CAAwB,kBAAxB,CAAX;AACApmC,cAAI,CAACqmC,KAAL,CAAWC,OAAX,GAAqB,cAArB;AACA,6DAAYtmC,IAAZ,EAAiB,EAAjB,EAAqB9E,IAArB,CAA0B,UAAAqrC,MAAM,EAAI;AACpC,gBAAIC,QAAQ,GAAG,GAAf;AACA,gBAAIC,UAAU,GAAG,GAAjB;AACA,gBAAIC,SAAS,GAAGH,MAAM,CAACI,MAAP,GAAgBH,QAAhB,GAA2BD,MAAM,CAACK,KAAlD;AACA,gBAAIC,UAAU,GAAGH,SAAjB;AACA,gBAAMI,cAAc,GAAGP,MAAM,CAACQ,SAAP,CAAiB,WAAjB,CAAvB;AACA,gBAAIC,GAAG,GAAG,IAAI,6CAAJ,CAAU,GAAV,EAAe,IAAf,EAAqB,IAArB,CAAV,CANoC,CAME;;AACtC,gBAAIC,QAAQ,GAAG,CAAf;AACAD,eAAG,CAACE,QAAJ,CAAaJ,cAAb,EAA6B,KAA7B,EAAoC,CAApC,EAAuCG,QAAvC,EAAiDT,QAAjD,EAA2DE,SAA3D;AACAM,eAAG,CAACG,IAAJ,CAAS,cAAT,EAToC,CASV;;AAC1BnnC,gBAAI,CAACqmC,KAAL,CAAWC,OAAX,GAAqB,OAArB,CAVoC,CAYtC;AAEC,WAdC;AAeD;;;gCACI;AACD,cAAIc,aAAJ,EAAmBC,QAAnB;AACAD,uBAAa,GAAGjB,QAAQ,CAACC,cAAT,CAAwB,kBAAxB,EAA4CkB,SAA5D;AACAD,kBAAQ,GAAGE,MAAM,CAACC,IAAP,CAAY,EAAZ,EAAgB,QAAhB,EAA0B,qCAA1B,CAAX;AACAH,kBAAQ,CAAClB,QAAT,CAAkBqB,IAAlB;AACAD,gBAAM,CAACE,KAAP;AAED;;;;;;;uBAnEMw+B,gC,EAAgC,kK,EAAA,sJ,EAAA,qJ;AAAA,K;;;YAAhCA,gC;AAAgC,gD;AAAA,e;AAAA,c;AAAA,2xD;AAAA;AAAA;ACd7C;;AACE;;AACE;;AACE;;AAEE;;AACE;;AACE;;AAAO;;AAAM;;;;AAA4B;;AAAO;;AAChD;;AAGA;AAAA;AAAA;;;;AAHA;;AAKF;;AACA;;AACE;;AAAO;;AAAM;;;;AAA0B;;AAAO;;AAC9C;;AAGA;AAAA;AAAA;;;;AAHA;;AAKF;;AACA;;AACE;;AAAO;;AAAM;;;;AAA0B;;AAAO;;AAE9C;;AAEA;;AAEF;;AAEA;;AACE;;AAAO;;AAAM;;;;AAA2B;;AAAO;;AAC/C;;AAEA;;AAEF;;AACA;;AACE;;AAAO;;AAAM;;;;AAA0B;;AAAO;;AAC9C;;AAEA;;AAEF;;AACA;;AAEA;;AACE;;AAAsB;AAAA,mBAAS,IAAAv+B,MAAA,EAAT;AAAiB,WAAjB;;AAA6E;;;;AAAwB;;AAAS;;AACpI;;AAAsB;AAAA,mBAAS,IAAAD,KAAA,EAAT;AAAgB,WAAhB;;AAA+E;;;;AAAuB;;AAAS;;AACrI;;AAAsB;AAAA,mBAAS,IAAAE,WAAA,EAAT;AAAsB,WAAtB;;AAAkF;;;;AAAqB;;AAAS;;AACtI;;AAAiF;;;;AAAuB;;AAAS;;AAEnH;;AACJ;;AACF;;AACF;;AACF;;AACA;;AACA;;AACE;;AACE;;AACE;;AACE;;AACI;;AAAqD;;;;AAAsC;;AAC3F;;AAAqD;;;;AAA+B;;AACpF;;AAAqD;;;;AAA+B;;AAExF;;AACF;;AACF;;AACF;;AAGF;;AA4BA;;;;AA/FyB;;AAAA;;AAKb;;AAAA;;AADA;;AAIa;;AAAA;;AAKb;;AAAA;;AADA;;AAIa;;AAAA;;AAEqC;;AAAA;;AAEA;;AAAA;;AAKrC;;AAAA;;AACuC;;AAAA;;AAEA;;AAAA;;AAIvC;;AAAA;;AACuC;;AAAA;;AAED;;AAAA;;AAMgD;;AAAA;;AAAiC;;AAAA;;AAC/B;;AAAA;;AAAgC;;AAAA;;AAC7B;;AAAA;;AAA8B;;AAAA;;AACrD;;AAAA;;AAAgC;;AAAA;;AAa5D;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAQZ;;AAAA;;;;;;;;;;sED5DxCs+B,gC,EAAgC;cAL5C,uDAK4C;eALlC;AACPpjE,kBAAQ,EAAE,2BADH;AAEPC,qBAAW,EAAE,0CAFN;AAGPC,mBAAS,EAAE,CAAC,0CAAD;AAHJ,S;AAKkC,Q;;;;;;;;;;;;;;;;;;;;;;;;;;AEhB7C;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAaamjE,8B;AACT,8CAAoBvqE,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAIpB,aAAAC,OAAA,GAAU,yEAAYC,UAAtB;AACC,aAAAC,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AAJA;;;;+BAYMoqC,M,EAAiC;AACtC,iBAAO,KAAKvqC,IAAL,CACJe,IADI,WACgC,KAAKd,OADrC,qCAC6EsqC,MAD7E,EACoF,KAAKjqC,WADzF,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;;;;;uBAnBQ6pE,8B,EAA8B,uH;AAAA,K;;;aAA9BA,8B;AAA8B,eAA9BA,8BAA8B,K;AAAA,kBAF7B;;;;;sEAEDA,8B,EAA8B;cAH1C,wDAG0C;eAH/B;AACVppE,oBAAU,EAAE;AADF,S;AAG+B,Q;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACV3C;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACsCY;;AAA0E;;;;;;AAA4D;;;;;;AAA5D;;AAAA;;;;;;AAC1E;;AAAwE;;;;;;AAAwD;;;;;;AAAxD;;AAAA;;;;;;AAyBpE;;AACI;;AAAI;;AAAwC;;AAC5C;;AAAI;;AAAc;;AACtB;;;;;;;;AAFQ;;AAAA;;AACA;;AAAA;;;;;;AAmBR;;AACI;;AAAI;;AAAwC;;AAC5C;;AAAI;;AAAc;;AACtB;;;;;;;;AAFQ;;AAAA;;AACA;;AAAA;;;;;;AAvCxB;;AACI;;AACA;;AACI;;AACI;;AACI;;AAAI;;;;AAAoB;;AACxB;;AAAI;;;;AAAqB;;AAC7B;;AAEJ;;AACA;;AACI;;AACI;;AAAI;;;;AAAuB;;AAC3B;;AAAI;;;;AAAqB;;AAC7B;;AACA;;AACI;;AAIA;;AACE;;AAAI;;;;AAAqB;;AACzB;;AAAI;;AAAgB;;AACxB;;AACF;;AACJ;;AAEJ;;AACA;;AAEI;;AACI;;AACI;;AAAI;;;;AAAwB;;AAC5B;;AAAI;;;;AAAqB;;AAE7B;;AACA;;AACI;;AAIA;;AACE;;AAAI;;;;AAAqB;;AACzB;;AAAI;;AAAiB;;AACzB;;AACF;;AACJ;;AAEJ;;AACA;;AAEE;;AAOI;;AAEI;;AACE;;AAAI;;;;AAA0B;;AAC9B;;AAAI;;AAAgC;;AACxC;;AACF;;AACJ;;AAEJ;;AACE;;AACF;;;;;;AAhEkB;;AAAA;;AACA;;AAAA;;AAMA;;AAAA;;AACA;;AAAA;;AAGA;;AAAA;;AAKE;;AAAA;;AACA;;AAAA;;AAUF;;AAAA;;AACA;;AAAA;;AAIA;;AAAA;;AAKE;;AAAA;;AACA;;AAAA;;AAkBF;;AAAA;;AACA;;AAAA;;;;QDlGPspE,mB;AAIT,mCAAoBC,iBAApB,EAAgEtnB,aAAhE,EAA2F;AAAA;;AAAvE,aAAAsnB,iBAAA,GAAAA,iBAAA;AAA4C,aAAAtnB,aAAA,GAAAA,aAAA;AADhE,aAAA7Y,MAAA,GAA6B,EAA7B;AAIA,aAAAJ,WAAA,GAAc,CAAd;AACA,aAAAC,gBAAA,GAAmB,CAAnB;AACA,aAAAC,mBAAA,GAAsB,CAAtB;AACA,aAAAkZ,QAAA,GAAuB,EAAvB;AACA,aAAA3Z,KAAA,GAAM,IAAIvhC,IAAJ,EAAN;AACA,aAAAsiE,YAAA,GAAa,CAAb;AACA,aAAAC,aAAA,GAAc,CAAd;AARE,aAAKpnE,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACD;;;;mCAQO;AAAA;;AACN;AACE,eAAKqqE,iBAAL,CAAuB3+B,MAAvB,CAA8B,KAAKxB,MAAnC,EACCxmC,SADD,CACW,UAAAM,IAAI,EAAI;AACjB,oBAAI,CAACA,IAAL,GAAWA,IAAX;AACAA,gBAAI,CAACwmE,OAAL,CAAar4D,OAAb,CAAqB,UAAAC,OAAO,EAAI;AAC9B,kBAAGA,OAAO,CAACy9C,KAAR,IAAiB,IAAjB,IAAyBz9C,OAAO,CAACy9C,KAAR,IAAiBhgD,SAA7C,EAAwD;AACtDuC,uBAAO,CAACy9C,KAAR,GAAgB,CAAhB;AACD;;AACD,sBAAI,CAACya,YAAL,IAAqBl4D,OAAO,CAACy9C,KAA7B;AACD,aALD;AAMA7rD,gBAAI,CAACymE,QAAL,CAAct4D,OAAd,CAAsB,UAAAC,OAAO,EAAI;AAC/B,kBAAGA,OAAO,CAACy9C,KAAR,IAAiB,IAAjB,IAAyBz9C,OAAO,CAACy9C,KAAR,IAAiBhgD,SAA7C,EAAwD;AACtDuC,uBAAO,CAACy9C,KAAR,GAAgB,CAAhB;AACD;;AACD,sBAAI,CAAC0a,aAAL,IAAsBn4D,OAAO,CAACy9C,KAA9B;AACD,aALD;AAMAj1C,mBAAO,CAACC,GAAR,CAAY,MAAZ,EAAmB,QAAI,CAAC7W,IAAxB;AACD,WAhBD;AAiBA,eAAK++C,aAAL,CAAmBh/C,MAAnB,GACCL,SADD,CACW,UAAAw/C,QAAQ,EAAE;AACnB,oBAAI,CAACA,QAAL,GAAgBA,QAAhB;AACD,WAHD;AAKH;;;iCACK;AAAA;;AACF,eAAKmnB,iBAAL,CAAuB3+B,MAAvB,CAA8B,KAAKxB,MAAnC,EACCxmC,SADD,CACW,UAAAM,IAAI,EAAI;AACjB,oBAAI,CAACA,IAAL,GAAWA,IAAX;AAED,WAJD;AAKH;;;sCACU;AACT,cAAIA,IAAI,GAAGmmC,QAAQ,CAACC,cAAT,CAAwB,kBAAxB,CAAX;AACApmC,cAAI,CAACqmC,KAAL,CAAWC,OAAX,GAAqB,cAArB;AACA,6DAAYtmC,IAAZ,EAAiB,EAAjB,EAAqB9E,IAArB,CAA0B,UAAAqrC,MAAM,EAAI;AACpC,gBAAIC,QAAQ,GAAG,GAAf;AACA,gBAAIC,UAAU,GAAG,GAAjB;AACA,gBAAIC,SAAS,GAAGH,MAAM,CAACI,MAAP,GAAgBH,QAAhB,GAA2BD,MAAM,CAACK,KAAlD;AACA,gBAAIC,UAAU,GAAGH,SAAjB;AACA,gBAAMI,cAAc,GAAGP,MAAM,CAACQ,SAAP,CAAiB,WAAjB,CAAvB;AACA,gBAAIC,GAAG,GAAG,IAAI,6CAAJ,CAAU,GAAV,EAAe,IAAf,EAAqB,IAArB,CAAV,CANoC,CAME;;AACtC,gBAAIC,QAAQ,GAAG,CAAf;AACAD,eAAG,CAACE,QAAJ,CAAaJ,cAAb,EAA6B,KAA7B,EAAoC,CAApC,EAAuCG,QAAvC,EAAiDT,QAAjD,EAA2DE,SAA3D;AACAM,eAAG,CAACG,IAAJ,CAAS,cAAT,EAToC,CASV;;AAC1BnnC,gBAAI,CAACqmC,KAAL,CAAWC,OAAX,GAAqB,OAArB,CAVoC,CAYtC;AAEC,WAdC;AAeD;;;gCACI;AACD,cAAIc,aAAJ,EAAmBC,QAAnB;AACAD,uBAAa,GAAGjB,QAAQ,CAACC,cAAT,CAAwB,kBAAxB,EAA4CkB,SAA5D;AACAD,kBAAQ,GAAGE,MAAM,CAACC,IAAP,CAAY,EAAZ,EAAgB,QAAhB,EAA0B,qCAA1B,CAAX;AACAH,kBAAQ,CAAClB,QAAT,CAAkBqB,IAAlB;AACAD,gBAAM,CAACE,KAAP;AAED;;;;;;;uBAxEM2+B,mB,EAAmB,uI,EAAA,sJ;AAAA,K;;;YAAnBA,mB;AAAmB,kC;AAAA,e;AAAA,c;AAAA,2hC;AAAA;AAAA;ACd9B;;AACE;;AACE;;AACE;;AAEE;;AACE;;AACE;;AAAO;;AAAM;;;;AAA4B;;AAAO;;AAChD;;AAGA;AAAA;AAAA;;;;AAHA;;AAKF;;AACA;;AACE;;AAAO;;AAAM;;;;AAA0B;;AAAO;;AAC9C;;AAGA;AAAA;AAAA;;;;AAHA;;AAKF;;AACA;;AACE;;AAAsB;AAAA,mBAAS,IAAA1+B,MAAA,EAAT;AAAiB,WAAjB;;AAA6E;;;;AAAwB;;AAAS;;AACpI;;AAAsB;AAAA,mBAAS,IAAAD,KAAA,EAAT;AAAgB,WAAhB;;AAA+E;;;;AAAuB;;AAAS;;AACrI;;AAAsB;AAAA,mBAAS,IAAAE,WAAA,EAAT;AAAsB,WAAtB;;AAAkF;;;;AAAqB;;AAAS;;AACtI;;AAAiF;;;;AAAuB;;AAAS;;AAEnH;;AACJ;;AACF;;AACF;;AACF;;AACA;;AACA;;AACA;;AACE;;AACE;;AACE;;AACI;;AAAqD;;;;AAA+B;;AACpF;;AACA;;AACA;;AAAqD;;;;AAA+B;;AAExF;;AACF;;AACF;;AACF;;AAGF;;AAsEA;;;;AAjH2B;;AAAA;;AAKb;;AAAA;;AADA;;AAIa;;AAAA;;AAKb;;AAAA;;AADA;;AAImG;;AAAA;;AAAiC;;AAAA;;AAC/B;;AAAA;;AAAgC;;AAAA;;AAC7B;;AAAA;;AAA8B;;AAAA;;AACrD;;AAAA;;AAAgC;;AAAA;;AAa9D;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAQZ;;AAAA;;;;;;;;;;sEDpCxCy+B,mB,EAAmB;cAL/B,uDAK+B;eALrB;AACPvjE,kBAAQ,EAAE,aADH;AAEPC,qBAAW,EAAE,4BAFN;AAGPC,mBAAS,EAAE,CAAC,4BAAD;AAHJ,S;AAKqB,Q;;;;;;;;;;;;;;;;;;;;;;;;AEdhC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAYasjE,iB;AACT,iCAAoB1qE,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAIpB,aAAAC,OAAA,GAAU,yEAAYC,UAAtB;AACC,aAAAC,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AAJA;;;;+BAYMoqC,M,EAA4B;AACjC,iBAAO,KAAKvqC,IAAL,CACJe,IADI,WACyB,KAAKd,OAD9B,wBACyDsqC,MADzD,EACgE,KAAKjqC,WADrE,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;;;;;uBAnBQgqE,iB,EAAiB,uH;AAAA,K;;;aAAjBA,iB;AAAiB,eAAjBA,iBAAiB,K;AAAA,kBAFhB;;;;;sEAEDA,iB,EAAiB;cAH7B,wDAG6B;eAHlB;AACVvpE,oBAAU,EAAE;AADF,S;AAGkB,Q;;;;;;;;;;;;;;;;;;;;;;ACZ9B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;AC0Bc;;AAA8H;AAAA;;AAAA;;AAAA;AAAA;;;;AAC9H;;;;;;AADW;;AAA8D,2FAAkB,SAAlB,EAAkB,sBAAlB;;;;;;;;AAEzE;;AAA6H;AAAA;;AAAA;;AAAA;AAAA;;;;AAC7H;;;;;;AADW;;AAA6D,2FAAkB,SAAlB,EAAkB,sBAAlB;;;;;;;;AAMxE;;AAAgI;AAAA;;AAAA;;AAAA;AAAA;;;;AAChI;;;;;;AADW;;AAAgE,2FAAkB,SAAlB,EAAkB,uBAAlB;;;;;;;;AAE3E;;AAA+H;AAAA;;AAAA;;AAAA;AAAA;;;;AAC/H;;;;;;AADW;;AAA+D,2FAAkB,SAAlB,EAAkB,uBAAlB;;;;;;AA+BpF;;AACI;;AACI;;AACI;;AACQ;;AACI;;AAAmC;;;;AAA4B;;AAC/D;;AAAgB;;;;AAAoB;;AACpC;;AAAmC;;;;AAA2B;;AAC9D;;AAAgB;;;;AAA6B;;AAC7C;;AAAgB;;;;AAAuB;;AAE3C;;AACA;;AAEI;;AAAI;;;;AAAsB;;AAC1B;;AAAI;;;;AAAqB;;AACzB;;AAAI;;;;AAAsB;;AAC1B;;AAAI;;;;AAAqB;;AAE7B;;AACR;;AACH;;AACL;;AACJ;;;;AAlB2D;;AAAA;;AACnB;;AAAA;;AACmB;;AAAA;;AACnB;;AAAA;;AACA;;AAAA;;AAKZ;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;;;;;;;AA2BhB;;AACI;;AAAK;;AAAmE;;AAAqB;;AAAI;;AACjG;;AAAK;;;;AAA+B;;AACpC;;AAAwB;;AAAoB;;AAC5C;;AAAK;;AAAuB;;AAC5B;;AAAI;;AAAsB;;AAC1B;;AAAK;;AAAiF;;AACtF;;AAAK;;AAAoF;;AAC7F;;;;;;AAPY;;AAAA;;AAAgE;;AAAA;;AACnE;;AAAA;;AACmB;;AAAA;;AACnB;;AAAA;;AACD;;AAAA;;AACC;;AAAA;;AACA;;AAAA;;;;;;AAvBf;;AACE;;AACI;;AACI;;AAA0C;;AAAwD;;AAEtG;;AAEJ;;AAEA;;AACE;;AACE;;AAA0C;;;;AAA8B;;AACxE;;AAA8B;;AAA4B;;AAC1D;;AAA8B;;AAA2B;;AAC3D;;AACF;;AACI;;AASA;;AACE;;AACE;;;;AACF;;AACA;;AAAwB;;AAA4B;;AACpD;;AAAwB;;AAA2B;;AACnD;;AAAwB;;AAA2G;;AACnI;;AAAwB;;AAA2G;;AACrI;;AACJ;;AACF;;AACF;;;;;;;;AAjCsD;;AAAA;;AAQJ;;AAAA;;AACZ;;AAAA;;AACA;;AAAA;;AAGzB;;AAAA;;AAWD;;AAAA;;AAEsB;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;;;AAjCpC;;AACI;;AAqCF;;AACF;;;;;;AAtCwC;;AAAA;;;;;;AAH5C;;AACI;;AACA;;AAyCA;;AACF;;;;;;AA1CmB;;AAAA;;;;QD/EV4pE,sB;AAMT,sCAAoBC,oBAApB,EACY5nB,aADZ,EAEYC,cAFZ,EAE8C;AAAA;;AAF1B,aAAA2nB,oBAAA,GAAAA,oBAAA;AACR,aAAA5nB,aAAA,GAAAA,aAAA;AACA,aAAAC,cAAA,GAAAA,cAAA;AAJZ,aAAA9Y,MAAA,GAAgC,EAAhC;AACA,aAAA+Y,QAAA,GAA8B,EAA9B;AAOA,aAAAnZ,WAAA,GAAc,CAAd;AACA,aAAAC,gBAAA,GAAmB,CAAnB;AACA,aAAAC,mBAAA,GAAsB,CAAtB;AACA,aAAAkZ,QAAA,GAAuB,EAAvB;AACA,aAAA3Z,KAAA,GAAM,IAAIvhC,IAAJ,EAAN;AANE,aAAK7E,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACD;;;;mCAMO;AAAA;;AACN;AACE,eAAK2qE,oBAAL,CAA0BzgC,MAA1B,CAAiC,KAAKA,MAAtC,EACCxmC,SADD,CACW,UAAAM,IAAI,EAAI;AACjB,oBAAI,CAACA,IAAL,GAAWA,IAAX;AAEA4W,mBAAO,CAACC,GAAR,CAAY,MAAZ,EAAmB,QAAI,CAAC7W,IAAxB;AACD,WALD;AAMA,eAAK++C,aAAL,CAAmBh/C,MAAnB,GACCL,SADD,CACW,UAAAw/C,QAAQ,EAAE;AACnB,oBAAI,CAACA,QAAL,GAAgBA,QAAhB;AACD,WAHD;AAIF,eAAKF,cAAL,CAAoBhe,kBAApB,CAAuC,CAAvC,EACGthC,SADH,CACa,UAAAM,IAAI,EAAI;AACf,oBAAI,CAACi/C,QAAL,GAAgBj/C,IAAhB;AACH,WAHH;AAKD;;;iCACK;AAAA;;AACF,eAAK2mE,oBAAL,CAA0BzgC,MAA1B,CAAiC,KAAKA,MAAtC,EACCxmC,SADD,CACW,UAAAM,IAAI,EAAI;AACjB,oBAAI,CAACA,IAAL,GAAWA,IAAX;AAED,WAJD;AAKH;;;sCACU;AACT,cAAIA,IAAI,GAAGmmC,QAAQ,CAACC,cAAT,CAAwB,kBAAxB,CAAX;AACApmC,cAAI,CAACqmC,KAAL,CAAWC,OAAX,GAAqB,cAArB;AACA,6DAAYtmC,IAAZ,EAAiB,EAAjB,EAAqB9E,IAArB,CAA0B,UAAAqrC,MAAM,EAAI;AACpC,gBAAIC,QAAQ,GAAG,GAAf;AACA,gBAAIC,UAAU,GAAG,GAAjB;AACA,gBAAIC,SAAS,GAAGH,MAAM,CAACI,MAAP,GAAgBH,QAAhB,GAA2BD,MAAM,CAACK,KAAlD;AACA,gBAAIC,UAAU,GAAGH,SAAjB;AACA,gBAAMI,cAAc,GAAGP,MAAM,CAACQ,SAAP,CAAiB,WAAjB,CAAvB;AACA,gBAAIC,GAAG,GAAG,IAAI,6CAAJ,CAAU,GAAV,EAAe,IAAf,EAAqB,IAArB,CAAV,CANoC,CAME;;AACtC,gBAAIC,QAAQ,GAAG,CAAf;AACAD,eAAG,CAACE,QAAJ,CAAaJ,cAAb,EAA6B,KAA7B,EAAoC,CAApC,EAAuCG,QAAvC,EAAiDT,QAAjD,EAA2DE,SAA3D;AACAM,eAAG,CAACG,IAAJ,CAAS,cAAT,EAToC,CASV;;AAC1BnnC,gBAAI,CAACqmC,KAAL,CAAWC,OAAX,GAAqB,OAArB,CAVoC,CAYtC;AAEC,WAdC;AAeD;;;gCACI;AACD,cAAIc,aAAJ,EAAmBC,QAAnB;AACAD,uBAAa,GAAGjB,QAAQ,CAACC,cAAT,CAAwB,kBAAxB,EAA4CkB,SAA5D;AACAD,kBAAQ,GAAGE,MAAM,CAACC,IAAP,CAAY,EAAZ,EAAgB,QAAhB,EAA0B,qCAA1B,CAAX;AACAH,kBAAQ,CAAClB,QAAT,CAAkBqB,IAAlB;AACAD,gBAAM,CAACE,KAAP;AAED;;;8CAEkB,CAElB;;;;;;;uBAxEMi/B,sB,EAAsB,6I,EAAA,sJ,EAAA,qJ;AAAA,K;;;YAAtBA,sB;AAAsB,qC;AAAA,e;AAAA,c;AAAA,u3D;AAAA;AAAA;ACdnC;;AACI;;AACE;;AACE;;AAEE;;AACE;;AACE;;AAAO;;AAAM;;;;AAA4B;;AAAO;;AAChD;;AAGA;AAAA;AAAA;;;;AAHA;;AAKF;;AACA;;AACE;;AAAO;;AAAM;;;;AAA0B;;AAAO;;AAC9C;;AAGA;AAAA;AAAA;;;;AAHA;;AAKF;;AACA;;AACE;;AAAO;;AAAM;;;;AAA0B;;AAAO;;AAE9C;;AAEA;;AAEF;;AAEA;;AACE;;AAAO;;AAAM;;;;AAA2B;;AAAO;;AAC/C;;AAEA;;AAEF;;AAEA;;AAEA;;AACE;;AAAsB;AAAA,mBAAS,IAAAh/B,MAAA,EAAT;AAAiB,WAAjB;;AAA6E;;;;AAAwB;;AAAS;;AACpI;;AAAsB;AAAA,mBAAS,IAAAD,KAAA,EAAT;AAAgB,WAAhB;;AAA+E;;;;AAAuB;;AAAS;;AACrI;;AAAsB;AAAA,mBAAS,IAAAE,WAAA,EAAT;AAAsB,WAAtB;;AAAkF;;;;AAAqB;;AAAS;;AACtI;;AAAiF;;;;AAAuB;;AAAS;;AAEnH;;AACJ;;AACF;;AACF;;AACF;;AACA;;AACA;;AACE;;AACE;;AACE;;AACE;;AACI;;AAAqD;;;;AAAkC;;AACvF;;AAAqD;;;;AAA+B;;AACpF;;AAAqD;;;;AAA+B;;AAExF;;AACF;;AACF;;AACF;;AACA;;AAwBA;;AACF;;AA6CA;;;;AAjIyB;;AAAA;;AAKb;;AAAA;;AADA;;AAIa;;AAAA;;AAKb;;AAAA;;AADA;;AAIa;;AAAA;;AAEqC;;AAAA;;AAEA;;AAAA;;AAKrC;;AAAA;;AACuC;;AAAA;;AAEA;;AAAA;;AAO+C;;AAAA;;AAAiC;;AAAA;;AAC/B;;AAAA;;AAAgC;;AAAA;;AAC7B;;AAAA;;AAA8B;;AAAA;;AACrD;;AAAA;;AAAgC;;AAAA;;AAa5D;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAM5C;;AAAA;;AAyBgC;;AAAA;;;;;;;;;;sED7E1C++B,sB,EAAsB;cALlC,uDAKkC;eALxB;AACP7jE,kBAAQ,EAAE,gBADH;AAEPC,qBAAW,EAAE,+BAFN;AAGPC,mBAAS,EAAE,CAAC,+BAAD;AAHJ,S;AAKwB,Q;;;;;;;;;;;;;;;;;;;;;;;;;;AEhBnC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAYa4jE,oB;AACT,oCAAoBhrE,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAIpB,aAAAC,OAAA,GAAU,sEAAYC,UAAtB;AACC,aAAAC,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AAJA;;;;+BAYMoqC,S,EAA+B;AACpC,iBAAO,KAAKvqC,IAAL,CACJe,IADI,WACS,KAAKd,OADd,2BAC4CsqC,SAD5C,EACmD,KAAKjqC,WADxD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;;;;;uBAnBQsqE,oB,EAAoB,uH;AAAA,K;;;aAApBA,oB;AAAoB,eAApBA,oBAAoB,K;AAAA,kBAFnB;;;;;sEAEDA,oB,EAAoB;cAHhC,wDAGgC;eAHrB;AACV7pE,oBAAU,EAAE;AADF,S;AAGqB,Q;;;;;;;;;;;;;;;;;;;;;;ACXjC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;AC2Bc;;AAA8H;AAAA;;AAAA;;AAAA;AAAA;;;;AAC9H;;;;;;AADW;;AAA8D,2FAAkB,SAAlB,EAAkB,sBAAlB;;;;;;;;AAEzE;;AAA6H;AAAA;;AAAA;;AAAA;AAAA;;;;AAC7H;;;;;;AADW;;AAA6D,2FAAkB,SAAlB,EAAkB,sBAAlB;;;;;;;;AAMxE;;AAAyH;AAAA;;AAAA;;AAAA;AAAA;;;;AACzH;;;;;;AADW;;AAA4D,wFAAe,SAAf,EAAe,mBAAf;;;;;;;;AAEvE;;AAAwH;AAAA;;AAAA;;AAAA;AAAA;;;;AACxH;;;;;;AADW;;AAA2D,wFAAe,SAAf,EAAe,mBAAf;;;;;;AAoFpE;;AACI;;AAAK;;AAAc;;AACnB;;AAAK;;AAAkB;;AACvB;;AAAK;;AAAyB;;AAC9B;;AAAK;;AAAkB;;AACvB;;AAAK;;;;AAA+B;;AACpC;;AAAK;;AAAiB;;AACtB;;AAAK;;AAAoB;;AACzB;;AAAI;;AAAyB;;AAC7B;;AAAI;;AAAmB;;AAC3B;;;;;;AATS;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACD;;AAAA;;AACA;;AAAA;;;;;;AAtCd;;AACE;;AACI;;AACI;;AAA0C;;AAAgD;;AAE9F;;AACA;;AACE;;AAA0C;;;;AAA8B;;AAE5E;;AAEF;;AAEA;;AACE;;AACE;;AACI;;AAAK;;;;AAAoB;;AACzB;;AAAK;;;;AAAyB;;AAC9B;;AAAK;;;;AAAiC;;AACtC;;AAAK;;;;AAAwB;;AAC7B;;AAAK;;;;AAAoB;;AACzB;;AAAK;;;;AAAoB;;AACzB;;AAAK;;;;AAA2B;;AAChC;;AAAK;;;;AAA8B;;AACnC;;AAAK;;;;AAAqB;;AAE9B;;AACR;;AACI;;AACI;;AAoBJ;;AACF;;AACF;;;;;;;;AAhDsD;;AAAA;;AAIF;;AAAA;;AASnC;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAKJ;;AAAA;;;;;;AAkDP;;AACI;;AAAK;;AAAc;;AACnB;;AAAK;;AAAkB;;AACvB;;AAAK;;AAAyB;;AAC9B;;AAAK;;AAAkB;;AACvB;;AAAK;;;;AAA+B;;AACpC;;AAAK;;AAAiB;;AACtB;;AAAK;;AAAoB;;AACzB;;AAAI;;AAAyB;;AAC7B;;AAAI;;AAAmB;;AAC3B;;;;;;AATS;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACD;;AAAA;;AACA;;AAAA;;;;;;AAnCd;;AACE;;AAEI;;AACE;;AAA0C;;;;AAA6B;;AAE3E;;AAEF;;AAEA;;AACE;;AACE;;AACI;;AAAK;;;;AAAoB;;AACzB;;AAAK;;;;AAAyB;;AAC9B;;AAAK;;;;AAAiC;;AACtC;;AAAK;;;;AAAwB;;AAC7B;;AAAK;;;;AAAoB;;AACzB;;AAAK;;;;AAAoB;;AACzB;;AAAK;;;;AAA2B;;AAChC;;AAAK;;;;AAA8B;;AACnC;;AAAK;;;;AAAqB;;AAE9B;;AACR;;AACI;;AACI;;AAoBJ;;AACF;;AACF;;;;;;AA5CoD;;AAAA;;AASnC;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAKJ;;AAAA;;;;;;AAmDL;;AACI;;AAAK;;AAAc;;AACnB;;AAAK;;AAAkB;;AACvB;;AAAK;;AAAyB;;AAC9B;;AAAK;;AAAkB;;AACvB;;AAAK;;;;AAA+B;;AACpC;;AAAK;;AAAiB;;AACtB;;AAAK;;AAAoB;;AACzB;;AAAI;;AAAyB;;AAC7B;;AAAI;;AAAmB;;AAC3B;;;;;;AATS;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACD;;AAAA;;AACA;;AAAA;;;;;;AAnCd;;AACE;;AAEI;;AACE;;AAA0C;;;;AAAkC;;AAEhF;;AAEF;;AAEA;;AACE;;AACE;;AACI;;AAAK;;;;AAAoB;;AACzB;;AAAK;;;;AAAyB;;AAC9B;;AAAK;;;;AAAiC;;AACtC;;AAAK;;;;AAAwB;;AAC7B;;AAAK;;;;AAAoB;;AACzB;;AAAK;;;;AAAoB;;AACzB;;AAAK;;;;AAA2B;;AAChC;;AAAK;;;;AAA8B;;AACnC;;AAAK;;;;AAAqB;;AAE9B;;AACR;;AACI;;AACI;;AAoBJ;;AACF;;AACF;;;;;;AA5CoD;;AAAA;;AASnC;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAKJ;;AAAA;;;;;;AAiDP;;AACI;;AAAK;;AAAc;;AACnB;;AAAK;;AAAkB;;AACvB;;AAAK;;AAAyB;;AAC9B;;AAAK;;AAAkB;;AACvB;;AAAK;;;;AAA+B;;AACpC;;AAAK;;AAAiB;;AACtB;;AAAK;;AAAoB;;AACzB;;AAAI;;AAAyB;;AAC7B;;AAAI;;AAAmB;;AAC3B;;;;;;AATS;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACD;;AAAA;;AACA;;AAAA;;;;;;AAnCd;;AACE;;AAEI;;AACE;;AAA0C;;;;AAAiC;;AAE/E;;AAEF;;AAEA;;AACE;;AACE;;AACI;;AAAK;;;;AAAoB;;AACzB;;AAAK;;;;AAAyB;;AAC9B;;AAAK;;;;AAAiC;;AACtC;;AAAK;;;;AAAwB;;AAC7B;;AAAK;;;;AAAoB;;AACzB;;AAAK;;;;AAAoB;;AACzB;;AAAK;;;;AAA2B;;AAChC;;AAAK;;;;AAA8B;;AACnC;;AAAK;;;;AAAqB;;AAE9B;;AACR;;AACI;;AACI;;AAoBJ;;AACF;;AACF;;;;;;AA5CoD;;AAAA;;AASnC;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAKJ;;AAAA;;;;;;AApLX;;AACI;;AAqDF;;AAkDA;;AACA;;AAiDF;;AAiDF;;AACE;;AAEI;;AACE;;AAA0C;;;;AAAqB;;AAC/D;;AAA+B;;AAA8B;;AAEjE;;AAEF;;AAEJ;;AACI;;;;;;AAtNwC;;AAAA;;AAqDF;;AAAA;;AAmDA;;AAAA;;AAiDF;;AAAA;;AAqDY;;AAAA;;AACX;;AAAA;;;;;;AAlNzC;;AACI;;AACA;;AAyNA;;AACF;;;;;;AA1NmB;;AAAA;;;;QD5EV8pE,kB;AAMT,kCAAoBC,gBAApB,EACY9nB,aADZ,EAEY4Z,UAFZ,EAEsC;AAAA;;AAFlB,aAAAkO,gBAAA,GAAAA,gBAAA;AACR,aAAA9nB,aAAA,GAAAA,aAAA;AACA,aAAA4Z,UAAA,GAAAA,UAAA;AAJZ,aAAAzyB,MAAA,GAA4B,EAA5B;AACA,aAAAszB,KAAA,GAAiB,EAAjB;AAOA,aAAA1zB,WAAA,GAAc,CAAd;AACA,aAAAC,gBAAA,GAAmB,CAAnB;AACA,aAAAC,mBAAA,GAAsB,CAAtB;AACA,aAAAkZ,QAAA,GAAuB,EAAvB;AACA,aAAA3Z,KAAA,GAAM,IAAIvhC,IAAJ,EAAN;AANE,aAAK7E,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACD;;;;mCAMO;AAAA;;AACN;AACE,eAAK6qE,gBAAL,CAAsB3gC,MAAtB,CAA6B,KAAKA,MAAlC,EACCxmC,SADD,CACW,UAAAM,IAAI,EAAI;AACjB,oBAAI,CAACA,IAAL,GAAWA,IAAX;AAEA4W,mBAAO,CAACC,GAAR,CAAY,MAAZ,EAAmB,QAAI,CAAC7W,IAAxB;AACD,WALD;AAMA,eAAK++C,aAAL,CAAmBh/C,MAAnB,GACCL,SADD,CACW,UAAAw/C,QAAQ,EAAE;AACnB,oBAAI,CAACA,QAAL,GAAgBA,QAAhB;AACD,WAHD;AAIF,eAAKyZ,UAAL,CAAgB54D,MAAhB,GACGL,SADH,CACa,UAAAM,IAAI,EAAI;AACf,oBAAI,CAACw5D,KAAL,GAAax5D,IAAb;AACH,WAHH;AAKD;;;iCACK;AAAA;;AACF,eAAK6mE,gBAAL,CAAsB3gC,MAAtB,CAA6B,KAAKA,MAAlC,EACCxmC,SADD,CACW,UAAAM,IAAI,EAAI;AACjB,oBAAI,CAACA,IAAL,GAAWA,IAAX;AAED,WAJD;AAKH;;;sCACU;AACT,cAAIA,IAAI,GAAGmmC,QAAQ,CAACC,cAAT,CAAwB,kBAAxB,CAAX;AACApmC,cAAI,CAACqmC,KAAL,CAAWC,OAAX,GAAqB,cAArB;AACA,6DAAYtmC,IAAZ,EAAiB,EAAjB,EAAqB9E,IAArB,CAA0B,UAAAqrC,MAAM,EAAI;AACpC,gBAAIC,QAAQ,GAAG,GAAf;AACA,gBAAIC,UAAU,GAAG,GAAjB;AACA,gBAAIC,SAAS,GAAGH,MAAM,CAACI,MAAP,GAAgBH,QAAhB,GAA2BD,MAAM,CAACK,KAAlD;AACA,gBAAIC,UAAU,GAAGH,SAAjB;AACA,gBAAMI,cAAc,GAAGP,MAAM,CAACQ,SAAP,CAAiB,WAAjB,CAAvB;AACA,gBAAIC,GAAG,GAAG,IAAI,6CAAJ,CAAU,GAAV,EAAe,IAAf,EAAqB,IAArB,CAAV,CANoC,CAME;;AACtC,gBAAIC,QAAQ,GAAG,CAAf;AACAD,eAAG,CAACE,QAAJ,CAAaJ,cAAb,EAA6B,KAA7B,EAAoC,CAApC,EAAuCG,QAAvC,EAAiDT,QAAjD,EAA2DE,SAA3D;AACAM,eAAG,CAACG,IAAJ,CAAS,cAAT,EAToC,CASV;;AAC1BnnC,gBAAI,CAACqmC,KAAL,CAAWC,OAAX,GAAqB,OAArB,CAVoC,CAYtC;AAEC,WAdC;AAeD;;;gCACI;AACD,cAAIc,aAAJ,EAAmBC,QAAnB;AACAD,uBAAa,GAAGjB,QAAQ,CAACC,cAAT,CAAwB,kBAAxB,EAA4CkB,SAA5D;AACAD,kBAAQ,GAAGE,MAAM,CAACC,IAAP,CAAY,EAAZ,EAAgB,QAAhB,EAA0B,qCAA1B,CAAX;AACAH,kBAAQ,CAAClB,QAAT,CAAkBqB,IAAlB;AACAD,gBAAM,CAACE,KAAP;AAED;;;8CAEkB,CAElB;;;;;;;uBAxEMm/B,kB,EAAkB,qI,EAAA,sJ,EAAA,2J;AAAA,K;;;YAAlBA,kB;AAAkB,iC;AAAA,e;AAAA,c;AAAA,gjD;AAAA;AAAA;ACb/B;;AACI;;AACE;;AACE;;AAEE;;AACE;;AACE;;AAAO;;AAAM;;;;AAA4B;;AAAO;;AAChD;;AAGA;AAAA;AAAA;;;;AAHA;;AAKF;;AACA;;AACE;;AAAO;;AAAM;;;;AAA0B;;AAAO;;AAC9C;;AAGA;AAAA;AAAA;;;;AAHA;;AAKF;;AACA;;AACE;;AAAO;;AAAM;;;;AAA0B;;AAAO;;AAE9C;;AAEA;;AAEF;;AAEA;;AACE;;AAAO;;AAAM;;;;AAAuB;;AAAO;;AAC3C;;AAEA;;AAEF;;AAEA;;AAEA;;AACE;;AAAsB;AAAA,mBAAS,IAAAl/B,MAAA,EAAT;AAAiB,WAAjB;;AAA6E;;;;AAAwB;;AAAS;;AACpI;;AAAsB;AAAA,mBAAS,IAAAD,KAAA,EAAT;AAAgB,WAAhB;;AAA+E;;;;AAAuB;;AAAS;;AACrI;;AAAsB;AAAA,mBAAS,IAAAE,WAAA,EAAT;AAAsB,WAAtB;;AAAkF;;;;AAAqB;;AAAS;;AACtI;;AAAiF;;;;AAAuB;;AAAS;;AAEnH;;AACJ;;AACF;;AACF;;AACF;;AACA;;AACA;;AACE;;AACE;;AACE;;AACE;;AACI;;AAAqD;;;;AAAgC;;AACrF;;AAAqD;;;;AAA+B;;AACpF;;AAAqD;;;;AAA+B;;AAExF;;AACF;;AACF;;AACF;;AAsBF;;AA6NA;;;;AA7SyB;;AAAA;;AAKb;;AAAA;;AADA;;AAIa;;AAAA;;AAKb;;AAAA;;AADA;;AAIa;;AAAA;;AAEqC;;AAAA;;AAEA;;AAAA;;AAKrC;;AAAA;;AACmC;;AAAA;;AAEA;;AAAA;;AAOmD;;AAAA;;AAAiC;;AAAA;;AAC/B;;AAAA;;AAAgC;;AAAA;;AAC7B;;AAAA;;AAA8B;;AAAA;;AACrD;;AAAA;;AAAgC;;AAAA;;AAa5D;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AA2BZ;;AAAA;;;;;;;;;;sED1E1Ci/B,kB,EAAkB;cAL9B,uDAK8B;eALpB;AACP/jE,kBAAQ,EAAE,YADH;AAEPC,qBAAW,EAAE,2BAFN;AAGPC,mBAAS,EAAE,CAAC,2BAAD;AAHJ,S;AAKoB,Q;;;;;;;;;;;;;;;;;;;;;;;;;;AEhB/B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAYa8jE,gB;AACT,gCAAoBlrE,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAIpB,aAAAC,OAAA,GAAU,sEAAYC,UAAtB;AACC,aAAAC,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AAJA;;;;+BAYMoqC,S,EAA2B;AAChC,iBAAO,KAAKvqC,IAAL,CACJe,IADI,WACS,KAAKd,OADd,uBACwCsqC,SADxC,EAC+C,KAAKjqC,WADpD,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;;;;;uBAnBQwqE,gB,EAAgB,uH;AAAA,K;;;aAAhBA,gB;AAAgB,eAAhBA,gBAAgB,K;AAAA,kBAFf;;;;;sEAEDA,gB,EAAgB;cAH5B,wDAG4B;eAHjB;AACV/pE,oBAAU,EAAE;AADF,S;AAGiB,Q;;;;;;;;;;;;;;;;;;;;;;ACT7B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;ACqBY;;AAA8H;AAAA;;AAAA;;AAAA;AAAA;;;;AAC9H;;;;;;AADW;;AAA8D,2FAAkB,SAAlB,EAAkB,sBAAlB;;;;;;;;AAEzE;;AAA6H;AAAA;;AAAA;;AAAA;AAAA;;;;AAC7H;;;;;;AADW;;AAA6D,2FAAkB,SAAlB,EAAkB,sBAAlB;;;;;;;;AAMxE;;AAAyH;AAAA;;AAAA;;AAAA;AAAA;;;;AACzH;;;;;;AADW;;AAA4D,wFAAe,SAAf,EAAe,mBAAf;;;;;;;;AAEvE;;AAAwH;AAAA;;AAAA;;AAAA;AAAA;;;;AACxH;;;;;;AADW;;AAA2D,wFAAe,SAAf,EAAe,mBAAf;;;;;;AAuDpE;;AACI;;AAAgB;;AAAgD;;AAChE;;AAAK;;AAAe;;AACpB;;AAAK;;AAA0B;;AAC/B;;AAAuB;;AAAe;;AAE1C;;;;;;;;AALoB;;AAAA;;AACX;;AAAA;;AACA;;AAAA;;AACkB;;AAAA;;;;;;AAzBrC;;AACI;;AACE;;AACI;;AACI;;AAA0C;;AAA0C;;AAExF;;AAGJ;;AAEA;;AACE;;AACE;;AACI;;AAAgB;;;;AAAmB;;AACnC;;AAAK;;AAA0C;;AAC/C;;AAAK;;;;AAA2B;;AAChC;;AAAuB;;;;AAAuB;;AAClD;;AACR;;AACI;;AACI;;AAOA;;AACE;;AACE;;;;AACF;;AACA;;AAAwB;;AAAe;;AACvC;;AAAwB;;AAA0B;;AAClD;;AAA0C;;AAAe;;AAC3D;;AACJ;;AACF;;AACF;;AAGA;;AAEF;;;;;;;;AAvCwD;;AAAA;;AAU1B;;AAAA;;AACX;;AAAA;;AACA;;AAAA;;AACkB;;AAAA;;AAItB;;AAAA;;AASD;;AAAA;;AAEsB;;AAAA;;AACA;;AAAA;;AACkB;;AAAA;;;;;;AApC1D;;AACI;;AACA;;AA6CA;;AAGA;;AAEA;;AACI;;AACE;;AACE;;;;AACF;;AACA;;AAA2C;;AAAe;;AAC5D;;AACJ;;AACF;;AACA;;;;;;AA3DmB;;AAAA;;AAqDT;;AAAA;;AAEyC;;AAAA;;;;QD3GxCgqE,wB;AAST,wCAAoBC,sBAApB,EACYhoB,aADZ,EAEY4Z,UAFZ,EAEsC;AAAA;;AAFlB,aAAAoO,sBAAA,GAAAA,sBAAA;AACR,aAAAhoB,aAAA,GAAAA,aAAA;AACA,aAAA4Z,UAAA,GAAAA,UAAA;AARZ,aAAA34D,IAAA,GAAgC,EAAhC;AACA,aAAAkmC,MAAA,GAAkC,EAAlC;AACA,aAAAszB,KAAA,GAAiB,EAAjB;AACA,aAAApQ,WAAA,GAAc,CAAd;AACA,aAAA4d,sBAAA,GAAyB,CAAzB;AACA,aAAAC,WAAA,GAAc,CAAd;AAQA,aAAA/nB,QAAA,GAAuB,EAAvB;AACA,aAAA3Z,KAAA,GAAM,IAAIvhC,IAAJ,EAAN;AAJE,aAAK7E,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ;AACD;;;;mCAIO;AAAA;;AACN;AACE,eAAK+qE,sBAAL,CAA4B7gC,MAA5B,CAAmC,KAAKA,MAAxC,EACCxmC,SADD,CACW,UAAAM,IAAI,EAAI;AACjB,oBAAI,CAACA,IAAL,GAAWA,IAAX;;AACA,oBAAI,CAACA,IAAL,CAAUmO,OAAV,CAAkB,UAAAC,OAAO,EAAI;AAC3B,kBAAGA,OAAO,CAACuV,IAAR,IAAgB,CAAnB,EAAqB;AACjB,wBAAI,CAACylC,WAAL,IAAoBh7C,OAAO,CAAC6b,MAA5B;AACA,wBAAI,CAAC+8C,sBAAL,IAA+B54D,OAAO,CAAC84D,iBAAvC;AACA,wBAAI,CAACD,WAAL,IAAoB74D,OAAO,CAAC+4D,MAA5B;AACH,eAJD,MAKM,IAAG/4D,OAAO,CAACuV,IAAR,IAAgB,CAAnB,EAAqB;AACvB,wBAAI,CAACylC,WAAL,IAAoBh7C,OAAO,CAAC6b,MAA5B;AACA,wBAAI,CAAC+8C,sBAAL,IAA+B54D,OAAO,CAAC84D,iBAAvC;AACA,wBAAI,CAACD,WAAL,IAAoB74D,OAAO,CAAC+4D,MAA5B;AACF;AACD,aAXH;;AAYAvwD,mBAAO,CAACC,GAAR,CAAY,MAAZ,EAAmB,QAAI,CAAC7W,IAAxB;AACD,WAhBD;AAiBA,eAAK++C,aAAL,CAAmBh/C,MAAnB,GACCL,SADD,CACW,UAAAw/C,QAAQ,EAAE;AACnB,oBAAI,CAACA,QAAL,GAAgBA,QAAhB;AACD,WAHD;AAIF,eAAKyZ,UAAL,CAAgB54D,MAAhB,GACGL,SADH,CACa,UAAAM,IAAI,EAAI;AACf,oBAAI,CAACw5D,KAAL,GAAax5D,IAAb;AACH,WAHH;AAKD;;;iCACK;AAAA;;AACF,eAAK+mE,sBAAL,CAA4B7gC,MAA5B,CAAmC,KAAKA,MAAxC,EACCxmC,SADD,CACW,UAAAM,IAAI,EAAI;AACjB,oBAAI,CAACA,IAAL,GAAWA,IAAX;AAED,WAJD;AAKH;;;sCACU;AACT,cAAIA,IAAI,GAAGmmC,QAAQ,CAACC,cAAT,CAAwB,kBAAxB,CAAX;AACApmC,cAAI,CAACqmC,KAAL,CAAWC,OAAX,GAAqB,cAArB;AACA,6DAAYtmC,IAAZ,EAAiB,EAAjB,EAAqB9E,IAArB,CAA0B,UAAAqrC,MAAM,EAAI;AACpC,gBAAIC,QAAQ,GAAG,GAAf;AACA,gBAAIC,UAAU,GAAG,GAAjB;AACA,gBAAIC,SAAS,GAAGH,MAAM,CAACI,MAAP,GAAgBH,QAAhB,GAA2BD,MAAM,CAACK,KAAlD;AACA,gBAAIC,UAAU,GAAGH,SAAjB;AACA,gBAAMI,cAAc,GAAGP,MAAM,CAACQ,SAAP,CAAiB,WAAjB,CAAvB;AACA,gBAAIC,GAAG,GAAG,IAAI,6CAAJ,CAAU,GAAV,EAAe,IAAf,EAAqB,IAArB,CAAV,CANoC,CAME;;AACtC,gBAAIC,QAAQ,GAAG,CAAf;AACAD,eAAG,CAACE,QAAJ,CAAaJ,cAAb,EAA6B,KAA7B,EAAoC,CAApC,EAAuCG,QAAvC,EAAiDT,QAAjD,EAA2DE,SAA3D;AACAM,eAAG,CAACG,IAAJ,CAAS,cAAT,EAToC,CASV;;AAC1BnnC,gBAAI,CAACqmC,KAAL,CAAWC,OAAX,GAAqB,OAArB,CAVoC,CAYtC;AAEC,WAdC;AAeD;;;gCACI;AACD,cAAIc,aAAJ,EAAmBC,QAAnB;AACAD,uBAAa,GAAGjB,QAAQ,CAACC,cAAT,CAAwB,kBAAxB,EAA4CkB,SAA5D;AACAD,kBAAQ,GAAGE,MAAM,CAACC,IAAP,CAAY,EAAZ,EAAgB,QAAhB,EAA0B,qCAA1B,CAAX;AACAH,kBAAQ,CAAClB,QAAT,CAAkBqB,IAAlB;AACAD,gBAAM,CAACE,KAAP;AAED;;;8CAEkB,CAElB;;;;;;;uBApFMq/B,wB,EAAwB,kJ,EAAA,sJ,EAAA,2J;AAAA,K;;;YAAxBA,wB;AAAwB,wC;AAAA,e;AAAA,c;AAAA,8mD;AAAA;AAAA;AChBrC;;AACE;;AACE;;AACE;;AACE;;AACE;;AACE;;AAAO;;AAAM;;;;AAA4B;;AAAO;;AAChD;;AAGA;AAAA;AAAA;;;;AAHA;;AAKF;;AACA;;AACE;;AAAO;;AAAM;;;;AAA0B;;AAAO;;AAC9C;;AAGA;AAAA;AAAA;;;;AAHA;;AAKF;;AACA;;AACE;;AAAO;;AAAM;;;;AAA0B;;AAAO;;AAE9C;;AAEA;;AAEF;;AAEA;;AACE;;AAAO;;AAAM;;;;AAAuB;;AAAO;;AAC3C;;AAEA;;AAEF;;AAEA;;AAEA;;AACE;;AAAsB;AAAA,mBAAS,IAAAp/B,MAAA,EAAT;AAAiB,WAAjB;;AAA6E;;;;AAAwB;;AAAS;;AACpI;;AAAsB;AAAA,mBAAS,IAAAD,KAAA,EAAT;AAAgB,WAAhB;;AAA+E;;;;AAAuB;;AAAS;;AACrI;;AAAsB;AAAA,mBAAS,IAAAE,WAAA,EAAT;AAAsB,WAAtB;;AAAkF;;;;AAAqB;;AAAS;;AACtI;;AAAiF;;;;AAAuB;;AAAS;;AAEnH;;AACJ;;AACF;;AACF;;AACF;;AACA;;AACA;;AACE;;AACE;;AACE;;AACE;;AACI;;AAAqD;;;;AAAuC;;AAC5F;;AAAqD;;;;AAA+B;;AACpF;;AAAqD;;;;AAA+B;;AAExF;;AACF;;AACF;;AACF;;AAEF;;AA8DA;;;;AA1HyB;;AAAA;;AAKb;;AAAA;;AADA;;AAIa;;AAAA;;AAKb;;AAAA;;AADA;;AAIa;;AAAA;;AAEqC;;AAAA;;AAEA;;AAAA;;AAKrC;;AAAA;;AACmC;;AAAA;;AAEA;;AAAA;;AAOmD;;AAAA;;AAAiC;;AAAA;;AAC/B;;AAAA;;AAAgC;;AAAA;;AAC7B;;AAAA;;AAA8B;;AAAA;;AACrD;;AAAA;;AAAgC;;AAAA;;AAa5D;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAOZ;;AAAA;;;;;;;;;;sEDlDxCm/B,wB,EAAwB;cALpC,uDAKoC;eAL1B;AACPjkE,kBAAQ,EAAE,mBADH;AAEPC,qBAAW,EAAE,kCAFN;AAGPC,mBAAS,EAAE,CAAC,kCAAD;AAHJ,S;AAK0B,Q;;;;;;;;;;;;;;;;;;;;;;;;;;AEhBrC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAYagkE,sB;AACT,sCAAoBprE,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAIpB,aAAAC,OAAA,GAAU,sEAAYC,UAAtB;AACC,aAAAC,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AAJA;;;;+BAYMoqC,S,EAAiC;AACtC,iBAAO,KAAKvqC,IAAL,CACJe,IADI,WACS,KAAKd,OADd,6BAC8CsqC,SAD9C,EACqD,KAAKjqC,WAD1D,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;;;;;uBAnBQ0qE,sB,EAAsB,uH;AAAA,K;;;aAAtBA,sB;AAAsB,eAAtBA,sBAAsB,K;AAAA,kBAFrB;;;;;sEAEDA,sB,EAAsB;cAHlC,wDAGkC;eAHvB;AACVjqE,oBAAU,EAAE;AADF,S;AAGuB,Q;;;;;;;;;;;;;;;;;;;;;;ACXnC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACsDc;;AACE;;;;AACF;;;;AADE;;AAAA;;;;;;;;AAEF;;AACE;;AAGQ;AAAA;;AAAA;;AAAA;;AAAA,iBAAS,QAAAsqE,gBAAA,gBAAT;AAAsC,SAAtC;;AACN;;AACE;;AACF;;AACF;;AAEA;;AACF;;;;;;;;AATU;;AAAA,qHAAqD,aAArD,EAAqD,kBAArD,EAAqD,IAArD;;AAIJ;;AAAA;;AAIJ;;AAAA;;;;;;AAKF;;AAAuC;;;;AAAuB;;;;AAAvB;;AAAA;;;;;;AACvC;;AAAqC;;AAAgB;;;;;;AAAhB;;AAAA;;;;;;AAIrC;;AAAuC;;;;AAAsB;;;;AAAtB;;AAAA;;;;;;AACvC;;AAAqC;;AAAe;;;;;;AAAf;;AAAA;;;;;;AAEvC;;;;;;AACA;;;;;;AAjCR;;AAEE;;AACE;;AACE;;AACE;;AACE;;AAGA;;AAYF;;AAEA;;AACE;;AACA;;AACF;;AAEA;;AACE;;AACA;;AACF;;AACA;;AACA;;AACF;;AACF;;AACF;;AACA;;;;;;AAjCqB;;AAAA;;AA4BI;;AAAA;;AACP;;AAAA;;;;QD3DXC,6B;AAQT,6CAAoBC,2BAApB,EAA2E;AAAA;;AAAA;;AAAvD,aAAAA,2BAAA,GAAAA,2BAAA;AANpB,aAAA/hC,KAAA,GAAW,IAAIvhC,IAAJ,EAAX;AACA,aAAAnC,IAAA,GAAqC,EAArC;AACA,aAAA2jC,WAAA,GAA4C,EAA5C;AACA,aAAAC,cAAA,GAA+C,EAA/C;AACA,aAAA5tB,SAAA,GAAU,EAAV;AACA,aAAA6tB,QAAA,GAA2B,EAA3B;AAMA,aAAAI,WAAA,GAAc,CAAd;AACA,aAAAC,gBAAA,GAAmB,CAAnB;AACA,aAAAC,mBAAA,GAAsB,CAAtB;AACA,aAAAhmC,IAAA,GAAqC,EAArC;AACA,aAAAimC,MAAA,GAAuC,EAAvC;AACA,aAAAC,MAAA,GAAuC,EAAvC;AA+CE,aAAAqhC,aAAA,GAAc,EAAd;AAkCJ,aAAA/F,SAAA,GAAY,CAAZ;AACA,aAAAzlD,KAAA,GAAQ,CAAR;AA4CD,aAAA0lD,UAAA,GAAa,CAAb;AACA,aAAAC,WAAA,GAAc,IAAI,mEAAJ,CAAuC,UAAAC,IAAI;AAAA,iBAAIA,IAAI,CAACT,QAAT;AAAA,SAA3C,CAAd,CAzI8E,CA0I/E;AACC;;AACA,aAAAW,QAAA,GAAW,UAACC,CAAD,EAAYH,IAAZ;AAAA,iBAAsC,CAAC,CAACA,IAAI,CAACT,QAAP,IAAmBS,IAAI,CAACT,QAAL,CAAc7iE,MAAd,GAAuB,CAA1C,IAA+CsjE,IAAI,CAACr4D,KAAL,GAAW,CAAX,GAAa,QAAI,CAACm4D,UAAvG;AAAA,SAAX,CA5I8E,CA6I9E;;;AAGA,aAAA+F,gBAAA,GAA6B,CAAC,MAAD,EAAS,QAAT,EAAkB,OAAlB,CAA7B;;AAES,aAAAC,WAAA,GAAc,UAAC9F,IAAD,EAAiBr4D,KAAjB,EAAmC;AACvD,iBAAO;AACLo+D,sBAAU,EAAE,CAAC,CAAC/F,IAAI,CAACT,QAAP,IAAmBS,IAAI,CAACT,QAAL,CAAc7iE,MAAd,GAAuB,CADjD;AAEL1B,cAAE,EAAEglE,IAAI,CAAChlE,EAFJ;AAGLyT,gBAAI,EAAEuxD,IAAI,CAACvxD,IAHN;AAIL8tD,sBAAU,EAAEyD,IAAI,CAACzD,UAJZ;AAKLv6C,gBAAI,EAAEg+C,IAAI,CAACh+C,IALN;AAMLra,iBAAK,EAAEA,KANF;AAOLozD,kBAAM,EAACiF,IAAI,CAACjF,MAPP;AAQLD,iBAAK,EAACkF,IAAI,CAAClF;AARN,WAAP;AAWD,SAZO;;AAcR,aAAA2K,gBAAA,GAAmB,IAAI,iEAAJ,CACf,UAAAzF,IAAI;AAAA,iBAAIA,IAAI,CAACr4D,KAAT;AAAA,SADW,EACK,UAAAq4D,IAAI;AAAA,iBAAIA,IAAI,CAAC+F,UAAT;AAAA,SADT,CAAnB;AAGA,aAAAC,aAAA,GAAgB,IAAI,uEAAJ,CACZ,KAAKF,WADO,EACM,UAAA9F,IAAI;AAAA,iBAAIA,IAAI,CAACr4D,KAAT;AAAA,SADV,EAEZ,UAAAq4D,IAAI;AAAA,iBAAIA,IAAI,CAAC+F,UAAT;AAAA,SAFQ,EAEa,UAAA/F,IAAI;AAAA,iBAAIA,IAAI,CAACT,QAAT;AAAA,SAFjB,CAAhB;AAIA,aAAAU,UAAA,GAAa,IAAI,4EAAJ,CAA0B,KAAKwF,gBAA/B,EAAiD,KAAKO,aAAtD,CAAb;;AAIA,aAAAC,aAAA,GAAgB,UAAC9F,CAAD,EAAYH,IAAZ;AAAA,iBAAsCA,IAAI,CAAC+F,UAA3C;AAAA,SAAhB;;AA1KI,aAAKvoE,IAAL,GAAYpD,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAZ,CADyE,CAE3E;AAEC;;;;mCAOO;AAAA;;AACJ,eAAKsrE,2BAAL,CAAiCphC,MAAjC,CAAwC,KAAKA,MAA7C,EACCxmC,SADD,CACW,UAAAM,IAAI,EAAI;AACjB,oBAAI,CAACA,IAAL,GAAYA,IAAZ;AACA4W,mBAAO,CAACC,GAAR,CAAY,WAAZ,EAAwB,QAAI,CAAC7W,IAA7B;AACA,oBAAI,CAACimC,MAAL,GAAcjmC,IAAd;AACA,oBAAI,CAACunE,aAAL,GAAqB,QAAI,CAACM,UAAL,CAAgB,QAAI,CAAC7nE,IAArB,EAA2B,WAA3B,CAArB;AACA,oBAAI,CAAC0lC,QAAL,GAAgB,EAAhB;;AAEE,oBAAI,CAACoiC,aAAL;AACH,WATD;AAWH;;;iCACK;AAAA;;AACJ,eAAKR,2BAAL,CAAiCphC,MAAjC,CAAwC,KAAKA,MAA7C,EACGxmC,SADH,CACa,UAAAM,IAAI,EAAI;AACjB,oBAAI,CAACA,IAAL,GAAYA,IAAZ;AACD,WAHH;AAID;;;sCACU;AACT,cAAIA,IAAI,GAAGmmC,QAAQ,CAACC,cAAT,CAAwB,kBAAxB,CAAX;AACApmC,cAAI,CAACqmC,KAAL,CAAWC,OAAX,GAAqB,cAArB;AACA,6DAAYtmC,IAAZ,EAAiB,EAAjB,EAAqB9E,IAArB,CAA0B,UAAAqrC,MAAM,EAAI;AACpC,gBAAIC,QAAQ,GAAG,GAAf;AACA,gBAAIC,UAAU,GAAG,GAAjB;AACA,gBAAIC,SAAS,GAAGH,MAAM,CAACI,MAAP,GAAgBH,QAAhB,GAA2BD,MAAM,CAACK,KAAlD;AACA,gBAAIC,UAAU,GAAGH,SAAjB;AACA,gBAAMI,cAAc,GAAGP,MAAM,CAACQ,SAAP,CAAiB,WAAjB,CAAvB;AACA,gBAAIC,GAAG,GAAG,IAAI,6CAAJ,CAAU,GAAV,EAAe,IAAf,EAAqB,IAArB,CAAV,CANoC,CAME;;AACtC,gBAAIC,QAAQ,GAAG,CAAf;AACAD,eAAG,CAACE,QAAJ,CAAaJ,cAAb,EAA6B,KAA7B,EAAoC,CAApC,EAAuCG,QAAvC,EAAiDT,QAAjD,EAA2DE,SAA3D;AACAM,eAAG,CAACG,IAAJ,CAAS,cAAT,EAToC,CASV;;AAC1BnnC,gBAAI,CAACqmC,KAAL,CAAWC,OAAX,GAAqB,OAArB,CAVoC,CAYtC;AAEC,WAdC;AAeD;;;gCACI;AACD,cAAIc,aAAJ,EAAmBC,QAAnB;AACAD,uBAAa,GAAGjB,QAAQ,CAACC,cAAT,CAAwB,kBAAxB,EAA4CkB,SAA5D;AACAD,kBAAQ,GAAGE,MAAM,CAACC,IAAP,CAAY,EAAZ,EAAgB,QAAhB,EAA0B,qCAA1B,CAAX;AACAH,kBAAQ,CAAClB,QAAT,CAAkBqB,IAAlB;AACAD,gBAAM,CAACE,KAAP;AAED;;;wCAGY;AAAA;;AACX,eAAK,IAAIr8B,KAAK,GAAG,CAAjB,EAAoBA,KAAK,IAAIa,MAAM,CAAC3Q,IAAP,CAAY,KAAKisE,aAAjB,EAAgClpE,MAA7D,EAAqE+M,KAAK,EAA1E,EAA8E;AAC5E;AACE,gBAAMgD,OAAO,GAAG,KAAKm5D,aAAL,CAAmBn8D,KAAnB,CAAhB;;AACF,gBAAGA,KAAK,IAAI,CAAZ,EAAc;AACZgD,qBAAO,CAACD,OAAR,CAAgB,UAAArJ,KAAK,EAAI;AACvB,wBAAI,CAAC4gC,QAAL,CAAc9jC,IAAd,CAAmB;AACjBjF,oBAAE,EAAGmI,KAAK,CAACnI,EADM;AAEjB2M,uBAAK,EAAGxE,KAAK,CAACq5D,SAFG;AAGjB/tD,sBAAI,EAAG,QAAI,CAACjR,IAAL,IAAY,OAAZ,GAAsB2F,KAAK,CAACc,MAA5B,GAAqCd,KAAK,CAACjH,MAHjC;AAIjBqgE,4BAAU,EAAGp5D,KAAK,CAACo5D,UAJF;AAKjBgD,0BAAQ,EAAG,EALM;AAMjBxE,wBAAM,EAAG53D,KAAK,CAAC43D,MANE;AAOjBD,uBAAK,EAAG33D,KAAK,CAAC23D;AAPG,iBAAnB;AASD,eAVD;AAWD;AACF;;AACD,eAAKiG,eAAL,CAAqB,KAAKh9B,QAA1B;AAEA,eAAKk8B,UAAL,CAAgB5hE,IAAhB,GAAuB,EAAvB;AACA,eAAK4hE,UAAL,CAAgB5hE,IAAhB,GAAuB,KAAK0lC,QAA5B;AAED;;;mCAEI1lC,I,EAAMg3C,G,EAAK;AAClB;AACA,iBAAOh3C,IAAI,CAAC+nE,MAAL,CAAY,UAAUC,EAAV,EAAcxmE,CAAd,EAAiB;AAClC,aAACwmE,EAAE,CAACxmE,CAAC,CAACw1C,GAAD,CAAF,CAAF,GAAagxB,EAAE,CAACxmE,CAAC,CAACw1C,GAAD,CAAF,CAAF,IAAc,EAA5B,EAAgCp1C,IAAhC,CAAqCJ,CAArC;AACA,mBAAOwmE,EAAP;AACD,WAHM,EAGJ,EAHI,CAAP;AAID;;;wCAIcrF,gB,EAAoC;AAAA;;AAClD;AACA/rD,iBAAO,CAACC,GAAR,CAAY,cAAZ,EAA4B,KAAK7W,IAAL,CAAU3B,MAAtC;AACAuY,iBAAO,CAACC,GAAR,CAAY,cAAZ,EAA4B,KAAK2qD,SAAjC;AACA5qD,iBAAO,CAACC,GAAR,CAAY,iBAAZ,EAA+B,KAAK6uB,QAApC;;AAEA,cAAG,KAAK87B,SAAL,IAAkB,KAAKxhE,IAAL,CAAU3B,MAA/B,EAAsC;AACpCuY,mBAAO,CAACC,GAAR,CAAY,6CAAZ;AACA,mBAAO8rD,gBAAP;AACD,WAHD,MAII;AACF/rD,mBAAO,CAACC,GAAR,CAAY,qEAAZ;;AACA,gBAAG,KAAK4qD,UAAL,GAAkB,KAAK1lD,KAA1B,EAAgC;AAC9B,kBAAI6mD,aAAa,GAAsB,EAAvC;;AACA,kBAAGD,gBAAgB,CAACtkE,MAAjB,GAA0B,CAA7B,EAA+B;AAC7BskE,gCAAgB,CAACx0D,OAAjB,CAAyB,UAAAwzD,IAAI,EAAI;AAC/B,0BAAI,CAAC3hE,IAAL,CAAU2B,MAAV,CAAiB,UAAAH,CAAC;AAAA,2BAAEA,CAAC,CAAC08D,UAAF,IAAgByD,IAAI,CAAChlE,EAAvB;AAAA,mBAAlB,EAA6CwR,OAA7C,CAAqD,UAAA00D,SAAS,EAAI;AAChE,wBAAIC,QAAQ,GAAoB,EAAhC;AACAA,4BAAQ,CAACnmE,EAAT,GAAckmE,SAAS,CAAClmE,EAAxB;AACAmmE,4BAAQ,CAAC5B,QAAT,GAAoB,EAApB;AACA4B,4BAAQ,CAACx5D,KAAT,GAAiBq4D,IAAI,CAACr4D,KAAL,GAAa,CAA9B;AACAw5D,4BAAQ,CAAC1yD,IAAT,GAAgB,QAAI,CAACjR,IAAL,IAAY,OAAZ,GAAsB0jE,SAAS,CAACj9D,MAAhC,GAAyCi9D,SAAS,CAAChlE,MAAnE,EACAilE,QAAQ,CAAC5E,UAAT,GAAsB2E,SAAS,CAAC3E,UADhC,EAEA4E,QAAQ,CAACn/C,IAAT,GAAgBk/C,SAAS,CAACrE,WAF1B,EAGAsE,QAAQ,CAACpG,MAAT,GAAkBmG,SAAS,CAACnG,MAH5B,EAIAoG,QAAQ,CAACrG,KAAT,GAAiBoG,SAAS,CAACpG,KAJ3B,EAKAkF,IAAI,CAACT,QAAL,CAAct/D,IAAd,CAAmBkhE,QAAnB,CALA;AAMA,4BAAI,CAACtB,SAAL;AACAoB,iCAAa,CAAChhE,IAAd,CAAmBkhE,QAAnB;AACD,mBAbD;AAcD,iBAfD;AAgBD;;AACD,mBAAK/mD,KAAL;AACA,qBAAO,KAAK2mD,eAAL,CAAqBE,aAArB,CAAP;AACD,aAtBD,MAwBF;AACE;AACD;AAEA;AACF;;;;;;;uBA/IWyE,6B,EAA6B,4J;AAAA,K;;;YAA7BA,6B;AAA6B,6C;AAAA,e;AAAA,c;AAAA,s3C;AAAA;AAAA;ACrB1C;;AACI;;AACE;;AACE;;AAEE;;AACE;;AACE;;AAAO;;AAAM;;;;AAA4B;;AAAO;;AAChD;;AAGA;AAAA;AAAA;;;;AAHA;;AAKF;;AACA;;AACE;;AAAO;;AAAM;;;;AAA0B;;AAAO;;AAC9C;;AAGA;AAAA;AAAA;;;;AAHA;;AAKF;;AACA;;AACE;;AAAsB;AAAA,mBAAS,IAAA3/B,MAAA,EAAT;AAAiB,WAAjB;;AAA6E;;;;AAAwB;;AAAS;;AACpI;;AAAsB;AAAA,mBAAS,IAAAD,KAAA,EAAT;AAAgB,WAAhB;;AAA+E;;;;AAAuB;;AAAS;;AACrI;;AAAsB;AAAA,mBAAS,IAAAE,WAAA,EAAT;AAAsB,WAAtB;;AAAkF;;;;AAAqB;;AAAS;;AACtI;;AAAiF;;;;AAAuB;;AAAS;;AAEnH;;AACJ;;AACF;;AACF;;AACF;;AACA;;AACA;;AACE;;AACE;;AACE;;AACE;;AACI;;AAAqD;;;;AAAiD;;AACtG;;AAAqD;;;;AAA+B;;AACpF;;AAAqD;;;;AAA+B;;AAExF;;AACF;;AACF;;AACF;;AACA;;AA0CF;;;;AAlFyB;;AAAA;;AAKb;;AAAA;;AADA;;AAIa;;AAAA;;AAKb;;AAAA;;AADA;;AAImG;;AAAA;;AAAiC;;AAAA;;AAC/B;;AAAA;;AAAgC;;AAAA;;AAC7B;;AAAA;;AAA8B;;AAAA;;AACrD;;AAAA;;AAAgC;;AAAA;;AAa5D;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAMlC;;AAAA;;;;;;;;;;sED1BpB0/B,6B,EAA6B;cALzC,uDAKyC;eAL/B;AACPxkE,kBAAQ,EAAE,wBADH;AAEPC,qBAAW,EAAE,uCAFN;AAGPC,mBAAS,EAAE,CAAC,uCAAD;AAHJ,S;AAK+B,Q;;;;;;;;;;;;;;;;;;;;;;AEvB1C;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAYaukE,2B;AACT,2CAAoB3rE,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AAIpB,aAAAC,OAAA,GAAU,sEAAYC,UAAtB;AACC,aAAAC,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,OAArB,CAAR;AACA,aAAAC,WAAA,GAAc;AACbC,iBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB;AACA;AACC,6BAAiB,YAAY,KAAKJ,KAHZ;AAItB,4BAAgB;AAJM,WAAhB;AADI,SAAd;AAJA;;;;+BAYMoqC,S,EAAsC;AAC3C,iBAAO,KAAKvqC,IAAL,CACJe,IADI,WACS,KAAKd,OADd,kCACmDsqC,SADnD,EAC0D,KAAKjqC,WAD/D,EAEJG,IAFI,CAEC,kEAAW,UAACC,KAAD;AAAA,mBAAgB,yDAAiB,UAAAA,KAAK;AAAA,qBAAIA,KAAJ;AAAA,aAAtB,CAAhB;AAAA,WAAX,CAFD,CAAP;AAGD;;;;;;;uBAnBQirE,2B,EAA2B,uH;AAAA,K;;;aAA3BA,2B;AAA2B,eAA3BA,2BAA2B,K;AAAA,kBAF1B;;;;;sEAEDA,2B,EAA2B;cAHvC,wDAGuC;eAH5B;AACVxqE,oBAAU,EAAE;AADF,S;AAG4B,Q;;;;;;;;;;;;;;;;;;;;;;ACZxC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;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","file":"main-es5.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","import { environment } from './../../../environments/environment';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { ClientBusinessExtractModel } from './models/client-business-extract.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ClientBusinessExtractService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}ClientBusinessExtract/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getAllWorkItem(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}WorkItem/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getAllContractors(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Contractor/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}ClientBusinessExtract/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n GetLastCode(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}ClientBusinessExtract/GetLastCode`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n GetPreviousDetails(projectId:number,contractorId:number,workItem:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}ClientBusinessExtract/GetPreviousDetails/${projectId}/${contractorId}/${workItem}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n insert(payload: ClientBusinessExtractModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}ClientBusinessExtract/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: ClientBusinessExtractModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}ClientBusinessExtract/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: ClientBusinessExtractModel): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}ClientBusinessExtract/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: ClientBusinessExtractModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}ClientBusinessExtract/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { ModalDirective } from 'ngx-bootstrap/modal';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { DataPaginator } from './../../../../views/invoice/shared/DataPaginator';\nimport { DataSorter } from './../../../../views/invoice/shared/DataSorter';\nimport { DataFilterer } from './../../../../views/invoice/shared/DataFilterer';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Router } from '@angular/router';\nimport { ClientBusinessExtractService } from './../../client-business-extract.service';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { Component, OnInit, Renderer2, ViewChild } from '@angular/core';\nimport { ClientBusinessExtractModel } from '../../models/client-business-extract.model';\n\n@Component({\n selector: 'all-client-business-extracts',\n templateUrl: 'all-client-business-extracts.component.html',\n styleUrls: ['all-client-business-extracts.component.scss']\n})\nexport class AllClientBusinessExtractsComponent implements OnInit {\n constructor(private formBuilder: FormBuilder, private modelService: ClientBusinessExtractService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,private router : Router) {\n }\n currentScreen: any = 'Table';\n \n translationName: string = 'ClientBusinessExtract'\n \n sortableKeys : any[] = [];\n searchableKeys = ['Code'];\n \n modelObject: any = {};\n ogData: ClientBusinessExtractModel [] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n NameEn: new FormControl(),\n Deductions: new FormControl(),\n });\n public lang;\n \n ngOnInit(): void {\n // this.modelService.getAll()\n // .subscribe(data => {\n // this.ogData = data;\n // })\n \n \n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Code', property: 'Code' };\n this.sortableKeys = [\n { label: 'Code', property: 'Code' },\n { label: 'Date', property: 'Date' },\n { label: 'Deductions', property: 'Deductions' },\n { label: 'NameEn', property: 'NameEn' },\n { label: 'BusinessInsurance', property: 'BusinessInsurance' },\n { label: 'Total', property: 'Total' }\n ];\n this.loadData();\n }\n \n //Deletion methods:\n //Customize if needed.\n //Pass the target object as paraMetre if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject(){\n this.modelService.deleteList(this.deletionList).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.finalizeDeletion();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n \n \n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n currentFormMode: string = '';\n currentAction: string = '';\n \n \n //ogData = [];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n \n SelectAllBox: any = false;\n \n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected : any[] = [];\n selectAllState = '';\n itemOrder: any;\n orderAsc: boolean = true;\n \n currentPage = 1;\n savedPage = 0;\n \n \n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n \n loadData() {\n this.currentAction = 'loading';\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.sortData();\n this.loadSearch();\n this.currentAction = '';\n }\n )\n \n }\n \n sortData() {\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n \n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n \n filterData() {\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n \n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n \n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n \n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n \n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n \n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n \n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n \n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n \n isSelected(p: ClientBusinessExtractModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n \n onSelect(item: ClientBusinessExtractModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n \n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n \n @ViewChild('delModal') delModal: ModalDirective;\n showAddNewModalRef(): void {\n this.router.navigate(['app/aio/Construction/create-client-business-extracts/0'])\n }\n \n showInfoModalRef(Id: any): void {\n this.router.navigate(['app/aio/Construction/create-client-business-extracts',Id])\n }\n \n deletionList: any[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n \n SearchTerm: any = '';\n \n \n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n \n this.deletionList = [];\n this.selected = [];\n \n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n \n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n \n loadAllData() {\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.loadSearch();\n }\n )\n }\n \n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n}\n","\n\n
\n
\n
\n \n
\n

\n {{\"ConfirmDel\"+translationName |\n translate}}

\n
\n
\n
\n
\n \n \n \n \n \n
\n
\n
1 && \n deletionList.length === ogData.length\">\n \n \n
\n \n
\n \n \n
\n
\n
\n
\n
\n
\n back\n
\n\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n  \n
\n
\n \n \n
\n
\n \n
\n \n \n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n
\n {{\"Code\" | translate}}\n \n
\n {{\"Date\" | translate}}\n \n
\n {{\"Deductions\" | translate}}\n \n
\n {{\"BusinessInsurance\" | translate}}\n \n
\n {{\"Total\" | translate}}\n \n
\n \n {{\"ResultCount\" | translate}}\n \n \n \n
\n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{obj.Code}}{{obj.Date| date:\"dd/MM/yyyy\"}}{{obj.Deductions}}{{obj.BusinessInsurance }}{{obj.Total }}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { ActivatedRoute, Router } from '@angular/router';\nimport { ClientBusinessExtractDetailsModel } from './../../models/client-business-extract-details.model';\nimport { ClientService } from './../../../../invoices/clients/ClientService';\nimport { ProjectModel } from './../../../../views/invoice/suppliers/model/projectModel';\nimport { ClientModel } from './../../../../views/invoice/clients/ClientModel';\nimport { ClientBusinessExtractModel } from './../../models/client-business-extract.model';\nimport { FormGroup, FormBuilder } from '@angular/forms';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { ProjectService } from '../../../projects/projects.service';\nimport { SidePopupComponent } from 'src/app/views/app/aio/shared/side-popup/side-popup.component';\nimport { WorkItemModel } from 'src/app/Contracting/projects/models/work-item.model';\nimport { ClientBusinessExtractService } from '../../client-business-extract.service';\n@Component({\n selector: 'create-client-business-extract',\n templateUrl: 'create-client-business-extract.component.html',\n styleUrls: ['create-client-business-extract.component.scss']\n})\nexport class CreateClientBusinessExtractComponent implements OnInit{\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent;\n translationName: string = 'Client Business Extract Details';\n currentFormMode: string = 'Add ';\n\n Form:FormGroup;\n ClientBusinessExtract:ClientBusinessExtractModel = {};\n clients:ClientModel[]=[];\n projects:ProjectModel[]=[];\n workItems:WorkItemModel[]=[];\n Id = 0;\n constructor(public router:Router, \n private fb:FormBuilder,\n private clientService:ClientService,\n private projectService:ProjectService,\n private contractorBusinessExtractService:ClientBusinessExtractService,\n private route: ActivatedRoute){\n this.Id = + route.snapshot.paramMap.get('Id');\n }\n createForm():FormGroup{\n return this.fb.group({\n Id:[this.ClientBusinessExtract.Id],\n BusinessInsurance:[this.ClientBusinessExtract.BusinessInsurance],\n ClientId:[this.ClientBusinessExtract.ClientId],\n Code:[this.ClientBusinessExtract.Code],\n Date:[this.ClientBusinessExtract.Date],\n Deductions:[this.ClientBusinessExtract.Deductions],\n ProjectId:[this.ClientBusinessExtract.ProjectId],\n Total:[this.ClientBusinessExtract.Total],\n Details:[this.ClientBusinessExtract.Details],\n })\n }\n detail:ClientBusinessExtractDetailsModel = {};\n DetailsForm:FormGroup;\n createDetailsForm():FormGroup{\n return this.fb.group({\n Id:[this.detail.Id],\n ClientBusinessExtractId:[this.detail.ClientBusinessExtractId],\n Current:[this.detail.Current],\n ExcutionPercentage:[this.detail.ExcutionPercentage],\n Previous:[this.detail.Previous],\n PreviousAndCurrentTotal:[this.detail.PreviousAndCurrentTotal],\n Price:[this.detail.Price],\n TheTotalValue:[this.detail.TheTotalValue],\n ProjectWorkItemId:[this.detail.ProjectWorkItemId],\n Total:[this.detail.Total],\n })\n }\n getContractors(){\n this.projectService.GetWorkItemsWithProjectId(this.Form.get('ProjectId')?.value)\n .subscribe(workItems=>{\n this.workItems = workItems;\n })\n }\n // contractor:ContractorModel=new ContractorModel();\n // selectContractor(){\n // var i = this.Contractors.findIndex(x=>x.Id == this.Form.get('ContractorId').value);\n // if(i > -1){\n\n // this.contractor = this.Contractors[i];\n // }\n // }\n GetPreviousDetails(){\n this.contractorBusinessExtractService.GetPreviousDetails(this.Form.get('ProjectId').value,this.Form.get('ClientId').value,this.DetailsForm.get('ProjectWorkItemId').value)\n .subscribe(data => {\n var itemWorkIndex = this.workItems.findIndex(x=>x.Id == this.DetailsForm.get('ProjectWorkItemId').value);\n var price = 0;\n if(itemWorkIndex > -1){\n price = this.workItems[itemWorkIndex].Cost;\n }\n this.detail = data;\n this.detail.Price = price;\n this.DetailsForm = this.createDetailsForm();\n })\n }\n ngOnInit(): void {\n debugger;\n if(this.Id > 0){\n this.contractorBusinessExtractService.getById(this.Id)\n .subscribe(data => {\n this.ClientBusinessExtract = data;\n this.chooseClient();\n this.clientService.getAll()\n .subscribe(clients => {\n this.clients = clients;\n this.Form = this.createForm();\n })\n })\n }\n else{\n this.contractorBusinessExtractService.GetLastCode()\n .subscribe(data => {\n this.clientService.getAll()\n .subscribe(clients => {\n this.clients = clients;\n this.ClientBusinessExtract = new ClientBusinessExtractModel();\n if(data > 0){\n this.ClientBusinessExtract.Code = data++;\n }\n else{\n this.ClientBusinessExtract.Code = 1;\n }\n this.Form = this.createForm();\n })\n })\n }\n \n \n \n }\n chooseClient(){\n this.projectService.getAll()\n .subscribe(data => {\n this.projects = data;\n })\n }\n AddDetail(){\n this.detail = new ClientBusinessExtractDetailsModel();\n this.ClientBusinessExtract = this.Form.getRawValue();\n if(!this.ClientBusinessExtract.Details){\n this.ClientBusinessExtract.Details = [];\n }\n this.Form = this.createForm();\n this.DetailsForm = this.createDetailsForm();\n this.sideModalRef.show();\n }\n addObject(){\n this.detail = this.DetailsForm.getRawValue();\n var i = this.workItems.findIndex(x=>x.Id == this.detail.ProjectWorkItemId);\n if(i>-1){\n this.detail.itemNameAr = this.workItems[i].NameAr;\n this.detail.itemNameEn = this.workItems[i].NameEn;\n }\n this.ClientBusinessExtract = this.Form.getRawValue();\n this.ClientBusinessExtract.Details?.push(this.detail);\n this.ClientBusinessExtract.Total += this.detail.Total;\n this.Form = this.createForm();\n this.sideModalRef.modalRef.hide();\n }\n changeCurrent(){\n this.detail = this.DetailsForm.getRawValue();\n this.detail.PreviousAndCurrentTotal = +this.detail.Previous + +this.detail.Current;\n this.detail.TheTotalValue = +(this.detail.PreviousAndCurrentTotal * this.detail.Price);\n this.detail.Total = this.detail.TheTotalValue;\n // this.ClientBusinessExtract = this.Form.getRawValue();\n // this.ClientBusinessExtract.Total += this.detail.Total;\n // this.Form = this.createForm();\n this.DetailsForm = this.createDetailsForm();\n }\n ExcutionPercentage(){\n this.detail = this.DetailsForm.getRawValue();\n var discount = this.detail.ExcutionPercentage/100;\n var discountValue = this.detail.Total*discount;\n this.detail.Total -= discountValue;\n // this.ClientBusinessExtract = this.Form.getRawValue();\n // this.ClientBusinessExtract.Total -= discountValue;\n // this.Form = this.createForm();\n this.DetailsForm = this.createDetailsForm();\n }\n Save(){\n debugger\n \n this.ClientBusinessExtract = this.Form.getRawValue();\n if(this.Id == 0){\n this.contractorBusinessExtractService.insert(this.ClientBusinessExtract)\n .subscribe(data => {\n this.router.navigate(['app/aio/Construction/client-business-extracts']);\n })\n }\n else{\n this.contractorBusinessExtractService.update(this.ClientBusinessExtract)\n .subscribe(data => {\n this.router.navigate(['app/aio/Construction/client-business-extracts']);\n })\n }\n \n }\n calcBusinssInsurance(){\n debugger;\n this.ClientBusinessExtract = this.Form.getRawValue();\n var descount = this.ClientBusinessExtract.BusinessInsurance/100;\n var decountValue = this.ClientBusinessExtract.Total*descount;\n this.ClientBusinessExtract.Total -= decountValue;\n this.Form = this.createForm();\n }\n calcDeductions(){\n this.ClientBusinessExtract = this.Form.getRawValue();\n var descount = this.ClientBusinessExtract.Deductions/100;\n var decountValue = this.ClientBusinessExtract.Total*descount;\n this.ClientBusinessExtract.Total -= decountValue;\n this.Form = this.createForm();\n }\n\n}\n","\n
    \n
    \n
    \n
    \n
    {{ 'Create Client Business Extract' | translate }}
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n \n
    \n
    \n \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    {{ 'Business Extract Details' | translate }}
    \n
    \n \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{'Statement'|translate}}{{'Previous'|translate}}{{'Current'|translate}}{{'Total'|translate}}{{'Price'|translate}}{{'The Total Value'|translate}}{{'Execution percentage'|translate}}{{'Total'|translate}}
    {{lang==='ar-EG'?item.itemNameAr:item.itemNameEn}}{{item.Previous}}{{item.Current}}{{item.PreviousAndCurrentTotal}}{{item.Price}}{{item.TheTotalValue}}{{item.ExcutionPercentage}}{{item.Total}}
    \n
    \n
    \n
    \n
    \n\n \n
    \n
    \n
    \n

    \n {{currentFormMode+translationName | translate}}

    \n
    \n
    \n
    \n \n
    \n \n \n
    \n {{\"StatementRequired\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"PreviousRequired\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"CurrentRequired\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"PreviousAndCurrentTotalRequired\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"PriceRequired\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"TheTotalValueRequired\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"ExcutionPercentageRequired\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"TotalRequired\" | translate}}
    \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n","export class ClientBusinessExtractDetailsModel{\r\n Id?: number;\r\n Statement ?: string;\r\n Previous ?: number;\r\n Current ?: number;\r\n PreviousAndCurrentTotal?: number;\r\n Total ?: number;\r\n Price ?: number;\r\n TheTotalValue ?: number;\r\n ClientBusinessExtractId?: number;\r\n ProjectWorkItemId?: number;\r\n ExcutionPercentage?:number;\r\n itemNameAr?:string;\r\n itemNameEn?:string;\r\n constructor(item?:ClientBusinessExtractDetailsModel){\r\n item= item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.Statement = item.Statement ? item.Statement : '';\r\n this.itemNameAr = item.itemNameAr ? item.itemNameAr : '';\r\n this.itemNameEn = item.itemNameEn ? item.itemNameEn : '';\r\n this.Previous = item.Previous ? item.Previous : 0;\r\n this.Current = item.Current ? item.Current : 0;\r\n this.PreviousAndCurrentTotal = item.PreviousAndCurrentTotal ? item.PreviousAndCurrentTotal : 0;\r\n this.Total = item.Total ? item.Total : 0;\r\n this.Price = item.Price ? item.Price : 0;\r\n this.TheTotalValue = item.TheTotalValue ? item.TheTotalValue : 0;\r\n this.ClientBusinessExtractId = item.ClientBusinessExtractId ? item.ClientBusinessExtractId : 0;\r\n this.ExcutionPercentage = item.ExcutionPercentage ? item.ExcutionPercentage : 0;\r\n this.ProjectWorkItemId = item.ProjectWorkItemId ? item.ProjectWorkItemId : 0;\r\n }\r\n}","import { ClientBusinessExtractDetailsModel } from './client-business-extract-details.model';\r\nexport class ClientBusinessExtractModel{\r\n Id?: number;\r\n Code ?: number;\r\n Date ?: Date;\r\n Deductions ?: number;\r\n BusinessInsurance?: number;\r\n Total ?: number;\r\n ClientId ?: number;\r\n ProjectId ?: number;\r\n Details ?:ClientBusinessExtractDetailsModel[];\r\n constructor(item ?: ClientBusinessExtractModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.Code = item.Code ? item.Code : 0;\r\n this.Date = item.Date ? item.Date : new Date();\r\n this.Deductions = item.Deductions ? item.Deductions : 0;\r\n this.BusinessInsurance = item.BusinessInsurance ? item.BusinessInsurance : 0;\r\n this.Total = item.Total ? item.Total : 0;\r\n this.ClientId = item.ClientId ? item.ClientId : 0;\r\n this.ProjectId = item.ProjectId ? item.ProjectId : 0;\r\n this.Details = item.Details ? item.Details : [];\r\n }\r\n}","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-constructionportal',\n templateUrl: './constructionportal.component.html',\n styleUrls: ['./constructionportal.component.scss']\n})\nexport class ConstructionportalComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
    \n
    \n
    \n
    \n
    \n
    \n

    {{\"Contractors\" | translate}}

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

    {{\"WorkItems\" | translate}}

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

    {{\"Projects\" | translate}}

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

    {{\"Clients Extracts\" | translate}}

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

    {{\"Contractors Extracts\" | translate}}

    \n
    \n
    \n
    \n
    \n
    \n
    ","import { ModalDirective } from 'ngx-bootstrap/modal';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { DataPaginator } from './../../../../views/invoice/shared/DataPaginator';\nimport { DataSorter } from './../../../../views/invoice/shared/DataSorter';\nimport { DataFilterer } from './../../../../views/invoice/shared/DataFilterer';\nimport { Component, OnInit, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { ContractingBusinessExtractService } from '../../contractor-business-extract.service';\nimport { ContractingBusinessExtractModel } from '../../models/contractor-business-extract.model';\n\n@Component({\n selector: 'all-contractor-business-extract',\n templateUrl: 'all-contractor-business-extract.component.html',\n styleUrls: ['all-contractor-business-extract.component.scss']\n})\nexport class AllContractorBusinessExtractComponent implements OnInit {\n constructor(private formBuilder: FormBuilder, private modelService: ContractingBusinessExtractService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,private router : Router) {\n }\n currentScreen: any = 'Table';\n \n translationName: string = 'ContractingBusinessExtract'\n \n sortableKeys : any[] = [];\n searchableKeys = ['Code'];\n \n modelObject: any = {};\n ogData: ContractingBusinessExtractModel [] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n NameEn: new FormControl(),\n Deductions: new FormControl(),\n });\n public lang;\n ngOnInit(): void {\n // this.modelService.getAll()\n // .subscribe(data => {\n // this.ogData = data;\n // })\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Code', property: 'Code' };\n this.sortableKeys = [\n { label: 'Code', property: 'Code' },\n { label: 'Date', property: 'Date' },\n { label: 'Deductions', property: 'Deductions' },\n { label: 'BusinessInsurance', property: 'BusinessInsurance' },\n { label: 'Total', property: 'Total' }\n ];\n this.loadData();\n }\n \n //Deletion methods:\n //Customize if needed.\n //Pass the target object as paraMetre if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject(){\n this.modelService.deleteList(this.deletionList).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.finalizeDeletion();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n \n \n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n currentFormMode: string = '';\n currentAction: string = '';\n \n \n //ogData = [];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n \n SelectAllBox: any = false;\n \n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected : any[] = [];\n selectAllState = '';\n itemOrder: any;\n orderAsc: boolean = true;\n \n currentPage = 1;\n savedPage = 0;\n \n \n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n \n loadData() {\n this.currentAction = 'loading';\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.sortData();\n this.loadSearch();\n this.currentAction = '';\n }\n )\n \n }\n \n sortData() {\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n \n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n \n filterData() {\n debugger;\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n \n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n \n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n \n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n \n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n \n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n \n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n \n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n \n isSelected(p: ContractingBusinessExtractModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n \n onSelect(item: ContractingBusinessExtractModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n \n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n \n @ViewChild('delModal') delModal: ModalDirective;\n showAddNewModalRef(): void {\n this.router.navigate(['app/aio/Construction/create-contractor-business-extracts/0'])\n }\n \n showInfoModalRef(Id: any): void {\n this.router.navigate(['app/aio/Construction/create-contractor-business-extracts',Id])\n }\n \n deletionList: any[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n \n SearchTerm: any = '';\n \n \n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n \n this.deletionList = [];\n this.selected = [];\n \n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n \n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n \n loadAllData() {\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.loadSearch();\n }\n )\n }\n \n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n}\n","\n\n\n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n \n
    \n {{\"Code\" | translate}}\n \n
    \n {{\"Date\" | translate}}\n \n
    \n {{\"Deductions\" | translate}}\n \n
    \n {{\"BusinessInsurance\" | translate}}\n \n
    \n {{\"Total\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{obj.Code}}{{obj.Date| date:\"dd/MM/yyyy\"}}{{obj.Deductions}}{{obj.BusinessInsurance }}{{obj.Total}}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { SidePopupComponent } from './../../../../views/invoice/side-popup/side-popup.component';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { ContractingBusinessExtractModel } from '../../models/contractor-business-extract.model';\nimport { ProjectService } from '../../../projects/projects.service';\nimport { ProjectModel } from '../../../projects/models/project.model';\nimport { ContractorModel } from '../../../projects/models/contractor.model';\nimport { ContractingBusinessExtractDetailsModel } from '../../models/contractor-business-extract-details.model';\nimport { ContractingBusinessExtractService } from '../../contractor-business-extract.service';\nimport { ActivatedRoute, Router } from '@angular/router';\n@Component({\n selector: 'create-contractor-business-extract',\n templateUrl: 'create-contractor-business-extract.component.html',\n styleUrls: ['create-contractor-business-extract.component.scss']\n})\nexport class CreateContractorBusinessExtractComponent implements OnInit{\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent;\n translationName: string = 'Client Business Extract Details';\n currentFormMode: string = 'Add ';\n \n Form:FormGroup;\n ContractingBusinessExtract:ContractingBusinessExtractModel = {};\n Contractors:ContractorModel[]=[];\n projects:ProjectModel[]=[];\n Id=0;\n constructor(public router:Router, \n private fb:FormBuilder,\n private projectService:ProjectService,\n private contractorBusinessExtractService:ContractingBusinessExtractService,\n private route: ActivatedRoute){\n this.Id = + route.snapshot.paramMap.get('Id');\n }\n createForm():FormGroup{\n return this.fb.group({\n Id:[this.ContractingBusinessExtract.Id],\n BusinessInsurance:[this.ContractingBusinessExtract.BusinessInsurance],\n ContractorId:[this.ContractingBusinessExtract.ContractorId],\n Code:[this.ContractingBusinessExtract.Code],\n Date:[this.ContractingBusinessExtract.Date],\n Deductions:[this.ContractingBusinessExtract.Deductions],\n ProjectId:[this.ContractingBusinessExtract.ProjectId],\n Total:[this.ContractingBusinessExtract.Total],\n Details:[this.ContractingBusinessExtract.Details],\n })\n }\n detail:ContractingBusinessExtractDetailsModel = {};\n DetailsForm:FormGroup;\n createDetailsForm():FormGroup{\n return this.fb.group({\n Id:[this.detail.Id],\n ContractingBusinessExtractId:[this.detail.ContractingBusinessExtractId],\n Current:[this.detail.Current],\n ExcutionPercentage:[this.detail.ExcutionPercentage],\n Previous:[this.detail.Previous],\n PreviousAndCurrentTotal:[this.detail.PreviousAndCurrentTotal],\n Price:[this.detail.Price],\n TheTotalValue:[this.detail.TheTotalValue],\n ProjectContractorsItemsId:[this.detail.ProjectContractorsItemsId],\n Total:[this.detail.Total],\n })\n }\n getContractors(){\n this.projectService.GetContractorsWithProjectId(this.Form.get('ProjectId')?.value)\n .subscribe(Contractors=>{\n this.Contractors = Contractors;\n \n })\n }\n contractor:ContractorModel=new ContractorModel();\n selectContractor(){\n var i = this.Contractors.findIndex(x=>x.Id == this.Form.get('ContractorId').value);\n if(i > -1){\n\n this.contractor = this.Contractors[i];\n }\n }\n GetPreviousDetails(){\n this.contractorBusinessExtractService.GetPreviousDetails(this.Form.get('ProjectId').value,this.contractor.Id,this.DetailsForm.get('ProjectContractorsItemsId').value)\n .subscribe(data => {\n var itemWorkIndex = this.contractor.SelectedContractorWorkItems.findIndex(x=>x.Id == this.DetailsForm.get('ProjectContractorsItemsId').value);\n var price = 0;\n if(itemWorkIndex > -1){\n price = this.contractor.SelectedContractorWorkItems[itemWorkIndex].Cost;\n }\n this.detail = data;\n this.detail.Price = price;\n this.DetailsForm = this.createDetailsForm();\n })\n }\n ngOnInit(): void {\n if(this.Id > 0){\n this.contractorBusinessExtractService.getById(this.Id)\n .subscribe(data => {\n this.projectService.getAll()\n .subscribe(projects => {\n this.projects = projects;\n this.ContractingBusinessExtract = data;\n this.Form = this.createForm();\n this.getContractors();\n })\n })\n }\n else{\n this.contractorBusinessExtractService.GetLastCode()\n .subscribe(data => {\n this.projectService.getAll()\n .subscribe(projects => {\n this.projects = projects;\n this.ContractingBusinessExtract = new ContractingBusinessExtractModel();\n this.ContractingBusinessExtract.Code = data++;\n this.Form = this.createForm();\n })\n })\n }\n \n \n \n }\n AddDetail(){\n this.detail = new ContractingBusinessExtractDetailsModel();\n this.ContractingBusinessExtract = this.Form.getRawValue();\n if(!this.ContractingBusinessExtract.Details){\n this.ContractingBusinessExtract.Details = [];\n }\n this.Form = this.createForm();\n this.DetailsForm = this.createDetailsForm();\n this.sideModalRef.show();\n }\n addObject(){\n this.detail = this.DetailsForm.getRawValue();\n var i = this.contractor.SelectedContractorWorkItems.findIndex(x=>x.Id == this.detail.ProjectContractorsItemsId);\n if(i>-1){\n this.detail.itemNameAr = this.contractor.SelectedContractorWorkItems[i].NameAr;\n this.detail.itemNameEn = this.contractor.SelectedContractorWorkItems[i].NameEn;\n }\n this.ContractingBusinessExtract = this.Form.getRawValue();\n this.ContractingBusinessExtract.Details?.push(this.detail);\n this.ContractingBusinessExtract.Total += this.detail.Total;\n this.Form = this.createForm();\n this.sideModalRef.modalRef.hide();\n }\n changeCurrent(){\n this.detail = this.DetailsForm.getRawValue();\n this.detail.PreviousAndCurrentTotal = +this.detail.Previous + +this.detail.Current;\n this.detail.TheTotalValue = +(this.detail.PreviousAndCurrentTotal * this.detail.Price);\n this.detail.Total = this.detail.TheTotalValue;\n // this.ContractingBusinessExtract = this.Form.getRawValue();\n // this.ContractingBusinessExtract.Total += this.detail.Total;\n // this.Form = this.createForm();\n this.DetailsForm = this.createDetailsForm();\n }\n ExcutionPercentage(){\n this.detail = this.DetailsForm.getRawValue();\n var discount = this.detail.ExcutionPercentage/100;\n var discountValue = this.detail.Total*discount;\n this.detail.Total -= discountValue;\n // this.ContractingBusinessExtract = this.Form.getRawValue();\n // this.ContractingBusinessExtract.Total -= discountValue;\n // this.Form = this.createForm();\n this.DetailsForm = this.createDetailsForm();\n }\n Save(){\n debugger\n this.ContractingBusinessExtract = this.Form.getRawValue();\n\n this.contractorBusinessExtractService.insert(this.ContractingBusinessExtract)\n .subscribe(data => {\n this.router.navigate(['app/aio/Construction/contractors-business-extracts']);\n })\n }\n calcBusinssInsurance(){\n debugger;\n this.ContractingBusinessExtract = this.Form.getRawValue();\n var descount = this.ContractingBusinessExtract.BusinessInsurance/100;\n var decountValue = this.ContractingBusinessExtract.Total*descount;\n this.ContractingBusinessExtract.Total -= decountValue;\n this.Form = this.createForm();\n }\n calcDeductions(){\n this.ContractingBusinessExtract = this.Form.getRawValue();\n var descount = this.ContractingBusinessExtract.Deductions/100;\n var decountValue = this.ContractingBusinessExtract.Total*descount;\n this.ContractingBusinessExtract.Total -= decountValue;\n this.Form = this.createForm();\n }\n }\n ","\n
    \n
    \n
    \n
    \n
    {{ 'Create Contractor Business Extract' | translate }}
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    {{ 'Business Extract Details' | translate }}
    \n
    \n \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{'Statement'|translate}}{{'Previous'|translate}}{{'Current'|translate}}{{'Total'|translate}}{{'Price'|translate}}{{'The Total Value'|translate}}{{'Execution percentage'|translate}}{{'Total'|translate}}
    {{lang==='ar-EG'?item.itemNameAr:item.itemNameEn}}{{item.Previous}}{{item.PreviousAndCurrentTotal}}{{item.Price}}{{item.TheTotalValue}}{{item.ExcutionPercentage}}{{item.Total}}
    \n
    \n
    \n
    \n
    \n\n \n
    \n
    \n
    \n

    \n {{currentFormMode+translationName | translate}}

    \n
    \n
    \n
    \n \n
    \n \n \n
    \n {{\"StatementRequired\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"PreviousRequired\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"CurrentRequired\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"PreviousAndCurrentTotalRequired\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"PriceRequired\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"TheTotalValueRequired\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"ExcutionPercentageRequired\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"TotalRequired\" | translate}}
    \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n","import { environment } from './../../../environments/environment';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { ContractingBusinessExtractModel } from './models/contractor-business-extract.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ContractingBusinessExtractService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}ContractingBusinessExtract/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getAllWorkItem(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}WorkItem/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getAllContractors(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Contractor/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}ContractingBusinessExtract/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n GetLastCode(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}ContractingBusinessExtract/GetLastCode`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n GetPreviousDetails(projectId:number,contractorId:number,workItem:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}ContractingBusinessExtract/GetPreviousDetails/${projectId}/${contractorId}/${workItem}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n insert(payload: ContractingBusinessExtractModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}ContractingBusinessExtract/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: ContractingBusinessExtractModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}ContractingBusinessExtract/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: ContractingBusinessExtractModel): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}ContractingBusinessExtract/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: ContractingBusinessExtractModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}ContractingBusinessExtract/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","export class ContractingBusinessExtractDetailsModel{\r\n Id?: number;\r\n ProjectContractorsItemsId ?: number;\r\n Previous ?: number;\r\n Current ?: number;\r\n PreviousAndCurrentTotal ?: number;\r\n Total ?: number;\r\n Price ?: number;\r\n TheTotalValue ?: number;\r\n ExcutionPercentage ?: number;\r\n ContractingBusinessExtractId?: number;\r\n itemNameEn?:string;\r\n itemNameAr?:string;\r\n constructor(item ?: ContractingBusinessExtractDetailsModel){\r\n item = item ? item :{};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.ProjectContractorsItemsId = item.ProjectContractorsItemsId ? item.ProjectContractorsItemsId : 0;\r\n this.Previous = item.Previous ? item.Previous : 0;\r\n this.Current = item.Current ? item.Current : 0;\r\n this.PreviousAndCurrentTotal = item.PreviousAndCurrentTotal ? item.PreviousAndCurrentTotal : 0;\r\n this.Total = item.Total ? item.Total : 0;\r\n this.Price = item.Price ? item.Price : 0;\r\n this.TheTotalValue = item.TheTotalValue ? item.TheTotalValue : 0;\r\n this.ExcutionPercentage = item.ExcutionPercentage ? item.ExcutionPercentage : 0;\r\n this.ContractingBusinessExtractId = item.ContractingBusinessExtractId ? item.ContractingBusinessExtractId : 0;\r\n this.itemNameEn = item.itemNameEn ? item.itemNameEn : '';\r\n this.itemNameAr = item.itemNameAr ? item.itemNameAr : '';\r\n }\r\n}","import { ContractingBusinessExtractDetailsModel } from \"./contractor-business-extract-details.model\";\r\n\r\nexport class ContractingBusinessExtractModel{\r\n Id?: number;\r\n Code ?: number;\r\n Date ?: Date;\r\n Deductions ?: number;\r\n BusinessInsurance?: number;\r\n Total ?: number;\r\n ContractorId ?: number;\r\n ProjectId ?: number;\r\n Details ?:ContractingBusinessExtractDetailsModel[];\r\n constructor(item ?: ContractingBusinessExtractModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.Code = item.Code ? item.Code : 0;\r\n this.Date = item.Date ? item.Date : new Date();\r\n this.Deductions = item.Deductions ? item.Deductions : 0;\r\n this.BusinessInsurance = item.BusinessInsurance ? item.BusinessInsurance : 0;\r\n this.Total = item.Total ? item.Total : 0;\r\n this.ContractorId = item.ContractorId ? item.ContractorId : 0;\r\n this.ProjectId = item.ProjectId ? item.ProjectId : 0;\r\n this.Details = item.Details ? item.Details : [];\r\n }\r\n}","import { ContractorWorkItemModel } from \"./ContractorWorkItemModel\";\r\n\r\nexport class ContractorModel{\r\n Id?:number;\r\n Code?:string;\r\n NameAr?:string;\r\n NameEn?:string;\r\n IdNumber?:string;\r\n TaxCard?:string;\r\n CommercialRegister?:string;\r\n Nationality?:string;\r\n Phone?:string;\r\n BankAccount?:string;\r\n Description?:string;\r\n CountryId?:number;\r\n CountryAr?:string;\r\n CountryEn?:string;\r\n CityId?:number;\r\n CityAr?:string;\r\n CityEn?:string;\r\n Governorate?:string;\r\n Street?:string;\r\n Landmark?:string;\r\n BuildingNumber?:string;\r\n Floor?:string;\r\n Room?:string;\r\n ZipCode?:string;\r\n ContractorWorkItems?:ContractorWorkItemModel[];\r\n \r\n constructor(obj?:ContractorModel){\r\n obj = obj? obj:{};\r\n this.Id = obj.Id? obj.Id:0;\r\n this.Code = obj.Code? obj.Code:'';\r\n this.NameAr = obj.NameAr? obj.NameAr:'';\r\n this.NameEn = obj.NameEn? obj.NameEn:'';\r\n this.IdNumber = obj.IdNumber? obj.IdNumber:'';\r\n this.TaxCard = obj.TaxCard? obj.TaxCard:'';\r\n this.CommercialRegister = obj.CommercialRegister? obj.CommercialRegister:'';\r\n this.Nationality = obj.Nationality? obj.Nationality:'';\r\n this.BankAccount = obj.BankAccount? obj.BankAccount:'';\r\n this.Phone = obj.Phone? obj.Phone:'';\r\n this.Description = obj.Description? obj.Description:'';\r\n this.CountryId = obj.Id? obj.CountryId:null;\r\n this.CountryAr = obj.NameAr? obj.CountryAr:'';\r\n this.CountryEn = obj.NameAr? obj.CountryEn:'';\r\n this.CityId = obj.CityId? obj.CityId:1;\r\n this.CityAr = obj.NameAr? obj.CityAr:'';\r\n this.CityEn = obj.NameAr? obj.CityEn:'';\r\n this.Governorate = obj.Governorate? obj.Governorate:'';\r\n this.Landmark = obj.Landmark? obj.Landmark:'';\r\n this.Street = obj.Street? obj.Street:'';\r\n this.BuildingNumber = obj.BuildingNumber? obj.BuildingNumber:'';\r\n this.Floor = obj.Floor? obj.Floor:'';\r\n this.Room = obj.Room? obj.Room:'';\r\n this.ZipCode = obj.ZipCode? obj.ZipCode:'';\r\n this.ContractorWorkItems = obj.ContractorWorkItems? obj.ContractorWorkItems:[];\r\n }\r\n\r\n}","import { ContractorModel } from './../projects/models/contractor.model';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ContractorService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n // baseUrl = 'http://localhost:60289/';\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Contractor/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Contractor/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: ContractorModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}Contractor/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: ContractorModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}Contractor/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: ContractorModel): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}Contractor/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: ContractorModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}Contractor/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","\r\nexport class ContractorWorkItemModel {\r\n Id?: number;\r\n ContractorId?: number;\r\n ContractorAr?: string;\r\n ContractorEn?: string;\r\n WorkItemId?: number;\r\n NameAr?: string;\r\n NameEn?: string;\r\n ParentId?: number;\r\n ParentAr?: string;\r\n ParentEn?: string;\r\n Level?: number;\r\n\r\n\r\n constructor(obj?: ContractorWorkItemModel) {\r\n obj = obj ? obj : {};\r\n this.Id = obj.Id ? obj.Id : 0;\r\n this.ContractorId = obj.ContractorId ? obj.ContractorId : 0;\r\n this.ContractorAr = obj.ContractorAr ? obj.ContractorAr : '';\r\n this.ContractorEn = obj.ContractorEn ? obj.ContractorEn : '';\r\n this.WorkItemId = obj.WorkItemId ? obj.WorkItemId : 0;\r\n this.NameAr = obj.NameAr ? obj.NameAr : '';\r\n this.NameEn = obj.NameEn ? obj.NameEn : '';\r\n this.ParentId = obj.ParentId ? obj.ParentId : 0;\r\n this.ParentAr = obj.ParentAr ? obj.ParentAr : '';\r\n this.ParentEn = obj.ParentEn ? obj.ParentEn : '';\r\n this.Level = obj.Level ? obj.Level : 0;\r\n }\r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ContractorWorkItemModel } from './ContractorWorkItemModel';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ContractorWorkItemService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n // baseUrl = 'http://localhost:60289/';\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}ContractorWorkItem/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}ContractorWorkItem/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: ContractorWorkItemModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}ContractorWorkItem/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: ContractorWorkItemModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}ContractorWorkItem/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: ContractorWorkItemModel): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}ContractorWorkItem/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: ContractorWorkItemModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}ContractorWorkItem/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","\nimport { WorkItemService } from './../workitems/WorkItemService';\nimport { ContractorService } from './ContractorService';\nimport { Component, HostBinding, Input, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\nimport { CityModel } from 'src/app/views/app/aio/shared/Shared Objects/citymodel';\nimport { CountryModel } from 'src/app/views/app/aio/shared/Shared Objects/countrymodel';\nimport { CityServes } from 'src/app/views/app/aio/shared/Shared Objects/cityServes';\nimport { CountryServes } from 'src/app/views/app/aio/shared/Shared Objects/countryServes';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from 'src/app/views/app/aio/shared/side-popup/side-popup.component';\nimport { Observable } from 'rxjs';\nimport { ContractorWorkItemService } from './ContractorWorkItemService'\nimport { NgSelectComponent } from '@ng-select/ng-select';\nimport { CodingUnitService } from 'src/app/invoices/coding-units/CodingUnitService';\nimport { TableEngine } from 'src/app/invoices/TableEngine';\nimport { CodingUnitModel } from 'src/app/invoices/coding-units/CodingUnitModel';\nimport { ContractorModel } from './ContractorModel';\nimport { ContractorWorkItemModel } from './ContractorWorkItemModel';\nimport { WorkItemModel } from '../workitems/WorkItemModel';\n@Component({\n selector: 'app-contractors',\n templateUrl: './contractors.component.html',\n styleUrls: ['./contractors.component.scss']\n})\nexport class ContractorsComponent {\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n\n constructor(private formBuilder: FormBuilder, private modelService: ContractorService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService\n , private cityService: CityServes, private countryService: CountryServes\n , private workItemService: WorkItemService, private contractorWorkItemService: ContractorWorkItemService\n ,private codingUnitService: CodingUnitService\n ) {\n }\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n tableView: any = true;\n\n \n\n translationName: string = 'Contractor'\n\n sortableKeys = [];\n searchableKeys = ['NameEn', 'NameAr', 'IdNumber', 'Phone'];\n\n modelObject: ContractorModel = new ContractorModel();\n\n ogData: ContractorModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Code: new FormControl(),\n NameEn: new FormControl(),\n NameAr: new FormControl(),\n TaxCard: new FormControl(),\n CommercialRegister: new FormControl(),\n IdNumber: new FormControl(),\n Nationality: new FormControl(),\n Phone: new FormControl(),\n BankAccount: new FormControl(),\n Description: new FormControl(),\n CountryId: new FormControl(),\n CityId: new FormControl(),\n Governorate: new FormControl(),\n Street: new FormControl(),\n Landmark: new FormControl(),\n BuildingNumber: new FormControl(),\n Floor: new FormControl(),\n Room: new FormControl(),\n ZipCode: new FormControl(),\n });\n\n\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'ContractorName', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' };\n this.sortableKeys = [\n { label: 'ContractorCode', property: 'Code' },\n { label: 'ContractorName', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' },\n { label: 'ContractorIdNumber', property: 'IdNumber' },\n { label: 'ContractorCommercialRegister', property: 'CommercialRegister' },\n { label: 'ContractorTaxCard', property: 'TaxCard' },\n { label: 'ContractorNationality', property: 'Nationality' },\n { label: 'ContractorPhone', property: 'Phone' },\n { label: 'ContractorBankAccount', property: 'BankAccount' },\n { label: 'ContractorDescription', property: 'Description' },\n { label: 'ContractorCountry', property: this.lang === 'ar-EG' ? 'CountryAr' : 'CountryEn' },\n { label: 'ContractorCity', property: this.lang === 'ar-EG' ? 'CityAr' : 'CityEn' },\n { label: 'ContractorGovernorate', property: 'Governorate' },\n { label: 'ContractorStreet', property: 'Street' },\n { label: 'ContractorLandmark', property: 'Landmark' },\n { label: 'ContractorBuildingNumber', property: 'BuildingNumber' },\n { label: 'ContractorBuildingFloor', property: 'Floor' },\n { label: 'ContractorBuildingRoom', property: 'Room' },\n { label: 'ContractorZipCode', property: 'ZipCode' }\n ];\n this.loadServices();\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n }\n\n showModal(Id, action) {\n \n if (action === 'Add') {\n this.addedItemList = [];\n this.newItemInternalId = 0;\n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n }\n else if (action === 'Edit') {\n this.addedItemList = this.tableEngine.ogData.find(i => i.Id === Id).ContractorWorkItems;\n this.newItemInternalId = 0;\n let tempItem: ContractorWorkItemModel;\n for (let index = 0; index < this.addedItemList.length; index++) {\n tempItem = new WorkItemModel();\n tempItem.ParentAr = tempItem.ParentId>0?tempItem.ParentAr:tempItem.NameAr;\n tempItem.ParentEn = tempItem.ParentId>0?tempItem.ParentEn:tempItem.NameEn;\n tempItem.NameAr = tempItem.ParentId>0?tempItem.NameAr:\"\";\n tempItem.NameEn = tempItem.ParentId>0?tempItem.NameEn:\"\";\n tempItem.WorkItemId = tempItem.ParentId>0?tempItem.WorkItemId:0;\n tempItem.ParentId = tempItem.ParentId>0?tempItem.ParentId:tempItem.WorkItemId;\n \n //tempItem.Id = this.newItemInternalId;\n //tempItem.ContractorId = 0;\n this.newItemInternalId = tempItem.Id+1;\n }\n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder)\n }\n else if (action === 'Info') {\n this.addedItemList = this.tableEngine.ogData.find(i => i.Id === Id).ContractorWorkItems;\n this.newItemInternalId = 0;\n let tempItem: ContractorWorkItemModel;\n for (let index = 0; index < this.addedItemList.length; index++) {\n tempItem = new WorkItemModel();\n tempItem = this.addedItemList[index];\n tempItem.ParentAr = tempItem.ParentId>0?tempItem.ParentAr:tempItem.NameAr;\n tempItem.ParentEn = tempItem.ParentId>0?tempItem.ParentEn:tempItem.NameEn;\n tempItem.NameAr = tempItem.ParentId>0?tempItem.NameAr:\"\";\n tempItem.NameEn = tempItem.ParentId>0?tempItem.NameEn:\"\";\n tempItem.WorkItemId = tempItem.ParentId>0?tempItem.WorkItemId:0;\n tempItem.ParentId = tempItem.ParentId>0?tempItem.ParentId:tempItem.WorkItemId;\n \n //tempItem.Id = this.newItemInternalId;\n //tempItem.ContractorId = 0;\n this.newItemInternalId = tempItem.Id+1;\n }\n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder)\n }\n //this.currentScreen = \"Form\";\n this.tableView = false;\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n }\n\n createForm(modelObject, formBuilder): FormGroup {\n return formBuilder.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n Code: [modelObject.Code, Validators.compose([Validators.required, Validators.pattern(/^\\d+$/)])],\n NameEn: [modelObject.NameEn, Validators.compose([Validators.required, Validators.minLength(2)])],\n NameAr: [modelObject.NameAr, Validators.compose([Validators.required, Validators.pattern(/^[\\u0621-\\u064A\\u0660-\\u06690-9]+([\\s]*[\\u0621-\\u064A\\u0660-\\u06690-9]+)*$/)])],\n \n IdNumber: [modelObject.IdNumber, Validators.compose([Validators.required, Validators.minLength(2)])],\n TaxCard: [modelObject.TaxCard, Validators.compose([Validators.required, Validators.minLength(2)])],\n CommercialRegister: [modelObject.CommercialRegister, Validators.compose([Validators.required, Validators.minLength(2)])],\n Nationality: [modelObject.Nationality, Validators.compose([Validators.required, Validators.minLength(2)])],\n \n Phone: [modelObject.Phone, Validators.compose([Validators.required, Validators.pattern(/^\\d{11}$/)])],\n BankAccount: [modelObject.BankAccount, Validators.compose([Validators.required, Validators.minLength(2)])],\n Description: [modelObject.Description, Validators.compose([Validators.minLength(2)])],\n CountryId: [modelObject.CountryId, Validators.compose([Validators.required])],\n CityId: [modelObject.CityId, Validators.compose([Validators.required])],\n Governorate: [modelObject.Governorate, Validators.compose([Validators.required, Validators.minLength(2)])],\n Street: [modelObject.Street, Validators.compose([Validators.required, Validators.minLength(2)])],\n Landmark: [modelObject.Landmark, Validators.compose([Validators.minLength(2)])],\n BuildingNumber: [modelObject.BuildingNumber, Validators.compose([Validators.required, Validators.pattern(/^\\d+$/)])],\n Floor: [modelObject.Floor, Validators.compose([Validators.minLength(2)])],\n Room: [modelObject.Room, Validators.compose([Validators.minLength(2)])],\n ZipCode: [modelObject.ZipCode, Validators.compose([Validators.required, Validators.pattern(/^\\d{5}$/)])],\n });\n }\n\n addObject() {\n this.currentAction = 'loading';\n\n this.modelObject = new ContractorModel();\n this.modelObject.Id = 0;\n this.modelObject.Code = this.mainForm.getRawValue().Code;\n this.modelObject.NameEn = this.mainForm.getRawValue().NameEn;\n this.modelObject.NameAr = this.mainForm.getRawValue().NameAr;\n this.modelObject.IdNumber = this.mainForm.getRawValue().IdNumber;\n this.modelObject.CommercialRegister = this.mainForm.getRawValue().CommercialRegister;\n this.modelObject.TaxCard = this.mainForm.getRawValue().TaxCard;\n this.modelObject.Nationality = this.mainForm.getRawValue().Nationality;\n this.modelObject.Phone = this.mainForm.getRawValue().Phone;\n this.modelObject.BankAccount = this.mainForm.getRawValue().BankAccount;\n this.modelObject.Description = this.mainForm.getRawValue().Description;\n this.modelObject.CountryId = this.mainForm.getRawValue().CountryId;\n this.modelObject.CityId = this.mainForm.getRawValue().CityId;\n this.modelObject.Governorate = this.mainForm.getRawValue().Governorate;\n this.modelObject.Street = this.mainForm.getRawValue().Street;\n this.modelObject.Landmark = this.mainForm.getRawValue().Landmark;\n this.modelObject.BuildingNumber = this.mainForm.getRawValue().BuildingNumber;\n this.modelObject.Floor = this.mainForm.getRawValue().Floor;\n this.modelObject.Room = this.mainForm.getRawValue().Room;\n this.modelObject.ZipCode = this.mainForm.getRawValue().ZipCode;\n\n let tempList: ContractorWorkItemModel[] = [];\n let tempItem: ContractorWorkItemModel;\n for (let index = 0; index < this.addedItemList.length; index++) {\n tempItem = new WorkItemModel();\n tempItem.Id = 0;\n tempItem.ContractorId = 0;\n tempItem.WorkItemId = this.addedItemList[index].Id>0?this.addedItemList[index].Id:this.addedItemList[index].ParentId;\n tempList.push(tempItem)\n }\n this.modelObject.ContractorWorkItems = tempList;\n this.executeAddObject();\n }\n\n executeAddObject() {\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n if(this.sideModalRef === undefined){\n if(this.smallModal != undefined){\n this.tableEngine.smallModal.hide();\n }\n else{\n this.tableView = this.prevAction==='AddThenNew'?false:true;\n }\n }\n else{\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n\n editObject() {\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n\n let tempList: ContractorWorkItemModel[] = [];\n let tempItem: ContractorWorkItemModel;\n for (let index = 0; index < this.addedItemList.length; index++) {\n let addeditem = this.addedItemList[index];\n tempItem = new WorkItemModel();\n tempItem.Id = 0;\n tempItem.ContractorId = 0;\n tempItem.WorkItemId = addeditem.WorkItemId>0?this.addedItemList[index].WorkItemId:this.addedItemList[index].ParentId;\n tempList.push(tempItem)\n }\n \n let tempObj = new ContractorModel({\n Id: this.modelObject.Id,\n Code: this.mainForm.getRawValue().Code,\n NameEn: this.mainForm.getRawValue().NameEn,\n NameAr: this.mainForm.getRawValue().NameAr,\n IdNumber: this.mainForm.getRawValue().IdNumber,\n CommercialRegister: this.mainForm.getRawValue().CommercialRegister,\n TaxCard: this.mainForm.getRawValue().TaxCard,\n Nationality: this.mainForm.getRawValue().Nationality,\n Phone: this.mainForm.getRawValue().Phone,\n BankAccount: this.mainForm.getRawValue().BankAccount,\n Description: this.mainForm.getRawValue().Description,\n CountryId: this.mainForm.getRawValue().CountryId,\n CityId: this.mainForm.getRawValue().CityId,\n Governorate: this.mainForm.getRawValue().Governorate,\n Street: this.mainForm.getRawValue().Street,\n Landmark: this.mainForm.getRawValue().Landmark,\n BuildingNumber: this.mainForm.getRawValue().BuildingNumber,\n Floor: this.mainForm.getRawValue().Floor,\n Room: this.mainForm.getRawValue().Room,\n ZipCode: this.mainForm.getRawValue().ZipCode,\n ContractorWorkItems: tempList\n \n });\n\n if (JSON.stringify(tempObj) != JSON.stringify(this.modelObject)) {\n this.executeEditObject(tempObj);\n }\n else {\n if(this.sideModalRef === undefined){\n if(this.smallModal != undefined){\n this.tableEngine.smallModal.hide();\n }\n }\n else{\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n }\n\n executeEditObject(Object) {\n \n let tempList: ContractorWorkItemModel[] = [];\n let tempItem: ContractorWorkItemModel;\n for (let index = 0; index < this.addedItemList.length; index++) {\n tempItem = new WorkItemModel();\n tempItem.Id = 0;\n tempItem.ContractorId = Object.Id;\n tempItem.WorkItemId = this.addedItemList[index].Id>0?this.addedItemList[index].Id:this.addedItemList[index].ParentId;\n tempList.push(tempItem)\n }\n this.modelObject.ContractorWorkItems = tempList;\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n\n if(this.sideModalRef === undefined){\n if(this.smallModal != undefined){\n this.tableEngine.smallModal.hide();\n }\n else{\n this.tableView = true;\n }\n }\n else{\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n prevAction = '';\n addAndNew(){\n this.prevAction = 'AddThenNew';\n this.addObject();\n this.showModal(null,'Add');\n }\n loadServices() {\n this.currentAction = 'loading';\n \n this.countryService.getAll().subscribe(\n countryData => {\n this.countryList = countryData;\n this.cityService.getAll().subscribe(\n cityData => {\n this.cityList = cityData;\n this.tableEngine.loadData();\n }\n )\n }\n )\n this.codingUnitService.getAll().subscribe(\n codingUnitData => {\n this.codingUnitList = codingUnitData;\n this.workItemService.getAll().subscribe(\n workItemData => {\n this.workItemList = workItemData;\n this.contractorWorkItemService.getAll().subscribe(\n contractorWorkItemData => {\n this.contractorWorkItemList = contractorWorkItemData;\n }\n )\n }\n )\n }\n )\n \n }\n cityList: CityModel[] = [];\n countryList: CountryModel[] = [];\n getCountryById(Id: any): any {\n if(Id > 0){\n return this.countryList.find(i => i.Id === Id);\n }\n else{\n return new CountryModel();\n }\n }\n getCityById(Id: any): any {\n return this.cityList.find(i => i.Id === Id);\n }\n workItemList: WorkItemModel[] = [];\n codingUnitList: CodingUnitModel[] = [];\n contractorWorkItemList: ContractorWorkItemModel[] = [];\n addedItemList: ContractorWorkItemModel[] = [];\n subItemList: WorkItemModel[] = [];\n contractorWorkItemForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n WorkItemId: new FormControl(),\n ParentId: new FormControl(),\n });\n contractorWorkItemObject: ContractorWorkItemModel = null;\n getUnityById(Id: any): any {\n return this.codingUnitList.find(i => i.Id === Id);\n }\n getWorkItemById(Id: any): any {\n return this.workItemList.find(i => i.Id === Id);\n }\n createContractorWorkItemForm(contractorWorkItemObject, formBuilder): FormGroup {\n return formBuilder.group({\n Id: [contractorWorkItemObject.Id >= 0 ? contractorWorkItemObject.Id : 0],\n WorkItemId: [contractorWorkItemObject.WorkItemId, Validators.compose([Validators.required])],\n ParentId: [contractorWorkItemObject.ParentId, Validators.compose([Validators.required])],\n });\n }\n newWorkItem: WorkItemModel = null;\n newWorkItemId: number = null;\n newWorkItemParentId: number = null;\n newItemInternalId= 0;\n @ViewChild(NgSelectComponent) subItemSelect: NgSelectComponent;\n changeParent(){\n this.subItemList = [new WorkItemModel({Id:0, NameAr:'لا يوجد', NameEn:'WorkItemNoSub'})];\n this.newWorkItemId = null;\n \n this.subItemList = this.subItemList.concat(this.workItemList.filter(x=>x.ParentId===this.newWorkItemParentId));\n }\n addContractorWorkItem(): any {\n let parent = this.getWorkItemById(this.newWorkItemParentId);\n let sub = this.newWorkItemId>0?this.getWorkItemById(this.newWorkItemId):new WorkItemModel();\n let temp = new ContractorWorkItemModel({\n Id: this.newItemInternalId,\n WorkItemId: sub.Id,\n NameAr: sub.NameAr,\n NameEn: sub.NameEn,\n ParentId: parent.Id,\n ParentAr: parent.NameAr,\n ParentEn: parent.NameEn,\n Level: 0\n });\n this.addedItemList = this.addedItemList.concat(temp)\n this.newItemInternalId = this.newItemInternalId + 1;\n this.newWorkItemId = null;\n this.subItemList = [];\n this.newWorkItemParentId = null;\n }\n removeContractorWorkItem(Id: any): any {\n let index = this.addedItemList.findIndex(x=>x.Id === Id);\n this.addedItemList.splice(index,1)\n \n //this.addedItemList = this.addedItemList.slice(0,index-1).concat(this.addedItemList.slice(index));\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepChangeSort(sortKey){\n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n}\n","
    \n
    \n
    \n\n
    \n \n \n \n \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"ContractorNameArRequired\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"ContractorNameEnRequired\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"ContractorCodeRequired\" | translate}}
    \n \n
    \n
    \n\n
    \n\n
    \n
    \n \n \n \n
    \n {{\"ContractorPhoneRequired\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"ContractorNationalityRequired\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"ContractorBankAccountRequired\" | translate}}
    \n \n
    \n
    \n\n
    \n \n
    \n
    \n \n \n \n
    \n {{\"ContractorIdNumberRequired\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"ContractorCommercialRegisterRequired\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"ContractorTaxCardRequired\" | translate}}
    \n \n
    \n
    \n\n
    \n \n
    \n
    \n \n
    \n \n \n {{lang==='ar-EG'?country.NameAr:country.NameEn}}\n \n
    \n \n
    \n {{\"ContractorCountryRequired\" | translate}}
    \n \n
    \n
    \n \n
    \n \n \n {{lang==='ar-EG'?city.NameAr:city.NameEn}}\n \n
    \n \n
    \n {{\"ContractorCityRequired\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"ContractorGovernorateRequired\" | translate}}
    \n \n
    \n
    \n
    \n\n
    \n \n
    \n
    \n \n \n \n
    \n {{\"ContractorZipCodeRequired\" | translate}}
    \n \n
    \n
    \n\n
    \n \n
    \n
    \n \n \n \n
    \n {{\"ContractorStreetRequired\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"ContractorBuildingNumberRequired\" | translate}}
    \n \n
    \n
    \n \n \n \n \n
    \n
    \n\n
    \n \n
    \n
    \n \n \n \n
    \n {{\"ContractorFloorRequired\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"ContractorRoomRequired\" | translate}}
    \n \n
    \n
    \n \n
    \n \n
    \n
    \n \n \n \n \n
    \n
    \n\n
    \n\n \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{\"WorkItemParent\" | translate}}{{\"WorkItemSub\" | translate}}
    \n \n \n {{lang==='ar-EG'?obj.ParentAr:obj.ParentEn}}\n {{lang==='ar-EG'?obj.NameAr:obj.NameEn}}
    \n \n \n
    \n \n \n {{lang==='ar-EG'?workItem.NameAr:workItem.NameEn}}\n \n
    \n
    \n
    \n \n \n {{lang==='ar-EG'?subItem.NameAr:subItem.NameEn}}\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n tableEngine.deletionList.length === tableEngine.ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n  \n
    \n
    \n \n\n
    \n
    \n\n
    \n\n\n
    \n\n
    \n
    \n \n \n \n\n \n \n\n \n \n\n \n \n\n\n \n \n\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n \n \n \n {{\"ContractorName\" | translate}}\n \n \n \n \n {{\"ContractorPhone\" | translate}}\n \n \n \n \n {{\"ContractorIdNumber\" | translate}}\n \n \n \n \n {{\"ContractorCountry\" | translate}}\n \n \n \n \n {{\"ContractorDescription\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{lang==='ar-EG'?obj.NameAr:obj.NameEn}}{{obj.Phone}}{{obj.IdNumber}}\n {{lang==='ar-EG'?getCountryById(obj.CountryId).NameAr:getCountryById(obj.CountryId).NameEn}}\n {{obj.Description}}
    \n
    \n
    \n
    \n\n
    \n\n
     
    \n\n
    \n\n
    \n \n \n \n \n
    \n
    \n\n
     
    \n\n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { ModalDirective } from 'ngx-bootstrap/modal';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { DataPaginator } from './../../../../views/invoice/shared/DataPaginator';\nimport { DataSorter } from './../../../../views/invoice/shared/DataSorter';\nimport { DataFilterer } from './../../../../views/invoice/shared/DataFilterer';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { Component, Renderer2, ViewChild } from '@angular/core';\nimport { ProjectModel } from '../../models/project.model';\nimport { ProjectService } from '../../projects.service';\n\n@Component({\n selector: 'all-projects',\n templateUrl: 'all-projects.component.html',\n styleUrls: ['all-projects.component.scss']\n})\nexport class AllProjectsComponent {\n constructor(private formBuilder: FormBuilder, private modelService: ProjectService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,private router : Router) {\n }\n currentScreen: any = 'Table';\n \n translationName: string = 'Project'\n \n sortableKeys : any[] = [];\n searchableKeys = ['Id','Code','ProjectAmount','NameAr','NameEn','StartDate','EndDate'];\n \n modelObject: any = {};\n ogData: ProjectModel [] = [ \n {Id:5, Code:123453, ProjectAmount:6789, NameAr:'مشروع 1', NameEn:'Project 1', StartDate:new Date(\"4/12/2022\") , EndDate:new Date(\"4/1/2023\")}, \n {Id:1, Code:543121, ProjectAmount:1111, NameAr:'مشروع 2', NameEn:'Project 2', StartDate:new Date(\"11/12/2022\"), EndDate:new Date(\"3/1/2023\")}, \n {Id:2, Code:821232, ProjectAmount:2345, NameAr:'مشروع 3', NameEn:'Project 3', StartDate:new Date(\"10/12/2022\"), EndDate:new Date(\"1/1/2023\")}, \n {Id:3, Code:551122, ProjectAmount:7654, NameAr:'مشروع 4', NameEn:'Project 4', StartDate:new Date(\"9/12/2022\") , EndDate:new Date(\"2/1/2023\")}, \n {Id:4, Code:990085, ProjectAmount:9120, NameAr:'مشروع 5', NameEn:'Project 5', StartDate:new Date(\"8/12/2022\") , EndDate:new Date(\"9/1/2023\")}, \n \n ];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n NameEn: new FormControl(),\n NameAr: new FormControl(),\n });\n public lang;\n \n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Code', property: 'Code' };\n this.sortableKeys = [\n { label: 'Code', property: 'Code' },\n { label: 'ProjectAmount', property: 'ProjectAmount' },\n { label: 'NameAr', property: 'NameAr' },\n { label: 'NameEn', property: 'NameEn' },\n { label: 'StartDate', property: 'StartDate' },\n { label: 'EndDate', property: 'EndDate' }\n ];\n this.loadData();\n }\n \n //Deletion methods:\n //Customize if needed.\n //Pass the target object as paraMetre if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject(){\n this.modelService.deleteList(this.deletionList).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.finalizeDeletion();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n \n \n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n currentFormMode: string = '';\n currentAction: string = '';\n \n \n //ogData = [];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n \n SelectAllBox: any = false;\n \n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected : any[] = [];\n selectAllState = '';\n itemOrder: any;\n orderAsc: boolean = true;\n \n currentPage = 1;\n savedPage = 0;\n \n \n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n \n loadData() {\n this.currentAction = 'loading';\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.sortData();\n this.loadSearch();\n this.currentAction = '';\n }\n )\n \n }\n \n sortData() {\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n \n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n \n filterData() {\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n \n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n \n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n \n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n \n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n \n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n \n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n \n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n \n isSelected(p: ProjectModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n \n onSelect(item: ProjectModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n \n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n \n @ViewChild('delModal') delModal: ModalDirective;\n showAddNewModalRef(): void {\n this.router.navigate(['app/aio/Construction/create-project/0'])\n }\n \n showInfoModalRef(Id: any): void {\n this.router.navigate(['app/aio/Construction/create-project',Id])\n\n }\n \n deletionList: any[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n \n SearchTerm: any = '';\n \n \n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n \n this.deletionList = [];\n this.selected = [];\n \n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n \n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n \n loadAllData() {\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.loadSearch();\n }\n )\n }\n \n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n}\n","\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n \n
    \n {{\"Code\" | translate}}\n \n
    \n {{\"ProjectAmount\" | translate}}\n \n
    \n {{\"NameAr\" | translate}}\n \n
    \n {{\"StartDate\" | translate}}\n \n
    \n {{\"EndDate\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{obj.Code}}{{obj.ProjectAmount}}{{obj.NameAr}}{{obj.StartDate | date:\"dd/MM/yyyy\"}}{{obj.EndDate | date:\"dd/MM/yyyy\"}}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { ActivatedRoute, Router } from '@angular/router';\nimport { ContractorWorkItemModel } from './../../models/contractor-work-item.model';\nimport { ContractorModel } from './../../models/contractor.model';\nimport { WorkItemModel } from './../../models/work-item.model';\nimport { ClientModel } from './../../../../views/invoice/clients/ClientModel';\nimport { ClientService } from './../../../../invoices/clients/ClientService';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { Component, OnInit } from '@angular/core';\nimport { ProjectModel } from '../../models/project.model';\nimport questionData, { IQuestion } from 'src/app/data/questions';\nimport { ProjectService } from '../../projects.service';\n@Component({\n selector: 'create-project',\n templateUrl: 'create-project.component.html',\n styleUrls: ['create-project.component.scss']\n})\nexport class CreateProjectComponent implements OnInit {\n Form:FormGroup;\n project:ProjectModel={};\n clients:ClientModel[]=[];\n questions: IQuestion[] = questionData;\n workItems:WorkItemModel[]=[];\n selectedWorkItems:WorkItemModel[]=[];\n openGrid = false;\n Contractors:ContractorModel[]=[];\n SelectedContractors:ContractorModel[]=[];\n Id=0;\n columnDefs = [{ field: \"Code\" },{ field: \"ParentAr\" }, { field: \"NameAr\" }, { field: \"UnitAr\" }, { field: \"Cost\" }];\n constructor(public router:Router, \n private fb:FormBuilder,\n private clientService:ClientService,\n private projectService:ProjectService,\n private route: ActivatedRoute\n ){\n this.Id = + route.snapshot.paramMap.get('Id');\n }\n createForm():FormGroup{\n return this.fb.group({\n Id:[this.project.Id],\n NameAr:[this.project.NameAr,Validators.required],\n NameEn:[this.project.NameEn,Validators.required],\n ClientId:[this.project.ClientId,Validators.required],\n Code:[this.project.Code,Validators.required],\n Description:[this.project.Description],\n EndDate:[this.project.EndDate,Validators.required],\n ProjectAmount:[this.project.ProjectAmount,Validators.required],\n StartDate:[this.project.StartDate,Validators.required],\n })\n }\n public lang;\n rowData:any[]=[];\n ngOnInit(): void {\n if(this.Id > 0)\n {\n this.lang = localStorage.getItem('theme_lang');\n this.clientService.getAll()\n .subscribe(data => {\n this.clients = data;\n this.projectService.getAllContractors()\n .subscribe(data => {\n this.Contractors = data;\n this.Contractors.forEach(element => {\n element.SelectedContractorWorkItems = [];\n });\n this.projectService.getAllWorkItem()\n .subscribe(data => {\n this.workItems = data;\n this.workItems.forEach(element => {\n var item = {Code : element.Code,ParentAr:element.ParentAr,NameAr:element.NameAr,UnitAr:element.UnitAr,Cost:element.Cost};\n this.rowData.push(item);\n this.projectService.getById(this.Id)\n .subscribe(project => {\n debugger;\n this.project = new ProjectModel();\n this.project = project;\n this.SelectedContractors=this.project.Contractors ;\n this.selectedWorkItems =this.project.WorkItems ;\n this.Form = this.createForm();\n })\n });\n })\n })\n \n })\n \n \n }\n else{\n this.lang = localStorage.getItem('theme_lang');\n this.clientService.getAll()\n .subscribe(data => {\n this.clients = data;\n this.project = new ProjectModel();\n this.Form = this.createForm();\n })\n this.projectService.getAllContractors()\n .subscribe(data => {\n this.Contractors = data;\n this.Contractors.forEach(element => {\n element.SelectedContractorWorkItems = [];\n });\n })\n this.projectService.getAllWorkItem()\n .subscribe(data => {\n this.workItems = data;\n this.workItems.forEach(element => {\n var item = {Code : element.Code,ParentAr:element.ParentAr,NameAr:element.NameAr,UnitAr:element.UnitAr,Cost:element.Cost};\n this.rowData.push(item);\n \n });\n })\n }\n }\n selectedBusinessItemId = 0;\n selectWorkItem(){\n var i = this.workItems.findIndex(x=>x.Id == this.selectedBusinessItemId);\n if(i >= 0){\n var item = this.workItems[i];\n this.selectedWorkItems.push(item);\n this.workItems.splice(i,1);\n this.selectedBusinessItemId = 0;\n }\n \n \n }\n delectWorkItem(item:WorkItemModel){\n this.workItems.push(item);\n var i = this.selectedWorkItems.findIndex(x=>x.Id == item.Id);\n if(i >= 0){\n this.selectedWorkItems.splice(i,1);\n this.selectedBusinessItemId = 0;\n\n }\n }\n selectedContractorId = 0;\n selectContractor(){\n var i = this.Contractors.findIndex(x=>x.Id == this.selectedContractorId);\n if(i >= 0){\n var item = this.Contractors[i];\n this.SelectedContractors.push(item);\n this.Contractors.splice(i,1);\n this.selectedContractorId = 0;\n }\n }\n selectedContractorBusinessItemId = 0;\n selectContractorWorkItem(Contractor:ContractorModel){\n debugger;\n var i = Contractor.ContractorWorkItems.findIndex(x=>x.Id == this.selectedContractorBusinessItemId);\n if(i >= 0){\n var item = Contractor.ContractorWorkItems[i];\n Contractor.SelectedContractorWorkItems.push(item);\n Contractor.ContractorWorkItems.splice(i,1);\n this.selectedContractorBusinessItemId = 0;\n }\n }\n deleteContractorWorkItem(Contractor:ContractorModel,item:ContractorWorkItemModel){\n Contractor.ContractorWorkItems.push(item);\n var i = Contractor.SelectedContractorWorkItems.findIndex(x=>x.Id == item.Id);\n if(i >= 0){\n Contractor.SelectedContractorWorkItems.splice(i,1);\n this.selectedContractorBusinessItemId = 0;\n\n }\n }\n Save(){\n debugger;\n if(this.Id > 0){\n this.project = this.Form.getRawValue();\n this.project.Contractors = this.SelectedContractors;\n this.project.WorkItems= this.selectedWorkItems;\n this.projectService.update(this.project)\n .subscribe(data => {\n this.router.navigate(['app/aio/Construction/projects']);\n })\n }\n else{\n this.project = this.Form.getRawValue();\n this.project.Contractors = this.SelectedContractors;\n this.project.WorkItems= this.selectedWorkItems;\n this.projectService.insert(this.project)\n .subscribe(data => {\n this.router.navigate(['app/aio/Construction/projects']);\n\n })\n }\n \n }\n}\n","
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    {{ 'Create Project' | translate }}
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n \n
    {{'Contractors' | translate}}
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    #{{'Parent Name'|translate}}{{'Name'|translate}}{{'Unit'|translate}}{{'Assay'|translate}}{{'Cost'|translate}}{{'Total'|translate}}{{'Delete'|translate}}
    {{item.Code}}{{ParentId>0?lang==='ar-EG'?item.ParentAr:item.ParentEn:lang==='ar-EG'?item.NameAr:item.NameEn}}{{lang==='ar-EG'?item.NameAr:item.NameEn}}{{lang==='ar-EG'?item.UnitAr:item.UnitEn}} {{item.Assay * item.Cost}}\n \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n
    {{'Business Items' | translate}}
    \n
    \n \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    #{{'Parent Name'|translate}}{{'Name'|translate}}{{'Unit'|translate}}{{'Assay'|translate}}{{'Cost'|translate}}{{'Total'|translate}}{{'Delete'|translate}}
    {{item.Code}}{{ParentId>0?lang==='ar-EG'?item.ParentAr:item.ParentEn:lang==='ar-EG'?item.NameAr:item.NameEn}}{{lang==='ar-EG'?item.NameAr:item.NameEn}}{{lang==='ar-EG'?item.UnitAr:item.UnitEn}} {{item.Cost}}{{item.Assay * item.Cost}}\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n","import { ContractorWorkItemModel } from './contractor-work-item.model';\r\nexport class ContractorModel{\r\n \r\n Id?: number;\r\n Code ?: string;\r\n NameAr ?: string;\r\n NameEn ?: string;\r\n IdNumber ?: string;\r\n TaxCard ?: string;\r\n CommercialRegister?: string;\r\n Nationality ?: string;\r\n Phone ?: string;\r\n BankAccount ?: string;\r\n Description ?: string;\r\n CountryId ?: number;\r\n CountryAr ?: string;\r\n CountryEn ?: string;\r\n CityId ?: number;\r\n CityAr ?: string;\r\n CityEn ?: string;\r\n Governorate ?: string;\r\n Street ?: string;\r\n Landmark ?: string;\r\n BuildingNumber ?: string;\r\n Floor ?: string;\r\n Room ?: string;\r\n ZipCode ?: string;\r\n ContractorWorkItems?:ContractorWorkItemModel [];\r\n SelectedContractorWorkItems?:ContractorWorkItemModel [];\r\n constructor(item ?: ContractorModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.Code = item.Code ? item.Code : '';\r\n this.NameAr = item.NameAr ? item.NameAr : '';\r\n this.NameEn = item.NameEn ? item.NameEn : '';\r\n this.IdNumber = item.IdNumber ? item.IdNumber : '';\r\n this.TaxCard = item.TaxCard ? item.TaxCard : '';\r\n this.CommercialRegister = item.CommercialRegister ? item.CommercialRegister : '';\r\n this.Nationality = item.Nationality ? item.Nationality : '';\r\n this.Phone = item.Phone ? item.Phone : '';\r\n this.BankAccount = item.BankAccount ? item.BankAccount : '';\r\n this.Description = item.Description ? item.Description : '';\r\n this.CountryId = item.CountryId ? item.CountryId : 0;\r\n this.CountryAr = item.CountryAr ? item.CountryAr : '';\r\n this.CountryEn = item.CountryEn ? item.CountryEn : '';\r\n this.CityId = item.CityId ? item.CityId : 0;\r\n this.CityAr = item.CityAr ? item.CityAr : '';\r\n this.CityEn = item.CityEn ? item.CityEn : '';\r\n this.Governorate = item.Governorate ? item.Governorate : '';\r\n this.Street = item.Street ? item.Street : '';\r\n this.Landmark = item.Landmark ? item.Landmark : '';\r\n this.BuildingNumber = item.BuildingNumber ? item.BuildingNumber : '';\r\n this.Floor = item.Floor ? item.Floor : '';\r\n this.Room = item.Room ? item.Room : '';\r\n this.ZipCode = item.ZipCode ? item.ZipCode : '';\r\n this.ContractorWorkItems = item.ContractorWorkItems ? item.ContractorWorkItems:[];\r\n this.SelectedContractorWorkItems = item.SelectedContractorWorkItems ? item.SelectedContractorWorkItems:[];\r\n \r\n }\r\n}","import { ContractorModel } from \"./contractor.model\";\r\nimport { WorkItemModel } from \"./work-item.model\";\r\n\r\nexport class ProjectModel{\r\n Id ?: number;\r\n Code ?: number;\r\n ProjectAmount ?: number;\r\n NameAr ?: string;\r\n NameEn ?: string;\r\n ClientId ?: number;\r\n StartDate ?: Date;\r\n EndDate ?: Date;\r\n Description ?: string;\r\n Contractors ?: ContractorModel[];\r\n WorkItems ?: WorkItemModel[];\r\n constructor(item ?: ProjectModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.Code = item.Code ? item.Code : 0;\r\n this.ProjectAmount = item.ProjectAmount ? item.ProjectAmount : 0;\r\n this.ClientId = item.ClientId ? item.ClientId : 0;\r\n this.NameAr = item.NameAr ? item.NameAr : '';\r\n this.NameEn = item.NameEn ? item.NameEn : '';\r\n this.Description = item.Description ? item.Description : '';\r\n this.StartDate = item.StartDate ? item.StartDate : new Date();\r\n this.EndDate = item.EndDate ? item.EndDate : new Date();\r\n this.Contractors = item.Contractors ? item.Contractors : [];\r\n this.WorkItems = item.WorkItems ? item.WorkItems : [];\r\n }\r\n}","import { environment } from './../../../environments/environment';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { ProjectModel } from './models/project.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProjectService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}ProjectContractors/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getAllWorkItem(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}WorkItem/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getAllContractors(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Contractor/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n GetContractorsWithProjectId(projectId:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}ProjectContractors/GetContractorsWithProjectId/${projectId}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n GetWorkItemsWithProjectId(projectId:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}ProjectContractors/GetWorkItemsWithProjectId/${projectId}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}ProjectContractors/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: ProjectModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}ProjectContractors/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: ProjectModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}ProjectContractors/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: ProjectModel): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}ProjectContractors/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: ProjectModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}ProjectContractors/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","export class WorkItemModel{\r\n Id?:number;\r\n Code?:string;\r\n NameAr?:string;\r\n NameEn?:string;\r\n ParentId?:number;\r\n ParentAr?:string;\r\n ParentEn?:string;\r\n Level?:number;\r\n UnitId?:number;\r\n UnitAr?:string;\r\n UnitEn?:string;\r\n Cost?:number;\r\n \r\n \r\n constructor(obj?:WorkItemModel){\r\n obj = obj? obj:{};\r\n this.Id = obj.Id? obj.Id:0;\r\n this.Code = obj.Code? obj.Code:'';\r\n this.NameAr = obj.NameAr? obj.NameAr:'';\r\n this.NameEn = obj.NameEn? obj.NameEn:'';\r\n this.ParentId = obj.ParentId? obj.ParentId:0;\r\n this.ParentAr = obj.ParentAr? obj.ParentAr:'';\r\n this.ParentEn = obj.ParentEn? obj.ParentEn:'';\r\n this.Level = obj.Level? obj.Level:0;\r\n this.UnitId = obj.UnitId? obj.UnitId:0;\r\n this.UnitAr = obj.UnitAr? obj.UnitAr:'';\r\n this.UnitEn = obj.UnitEn? obj.UnitEn:'';\r\n this.Cost = obj.Cost? obj.Cost:0;\r\n \r\n }\r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { WorkItemModel } from './WorkItemModel';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class WorkItemService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n // baseUrl = 'http://localhost:60289/';\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}WorkItem/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}WorkItem/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: WorkItemModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}WorkItem/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: WorkItemModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}WorkItem/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: WorkItemModel): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}WorkItem/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: WorkItemModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}WorkItem/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from 'src/app/views/app/aio/shared/side-popup/side-popup.component';\nimport { Observable } from 'rxjs';\nimport { WorkItemService } from './WorkItemService';\nimport { CodingUnitService } from '../../invoices/coding-units/CodingUnitService';\nimport { TableEngine } from 'src/app/invoices/TableEngine';\nimport { CodingUnitModel } from 'src/app/invoices/coding-units/CodingUnitModel';\nimport { WorkItemModel } from './WorkItemModel';\n@Component({\n selector: 'app-workitems',\n templateUrl: './workitems.component.html',\n styleUrls: ['./workitems.component.scss']\n})\nexport class WorkitemsComponent {\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n \n constructor(private formBuilder: FormBuilder, private modelService: WorkItemService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService\n , private CodingUnitService: CodingUnitService,\n ) {\n }\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n tableView: any = true;\n\n \n\n translationName: string = 'WorkItem'\n\n sortableKeys = [];\n searchableKeys = ['NameEn', 'NameAr', 'ParentAr', 'ParentEn', 'Code'];\n\n modelObject: WorkItemModel = new WorkItemModel();\n\n ogData: WorkItemModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Code: new FormControl(),\n NameEn: new FormControl(),\n NameAr: new FormControl(),\n ParentId: new FormControl(),\n UnitId: new FormControl(),\n Cost: new FormControl(),\n //WorkItemMain: new FormControl(),\n });\n\n\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'WorkItemName', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' };\n this.sortableKeys = [\n { label: 'WorkItemCode', property: 'Code' },\n { label: 'WorkItemParent', property: this.lang === 'ar-EG' ? 'ParentAr' : 'ParentEn' },\n { label: 'WorkItemSub', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' },\n { label: 'WorkItemParent', property: this.lang === 'ar-EG' ? 'ParentAr' : 'ParentEn' },\n { label: 'WorkItemUnit', property: this.lang === 'ar-EG' ? 'UnitAr' : 'UnitEn' },\n { label: 'WorkItemCost', property: 'Cost' },\n ];\n this.loadServices();\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n }\n\n showModal(Id, action) {\n \n if (action === 'Add') {\n //mainForm.get\n this.parentList = [new WorkItemModel({Id:0, NameAr:'لا يوجد', NameEn:'None'})];\n this.parentList = this.parentList.concat([...this.tableEngine.ogData]);\n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n }\n else if (action === 'Edit') {\n \n \n this.parentList = [];\n this.parentList.push(new WorkItemModel({Id:0, NameAr:'-', NameEn:'-'}));\n for (let index = 0; index < this.tableEngine.ogData.length; index++) {\n if(this.tableEngine.ogData[index].Id != Id){\n this.parentList.push(this.tableEngine.ogData[index])\n }\n }\n \n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder)\n }\n else if (action === 'Info') {\n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder)\n }\n //this.currentScreen = \"Form\";\n this.tableView = false;\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n }\n\n createForm(modelObject, formBuilder): FormGroup {\n return formBuilder.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n Code: [modelObject.Code, Validators.compose([Validators.required, Validators.pattern(/^\\d+$/)])],\n NameEn: [modelObject.NameEn, Validators.compose([Validators.required, Validators.minLength(2)])],\n // NameAr: [modelObject.NameAr, Validators.compose([Validators.required, Validators.minLength(2)])],\n NameAr: [modelObject.NameAr, Validators.compose([Validators.required, Validators.pattern(/^[\\u0621-\\u064A\\u0660-\\u06690-9]+([\\s]*[\\u0621-\\u064A\\u0660-\\u06690-9]+)*$/)])],\n \n //WorkItemMain: [modelObject.ParentId>0?false:true, Validators.compose([Validators.required])],\n ParentId: [modelObject.ParentId, Validators.compose([Validators.required])],\n UnitId: [modelObject.UnitId, Validators.compose([Validators.required])],\n Cost: [modelObject.Cost, Validators.compose([Validators.required, Validators.pattern(/^([1-9]+)([0-9])*(\\.[0-9]+)?$/)])],\n });\n }\n\n addObject() {\n this.currentAction = 'loading';\n\n this.modelObject = new WorkItemModel();\n this.modelObject.Id = 0;\n this.modelObject.Code = this.mainForm.getRawValue().Code;\n this.modelObject.NameEn = this.mainForm.getRawValue().NameEn;\n this.modelObject.NameAr = this.mainForm.getRawValue().NameAr;\n this.modelObject.ParentId = this.mainForm.getRawValue().ParentId;\n this.modelObject.UnitId = this.mainForm.getRawValue().UnitId;\n this.modelObject.Cost = this.mainForm.getRawValue().Cost;\n \n this.executeAddObject();\n }\n\n executeAddObject() {\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n if(this.sideModalRef === undefined){\n if(this.smallModal != undefined){\n if(this.prevAction!='AddThenNew'){\n this.tableEngine.smallModal.hide();\n }\n }\n else{\n //this.tableView = this.prevAction==='AddThenNew'?false:true;\n }\n }\n else{\n if(this.prevAction!='AddThenNew'){\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n\n editObject() {\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n\n let tempObj = new WorkItemModel({\n Id: this.modelObject.Id,\n Code: this.mainForm.getRawValue().Code,\n NameEn: this.mainForm.getRawValue().NameEn,\n NameAr: this.mainForm.getRawValue().NameAr,\n ParentId: this.mainForm.getRawValue().ParentId,\n UnitId: this.mainForm.getRawValue().UnitId,\n Cost: this.mainForm.getRawValue().Cost,\n \n });\n if (JSON.stringify(tempObj) != JSON.stringify(this.modelObject)) {\n this.executeEditObject(tempObj);\n }\n else {\n if(this.sideModalRef === undefined){\n if(this.smallModal != undefined){\n this.tableEngine.smallModal.hide();\n }\n }\n else{\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n }\n\n executeEditObject(Object) {\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n\n if(this.sideModalRef === undefined){\n if(this.smallModal != undefined){\n this.tableEngine.smallModal.hide();\n }\n }\n else{\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n prevAction = '';\n addAndNew(){\n this.prevAction = 'AddThenNew';\n this.addObject();\n this.parentList = [new WorkItemModel({Id:0, NameAr:'WorkItemNoParent', NameEn:'WorkItemNoParent'})];\n this.parentList = this.parentList.concat([...this.tableEngine.ogData]);\n \n \n \n this.tableEngine.sideModalRef.modalRef.hide();\n this.createForm(this.tableEngine.modelObject, this.formBuilder);\n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n }\n\n loadServices() {\n this.currentAction = 'loading';\n \n this.CodingUnitService.getAll().subscribe(\n codingUnitData => {\n this.codingUnitList = codingUnitData;\n this.tableEngine.loadData();\n }\n )\n \n }\n\n codingUnitList: CodingUnitModel[] = [];\n getCodingUnitById(Id: any): any {\n return this.codingUnitList.find(i => i.Id === Id);\n }\n parentList: any [] = [];\n getParentById(Id: any): any {\n return this.tableEngine.ogData.find(i => i.Id === Id);\n }\n\n //WorkItemMain = false;\n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepChangeSort(sortKey){\n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey));\n this.itemOrder = this.tableEngine.itemOrder;\n\n }\n}\n","\n
    \n
    \n
    \n

    \n {{tableEngine.currentFormMode+translationName | translate}}

    \n
    \n
    \n
    \n\n
    \n \n \n \n
    \n {{\"WorkItemCodeRequired\" | translate}}
    \n \n
    \n \n \n\n \n \n
    \n \n
    \n \n \n {{lang==='ar-EG'?parent.NameAr:parent.NameEn}}\n \n
    \n \n
    \n {{\"WorkItemParentRequired\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n {{\"WorkItemNameArRequired\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n {{\"WorkItemNameEnRequired\" | translate}}
    \n \n
    \n \n
    \n \n
    \n \n \n {{lang==='ar-EG'?codingUnit.NameAr:codingUnit.NameEn}}\n \n
    \n \n
    \n {{\"WorkItemUnitRequired\" | translate}}
    \n \n
    \n \n\n
    \n \n \n \n
    \n {{\"WorkItemCostRequired\" | translate}}
    \n \n
    \n \n\n\n
    \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n

    \n {{tableEngine.currentFormMode+translationName | translate}}

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

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n tableEngine.deletionList.length === tableEngine.ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"WorkItemCode\" | translate}}\n \n
    \n {{\"WorkItemParent\" | translate}}\n \n
    \n {{\"WorkItemSub\" | translate}}\n \n
    \n {{\"WorkItemUnit\" | translate}}\n \n
    \n {{\"WorkItemCost\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{lang==='ar-EG'?obj.Code:obj.Code}}{{lang==='ar-EG'?(obj.ParentId>0?obj.ParentAr:obj.NameAr):(obj.ParentId>0?obj.ParentEn:obj.NameEn)}}{{lang==='ar-EG'?(obj.ParentId>0?obj.NameAr:\"لا يوجد\"):(obj.ParentId>0?obj.NameEn:\"None\")}}{{lang==='ar-EG'?obj.UnitAr:obj.UnitEn}}{{obj.Cost}}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","\r\nimport { SortablejsModule } from 'ngx-sortablejs';\r\nimport { SearchPipePipe } from '../pipes/search-pipe.pipe';\r\nimport { PagesContainersModule } from '../containers/pages/pages.containers.module';\r\nimport { ComponentsCarouselModule } from '../components/carousel/components.carousel.module';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { environment } from '../../environments/environment';\r\nimport { LayoutContainersModule } from '../containers/layout/layout.containers.module';\r\nimport { NgModule } from '@angular/core';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { AngularFireModule } from '@angular/fire';\r\nimport { CommonModule, DatePipe } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { ModalModule } from 'ngx-bootstrap/modal';\r\nimport { ArchwizardModule } from 'angular-archwizard';\r\nimport { AngularFireAuthModule } from '@angular/fire/auth';\r\nimport { AngularFireAuthGuardModule } from '@angular/fire/auth-guard';\r\nimport { FormsModule as FormsModuleAngular } from '@angular/forms';\r\nimport { TabsModule } from 'ngx-bootstrap/tabs';\r\nimport { HeadroomModule } from '@ctrl/ngx-headroom';\r\nimport { ScrollToModule } from '@nicky-lenaers/ngx-scroll-to';\r\nimport { NgxDatatableModule } from '@swimlane/ngx-datatable';\r\nimport { CollapseModule } from 'ngx-bootstrap/collapse';\r\nimport { PopoverModule } from 'ngx-bootstrap/popover';\r\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { SidePopupComponent } from '../views/app/aio/shared/side-popup/side-popup.component';\r\nimport { PaginationConfig, PaginationModule } from 'ngx-bootstrap/pagination';\r\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\r\nimport { SimpleNotificationsModule } from 'angular2-notifications';\r\nimport {MatTabsModule} from '@angular/material/tabs';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { FileUploadModule } from 'ng2-file-upload';\r\nimport { AccordionModule } from 'ngx-bootstrap/accordion';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { RatingModule } from 'ngx-bootstrap/rating';\r\nimport { ComponentsPlayerModule } from '../components/player/components.player.module';\r\nimport { LightboxModule } from 'ngx-lightbox';\r\nimport { RouterModule } from '@angular/router';\r\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\r\nimport { BootstrapModule } from '../components/bootstrap/bootstrap.module';\r\nimport { TimepickerModule } from 'ngx-bootstrap/timepicker';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { CouncilAndMembersAffairsRoutingModule}from './Council-And-Members-Affairs.routing';\r\nimport {AllCouncilAffairsComponent} from './components/all-council-affairs/all-council-affairs.component';\r\nimport {AddCouncilAffairsComponent} from './components/add-council-affairs/add-council-affairs.component';\r\nimport {AllPositionsOfCouncilMembersComponent} from './components/all-positions-of-council-members/all-positions-of-council-members.component';\r\nimport {TypesOfTopicsComponent} from './components/types-of-topics/types-of-topics.component';\r\nimport {AllThirdPartyComponent} from './components/all-third-party/all-third-party.component';\r\nimport {AddThirdPartyComponent} from './components/add-third-party/add-third-party.component';\r\nimport {AllBoardsOfDirectorsComponent} from './components/all-boards-of-directors/all-boards-of-directors.component';\r\nimport {AddBoardOfDirectorComponent} from './components/add-board-of-director/add-board-of-director.component';\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CouncilAndMembersAffairsRoutingModule,\r\n LayoutContainersModule,\r\n MatRadioModule,\r\n MatTabsModule,\r\n TranslateModule,\r\n HttpClientModule,\r\n AngularFireModule.initializeApp(environment.firebase),\r\n FormsModule,\r\n ReactiveFormsModule,\r\n ModalModule.forRoot(),\r\n ArchwizardModule,\r\n SharedModule,\r\n NgSelectModule,\r\n FormsModuleAngular,\r\n AngularFireAuthModule,\r\n AngularFireAuthGuardModule,\r\n ComponentsCarouselModule,\r\n TabsModule.forRoot(),\r\n HeadroomModule,\r\n ScrollToModule.forRoot(),\r\n NgxDatatableModule,\r\n CollapseModule,\r\n PagesContainersModule,\r\n PopoverModule.forRoot(),\r\n TooltipModule.forRoot(),\r\n BsDropdownModule,\r\n SortablejsModule,\r\n PaginationModule,\r\n SimpleNotificationsModule.forRoot(),\r\n SimpleNotificationsModule,\r\n LayoutContainersModule,\r\n MatTooltipModule,\r\n FileUploadModule,\r\n AccordionModule,\r\n MatTreeModule,\r\n MatIconModule,\r\n MatButtonModule ,\r\nMatCheckboxModule ,\r\nMatFormFieldModule,\r\nMatInputModule ,\r\nMatProgressBarModule,\r\n\r\nRatingModule.forRoot(),\r\nComponentsPlayerModule,\r\nLightboxModule,\r\nRouterModule,\r\nPerfectScrollbarModule,\r\nBootstrapModule,\r\n\r\nTimepickerModule.forRoot(),\r\n ],\r\n declarations: [\r\n AllCouncilAffairsComponent,\r\n AddCouncilAffairsComponent,\r\n AllPositionsOfCouncilMembersComponent,\r\n TypesOfTopicsComponent,\r\n AllThirdPartyComponent,\r\n AddThirdPartyComponent,\r\n AllBoardsOfDirectorsComponent,\r\n AddBoardOfDirectorComponent\r\n ],\r\n providers: [DatePipe,PaginationConfig],\r\n exports:[],\r\n// bootstrap: [InvoiceComponent]\r\n})\r\nexport class CouncilAndMembersAffairsModule { }\r\n","\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { NgModule } from '@angular/core';\r\nimport { AllCouncilAffairsComponent } from './components/all-council-affairs/all-council-affairs.component';\r\nimport { AddCouncilAffairsComponent } from './components/add-council-affairs/add-council-affairs.component';\r\nimport { AllPositionsOfCouncilMembersComponent } from './components/all-positions-of-council-members/all-positions-of-council-members.component';\r\nimport {CouncilMemberComponent} from './components/council-member/council-member.component';\r\nimport { TypesOfTopicsComponent } from './components/types-of-topics/types-of-topics.component';\r\nimport { AllThirdPartyComponent } from './components/all-third-party/all-third-party.component';\r\nimport { AddThirdPartyComponent } from './components/add-third-party/add-third-party.component';\r\nimport { AllBoardsOfDirectorsComponent } from './components/all-boards-of-directors/all-boards-of-directors.component';\r\nimport { AddBoardOfDirectorComponent } from './components/add-board-of-director/add-board-of-director.component';\r\nconst routes: Routes = [\r\n {\r\n path: '', component: CouncilMemberComponent,\r\n \r\n },\r\n {\r\n path: 'board-of-directors', component: AllCouncilAffairsComponent,\r\n \r\n },\r\n \r\n {\r\n path: 'positions-of-council-members', component: AllPositionsOfCouncilMembersComponent,\r\n \r\n },\r\n {\r\n path:'create-council-affairs/:Id',\r\n component:AddCouncilAffairsComponent\r\n },\r\n {\r\n path:'types-of-topics',\r\n component:TypesOfTopicsComponent\r\n },\r\n {\r\n path:'third-party',\r\n component:AllThirdPartyComponent\r\n },\r\n {\r\n path:'create-third-party/:Id',\r\n component:AddThirdPartyComponent\r\n },\r\n {\r\n path:'boards-of-directors',\r\n component:AllBoardsOfDirectorsComponent\r\n },\r\n {\r\n path:'board-of-director/:Id',\r\n component:AddBoardOfDirectorComponent\r\n },\r\n \r\n \r\n // {\r\n // path:'view-membership/:Id',\r\n // component:ViewMembershipComponent\r\n // }\r\n \r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class CouncilAndMembersAffairsRoutingModule { }","import { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { BoardsOfDirectorsModel } from '../../models/boards-of-directors.model';\n\n@Component({\n // moduleId: module.id,\n selector: 'add-board-of-director',\n templateUrl: 'add-board-of-director.component.html',\n styleUrls: ['add-board-of-director.component.scss']\n})\nexport class AddBoardOfDirectorComponent implements OnInit {\n showCard: boolean = false;\n ItemHolderList: any[] = [];\n Form: FormGroup;\n lang: string;\n \n constructor(\n public router:Router, \n public fb:FormBuilder, \n ) {\n \n \n }\n \n ngOnInit() {\n this.Form = this.createForm(new BoardsOfDirectorsModel()); \n }\n\n \n Save() {\n this.router.navigate(['app/council-affairs/board-of-directors'])\n\n }\n \n goBack(){\n this.router.navigate(['app/council-affairs/board-of-directors'])\n }\n famly=[\n {Name:'Mohamed Sayed'},\n {Name:'Mohamed Nouh'},\n {Name:'Ahmed Abd-elazim'},\n]\n \n createForm(modelObject:BoardsOfDirectorsModel): FormGroup {\n debugger;\n return this.fb.group({\n Id:[modelObject.Id],\n ArabicName :[modelObject.ArabicName ],\n EnglishName :[modelObject.EnglishName ],\n Nots :[modelObject.Nots ],\n File :[modelObject.File ],\n MemberId :[modelObject.MemberId ],\n IsBlocked :[modelObject.IsBlocked ],\n UserId :[modelObject.UserId ],\n CreateBy :[modelObject.CreateBy ],\n CreateDate :[modelObject.CreateDate ],\n ModifiedBy :[modelObject.ModifiedBy ],\n ModifiedDate :[modelObject.ModifiedDate ],\n IsDeleted :[modelObject.IsDeleted ],\n DeletedBy :[modelObject.DeletedBy ],\n DeletedDate :[modelObject.DeletedDate ],\n });\n }\n public editEnabled = true;\n public picurl: string ='';\n\n clear(){\n this.picurl = '';\n }\n public NationalIdEditEnabled = true;\n public NationalIdPicurl: string ='';\n\n clearNationalId(){\n this.NationalIdPicurl = '';\n}\npublic graduationEditEnabled = true;\npublic graduationPicurl: string ='';\n\ncleargraduation(){\n this.graduationPicurl = '';\n}\n\n }\n \n","\n
    \n\n
    \n \n {{\"Add\" | translate}}\n \n
    \n \n
    \n
    \n
    \n

    {{ 'Basic Data' | translate }}

    \n
    \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n
    \n
    \n {{\"Add\" | translate}}\n \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n
    {{'Member Name'|translate}}
    {{item.Name}}
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n\n
    \n\n
    \n \n {{\"Add\" | translate}}\n \n
    \n
    \n\n\n","import { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { CouncilAndMembersAffairsModel } from '../../models/council-and-members-affairs.model';\n\n@Component({\n // moduleId: module.id,\n selector: 'add-council-affairs',\n templateUrl: 'add-council-affairs.component.html',\n styleUrls: ['add-council-affairs.component.scss']\n})\nexport class AddCouncilAffairsComponent implements OnInit {\n showCard: boolean = false;\n ItemHolderList: any[] = [];\n Form: FormGroup;\n lang: string;\n \n constructor(\n public router:Router, \n public fb:FormBuilder, \n ) {\n \n \n }\n \n ngOnInit() {\n this.Form = this.createForm(new CouncilAndMembersAffairsModel()); \n }\n\n \n Save() {\n this.router.navigate(['app/council-affairs/board-of-directors'])\n\n }\n \n goBack(){\n this.router.navigate(['app/council-affairs/board-of-directors'])\n }\n\n \n createForm(modelObject:CouncilAndMembersAffairsModel): FormGroup {\n debugger;\n return this.fb.group({\n Id:[modelObject.Id],\n ArabicName :[modelObject.ArabicName ],\n FirstArabicName :[modelObject.FirstArabicName ],\n SecondArabicName :[modelObject.SecondArabicName ],\n LastArabicName :[modelObject.LastArabicName ],\n EnglishName :[modelObject.EnglishName ],\n Phone :[modelObject.Phone ],\n Email :[modelObject.Email ],\n Gender :[modelObject.Gender ],\n IsEgyptian :[modelObject.IsEgyptian ],\n NationalID :[modelObject.NationalID ],\n PassportNumber :[modelObject.PassportNumber ],\n BranchNameEn :[modelObject.BranchNameEn ],\n BranchNameAr :[modelObject.BranchNameAr ],\n CountryEn :[modelObject.CountryEn ],\n CountryAr :[modelObject.CountryAr ],\n NationaltyID :[modelObject.NationaltyID ],\n City :[modelObject.City ],\n GovernorateId :[modelObject.GovernorateId ],\n EmergencyContactNumber :[modelObject.EmergencyContactNumber ],\n BirthDate :[modelObject.BirthDate ],\n ImageURL :[modelObject.ImageURL ],\n PWS :[modelObject.PWS ],\n IsActive :[modelObject.IsActive ],\n Address :[modelObject.Address ],\n TeamId :[modelObject.TeamId ],\n BranchId :[modelObject.BranchId ],\n RoleId :[modelObject.RoleId ],\n IsBlocked :[modelObject.IsBlocked ],\n IsStudent :[modelObject.IsStudent ],\n FieldsStudyOrWorkId :[modelObject.FieldsStudyOrWorkId ],\n SubFieldsStudyOrWorkId :[modelObject.SubFieldsStudyOrWorkId ],\n CollegeId :[modelObject.CollegeId ],\n SchoolId :[modelObject.SchoolId ],\n AcademicYear :[modelObject.AcademicYear ],\n VolunteerItherFiled :[modelObject.VolunteerItherFiled ],\n CurrentPosition :[modelObject.CurrentPosition ],\n Employer :[modelObject.Employer ],\n UserId :[modelObject.UserId ],\n IsHaveExpereanceInVolunteerFildes:[modelObject.IsHaveExpereanceInVolunteerFildes],\n HowDidYouKnowAboutUs :[modelObject.HowDidYouKnowAboutUs ],\n IsMembershipExpered :[modelObject.IsMembershipExpered ],\n IsDisability:[modelObject.IsDisability],\n DisabilityType:[modelObject.DisabilityType],\n CreateBy :[modelObject.CreateBy ],\n CreateDate :[modelObject.CreateDate ],\n ModifiedBy :[modelObject.ModifiedBy ],\n ModifiedDate :[modelObject.ModifiedDate ],\n IsDeleted :[modelObject.IsDeleted ],\n DeletedBy :[modelObject.DeletedBy ],\n DeletedDate :[modelObject.DeletedDate ],\n GovernorateNameEn :[modelObject.GovernorateNameEn ],\n GovernorateNameAr :[modelObject.GovernorateNameAr ],\n CityNameEn :[modelObject.CityNameEn ],\n CityNameAr :[modelObject.CityNameAr ],\n SectorNameAr :[modelObject.SectorNameAr ],\n SectorNameEn :[modelObject.SectorNameEn ],\n FieldNameAr :[modelObject.FieldNameAr ],\n FieldNameEn :[modelObject.FieldNameEn ],\n HasWork :[modelObject.HasWork ],\n PositionId :[modelObject.PositionId ],\n\n StudentType :[modelObject.StudentType ],\n CollegeNameAr :[modelObject.CollegeNameAr ],\n CollegeNameEn :[modelObject.CollegeNameEn ],\n SchoolNameAr :[modelObject.SchoolNameAr ],\n SchoolNameEn :[modelObject.SchoolNameEn ],\n VolunteerNumber :[modelObject.VolunteerNumber ],\n UniversityNameAr :[modelObject.UniversityNameAr ],\n UniversityNameEn :[modelObject.UniversityNameEn ],\n InstituteNameAr :[modelObject.InstituteNameAr ],\n InstituteNameEn :[modelObject.InstituteNameEn ],\n EventsCount :[modelObject.EventsCount ],\n ActivitiesCount :[modelObject.ActivitiesCount ],\n NumberOfActivityPoints :[modelObject.NumberOfActivityPoints ],\n NumberOfActivityHours :[modelObject.NumberOfActivityHours ],\n EndMembershipDate :[modelObject.EndMembershipDate ],\n MembershipIsIsEnded :[modelObject.MembershipIsIsEnded ],\n Latitude :[modelObject.Latitude ],\n Langitude :[modelObject.Langitude ],\n Zoom :[modelObject.Zoom ],\n EndMembershipRequest :[modelObject.EndMembershipRequest ],\n TransferMembershipRequest :[modelObject.TransferMembershipRequest ],\n RenewMembershipRequest :[modelObject.RenewMembershipRequest ],\n HasOtherExperinceField :[modelObject.HasOtherExperinceField ],\n OtherExperinceField :[modelObject.OtherExperinceField ],\n OtherNationalty :[modelObject.OtherNationalty ],\n IsAccepted :[modelObject.IsAccepted ],\n IsObsolete :[modelObject.IsObsolete ],\n IsRejected :[modelObject.IsRejected ],\n PrefierdInterview :[modelObject.PrefierdInterview ],\n SocialStatus:[modelObject.SocialStatus],\n GraduationYear:[modelObject.GraduationYear],\n EducationalQualification:[modelObject.EducationalQualification],\n });\n }\n public editEnabled = true;\n public picurl: string ='';\n\n clear(){\n this.picurl = '';\n }\n public NationalIdEditEnabled = true;\n public NationalIdPicurl: string ='';\n\n clearNationalId(){\n this.NationalIdPicurl = '';\n}\npublic graduationEditEnabled = true;\npublic graduationPicurl: string ='';\n\ncleargraduation(){\n this.graduationPicurl = '';\n}\n\n }\n ","\n
    \n\n
    \n \n {{\"Add\" | translate}}\n \n
    \n \n
    \n
    \n
    \n

    {{ 'Basic Data' | translate }}

    \n
    \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n \n
    \n \n \n \n \n \n \n \n
    \n
    \n \n \n \n \n \n \n \n
    \n
    \n \n \n
    \n \n
    \n \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n
    \n\n
    \n\n\n
    \n\n\n","import { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { ThirdPartyModel } from '../../models/third-party.model';\n@Component({\n // moduleId: module.id,\n selector: 'add-third-party',\n templateUrl: 'add-third-party.component.html',\n styleUrls: ['add-third-party.component.scss']\n})\nexport class AddThirdPartyComponent implements OnInit {\n showCard: boolean = false;\n ItemHolderList: any[] = [];\n Form: FormGroup;\n lang: string;\n \n constructor(\n public router:Router, \n public fb:FormBuilder, \n ) {\n \n \n }\n \n ngOnInit() {\n this.Form = this.createForm(new ThirdPartyModel()); \n }\n\n \n Save() {\n this.router.navigate(['app/council-affairs/board-of-directors'])\n\n }\n \n goBack(){\n this.router.navigate(['app/council-affairs/board-of-directors'])\n }\n\n \n createForm(modelObject:ThirdPartyModel): FormGroup {\n debugger;\n return this.fb.group({\n Id:[modelObject.Id],\n ArabicName :[modelObject.ArabicName ],\n EnglishName :[modelObject.EnglishName ],\n Phone :[modelObject.Phone ],\n Email :[modelObject.Email ],\n Address :[modelObject.Address ],\n \n IsBlocked :[modelObject.IsBlocked ],\n UserId :[modelObject.UserId ],\n CreateBy :[modelObject.CreateBy ],\n CreateDate :[modelObject.CreateDate ],\n ModifiedBy :[modelObject.ModifiedBy ],\n ModifiedDate :[modelObject.ModifiedDate ],\n IsDeleted :[modelObject.IsDeleted ],\n DeletedBy :[modelObject.DeletedBy ],\n DeletedDate :[modelObject.DeletedDate ],\n });\n }\n public editEnabled = true;\n public picurl: string ='';\n\n clear(){\n this.picurl = '';\n }\n public NationalIdEditEnabled = true;\n public NationalIdPicurl: string ='';\n\n clearNationalId(){\n this.NationalIdPicurl = '';\n}\npublic graduationEditEnabled = true;\npublic graduationPicurl: string ='';\n\ncleargraduation(){\n this.graduationPicurl = '';\n}\n\n }\n \n","\n
    \n\n
    \n \n {{\"Add\" | translate}}\n \n
    \n \n
    \n
    \n
    \n

    {{ 'Basic Data' | translate }}

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

    {{ 'Procedures' | translate }}

    \n
    \n
    \n
    \n \n {{'Blocked'|translate}} \n {{'Activate'|translate}}\n \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n
    \n\n
    \n\n
    \n \n {{\"Add\" | translate}}\n \n
    \n
    \n\n\n","import { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { DataFilterer } from 'src/app/views/app/aio/shared/DataFilterer';\nimport { DataSorter } from 'src/app/views/app/aio/shared/DataSorter';\nimport { DataPaginator } from 'src/app/views/app/aio/shared/DataPaginator';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport {BoardsOfDirectorsModel} from '../../models/boards-of-directors.model';\n@Component({\n // moduleId: module.id,\n selector: 'all-boards-of-directors',\n templateUrl: 'all-boards-of-directors.component.html',\n styleUrls: ['all-boards-of-directors.component.scss']\n})\nexport class AllBoardsOfDirectorsComponent {\n constructor(private formBuilder: FormBuilder, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private router : Router) {\n }\n currentScreen: any = 'Table';\n \n translationName: string = 'Boards of directors'\n \n sortableKeys = [];\n searchableKeys = ['Id'];\n \n ogData: BoardsOfDirectorsModel [] = [ \n {Id:1, ArabicName:'مجلس الإدارة' , EnglishName:'Board of Directors' }, \n ];\n\n \n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Id', property: 'Id' };\n this.sortableKeys = [\n { label: 'Id', property: 'Id' },\n { label: 'ArabicName', property: 'ArabicName' },\n { label: 'EnglishName', property: 'EnglishName' },\n { label: 'Phone', property: 'Phone' },\n { label: 'Email', property: 'Email' },\n ];\n this.loadData();\n console.log(this.ogData);\n }\n \n //Deletion methods:\n //Customize if needed.\n //Pass the target object as paraMetre if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject(){\n // this.modelService.deleteList(this.deletionList).subscribe(result => {\n // if (result === true) {\n // this.loadData();\n // this.currentAction = '';\n // this.finalizeDeletion();\n // }\n // else {\n // this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n // this.currentAction = '';\n // }\n // })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n \n \n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n lang: string;\n currentFormMode: string = '';\n currentAction: string = '';\n \n \n //ogData = [];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n \n SelectAllBox: any = false;\n \n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n itemOrder: any;\n orderAsc: boolean = true;\n \n currentPage = 1;\n savedPage = 0;\n \n \n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n \n loadData() {\n debugger;\n this.currentAction = '';\n this.sortData();\n\n // this.modelService.getAll().subscribe(\n // data => {\n // this.currentAction = '';\n \n // this.ogData = data;\n // this.sortData();\n // }\n // )\n \n }\n \n sortData() {\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n \n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n \n filterData() {\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n \n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n \n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n \n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n \n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n \n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n \n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n \n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n \n isSelected(p: BoardsOfDirectorsModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n \n onSelect(item: BoardsOfDirectorsModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n \n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n \n @ViewChild('delModal') delModal: ModalDirective;\n showAddNewModalRef(): void {\n this.router.navigate(['app/council-affairs/board-of-director',0])\n }\n \n showInfoModalRef(Id: any): void {\n //IMPORTANT\n //REDIRECT TO INFO PAGE\n }\n modelObject:BoardsOfDirectorsModel={};\n deletionList: BoardsOfDirectorsModel[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n \n SearchTerm: any = '';\n \n \n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n \n this.deletionList = [];\n this.selected = [];\n \n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n \n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n \n loadAllData() {\n // this.modelService.getAll().subscribe(\n // data => {\n // this.ogData = data;\n // this.loadSearch();\n // }\n // )\n }\n \n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n \n @ViewChild('smallModal') smallModal: ModalDirective;\n \n}\n","\n\n\n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n\n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Id\" | translate}}\n \n
    \n {{\"ArabicName\" | translate}}\n \n
    \n {{\"EnglishName\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{obj.Id}}{{obj.ArabicName }}{{obj.EnglishName }}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { CouncilAndMembersAffairsModel } from '../../models/council-and-members-affairs.model';\nimport { DataFilterer } from 'src/app/views/app/aio/shared/DataFilterer';\nimport { DataSorter } from 'src/app/views/app/aio/shared/DataSorter';\nimport { DataPaginator } from 'src/app/views/app/aio/shared/DataPaginator';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\n\n@Component({\n // moduleId: module.id,\n selector: 'all-council-affairs',\n templateUrl: 'all-council-affairs.component.html',\n styleUrls: ['all-council-affairs.component.scss']\n})\nexport class AllCouncilAffairsComponent {\n constructor(private formBuilder: FormBuilder, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private router : Router) {\n }\n currentScreen: any = 'Table';\n \n translationName: string = 'Memberships'\n \n sortableKeys = [];\n searchableKeys = ['Id'];\n \n ogData: CouncilAndMembersAffairsModel [] = [ \n {Id:5, ArabicName:'أحمد عبدالعظيم' , EnglishName:'Ahmed Abd-elazim', Phone:'01098340345', Email:\"ahmed@gmail.com\" }, \n {Id:1, ArabicName:'محمد سيد' , EnglishName:'Mohamed Sayed', Phone:'012345678954', Email:\"mohamed@gmail.com\" }, \n {Id:2, ArabicName:'محمد نوح' , EnglishName:'Mohamed Nouh', Phone:'01098340341', Email:\"Mohamed@gmail.com\" }, \n ];\n\n \n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Id', property: 'Id' };\n this.sortableKeys = [\n { label: 'Id', property: 'Id' },\n { label: 'ArabicName', property: 'ArabicName' },\n { label: 'EnglishName', property: 'EnglishName' },\n { label: 'Phone', property: 'Phone' },\n { label: 'Email', property: 'Email' },\n ];\n this.loadData();\n console.log(this.ogData);\n }\n \n //Deletion methods:\n //Customize if needed.\n //Pass the target object as paraMetre if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject(){\n // this.modelService.deleteList(this.deletionList).subscribe(result => {\n // if (result === true) {\n // this.loadData();\n // this.currentAction = '';\n // this.finalizeDeletion();\n // }\n // else {\n // this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n // this.currentAction = '';\n // }\n // })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n \n \n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n lang: string;\n currentFormMode: string = '';\n currentAction: string = '';\n \n \n //ogData = [];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n \n SelectAllBox: any = false;\n \n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n itemOrder: any;\n orderAsc: boolean = true;\n \n currentPage = 1;\n savedPage = 0;\n \n \n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n \n loadData() {\n debugger;\n this.currentAction = '';\n this.sortData();\n\n // this.modelService.getAll().subscribe(\n // data => {\n // this.currentAction = '';\n \n // this.ogData = data;\n // this.sortData();\n // }\n // )\n \n }\n \n sortData() {\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n \n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n \n filterData() {\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n \n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n \n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n \n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n \n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n \n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n \n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n \n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n \n isSelected(p: CouncilAndMembersAffairsModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n \n onSelect(item: CouncilAndMembersAffairsModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n \n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n \n @ViewChild('delModal') delModal: ModalDirective;\n showAddNewModalRef(): void {\n this.router.navigate(['app/council-affairs/create-council-affairs',0])\n }\n \n showInfoModalRef(Id: any): void {\n //IMPORTANT\n //REDIRECT TO INFO PAGE\n }\n modelObject:CouncilAndMembersAffairsModel={};\n deletionList: CouncilAndMembersAffairsModel[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n \n SearchTerm: any = '';\n \n \n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n \n this.deletionList = [];\n this.selected = [];\n \n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n \n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n \n loadAllData() {\n // this.modelService.getAll().subscribe(\n // data => {\n // this.ogData = data;\n // this.loadSearch();\n // }\n // )\n }\n \n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n \n @ViewChild('smallModal') smallModal: ModalDirective;\n \n}","\n\n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n\n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Id\" | translate}}\n \n
    \n {{\"ArabicName\" | translate}}\n \n
    \n {{\"EnglishName\" | translate}}\n \n
    \n {{\"Phone\" | translate}}\n \n
    \n {{\"Email\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{obj.Id}}{{obj.ArabicName }}{{obj.EnglishName }}{{obj.Phone }}{{obj.Email }}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { DataFilterer } from 'src/app/views/app/aio/shared/DataFilterer';\nimport { DataSorter } from 'src/app/views/app/aio/shared/DataSorter';\nimport { DataPaginator } from 'src/app/views/app/aio/shared/DataPaginator';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport {PositionsOfCouncilModel }from '../../models/PositionsOfCouncil.model';\n@Component({\n // moduleId: module.id,\n selector: 'all-positions-of-council-members',\n templateUrl: 'all-positions-of-council-members.component.html',\n styleUrls: ['all-positions-of-council-members.component.scss']\n})\nexport class AllPositionsOfCouncilMembersComponent {\n constructor(private formBuilder: FormBuilder, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private router : Router) {\n }\n currentScreen: any = 'Table';\n \n translationName: string = 'Positions'\n \n sortableKeys = [];\n searchableKeys = ['Id'];\n \n ogData: PositionsOfCouncilModel [] = [ \n {Id:1, ArabicName:'رئيس مجلس الإدارة' , EnglishName:'Chairman of Board of Directors' }, \n {Id:2, ArabicName:'عضو مجلس الإدارة' , EnglishName:'Member of the Board of Directors' }, \n ];\n\n \n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Id', property: 'Id' };\n this.sortableKeys = [\n { label: 'Id', property: 'Id' },\n { label: 'ArabicName', property: 'ArabicName' },\n { label: 'EnglishName', property: 'EnglishName' },\n { label: 'Phone', property: 'Phone' },\n { label: 'Email', property: 'Email' },\n ];\n this.loadData();\n \n console.log(this.ogData);\n }\n \n //Deletion methods:\n //Customize if needed.\n //Pass the target object as paraMetre if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject(){\n // this.modelService.deleteList(this.deletionList).subscribe(result => {\n // if (result === true) {\n // this.loadData();\n // this.currentAction = '';\n // this.finalizeDeletion();\n // }\n // else {\n // this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n // this.currentAction = '';\n // }\n // })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n \n \n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n lang: string;\n currentFormMode: string = '';\n currentAction: string = '';\n \n \n //ogData = [];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n \n SelectAllBox: any = false;\n \n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n itemOrder: any;\n orderAsc: boolean = true;\n \n currentPage = 1;\n savedPage = 0;\n \n \n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n \n loadData() {\n debugger;\n this.currentAction = '';\n this.sortData();\n\n // this.modelService.getAll().subscribe(\n // data => {\n // this.currentAction = '';\n \n // this.ogData = data;\n // this.sortData();\n // }\n // )\n \n }\n \n sortData() {\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n \n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n \n filterData() {\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n \n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n \n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n \n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n \n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n \n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n \n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n \n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n \n isSelected(p: PositionsOfCouncilModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n \n onSelect(item: PositionsOfCouncilModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n \n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n \n @ViewChild('delModal') delModal: ModalDirective;\n // showAddNewModalRef(): void {\n // this.router.navigate(['app/council-affairs/create-council-affairs',0])\n // }\n \n showInfoModalRef(Id: any): void {\n //IMPORTANT\n //REDIRECT TO INFO PAGE\n }\n modelObject:PositionsOfCouncilModel={};\n deletionList: PositionsOfCouncilModel[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n \n SearchTerm: any = '';\n \n \n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n \n this.deletionList = [];\n this.selected = [];\n \n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n \n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n \n loadAllData() {\n // this.modelService.getAll().subscribe(\n // data => {\n // this.ogData = data;\n // this.loadSearch();\n // }\n // )\n }\n \n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n // modelObject: PositionsOfCouncilModel = new PositionsOfCouncilModel();\n\n // ogData: PositionsOfCouncilModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n NameEn: new FormControl(),\n NameAr: new FormControl(),\n });\n addObject() {\n this.currentAction = 'loading';\n \n this.modelObject = new PositionsOfCouncilModel();\n this.modelObject.Id = 0;\n this.modelObject.ArabicName = this.mainForm.getRawValue().ArabicName;\n this.modelObject.EnglishName = this.mainForm.getRawValue().EnglishName;\n \n // this.executeAddObject();\n }\n\n declare sideModalRef: any;\n createForm(modelObject, formBuilder): FormGroup {\n \n \n return formBuilder.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n ArabicName: [modelObject.ArabicName, Validators.compose([Validators.required, Validators.minLength(2)])],\n EnglishName: [modelObject.EnglishName, Validators.compose([Validators.required, Validators.pattern(/^[\\u0621-\\u064A]+([\\s]*[\\u0621-\\u064A]+)*$/)])],\n });\n }\n \n showModal(Id, action) {\n if (action === 'Add') {\n this.showAddNewModalRef(this.createForm, this.formBuilder)\n }\n }\n \n showAddNewModalRef( func , formBuilder ): void { //pass \"createform()\" here\n this.currentFormMode = 'Add'\n this.modelObject = {};\n this.mainForm = func;\n this.mainForm = func(this.modelObject, formBuilder);\n if(this.sideModalRef === undefined){\n if(this.smallModal != undefined){\n this.smallModal.show();\n }\n }\n else{\n this.sideModalRef.show();\n }\n }\n \n @ViewChild('smallModal') smallModal: ModalDirective;\n}\n","\n
    \n
    \n
    \n
    \n
    \n

    \n {{ currentFormMode+translationName | translate}}

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

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Id\" | translate}}\n \n
    \n {{\"ArabicName\" | translate}}\n \n
    \n {{\"EnglishName\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{obj.Id}}{{obj.ArabicName }}{{obj.EnglishName }}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { DataFilterer } from 'src/app/views/app/aio/shared/DataFilterer';\nimport { DataSorter } from 'src/app/views/app/aio/shared/DataSorter';\nimport { DataPaginator } from 'src/app/views/app/aio/shared/DataPaginator';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport {ThirdPartyModel} from '../../models/third-party.model';\n@Component({\n // moduleId: module.id,\n selector: 'all-third-party',\n templateUrl: 'all-third-party.component.html',\n styleUrls: ['all-third-party.component.scss']\n})\nexport class AllThirdPartyComponent {\n constructor(private formBuilder: FormBuilder, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private router : Router) {\n }\n currentScreen: any = 'Table';\n \n translationName: string = 'Third Party'\n \n sortableKeys = [];\n searchableKeys = ['Id'];\n \n ogData: ThirdPartyModel [] = [ \n {Id:5, ArabicName:'شركة فيوتشركور' , EnglishName:'futurecore', Phone:'01098340345', Email:\"info@futurecore.net\" }, \n {Id:1, ArabicName:'محمد سيد' , EnglishName:'Mohamed Sayed', Phone:'012345678954', Email:\"mohamed@gmail.com\" }, \n {Id:2, ArabicName:'محمد نوح' , EnglishName:'Mohamed Nouh', Phone:'01098340341', Email:\"Mohamed@gmail.com\" }, \n ];\n\n \n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Id', property: 'Id' };\n this.sortableKeys = [\n { label: 'Id', property: 'Id' },\n { label: 'ArabicName', property: 'ArabicName' },\n { label: 'EnglishName', property: 'EnglishName' },\n { label: 'Phone', property: 'Phone' },\n { label: 'Email', property: 'Email' },\n ];\n this.loadData();\n console.log(this.ogData);\n }\n \n //Deletion methods:\n //Customize if needed.\n //Pass the target object as paraMetre if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject(){\n // this.modelService.deleteList(this.deletionList).subscribe(result => {\n // if (result === true) {\n // this.loadData();\n // this.currentAction = '';\n // this.finalizeDeletion();\n // }\n // else {\n // this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n // this.currentAction = '';\n // }\n // })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n \n \n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n lang: string;\n currentFormMode: string = '';\n currentAction: string = '';\n \n \n //ogData = [];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n \n SelectAllBox: any = false;\n \n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n itemOrder: any;\n orderAsc: boolean = true;\n \n currentPage = 1;\n savedPage = 0;\n \n \n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n \n loadData() {\n debugger;\n this.currentAction = '';\n this.sortData();\n\n // this.modelService.getAll().subscribe(\n // data => {\n // this.currentAction = '';\n \n // this.ogData = data;\n // this.sortData();\n // }\n // )\n \n }\n \n sortData() {\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n \n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n \n filterData() {\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n \n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n \n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n \n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n \n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n \n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n \n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n \n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n \n isSelected(p: ThirdPartyModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n \n onSelect(item: ThirdPartyModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n \n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n \n @ViewChild('delModal') delModal: ModalDirective;\n showAddNewModalRef(): void {\n this.router.navigate(['app/council-affairs/create-third-party',0])\n }\n \n showInfoModalRef(Id: any): void {\n //IMPORTANT\n //REDIRECT TO INFO PAGE\n }\n modelObject:ThirdPartyModel={};\n deletionList: ThirdPartyModel[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n \n SearchTerm: any = '';\n \n \n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n \n this.deletionList = [];\n this.selected = [];\n \n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n \n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n \n loadAllData() {\n // this.modelService.getAll().subscribe(\n // data => {\n // this.ogData = data;\n // this.loadSearch();\n // }\n // )\n }\n \n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n \n @ViewChild('smallModal') smallModal: ModalDirective;\n \n}","\n\n\n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n\n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Id\" | translate}}\n \n
    \n {{\"ArabicName\" | translate}}\n \n
    \n {{\"EnglishName\" | translate}}\n \n
    \n {{\"Phone\" | translate}}\n \n
    \n {{\"Email\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{obj.Id}}{{obj.ArabicName }}{{obj.EnglishName }}{{obj.Phone }}{{obj.Email }}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { Component } from '@angular/core';\n\n@Component({\n // moduleId: module.id,\n selector: 'council-member',\n templateUrl: 'council-member.component.html',\n styleUrls: ['council-member.component.scss']\n})\nexport class CouncilMemberComponent {\n\n}\n","import { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { DataFilterer } from 'src/app/views/app/aio/shared/DataFilterer';\nimport { DataSorter } from 'src/app/views/app/aio/shared/DataSorter';\nimport { DataPaginator } from 'src/app/views/app/aio/shared/DataPaginator';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport {TypesOfTopicsModel} from '../../models/types-of-topics.model';\n@Component({\n // moduleId: module.id,\n selector: 'types-of-topics',\n templateUrl: 'types-of-topics.component.html',\n styleUrls: ['types-of-topics.component.scss']\n})\nexport class TypesOfTopicsComponent {\n constructor(private formBuilder: FormBuilder, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private router : Router) {\n }\n currentScreen: any = 'Table';\n \n translationName: string = 'Types Of Topics'\n \n sortableKeys = [];\n searchableKeys = ['Id'];\n \n ogData: TypesOfTopicsModel [] = [ \n {Id:1, ArabicName:'موضوعات إدارية' , EnglishName:'Administrative topics' }, \n {Id:2, ArabicName:'موضوعات إدارية 2' , EnglishName:'Administrative topics 2' }, \n ];\n\n \n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Id', property: 'Id' };\n this.sortableKeys = [\n { label: 'Id', property: 'Id' },\n { label: 'ArabicName', property: 'ArabicName' },\n { label: 'EnglishName', property: 'EnglishName' },\n { label: 'Phone', property: 'Phone' },\n { label: 'Email', property: 'Email' },\n ];\n this.loadData();\n \n console.log(this.ogData);\n }\n \n //Deletion methods:\n //Customize if needed.\n //Pass the target object as paraMetre if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject(){\n // this.modelService.deleteList(this.deletionList).subscribe(result => {\n // if (result === true) {\n // this.loadData();\n // this.currentAction = '';\n // this.finalizeDeletion();\n // }\n // else {\n // this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n // this.currentAction = '';\n // }\n // })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n \n \n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n lang: string;\n currentFormMode: string = '';\n currentAction: string = '';\n \n \n //ogData = [];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n \n SelectAllBox: any = false;\n \n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n itemOrder: any;\n orderAsc: boolean = true;\n \n currentPage = 1;\n savedPage = 0;\n \n \n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n \n loadData() {\n debugger;\n this.currentAction = '';\n this.sortData();\n\n // this.modelService.getAll().subscribe(\n // data => {\n // this.currentAction = '';\n \n // this.ogData = data;\n // this.sortData();\n // }\n // )\n \n }\n \n sortData() {\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n \n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n \n filterData() {\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n \n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n \n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n \n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n \n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n \n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n \n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n \n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n \n isSelected(p: TypesOfTopicsModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n \n onSelect(item: TypesOfTopicsModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n \n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n \n @ViewChild('delModal') delModal: ModalDirective;\n // showAddNewModalRef(): void {\n // this.router.navigate(['app/council-affairs/create-council-affairs',0])\n // }\n \n showInfoModalRef(Id: any): void {\n //IMPORTANT\n //REDIRECT TO INFO PAGE\n }\n modelObject:TypesOfTopicsModel={};\n deletionList: TypesOfTopicsModel[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n \n SearchTerm: any = '';\n \n \n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n \n this.deletionList = [];\n this.selected = [];\n \n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n \n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n \n loadAllData() {\n // this.modelService.getAll().subscribe(\n // data => {\n // this.ogData = data;\n // this.loadSearch();\n // }\n // )\n }\n \n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n // modelObject: PositionsOfCouncilModel = new PositionsOfCouncilModel();\n\n // ogData: PositionsOfCouncilModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n NameEn: new FormControl(),\n NameAr: new FormControl(),\n });\n addObject() {\n this.currentAction = 'loading';\n \n this.modelObject = new TypesOfTopicsModel();\n this.modelObject.Id = 0;\n this.modelObject.ArabicName = this.mainForm.getRawValue().ArabicName;\n this.modelObject.EnglishName = this.mainForm.getRawValue().EnglishName;\n \n // this.executeAddObject();\n }\n\n declare sideModalRef: any;\n createForm(modelObject, formBuilder): FormGroup {\n \n \n return formBuilder.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n ArabicName: [modelObject.ArabicName, Validators.compose([Validators.required, Validators.minLength(2)])],\n EnglishName: [modelObject.EnglishName, Validators.compose([Validators.required, Validators.pattern(/^[\\u0621-\\u064A]+([\\s]*[\\u0621-\\u064A]+)*$/)])],\n });\n }\n \n showModal(Id, action) {\n if (action === 'Add') {\n this.showAddNewModalRef(this.createForm, this.formBuilder)\n }\n }\n \n showAddNewModalRef( func , formBuilder ): void { //pass \"createform()\" here\n this.currentFormMode = 'Add'\n this.modelObject = {};\n this.mainForm = func;\n this.mainForm = func(this.modelObject, formBuilder);\n if(this.sideModalRef === undefined){\n if(this.smallModal != undefined){\n this.smallModal.show();\n }\n }\n else{\n this.sideModalRef.show();\n }\n }\n \n @ViewChild('smallModal') smallModal: ModalDirective;\n}\n\n","\n\n
    \n
    \n
    \n
    \n
    \n

    \n {{ currentFormMode+translationName | translate}}

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

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Id\" | translate}}\n \n
    \n {{\"ArabicName\" | translate}}\n \n
    \n {{\"EnglishName\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{obj.Id}}{{obj.ArabicName }}{{obj.EnglishName }}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","\r\n\r\nexport class PositionsOfCouncilModel{\r\n Id?: number;\r\n ArabicName ?: string;\r\n EnglishName ?: string;\r\n Phone ?: string;\r\n Email ?: string;\r\n Gender ?: string;\r\n IsEgyptian ?: boolean;\r\n NationalID ?: string;\r\n PassportNumber ?: string;\r\n BranchNameEn ?: string;\r\n BranchNameAr ?: string;\r\n CountryEn ?: string;\r\n CountryAr ?: string;\r\n NationaltyID ?: number;\r\n City ?: number;\r\n GovernorateId ?: number;\r\n EmergencyContactNumber ?: string;\r\n BirthDate ?: Date|null;\r\n ImageURL ?: string;\r\n PWS ?: string;\r\n IsActive ?: boolean;\r\n Address ?: string;\r\n TeamId ?: number;\r\n BranchId ?: number;\r\n RoleId ?: number;\r\n IsBlocked ?: boolean;\r\n IsStudent ?: boolean;\r\n FieldsStudyOrWorkId ?: number;\r\n SubFieldsStudyOrWorkId ?: number;\r\n CollegeId ?: number;\r\n SchoolId ?: number;\r\n AcademicYear ?: string;\r\n VolunteerItherFiled ?: string;\r\n CurrentPosition ?: string;\r\n Employer ?: string;\r\n UserId ?: string;\r\n IsHaveExpereanceInVolunteerFildes?: boolean;\r\n HowDidYouKnowAboutUs ?: string;\r\n IsMembershipExpered ?: boolean;\r\n IsDisability?:boolean;\r\n DisabilityType?:string;\r\n CreateBy ?: string;\r\n CreateDate ?: Date|null;\r\n ModifiedBy ?: string;\r\n ModifiedDate ?: Date|null;\r\n IsDeleted ?: boolean;\r\n DeletedBy ?: string;\r\n DeletedDate ?: Date|null;\r\n GovernorateNameEn ?:string;\r\n GovernorateNameAr ?:string;\r\n CityNameEn ?:string;\r\n CityNameAr ?:string;\r\n SectorNameAr ?: string;\r\n SectorNameEn ?: string;\r\n FieldNameAr ?: string;\r\n FieldNameEn ?: string;\r\n HasWork ?: boolean;\r\n StudentType ?: string;\r\n CollegeNameAr ?: string;\r\n CollegeNameEn ?: string;\r\n SchoolNameAr ?: string;\r\n SchoolNameEn ?: string;\r\n VolunteerNumber ?:string; \r\n UniversityNameAr ?:string;\r\n UniversityNameEn ?:string;\r\n InstituteNameAr ?:string;\r\n InstituteNameEn ?:string;\r\n EventsCount ?:number;\r\n ActivitiesCount ?:number;\r\n NumberOfActivityPoints ?:number;\r\n NumberOfActivityHours ?:number;\r\n EndMembershipDate ?:Date|null;\r\n MembershipIsIsEnded ?:boolean;\r\n Latitude ?: number;\r\n\tLangitude ?: number;\r\n\tZoom ?:number;\r\n EndMembershipRequest ?:boolean;\r\n TransferMembershipRequest ?:boolean;\r\n RenewMembershipRequest ?:boolean;\r\n HasOtherExperinceField ?:boolean;\r\n OtherExperinceField ?:string;\r\n OtherNationalty ?:string;\r\n IsAccepted ?: boolean;\r\n IsObsolete ?:boolean;\r\n IsRejected ?:boolean;\r\n PrefierdInterview ?: number;\r\n FirstArabicName ?: string;\r\n SecondArabicName ?: string;\r\n LastArabicName ?: string;\r\n SocialStatus?:string;\r\n EducationalQualification?:string;\r\n GraduationYear?:string;\r\n constructor(item ?: PositionsOfCouncilModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.EducationalQualification = item.EducationalQualification ? item.EducationalQualification : '';\r\n this.GraduationYear = item.GraduationYear ? item.GraduationYear : '';\r\n\r\n this.PrefierdInterview = item.PrefierdInterview ? item.PrefierdInterview : 1;\r\n this.IsAccepted = item.IsAccepted ? item.IsAccepted : false;\r\n this.IsObsolete = item.IsObsolete ? item.IsObsolete : false;\r\n this.IsRejected = item.IsRejected ? item.IsRejected : false;\r\n this.HasOtherExperinceField = item.HasOtherExperinceField ? item.HasOtherExperinceField : false;\r\n this.OtherExperinceField = item.OtherExperinceField ? item.OtherExperinceField : '';\r\n this.OtherNationalty = item.OtherNationalty ? item.OtherNationalty : '';\r\n this.RenewMembershipRequest = item.RenewMembershipRequest ? item.RenewMembershipRequest : false;\r\n this.TransferMembershipRequest = item.TransferMembershipRequest ? item.TransferMembershipRequest : false;\r\n this.EndMembershipRequest = item.EndMembershipRequest ? item.EndMembershipRequest : false;\r\n this.Latitude = item.Latitude ? item.Latitude : 0;\r\n this.Langitude = item.Langitude ? item.Langitude : 0;\r\n this.Zoom = item.Zoom ? item.Zoom : 0;\r\n this.ArabicName = item.ArabicName ? item.ArabicName : '';\r\n this.EnglishName = item.EnglishName ? item.EnglishName : '';\r\n this.UniversityNameAr= item.UniversityNameAr ? item.UniversityNameAr : '';\r\n this.UniversityNameEn= item.UniversityNameEn ? item.UniversityNameEn : '';\r\n this.InstituteNameAr= item.InstituteNameAr ? item.InstituteNameAr : '';\r\n this.InstituteNameEn= item.InstituteNameEn ? item.InstituteNameEn : '';\r\n this.CountryEn = item.CountryEn ? item.CountryEn : '';\r\n this.CountryAr = item.CountryAr ? item.CountryAr : '';\r\n this.BranchNameEn = item.BranchNameEn ? item.BranchNameEn : '';\r\n this.BranchNameAr = item.BranchNameAr ? item.BranchNameAr : '';\r\n this.GovernorateNameEn = item.GovernorateNameEn ? item.GovernorateNameEn : '';\r\n this.GovernorateNameAr = item.GovernorateNameAr ? item.GovernorateNameAr : '';\r\n this.CityNameEn = item.CityNameEn? item.CityNameEn : '';\r\n this.CityNameAr = item.CityNameAr? item.CityNameAr : '';\r\n this.Phone = item.Phone ? item.Phone : '';\r\n this.Email = item.Email ? item.Email : '';\r\n this.Gender = item.Gender ? item.Gender : '';\r\n this.IsEgyptian = item.IsEgyptian ? item.IsEgyptian : true;\r\n this.NationalID = item.NationalID ? item.NationalID : '';\r\n this.PassportNumber = item.PassportNumber ? item.PassportNumber : '';\r\n this.NationaltyID = item.NationaltyID ? item.NationaltyID : 0;\r\n this.City = item.City ? item.City : 0;\r\n this.GovernorateId = item.GovernorateId ? item.GovernorateId : 0;\r\n this.EmergencyContactNumber = item.EmergencyContactNumber ? item.EmergencyContactNumber : '';\r\n this.BirthDate = item.BirthDate ? item.BirthDate : null;\r\n this.ImageURL = item.ImageURL ? item.ImageURL : '';\r\n this.PWS = item.PWS ? item.PWS : '';\r\n this.IsActive = item.IsActive ? item.IsActive : false;\r\n this.Address = item.Address ? item.Address : '';\r\n this.TeamId = item.TeamId ? item.TeamId : 0;\r\n this.BranchId = item.BranchId ? item.BranchId : 0;\r\n this.RoleId = item.RoleId ? item.RoleId : 0;\r\n this.IsBlocked = item.IsBlocked ? item.IsBlocked : false;\r\n this.IsStudent = item.IsStudent ? item.IsStudent : false;\r\n this.FieldsStudyOrWorkId = item.FieldsStudyOrWorkId ? item.FieldsStudyOrWorkId : 0;\r\n this.SubFieldsStudyOrWorkId = item.SubFieldsStudyOrWorkId ? item.SubFieldsStudyOrWorkId : 0;\r\n this.CollegeId = item.CollegeId ? item.CollegeId : 0;\r\n this.SchoolId = item.SchoolId ? item.SchoolId : 0;\r\n this.AcademicYear = item.AcademicYear ? item.AcademicYear : '';\r\n this.VolunteerItherFiled = item.VolunteerItherFiled ? item.VolunteerItherFiled : '';\r\n this.CurrentPosition = item.CurrentPosition ? item.CurrentPosition : '';\r\n this.Employer = item.Employer ? item.Employer : '';\r\n this.UserId = item.UserId ? item.UserId : '';\r\n this.IsHaveExpereanceInVolunteerFildes = item.IsHaveExpereanceInVolunteerFildes ? item.IsHaveExpereanceInVolunteerFildes : false;\r\n this.HowDidYouKnowAboutUs = item.HowDidYouKnowAboutUs ? item.HowDidYouKnowAboutUs : '';\r\n this.IsDisability = item.IsDisability ? item.IsDisability : false;\r\n this.IsMembershipExpered = item.IsMembershipExpered ? item.IsMembershipExpered : false;\r\n this.DisabilityType = item.DisabilityType ? item.DisabilityType : '';\r\n this.CreateBy = item.CreateBy ? item.CreateBy : '';\r\n this.CreateDate = item.CreateDate ? item.CreateDate : null;\r\n this.ModifiedBy = item.ModifiedBy ? item.ModifiedBy : '';\r\n this.ModifiedDate = item.ModifiedDate ? item.ModifiedDate : null;\r\n this.IsDeleted = item.IsDeleted ? item.IsDeleted : false;\r\n this.DeletedBy = item.DeletedBy ? item.DeletedBy : '';\r\n this.DeletedDate = item.DeletedDate ? item.DeletedDate : null;\r\n this.SectorNameAr= item.SectorNameAr? item.SectorNameAr: '';\r\n this.SectorNameEn= item.SectorNameEn? item.SectorNameEn: '';\r\n this.FieldNameAr= item.FieldNameAr? item.FieldNameAr: '';\r\n this.FieldNameEn= item.FieldNameEn? item.FieldNameEn: '';\r\n this.HasWork = item.HasWork ? item.HasWork : true;\r\n this.StudentType = item.StudentType ? item.StudentType : '';\r\n this.CollegeNameAr = item.CollegeNameAr ? item.CollegeNameAr : '';\r\n this.CollegeNameEn = item.CollegeNameEn ? item.CollegeNameEn : '';\r\n this.SchoolNameAr = item.SchoolNameAr ? item.SchoolNameAr : '';\r\n this.SchoolNameEn = item.SchoolNameEn ? item.SchoolNameEn : '';\r\n this.VolunteerNumber = item.VolunteerNumber ? item.VolunteerNumber : '';\r\n this.EventsCount = item.EventsCount ? item.EventsCount : 0;\r\n this.ActivitiesCount = item.ActivitiesCount ? item.ActivitiesCount : 0;\r\n this.NumberOfActivityPoints = item.NumberOfActivityPoints ? item.NumberOfActivityPoints : 0;\r\n this.NumberOfActivityHours = item.NumberOfActivityHours ? item.NumberOfActivityHours : 0;\r\n this.EndMembershipDate = item.EndMembershipDate ? item.EndMembershipDate : null;\r\n this.MembershipIsIsEnded = item.MembershipIsIsEnded ? item.MembershipIsIsEnded : false;\r\n this.FirstArabicName = item.FirstArabicName ? item.FirstArabicName : '';\r\n this.SecondArabicName = item.SecondArabicName ? item.SecondArabicName : '';\r\n this.LastArabicName = item.LastArabicName ? item.LastArabicName : '';\r\n this.SocialStatus = item.SocialStatus?item.SocialStatus:'';\r\n }\r\n}","\r\n\r\nexport class BoardsOfDirectorsModel{\r\n Id?: number;\r\n ArabicName ?: string;\r\n EnglishName ?: string;\r\n Nots ?: string;\r\n MemberId ?: number;\r\n File ?: string;\r\n \r\n IsBlocked ?: boolean;\r\n UserId ?: string;\r\n CreateBy ?: string;\r\n CreateDate ?: Date|null;\r\n ModifiedBy ?: string;\r\n ModifiedDate ?: Date|null;\r\n IsDeleted ?: boolean;\r\n DeletedBy ?: string;\r\n DeletedDate ?: Date|null;\r\n constructor(item ?: BoardsOfDirectorsModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n \r\n \r\n this.ArabicName = item.ArabicName ? item.ArabicName : '';\r\n this.EnglishName = item.EnglishName ? item.EnglishName : '';\r\n this.Nots = item.Nots ? item.Nots : '';\r\n this.File = item.File ? item.File : '';\r\n this.MemberId = item.MemberId ? item.MemberId : 0;\r\n this.IsBlocked = item.IsBlocked ? item.IsBlocked : false;\r\n this.UserId = item.UserId ? item.UserId : '';\r\n this.CreateBy = item.CreateBy ? item.CreateBy : '';\r\n this.CreateDate = item.CreateDate ? item.CreateDate : null;\r\n this.ModifiedBy = item.ModifiedBy ? item.ModifiedBy : '';\r\n this.ModifiedDate = item.ModifiedDate ? item.ModifiedDate : null;\r\n this.IsDeleted = item.IsDeleted ? item.IsDeleted : false;\r\n this.DeletedBy = item.DeletedBy ? item.DeletedBy : '';\r\n this.DeletedDate = item.DeletedDate ? item.DeletedDate : null;\r\n }\r\n}","\r\n\r\nexport class CouncilAndMembersAffairsModel{\r\n Id?: number;\r\n ArabicName ?: string;\r\n EnglishName ?: string;\r\n Phone ?: string;\r\n Email ?: string;\r\n Gender ?: string;\r\n IsEgyptian ?: boolean;\r\n NationalID ?: string;\r\n PositionId ?: number;\r\n \r\n PassportNumber ?: string;\r\n BranchNameEn ?: string;\r\n BranchNameAr ?: string;\r\n CountryEn ?: string;\r\n CountryAr ?: string;\r\n NationaltyID ?: number;\r\n City ?: number;\r\n GovernorateId ?: number;\r\n EmergencyContactNumber ?: string;\r\n BirthDate ?: Date|null;\r\n ImageURL ?: string;\r\n PWS ?: string;\r\n IsActive ?: boolean;\r\n Address ?: string;\r\n TeamId ?: number;\r\n BranchId ?: number;\r\n RoleId ?: number;\r\n IsBlocked ?: boolean;\r\n IsStudent ?: boolean;\r\n FieldsStudyOrWorkId ?: number;\r\n SubFieldsStudyOrWorkId ?: number;\r\n CollegeId ?: number;\r\n SchoolId ?: number;\r\n AcademicYear ?: string;\r\n VolunteerItherFiled ?: string;\r\n CurrentPosition ?: string;\r\n Employer ?: string;\r\n UserId ?: string;\r\n IsHaveExpereanceInVolunteerFildes?: boolean;\r\n HowDidYouKnowAboutUs ?: string;\r\n IsMembershipExpered ?: boolean;\r\n IsDisability?:boolean;\r\n DisabilityType?:string;\r\n CreateBy ?: string;\r\n CreateDate ?: Date|null;\r\n ModifiedBy ?: string;\r\n ModifiedDate ?: Date|null;\r\n IsDeleted ?: boolean;\r\n DeletedBy ?: string;\r\n DeletedDate ?: Date|null;\r\n GovernorateNameEn ?:string;\r\n GovernorateNameAr ?:string;\r\n CityNameEn ?:string;\r\n CityNameAr ?:string;\r\n SectorNameAr ?: string;\r\n SectorNameEn ?: string;\r\n FieldNameAr ?: string;\r\n FieldNameEn ?: string;\r\n HasWork ?: boolean;\r\n StudentType ?: string;\r\n CollegeNameAr ?: string;\r\n CollegeNameEn ?: string;\r\n SchoolNameAr ?: string;\r\n SchoolNameEn ?: string;\r\n VolunteerNumber ?:string; \r\n UniversityNameAr ?:string;\r\n UniversityNameEn ?:string;\r\n InstituteNameAr ?:string;\r\n InstituteNameEn ?:string;\r\n EventsCount ?:number;\r\n ActivitiesCount ?:number;\r\n NumberOfActivityPoints ?:number;\r\n NumberOfActivityHours ?:number;\r\n EndMembershipDate ?:Date|null;\r\n MembershipIsIsEnded ?:boolean;\r\n Latitude ?: number;\r\n\tLangitude ?: number;\r\n\tZoom ?:number;\r\n EndMembershipRequest ?:boolean;\r\n TransferMembershipRequest ?:boolean;\r\n RenewMembershipRequest ?:boolean;\r\n HasOtherExperinceField ?:boolean;\r\n OtherExperinceField ?:string;\r\n OtherNationalty ?:string;\r\n IsAccepted ?: boolean;\r\n IsObsolete ?:boolean;\r\n IsRejected ?:boolean;\r\n PrefierdInterview ?: number;\r\n FirstArabicName ?: string;\r\n SecondArabicName ?: string;\r\n LastArabicName ?: string;\r\n SocialStatus?:string;\r\n EducationalQualification?:string;\r\n GraduationYear?:string;\r\n constructor(item ?: CouncilAndMembersAffairsModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.EducationalQualification = item.EducationalQualification ? item.EducationalQualification : '';\r\n this.GraduationYear = item.GraduationYear ? item.GraduationYear : '';\r\n \r\n this.PositionId = item.PositionId ? item.PositionId : 0;\r\n this.PrefierdInterview = item.PrefierdInterview ? item.PrefierdInterview : 1;\r\n this.IsAccepted = item.IsAccepted ? item.IsAccepted : false;\r\n this.IsObsolete = item.IsObsolete ? item.IsObsolete : false;\r\n this.IsRejected = item.IsRejected ? item.IsRejected : false;\r\n this.HasOtherExperinceField = item.HasOtherExperinceField ? item.HasOtherExperinceField : false;\r\n this.OtherExperinceField = item.OtherExperinceField ? item.OtherExperinceField : '';\r\n this.OtherNationalty = item.OtherNationalty ? item.OtherNationalty : '';\r\n this.RenewMembershipRequest = item.RenewMembershipRequest ? item.RenewMembershipRequest : false;\r\n this.TransferMembershipRequest = item.TransferMembershipRequest ? item.TransferMembershipRequest : false;\r\n this.EndMembershipRequest = item.EndMembershipRequest ? item.EndMembershipRequest : false;\r\n this.Latitude = item.Latitude ? item.Latitude : 0;\r\n this.Langitude = item.Langitude ? item.Langitude : 0;\r\n this.Zoom = item.Zoom ? item.Zoom : 0;\r\n this.ArabicName = item.ArabicName ? item.ArabicName : '';\r\n this.EnglishName = item.EnglishName ? item.EnglishName : '';\r\n this.UniversityNameAr= item.UniversityNameAr ? item.UniversityNameAr : '';\r\n this.UniversityNameEn= item.UniversityNameEn ? item.UniversityNameEn : '';\r\n this.InstituteNameAr= item.InstituteNameAr ? item.InstituteNameAr : '';\r\n this.InstituteNameEn= item.InstituteNameEn ? item.InstituteNameEn : '';\r\n this.CountryEn = item.CountryEn ? item.CountryEn : '';\r\n this.CountryAr = item.CountryAr ? item.CountryAr : '';\r\n this.BranchNameEn = item.BranchNameEn ? item.BranchNameEn : '';\r\n this.BranchNameAr = item.BranchNameAr ? item.BranchNameAr : '';\r\n this.GovernorateNameEn = item.GovernorateNameEn ? item.GovernorateNameEn : '';\r\n this.GovernorateNameAr = item.GovernorateNameAr ? item.GovernorateNameAr : '';\r\n this.CityNameEn = item.CityNameEn? item.CityNameEn : '';\r\n this.CityNameAr = item.CityNameAr? item.CityNameAr : '';\r\n this.Phone = item.Phone ? item.Phone : '';\r\n this.Email = item.Email ? item.Email : '';\r\n this.Gender = item.Gender ? item.Gender : '';\r\n this.IsEgyptian = item.IsEgyptian ? item.IsEgyptian : true;\r\n this.NationalID = item.NationalID ? item.NationalID : '';\r\n this.PassportNumber = item.PassportNumber ? item.PassportNumber : '';\r\n this.NationaltyID = item.NationaltyID ? item.NationaltyID : 0;\r\n this.City = item.City ? item.City : 0;\r\n this.GovernorateId = item.GovernorateId ? item.GovernorateId : 0;\r\n this.EmergencyContactNumber = item.EmergencyContactNumber ? item.EmergencyContactNumber : '';\r\n this.BirthDate = item.BirthDate ? item.BirthDate : null;\r\n this.ImageURL = item.ImageURL ? item.ImageURL : '';\r\n this.PWS = item.PWS ? item.PWS : '';\r\n this.IsActive = item.IsActive ? item.IsActive : false;\r\n this.Address = item.Address ? item.Address : '';\r\n this.TeamId = item.TeamId ? item.TeamId : 0;\r\n this.BranchId = item.BranchId ? item.BranchId : 0;\r\n this.RoleId = item.RoleId ? item.RoleId : 0;\r\n this.IsBlocked = item.IsBlocked ? item.IsBlocked : false;\r\n this.IsStudent = item.IsStudent ? item.IsStudent : false;\r\n this.FieldsStudyOrWorkId = item.FieldsStudyOrWorkId ? item.FieldsStudyOrWorkId : 0;\r\n this.SubFieldsStudyOrWorkId = item.SubFieldsStudyOrWorkId ? item.SubFieldsStudyOrWorkId : 0;\r\n this.CollegeId = item.CollegeId ? item.CollegeId : 0;\r\n this.SchoolId = item.SchoolId ? item.SchoolId : 0;\r\n this.AcademicYear = item.AcademicYear ? item.AcademicYear : '';\r\n this.VolunteerItherFiled = item.VolunteerItherFiled ? item.VolunteerItherFiled : '';\r\n this.CurrentPosition = item.CurrentPosition ? item.CurrentPosition : '';\r\n this.Employer = item.Employer ? item.Employer : '';\r\n this.UserId = item.UserId ? item.UserId : '';\r\n this.IsHaveExpereanceInVolunteerFildes = item.IsHaveExpereanceInVolunteerFildes ? item.IsHaveExpereanceInVolunteerFildes : false;\r\n this.HowDidYouKnowAboutUs = item.HowDidYouKnowAboutUs ? item.HowDidYouKnowAboutUs : '';\r\n this.IsDisability = item.IsDisability ? item.IsDisability : false;\r\n this.IsMembershipExpered = item.IsMembershipExpered ? item.IsMembershipExpered : false;\r\n this.DisabilityType = item.DisabilityType ? item.DisabilityType : '';\r\n this.CreateBy = item.CreateBy ? item.CreateBy : '';\r\n this.CreateDate = item.CreateDate ? item.CreateDate : null;\r\n this.ModifiedBy = item.ModifiedBy ? item.ModifiedBy : '';\r\n this.ModifiedDate = item.ModifiedDate ? item.ModifiedDate : null;\r\n this.IsDeleted = item.IsDeleted ? item.IsDeleted : false;\r\n this.DeletedBy = item.DeletedBy ? item.DeletedBy : '';\r\n this.DeletedDate = item.DeletedDate ? item.DeletedDate : null;\r\n this.SectorNameAr= item.SectorNameAr? item.SectorNameAr: '';\r\n this.SectorNameEn= item.SectorNameEn? item.SectorNameEn: '';\r\n this.FieldNameAr= item.FieldNameAr? item.FieldNameAr: '';\r\n this.FieldNameEn= item.FieldNameEn? item.FieldNameEn: '';\r\n this.HasWork = item.HasWork ? item.HasWork : true;\r\n this.StudentType = item.StudentType ? item.StudentType : '';\r\n this.CollegeNameAr = item.CollegeNameAr ? item.CollegeNameAr : '';\r\n this.CollegeNameEn = item.CollegeNameEn ? item.CollegeNameEn : '';\r\n this.SchoolNameAr = item.SchoolNameAr ? item.SchoolNameAr : '';\r\n this.SchoolNameEn = item.SchoolNameEn ? item.SchoolNameEn : '';\r\n this.VolunteerNumber = item.VolunteerNumber ? item.VolunteerNumber : '';\r\n this.EventsCount = item.EventsCount ? item.EventsCount : 0;\r\n this.ActivitiesCount = item.ActivitiesCount ? item.ActivitiesCount : 0;\r\n this.NumberOfActivityPoints = item.NumberOfActivityPoints ? item.NumberOfActivityPoints : 0;\r\n this.NumberOfActivityHours = item.NumberOfActivityHours ? item.NumberOfActivityHours : 0;\r\n this.EndMembershipDate = item.EndMembershipDate ? item.EndMembershipDate : null;\r\n this.MembershipIsIsEnded = item.MembershipIsIsEnded ? item.MembershipIsIsEnded : false;\r\n this.FirstArabicName = item.FirstArabicName ? item.FirstArabicName : '';\r\n this.SecondArabicName = item.SecondArabicName ? item.SecondArabicName : '';\r\n this.LastArabicName = item.LastArabicName ? item.LastArabicName : '';\r\n this.SocialStatus = item.SocialStatus?item.SocialStatus:'';\r\n }\r\n}","\r\n\r\nexport class ThirdPartyModel{\r\n Id?: number;\r\n ArabicName ?: string;\r\n EnglishName ?: string;\r\n Phone ?: string;\r\n Email ?: string;\r\n Address ?: string;\r\n Cause ?: string;\r\n \r\n IsBlocked ?: boolean;\r\n UserId ?: string;\r\n CreateBy ?: string;\r\n CreateDate ?: Date|null;\r\n ModifiedBy ?: string;\r\n ModifiedDate ?: Date|null;\r\n IsDeleted ?: boolean;\r\n DeletedBy ?: string;\r\n DeletedDate ?: Date|null;\r\n constructor(item ?: ThirdPartyModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n \r\n \r\n this.ArabicName = item.ArabicName ? item.ArabicName : '';\r\n this.EnglishName = item.EnglishName ? item.EnglishName : '';\r\n this.Phone = item.Phone ? item.Phone : '';\r\n \r\n this.Cause = item.Cause ? item.Cause : '';\r\n this.Email = item.Email ? item.Email : '';\r\n this.Address = item.Address ? item.Address : '';\r\n this.IsBlocked = item.IsBlocked ? item.IsBlocked : false;\r\n this.UserId = item.UserId ? item.UserId : '';\r\n this.CreateBy = item.CreateBy ? item.CreateBy : '';\r\n this.CreateDate = item.CreateDate ? item.CreateDate : null;\r\n this.ModifiedBy = item.ModifiedBy ? item.ModifiedBy : '';\r\n this.ModifiedDate = item.ModifiedDate ? item.ModifiedDate : null;\r\n this.IsDeleted = item.IsDeleted ? item.IsDeleted : false;\r\n this.DeletedBy = item.DeletedBy ? item.DeletedBy : '';\r\n this.DeletedDate = item.DeletedDate ? item.DeletedDate : null;\r\n }\r\n}","\r\n\r\nexport class TypesOfTopicsModel{\r\n Id?: number;\r\n ArabicName ?: string;\r\n EnglishName ?: string;\r\n Phone ?: string;\r\n Email ?: string;\r\n Gender ?: string;\r\n IsEgyptian ?: boolean;\r\n NationalID ?: string;\r\n PassportNumber ?: string;\r\n BranchNameEn ?: string;\r\n BranchNameAr ?: string;\r\n CountryEn ?: string;\r\n CountryAr ?: string;\r\n NationaltyID ?: number;\r\n City ?: number;\r\n GovernorateId ?: number;\r\n EmergencyContactNumber ?: string;\r\n BirthDate ?: Date|null;\r\n ImageURL ?: string;\r\n PWS ?: string;\r\n IsActive ?: boolean;\r\n Address ?: string;\r\n TeamId ?: number;\r\n BranchId ?: number;\r\n RoleId ?: number;\r\n IsBlocked ?: boolean;\r\n IsStudent ?: boolean;\r\n FieldsStudyOrWorkId ?: number;\r\n SubFieldsStudyOrWorkId ?: number;\r\n CollegeId ?: number;\r\n SchoolId ?: number;\r\n AcademicYear ?: string;\r\n VolunteerItherFiled ?: string;\r\n CurrentPosition ?: string;\r\n Employer ?: string;\r\n UserId ?: string;\r\n IsHaveExpereanceInVolunteerFildes?: boolean;\r\n HowDidYouKnowAboutUs ?: string;\r\n IsMembershipExpered ?: boolean;\r\n IsDisability?:boolean;\r\n DisabilityType?:string;\r\n CreateBy ?: string;\r\n CreateDate ?: Date|null;\r\n ModifiedBy ?: string;\r\n ModifiedDate ?: Date|null;\r\n IsDeleted ?: boolean;\r\n DeletedBy ?: string;\r\n DeletedDate ?: Date|null;\r\n GovernorateNameEn ?:string;\r\n GovernorateNameAr ?:string;\r\n CityNameEn ?:string;\r\n CityNameAr ?:string;\r\n SectorNameAr ?: string;\r\n SectorNameEn ?: string;\r\n FieldNameAr ?: string;\r\n FieldNameEn ?: string;\r\n HasWork ?: boolean;\r\n StudentType ?: string;\r\n CollegeNameAr ?: string;\r\n CollegeNameEn ?: string;\r\n SchoolNameAr ?: string;\r\n SchoolNameEn ?: string;\r\n VolunteerNumber ?:string; \r\n UniversityNameAr ?:string;\r\n UniversityNameEn ?:string;\r\n InstituteNameAr ?:string;\r\n InstituteNameEn ?:string;\r\n EventsCount ?:number;\r\n ActivitiesCount ?:number;\r\n NumberOfActivityPoints ?:number;\r\n NumberOfActivityHours ?:number;\r\n EndMembershipDate ?:Date|null;\r\n MembershipIsIsEnded ?:boolean;\r\n Latitude ?: number;\r\n\tLangitude ?: number;\r\n\tZoom ?:number;\r\n EndMembershipRequest ?:boolean;\r\n TransferMembershipRequest ?:boolean;\r\n RenewMembershipRequest ?:boolean;\r\n HasOtherExperinceField ?:boolean;\r\n OtherExperinceField ?:string;\r\n OtherNationalty ?:string;\r\n IsAccepted ?: boolean;\r\n IsObsolete ?:boolean;\r\n IsRejected ?:boolean;\r\n PrefierdInterview ?: number;\r\n FirstArabicName ?: string;\r\n SecondArabicName ?: string;\r\n LastArabicName ?: string;\r\n SocialStatus?:string;\r\n EducationalQualification?:string;\r\n GraduationYear?:string;\r\n constructor(item ?: TypesOfTopicsModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.EducationalQualification = item.EducationalQualification ? item.EducationalQualification : '';\r\n this.GraduationYear = item.GraduationYear ? item.GraduationYear : '';\r\n\r\n this.PrefierdInterview = item.PrefierdInterview ? item.PrefierdInterview : 1;\r\n this.IsAccepted = item.IsAccepted ? item.IsAccepted : false;\r\n this.IsObsolete = item.IsObsolete ? item.IsObsolete : false;\r\n this.IsRejected = item.IsRejected ? item.IsRejected : false;\r\n this.HasOtherExperinceField = item.HasOtherExperinceField ? item.HasOtherExperinceField : false;\r\n this.OtherExperinceField = item.OtherExperinceField ? item.OtherExperinceField : '';\r\n this.OtherNationalty = item.OtherNationalty ? item.OtherNationalty : '';\r\n this.RenewMembershipRequest = item.RenewMembershipRequest ? item.RenewMembershipRequest : false;\r\n this.TransferMembershipRequest = item.TransferMembershipRequest ? item.TransferMembershipRequest : false;\r\n this.EndMembershipRequest = item.EndMembershipRequest ? item.EndMembershipRequest : false;\r\n this.Latitude = item.Latitude ? item.Latitude : 0;\r\n this.Langitude = item.Langitude ? item.Langitude : 0;\r\n this.Zoom = item.Zoom ? item.Zoom : 0;\r\n this.ArabicName = item.ArabicName ? item.ArabicName : '';\r\n this.EnglishName = item.EnglishName ? item.EnglishName : '';\r\n this.UniversityNameAr= item.UniversityNameAr ? item.UniversityNameAr : '';\r\n this.UniversityNameEn= item.UniversityNameEn ? item.UniversityNameEn : '';\r\n this.InstituteNameAr= item.InstituteNameAr ? item.InstituteNameAr : '';\r\n this.InstituteNameEn= item.InstituteNameEn ? item.InstituteNameEn : '';\r\n this.CountryEn = item.CountryEn ? item.CountryEn : '';\r\n this.CountryAr = item.CountryAr ? item.CountryAr : '';\r\n this.BranchNameEn = item.BranchNameEn ? item.BranchNameEn : '';\r\n this.BranchNameAr = item.BranchNameAr ? item.BranchNameAr : '';\r\n this.GovernorateNameEn = item.GovernorateNameEn ? item.GovernorateNameEn : '';\r\n this.GovernorateNameAr = item.GovernorateNameAr ? item.GovernorateNameAr : '';\r\n this.CityNameEn = item.CityNameEn? item.CityNameEn : '';\r\n this.CityNameAr = item.CityNameAr? item.CityNameAr : '';\r\n this.Phone = item.Phone ? item.Phone : '';\r\n this.Email = item.Email ? item.Email : '';\r\n this.Gender = item.Gender ? item.Gender : '';\r\n this.IsEgyptian = item.IsEgyptian ? item.IsEgyptian : true;\r\n this.NationalID = item.NationalID ? item.NationalID : '';\r\n this.PassportNumber = item.PassportNumber ? item.PassportNumber : '';\r\n this.NationaltyID = item.NationaltyID ? item.NationaltyID : 0;\r\n this.City = item.City ? item.City : 0;\r\n this.GovernorateId = item.GovernorateId ? item.GovernorateId : 0;\r\n this.EmergencyContactNumber = item.EmergencyContactNumber ? item.EmergencyContactNumber : '';\r\n this.BirthDate = item.BirthDate ? item.BirthDate : null;\r\n this.ImageURL = item.ImageURL ? item.ImageURL : '';\r\n this.PWS = item.PWS ? item.PWS : '';\r\n this.IsActive = item.IsActive ? item.IsActive : false;\r\n this.Address = item.Address ? item.Address : '';\r\n this.TeamId = item.TeamId ? item.TeamId : 0;\r\n this.BranchId = item.BranchId ? item.BranchId : 0;\r\n this.RoleId = item.RoleId ? item.RoleId : 0;\r\n this.IsBlocked = item.IsBlocked ? item.IsBlocked : false;\r\n this.IsStudent = item.IsStudent ? item.IsStudent : false;\r\n this.FieldsStudyOrWorkId = item.FieldsStudyOrWorkId ? item.FieldsStudyOrWorkId : 0;\r\n this.SubFieldsStudyOrWorkId = item.SubFieldsStudyOrWorkId ? item.SubFieldsStudyOrWorkId : 0;\r\n this.CollegeId = item.CollegeId ? item.CollegeId : 0;\r\n this.SchoolId = item.SchoolId ? item.SchoolId : 0;\r\n this.AcademicYear = item.AcademicYear ? item.AcademicYear : '';\r\n this.VolunteerItherFiled = item.VolunteerItherFiled ? item.VolunteerItherFiled : '';\r\n this.CurrentPosition = item.CurrentPosition ? item.CurrentPosition : '';\r\n this.Employer = item.Employer ? item.Employer : '';\r\n this.UserId = item.UserId ? item.UserId : '';\r\n this.IsHaveExpereanceInVolunteerFildes = item.IsHaveExpereanceInVolunteerFildes ? item.IsHaveExpereanceInVolunteerFildes : false;\r\n this.HowDidYouKnowAboutUs = item.HowDidYouKnowAboutUs ? item.HowDidYouKnowAboutUs : '';\r\n this.IsDisability = item.IsDisability ? item.IsDisability : false;\r\n this.IsMembershipExpered = item.IsMembershipExpered ? item.IsMembershipExpered : false;\r\n this.DisabilityType = item.DisabilityType ? item.DisabilityType : '';\r\n this.CreateBy = item.CreateBy ? item.CreateBy : '';\r\n this.CreateDate = item.CreateDate ? item.CreateDate : null;\r\n this.ModifiedBy = item.ModifiedBy ? item.ModifiedBy : '';\r\n this.ModifiedDate = item.ModifiedDate ? item.ModifiedDate : null;\r\n this.IsDeleted = item.IsDeleted ? item.IsDeleted : false;\r\n this.DeletedBy = item.DeletedBy ? item.DeletedBy : '';\r\n this.DeletedDate = item.DeletedDate ? item.DeletedDate : null;\r\n this.SectorNameAr= item.SectorNameAr? item.SectorNameAr: '';\r\n this.SectorNameEn= item.SectorNameEn? item.SectorNameEn: '';\r\n this.FieldNameAr= item.FieldNameAr? item.FieldNameAr: '';\r\n this.FieldNameEn= item.FieldNameEn? item.FieldNameEn: '';\r\n this.HasWork = item.HasWork ? item.HasWork : true;\r\n this.StudentType = item.StudentType ? item.StudentType : '';\r\n this.CollegeNameAr = item.CollegeNameAr ? item.CollegeNameAr : '';\r\n this.CollegeNameEn = item.CollegeNameEn ? item.CollegeNameEn : '';\r\n this.SchoolNameAr = item.SchoolNameAr ? item.SchoolNameAr : '';\r\n this.SchoolNameEn = item.SchoolNameEn ? item.SchoolNameEn : '';\r\n this.VolunteerNumber = item.VolunteerNumber ? item.VolunteerNumber : '';\r\n this.EventsCount = item.EventsCount ? item.EventsCount : 0;\r\n this.ActivitiesCount = item.ActivitiesCount ? item.ActivitiesCount : 0;\r\n this.NumberOfActivityPoints = item.NumberOfActivityPoints ? item.NumberOfActivityPoints : 0;\r\n this.NumberOfActivityHours = item.NumberOfActivityHours ? item.NumberOfActivityHours : 0;\r\n this.EndMembershipDate = item.EndMembershipDate ? item.EndMembershipDate : null;\r\n this.MembershipIsIsEnded = item.MembershipIsIsEnded ? item.MembershipIsIsEnded : false;\r\n this.FirstArabicName = item.FirstArabicName ? item.FirstArabicName : '';\r\n this.SecondArabicName = item.SecondArabicName ? item.SecondArabicName : '';\r\n this.LastArabicName = item.LastArabicName ? item.LastArabicName : '';\r\n this.SocialStatus = item.SocialStatus?item.SocialStatus:'';\r\n }\r\n}","import { EmployeesManagementModel } from './../../../../../Employees/EmployeesManagement/EmployeesManagementModel';\nimport { VacationService } from './../../vacation.service';\nimport { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { VacationModel } from '../../models/vacation.model';\nimport { DataFilterer } from 'src/app/views/invoice/shared/DataFilterer';\nimport { DataSorter } from 'src/app/views/invoice/shared/DataSorter';\nimport { DataPaginator } from 'src/app/views/invoice/shared/DataPaginator';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { SidePopupComponent } from 'src/app/views/invoice/side-popup/side-popup.component';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { of } from 'rxjs';\nimport { VacationsTypesModel } from '../../../VacationsTypes/models/vacations-types.model';\nimport { EmployeesManagementService } from 'src/app/HR/Employees/EmployeesManagement/employees-management.service';\nimport { VacationsTypesService } from '../../../VacationsTypes/vacations-types.service';\n\n@Component({\n selector: 'vacations',\n templateUrl: 'vacations.component.html',\n styleUrls: ['vacations.component.scss']\n})\nexport class VacationsComponent {\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n constructor(private formBuilder: FormBuilder, private modelService: VacationService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private employeeService:EmployeesManagementService,\n private vacationTypeService:VacationsTypesService\n ) { //Additional services for City and Country\n }\n currentScreen: any = 'Table';\n \n translationName: string = ' Vacation'\n \n sortableKeys = [];\n searchableKeys = ['Name'];\n employees:EmployeesManagementModel[]=[];\n VactionsTypes:VacationsTypesModel[]=[];\n modelObject: VacationModel = new VacationModel({});\n ogData: VacationModel [] = [ ];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Name : new FormControl(),\n Nots : new FormControl(),\n EmployeeId : new FormControl(),\n From : new FormControl(),\n To : new FormControl(),\n SubmissionDate: new FormControl(),\n VactionTypeId : new FormControl(),\n \n });\n \n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: 'Name' };\n this.sortableKeys = [\n { label: 'Name ', property:'Name ' },\n { label: 'Nots ', property:'Nots ' },\n { label: 'EmployeeId ', property:'EmployeeId ' },\n { label: 'From ', property:'From ' },\n { label: 'To ', property:'To ' },\n { label: 'SubmissionDate', property:'SubmissionDate' },\n { label: 'VactionTypeId ', property:'VactionTypeId ' },\n ];\n //this.loadData();\n this.loadServices();\n }\n \n createForm(): FormGroup {\n debugger;\n return this.formBuilder.group({\n Id: [this.modelObject.Id >= 0 ? this.modelObject.Id : 0],\n Name : [this.modelObject.Name , Validators.compose([Validators.required])],\n Nots : [this.modelObject.Nots ],\n EmployeeId : [this.modelObject.EmployeeId , Validators.compose([Validators.required])],\n From : [this.modelObject.From , Validators.compose([Validators.required])],\n To : [this.modelObject.To , Validators.compose([Validators.required])],\n SubmissionDate: [this.modelObject.SubmissionDate, Validators.compose([Validators.required])],\n VactionTypeId : [this.modelObject.VactionTypeId , Validators.compose([Validators.required])],\n });\n }\n \n addObject() {\n debugger;\n //prevent multiclick submits. enable again after API response.\n this.currentAction = 'loading';\n \n this.modelObject = new VacationModel();\n this.modelObject = this.mainForm.getRawValue();\n this.modelObject.Id = 0;\n this.executeAddObject();\n }\n \n executeAddObject(){\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n this.sideModalRef.modalRef.hide();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n \n editObject() {\n this.savedPage = this.currentPage;\n this.currentAction = 'loading';\n \n let tempObj = this.mainForm.getRawValue();\n if(tempObj != this.modelObject){\n this.executeEditObject(tempObj);\n }\n else{\n this.sideModalRef.modalRef.hide();\n }\n }\n \n executeEditObject(Object)\n {\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n \n this.sideModalRef.modalRef.hide();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n \n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject(){\n this.modelService.deleteList(this.deletionList).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.finalizeDeletion();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n \n //Get any additional data here\n loadServices(){ \n this.employeeService.getAll()\n .subscribe(result=>{\n this.employees = result;\n })\n this.vacationTypeService.getAll()\n .subscribe(result=>{\n this.VactionsTypes = result;\n })\n this.currentAction = 'loading';\n this.loadData();\n\n }\n \n \n \n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n lang: string;\n currentFormMode: string = '';\n currentAction: string = '';\n \n \n //ogData = [];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n \n SelectAllBox: any = false;\n \n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n itemOrder: any;\n orderAsc: boolean = true;\n \n currentPage = 1;\n savedPage = 0;\n \n \n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n \n loadData() {\n debugger;\n this.currentAction = 'loading';\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.sortData();\n this.loadSearch();\n this.currentAction = '';\n }\n )\n \n }\n \n sortData() {\n debugger;\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n \n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n \n filterData() {\n debugger;\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n \n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n debugger;\n\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n \n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n \n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n \n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n \n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n \n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n \n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n \n isSelected(p: VacationModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n \n onSelect(item: VacationModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n \n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n \n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent;\n @ViewChild('delModal') delModal: ModalDirective;\n showAddNewModalRef(): void {\n this.currentFormMode = 'Add'\n this.modelObject = new VacationModel;\n this.mainForm = this.createForm();\n this.sideModalRef.show();\n }\n \n showEditModalRef(Id: any): void {\n this.currentFormMode = 'Edit'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.sideModalRef.show();\n }\n \n showInfoModalRef(Id: any): void {\n this.currentFormMode = 'Info'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.sideModalRef.show();\n }\n \n deletionList: VacationModel[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n \n SearchTerm: any = '';\n \n \n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n \n this.deletionList = [];\n this.selected = [];\n \n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n \n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n \n loadAllData() {\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.loadSearch();\n }\n )\n }\n \n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n }\n ","\n
    \n
    \n
    \n

    \n {{currentFormMode+translationName | translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"Name Required\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n {{\"EmployeeRequired\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"From Date Required\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"To Date Required\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"Submission Date Required\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"Vaction Type Required\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Name\" | translate}}\n \n
    \n {{\"Employee\" | translate}}\n \n
    \n {{\"Vaction Type\" | translate}}\n \n
    \n {{\"From Date\" | translate}}\n \n
    \n {{\"To Date\" | translate}}\n \n
    \n {{\"Submission Date\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{obj.Name}}{{obj.EmployeeName}}{{obj.VactionTypeName}}{{obj.From|date:'dd/MM/yyyy'}}{{obj.To|date:'dd/MM/yyyy'}}{{obj.SubmissionDate|date:'dd/MM/yyyy'}}\n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","export class VacationModel{\r\n Id?: number;\r\n Name ?: string;\r\n Nots ?: string;\r\n EmployeeId ?: number;\r\n From ?: Date | null;\r\n To ?: Date | null;\r\n SubmissionDate?: Date | null;\r\n VactionTypeId ?: number;\r\n EmployeeName?: string;\r\n VactionTypeName?: string;\r\n constructor(item ?: VacationModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.Name = item.Name ? item.Name : '';\r\n this.Nots = item.Nots ? item.Nots : '';\r\n this.EmployeeId = item.EmployeeId ? item.EmployeeId : 0;\r\n this.VactionTypeId = item.VactionTypeId ? item.VactionTypeId : 0;\r\n this.EmployeeName = item.EmployeeName ? item.EmployeeName : '';\r\n this.VactionTypeName = item.VactionTypeName ? item.VactionTypeName : '';\r\n this.From = item.From ? item.From : null;\r\n this.To = item.To ? item.To : null;\r\n this.SubmissionDate = item.SubmissionDate ? item.SubmissionDate : null;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { VacationModel } from './models/vacation.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class VacationService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Vacation/GetAll `,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Vacation/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: VacationModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}Vacation/Insert `, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: VacationModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}Vacation/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: VacationModel): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}Vacation/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: VacationModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}Vacation/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { VacationsTypesService } from './../../vacations-types.service';\nimport { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { VacationsTypesModel } from '../../models/vacations-types.model';\nimport { DataFilterer } from 'src/app/views/invoice/shared/DataFilterer';\nimport { DataSorter } from 'src/app/views/invoice/shared/DataSorter';\nimport { DataPaginator } from 'src/app/views/invoice/shared/DataPaginator';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { SidePopupComponent } from 'src/app/views/invoice/side-popup/side-popup.component';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { of } from 'rxjs';\n\n@Component({\n selector: 'vacations-types',\n templateUrl: 'vacations-types.component.html',\n styleUrls: ['vacations-types.component.scss']\n})\nexport class VacationsTypesComponent {\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n constructor(private formBuilder: FormBuilder, private modelService: VacationsTypesService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService\n ) { //Additional services for City and Country\n }\n currentScreen: any = 'Table';\n \n translationName: string = ' Vacation Type'\n \n sortableKeys = [];\n searchableKeys = ['Name'];\n \n modelObject: VacationsTypesModel = new VacationsTypesModel({});\n ogData: VacationsTypesModel [] = [ ];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Name : new FormControl(),\n Description : new FormControl(),\n MaxNumberInYear : new FormControl(),\n Color : new FormControl(),\n MaximumConsecutiveDays: new FormControl(),\n NeedPermission : new FormControl()\n });\n \n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: 'Name' };\n this.sortableKeys = [\n { label: 'Name', property: 'Name' },\n { label: 'Description', property: 'Description' },\n { label: 'MaxNumberInYear', property: 'MaxNumberInYear' },\n { label: 'Color', property: 'Color' },\n { label: 'MaximumConsecutiveDays', property: 'MaximumConsecutiveDays' },\n { label: 'NeedPermission', property: 'NeedPermission' },\n ];\n //this.loadData();\n this.loadServices();\n }\n \n createForm(): FormGroup {\n debugger;\n return this.formBuilder.group({\n Id: [this.modelObject.Id >= 0 ? this.modelObject.Id : 0],\n Name : [this.modelObject.Name , Validators.compose([Validators.required])],\n Description : [this.modelObject.Description ],\n MaxNumberInYear : [this.modelObject.MaxNumberInYear , Validators.compose([Validators.required])],\n Color : [this.modelObject.Color ],\n MaximumConsecutiveDays: [this.modelObject.MaximumConsecutiveDays, Validators.compose([Validators.required])],\n NeedPermission : [this.modelObject.NeedPermission , Validators.compose([Validators.required])],\n });\n }\n \n addObject() {\n debugger;\n //prevent multiclick submits. enable again after API response.\n this.currentAction = 'loading';\n \n this.modelObject = new VacationsTypesModel();\n this.modelObject = this.mainForm.getRawValue();\n this.modelObject.Id = 0;\n this.executeAddObject();\n }\n \n executeAddObject(){\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n this.sideModalRef.modalRef.hide();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n \n editObject() {\n this.savedPage = this.currentPage;\n this.currentAction = 'loading';\n \n let tempObj = this.mainForm.getRawValue();\n if(tempObj != this.modelObject){\n this.executeEditObject(tempObj);\n }\n else{\n this.sideModalRef.modalRef.hide();\n }\n }\n \n executeEditObject(Object)\n {\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n \n this.sideModalRef.modalRef.hide();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n \n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject(){\n this.modelService.deleteList(this.deletionList).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.finalizeDeletion();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n \n //Get any additional data here\n loadServices(){ \n this.currentAction = 'loading';\n this.loadData();\n\n }\n \n \n \n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n lang: string;\n currentFormMode: string = '';\n currentAction: string = '';\n \n \n //ogData = [];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n \n SelectAllBox: any = false;\n \n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n itemOrder: any;\n orderAsc: boolean = true;\n \n currentPage = 1;\n savedPage = 0;\n \n \n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n \n loadData() {\n debugger;\n this.currentAction = 'loading';\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.sortData();\n this.loadSearch();\n this.currentAction = '';\n }\n )\n \n }\n \n sortData() {\n debugger;\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n \n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n \n filterData() {\n debugger;\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n \n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n debugger;\n\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n \n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n \n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n \n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n \n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n \n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n \n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n \n isSelected(p: VacationsTypesModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n \n onSelect(item: VacationsTypesModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n \n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n \n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent;\n @ViewChild('delModal') delModal: ModalDirective;\n showAddNewModalRef(): void {\n this.currentFormMode = 'Add'\n this.modelObject = new VacationsTypesModel;\n this.mainForm = this.createForm();\n this.sideModalRef.show();\n }\n \n showEditModalRef(Id: any): void {\n this.currentFormMode = 'Edit'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.sideModalRef.show();\n }\n \n showInfoModalRef(Id: any): void {\n this.currentFormMode = 'Info'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.sideModalRef.show();\n }\n \n deletionList: VacationsTypesModel[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n \n SearchTerm: any = '';\n \n \n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n \n this.deletionList = [];\n this.selected = [];\n \n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n \n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n \n loadAllData() {\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.loadSearch();\n }\n )\n }\n \n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n }\n ","\n
    \n
    \n
    \n

    \n {{currentFormMode+translationName | translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"Name Required\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n {{\"ColorRequired\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"Max Number In Year Required\" | translate}}
    \n \n
    \n \n
    \n \n \n \n
    \n {{\"Maximum Consecutive Days Required\" | translate}}
    \n \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n \n \n \n
    \n {{\"Description Required\" | translate}}
    \n \n
    \n \n\n\n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Name\" | translate}}\n \n
    \n {{\"Max Number In Year\" | translate}}\n \n
    \n {{\"Maximum Consecutive Days\" | translate}}\n \n
    \n {{\"Color\" | translate}}\n \n
    \n {{\"Description\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{obj.Name}}{{obj.MaxNumberInYear}}{{obj.MaximumConsecutiveDays}}{{obj.Color}}{{obj.Governorate}}{{obj.Description}}\n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","export class VacationsTypesModel{\r\n Id?:number;\r\n Name ?:string;\r\n Description ?:string;\r\n MaxNumberInYear ?:number;\r\n Color ?:string;\r\n MaximumConsecutiveDays?:number;\r\n NeedPermission ?:boolean;\r\n constructor(item?:VacationsTypesModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.Name = item.Name ? item.Name : '';\r\n this.Description = item.Description ? item.Description : '';\r\n this.MaxNumberInYear = item.MaxNumberInYear ? item.MaxNumberInYear : 0;\r\n this.Color = item.Color ? item.Color : '#000';\r\n this.MaximumConsecutiveDays = item.MaximumConsecutiveDays ? item.MaximumConsecutiveDays : 0;\r\n this.NeedPermission = item.NeedPermission ? item.NeedPermission : false;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { VacationsTypesModel } from './models/vacations-types.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class VacationsTypesService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}VacationsTypes/GetAll `,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}VacationsTypes/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: VacationsTypesModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}VacationsTypes/Insert `, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: VacationsTypesModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}VacationsTypes/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: VacationsTypesModel): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}VacationsTypes/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: VacationsTypesModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}VacationsTypes/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { AttendanceSessionModel } from './models/attendance-session.model';\r\nimport { SessionLogsModel } from './models/session-logs.model';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AttendanceSessionService {\r\n\r\n \r\n constructor(private http:HttpClient ) { }\r\n\r\n \r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}AttendanceSession/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n}\r\n\r\ngetById(Id:number): Observable {\r\n\r\n return this.http\r\n .get(`${this.baseUrl}AttendanceSession/GetById/${Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n}\r\nOpenNewSession(): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}AttendanceSession/OpenNewSession`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n}\r\n\r\nupdate(payload: AttendanceSessionModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}AttendanceSession/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n}\r\nCheckInByAdmin(payload: AttendanceSessionModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}AttendanceSession/CheckInByAdmin`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n}\r\nRecordEmployee(payload:SessionLogsModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}AttendanceSession/RecordEmployee`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n}\r\nCloseSession(payload:AttendanceSessionModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}AttendanceSession/CloseSession`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n}\r\n\r\ndelete(Id:number): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}AttendanceSession/Delete/${Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n}\r\n\r\n deleteList(payload: AttendanceSessionModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}AttendanceSession/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n UploadExcel(formData: FormData) {\r\n let headers = new HttpHeaders();\r\n\r\n headers.append('Content-Type', 'multipart/form-data');\r\n headers.append('Accept', 'application/json');\r\n\r\n const httpOptions = { headers: headers };\r\n\r\n return this.http.post(`${this.baseUrl}AttendanceSession/UploadExcel` , formData, httpOptions)\r\n }\r\n}\r\n","import { TableEngine } from './../../../../../views/app/aio/shared/TableEngine';\nimport { AttendanceSessionModel } from './../../models/attendance-session.model';\nimport { AttendanceSessionService } from './../../attendance-session.service';\nimport { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { DataFilterer } from 'src/app/views/invoice/shared/DataFilterer';\nimport { DataSorter } from 'src/app/views/invoice/shared/DataSorter';\nimport { DataPaginator } from 'src/app/views/invoice/shared/DataPaginator';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\n\n@Component({\n selector: 'all-sessions',\n templateUrl: 'all-sessions.component.html',\n styleUrls: ['all-sessions.component.scss']\n})\nexport class AllSessionsComponent {\n constructor(private formBuilder: FormBuilder, private modelService: AttendanceSessionService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService, private router : Router,\n private route: ActivatedRoute\n ) { }\n\ntableEngine = new TableEngine(this.translate, this.notifications);\ncurrentScreen: any = 'Table';\ntableView: any = true;\n// PriceList : WarehouseModel[]=[];\n\n\ntranslationName: string = 'Warehouse' \nsortableKeys = [];\nsearchableKeys = ['Code','SessionTime','CloseTime','NumberOfRecords','AttendanceSourceNameAr','AttendanceSourceNameEn', 'IsOpen'];\nmodelObject: AttendanceSessionModel = new AttendanceSessionModel();\nSessionList:AttendanceSessionModel[]=[];\n\ndebugMode = true;\n\nogData: AttendanceSessionModel[] = [];\n\ndeclare lang: any;\ndeclare itemOrder: any;\ncurrentAction = '';\ncurrentFormMode: string = '';\nsavedPage = 0;\ncurrentPage = 1; \ndeletionList: any[] = [];\n@ViewChild('delModal', { static: true }) delModal: ModalDirective;\n\nformPresentationModal: any;\nngOnInit(): void {\n // this.getAllCountryCode(); \n \n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Code', property: 'Code' }; \n this.sortableKeys = [ \n // { label: 'Date', property: 'Date' }, \n { label: 'Code', property: 'Code' }, \n { label: 'SessionTime', property: 'SessionTime' }, \n { label: 'CloseTime', property: 'CloseTime' }, \n { label: 'NumberOfRecords', property: 'NumberOfRecords' }, \n { label: 'AttendanceSourceName', property:this.lang === 'ar-EG' ? 'CheckInAttendanceSourceNameAr' : 'CheckInAttendanceSourceNameEn'}, \n { label: 'IsOpen', property: 'IsOpen' }, \n \n ];\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, null, this.translationName, this.itemOrder,\n null, this.delModal, null, this.lang\n )\n\n this.loadServices();\n this.modelService.getAll().subscribe(data=>{\n this.modelObject=data;\n })\n\n} \nshowInfoModalRef(Id: any): void {\n this.router.navigate(['app/aio/Inventory/Info-Productes',Id])\n }\n showDelModal(Id: any): void {\n debugger;\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n \n }\n\n showModal(Id, action) {\n debugger;\n if (action === 'Add') { \n var openSession ;\n this.tableEngine.ogData.forEach(element => {\n if(element.IsOpen){\n openSession = element;\n }\n });\n if(openSession){\n this.router.navigate(['app/HR/vew-session/',openSession.Id]) \n }\n else{\n this.modelService.OpenNewSession()\n .subscribe(data=>{\n debugger;\n if(data.Id>0){\n this.router.navigate(['app/HR/vew-session/',data.Id]) \n }\n })\n }\n }\n else if (action === 'Edit') {\n debugger;\n this.router.navigate(['app/HR/vew-session/',Id])\n \n \n }\n else if (action === 'Info') {\n debugger;\n \n this.router.navigate(['app/HR/vew-session/',Id])\n \n \n }\n //this.mainForm.get('IsActive').setValue(true);\n this.modelObject = this.tableEngine.modelObject;\n \n }\n \n \n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject(){\n debugger;\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.delModal.hide();\n // this.finalizeDeletion();\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\"));\n \n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n \n \n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n \n loadServices(){\n // debugger;\n this.currentAction = 'loading';\n this.tableEngine.loadData(); \n \n \n }\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n \n selected : any[] = [];\n selectAllState = '';\n SearchFrom: Date = null;\n SearchTo: Date = null;\n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n SearchTerm: any = '';\n \n clearSearch() {\n this.SearchFrom = null;\n this.SearchTo = null;\n }\n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n filterData() {\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n isSelected(p: AttendanceSessionModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n \n onSelect(item: AttendanceSessionModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n \n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n \n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n \n prepChangeSort(sortKey) {\n this.SearchFrom = null;\n this.SearchTo = null;\n \n \n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n \n getFormattedDate(dateString: any){\n let splitDate: number[] = dateString.toString().split(\"/\");\n \n return new Date(splitDate[2], splitDate[1]-1, splitDate[0])\n }\n ///////////////////////////////////////////////////////\n \n displayMode = 'list';\n changeDisplayMode(mode): void {\n this.displayMode = mode;\n }\n itemsPerPageChange(perPage: number): void {\n this.tableEngine.paginateData(perPage, 1)\n }\n dateSearch = true;\n private selectedFile: File;\n uploadFile(event) {\n let formData = new FormData();\n this.selectedFile = event.target.files[0];\n formData.append('upload', this.selectedFile)\n\n this.modelService.UploadExcel(formData).subscribe(result => {\n \n });\n \n\n }\n\nSearchKey: string = '';\n AddEnabled: boolean = true;\n\n\nsearchDateRange(): void {\n this.tableEngine.filterDataByDateRange(this.SearchFrom,this.SearchTo,this.SearchKey==''?'Date':this.SearchKey);\n}\nsearchUsingKeys(): void {\n this.tableEngine.filterData();\n}\n\ndeleteSelected(): void {\n this.tableEngine.showDelModal('delMulti');\n}\n}\n","\n\n\n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n {{\"PurchaseOrderShowResultsFrom\"|translate}}\n
    \n \n
    \n {{\"PurchaseOrderShowResultsTo\"|translate}}\n
    \n \n
    \n
    \n
    \n
    \n
    \n  \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n  \n
    \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n\n \n\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n \n  \n \n
    \n \n \n \n \n
  • \n \n \n {{ \"DeleteSelected\" | translate }}\n \n
  • \n \n
    \n
    \n
    \n \n {{ \"Code\" | translate }}\n \n\n \n \n {{ \"Session Time\" | translate }}\n\n \n \n \n {{ \"Closed Time\" | translate }}\n\n \n \n \n {{ \"Number Of Records\" | translate }}\n\n \n \n \n {{ \"Source\" | translate }}\n\n \n \n \n {{ \"Status\" | translate }}\n\n \n \n \n \n {{ \"ResultCount\" | translate }}\n \n \n \n {{ tableEngine.itemsPerPage }}\n \n \n \n {{ item }}\n \n \n \n \n
    \n \n \n \n \n \n #{{obj.Code}}\n {{obj.SessionTime | date:'dd/MM/yyyy'}}{{obj.CloseTime | date:'dd/MM/yyyy'}}{{obj.NumberOfRecords}}{{lang === 'ar-EG' ? obj.AttendanceSourceNameAr:obj.AttendanceSourceNameEn}}{{obj.IsOpen?'Open':'Closed'}}\n \n \n \n
    \n \n
    \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n\n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { timer } from 'rxjs';\n\n@Component({\n selector: 'ngx-countdown',\n templateUrl: 'ngx-countdown.component.html',\n styleUrls: ['ngx-countdown.component.scss']\n})\nexport class NgxCountdownComponent implements OnInit {\n\n @Input() interval: number;\n \n @Output() onComplete = new EventEmitter();\n \n public countdown: string;\n \n private completed: boolean;\n \n constructor() { }\n \n ngOnInit() {\n \n this.countdown = this.getTime();\n const countdownObservable = timer(1000, 1000).subscribe(val => {\n this.manipulateInterval();\n this.countdown = this.getTime();\n if (this.interval === 0) {\n this.countdownCompleted();\n }\n });\n }\n \n private getTime(): string {\n if (this.interval < 0) {\n this.interval = Math.abs(this.interval);\n this.completed = true;\n }\n const hours = Math.floor(this.interval / 3600);\n const minutes = Math.floor((this.interval - (hours * 3600)) / 60);\n const seconds = (this.interval - (hours * 3600) - (minutes * 60));\n return `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`;\n }\n \n private manipulateInterval() {\n if (this.completed) {\n this.interval++;\n } else {\n this.interval--;\n }\n }\n \n countdownCompleted() {\n this.completed = true;\n this.onComplete.emit();\n }\n \n }\n ","{{ countdown }}","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { AttendanceSessionModel } from '../../models/attendance-session.model';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AttendanceSessionService } from '../../attendance-session.service';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { EmployeesManagementModel } from 'src/app/HR/Employees/EmployeesManagement/EmployeesManagementModel';\nimport { EmployeesManagementService } from 'src/app/HR/Employees/EmployeesManagement/employees-management.service';\nimport { SessionLogsModel } from '../../models/session-logs.model';\n@Component({\n selector: 'view-session',\n templateUrl: 'view-session.component.html',\n styleUrls: ['view-session.component.scss']\n})\nexport class ViewSessionComponent implements OnInit {\n Form:FormGroup;\n AttendanceSession:AttendanceSessionModel={};\n openGrid = false;\n Id=0;\n declare lang: any;\n EmployeeId = 0;\n employees:EmployeesManagementModel[]=[];\n columnDefs = [{ field: \"Code\" },{ field: \"SessionTime\" }, { field: \"CloseTime\" }, { field: \"NumberOfRecords\" }];\n constructor(public router:Router, \n private fb:FormBuilder,\n private AttendanceSessionService:AttendanceSessionService,\n private route: ActivatedRoute,\n private employeeService:EmployeesManagementService\n ){\n this.Id = + route.snapshot.paramMap.get('Id');\n this.lang = localStorage.getItem('theme_lang');\n\n }\n OpenRecord(): void {\n\n this.Record.show();\n }\n @ViewChild('Record') Record: ModalDirective;\n\n rowData:any[]=[];\n ngOnInit(): void {\n if(this.Id > 0)\n {\n this.lang = localStorage.getItem('theme_lang');\n this.AttendanceSessionService.getById(this.Id)\n .subscribe(data => {\n this.AttendanceSession = data;\n })\n \n \n }\n this.employeeService.getAll()\n .subscribe(employees=>{\n this.employees = employees;\n })\n }\n SessionLogsModel:SessionLogsModel={};\n\n SaveRecord(){\n debugger;\n this.SessionLogsModel.AttendanceSessionId = this.Id;\n this.SessionLogsModel.CheckIn = new Date();\n this.SessionLogsModel.EmployeeId = this.EmployeeId;\n this.SessionLogsModel.IsAttenance = true;\n this.SessionLogsModel.Status = true;\n this.AttendanceSessionService.RecordEmployee(this.SessionLogsModel)\n .subscribe(result => {\n if(result >0){\n this.SessionLogsModel.Id = result;\n this.AttendanceSession.SessionLogs.push(this.SessionLogsModel);\n this.Record.hide();\n this.EmployeeId = 0;\n this.SessionLogsModel = new SessionLogsModel();\n }\n })\n }\n count = 0;\n SelectEmployee(){\n debugger;\n if(this.EmployeeId > 0){\n var i = this.AttendanceSession.SessionLogs.findIndex(x=>x.EmployeeId == this.EmployeeId && x.Status == true);\n if(i>-1){\n var CheckInDate = new Date(this.AttendanceSession.SessionLogs[i].CheckIn);\n var days = CheckInDate.getDay();\n var hours = CheckInDate.getHours();\n var Minutes = CheckInDate.getMinutes();\n var Seconds = CheckInDate.getSeconds();\n var now = new Date();\n var nowDay = now.getDay();\n var nowhours = now.getHours();\n var nowMinutes = now.getMinutes();\n var nowSeconds = now.getSeconds();\n this.count += (nowDay - days)*86400;\n this.count += (nowhours - hours)*3600;\n this.count += (nowMinutes - Minutes)*60;\n this.count += (nowSeconds - Seconds);\n // this.count = this.diff_minutes(now,CheckInDate)\n // var today = new Date();\n // var Christmas = new Date(today.getFullYear() + \"-12-25\");\n // var diffMs = (Christmas - today); // milliseconds between now & Christmas\n // var diffDays = Math.floor(diffMs / 86400000); // days\n // var diffHrs = Math.floor((diffMs % 86400000) / 3600000); // hours\n // var diffMins = Math.round(((diffMs % 86400000) % 3600000) / 60000); // minutes\n }\n else{\n this.count = 0;\n }\n }\n }\n diff_minutes(dt2, dt1) \n {\n\n var diff =(dt2.getTime() - dt1.getTime()) / 1000;\n diff /= 60;\n return Math.abs(Math.round(diff));\n \n }\n completed() {\n }\n CloseSession(){\n this.AttendanceSessionService.CloseSession(this.AttendanceSession)\n .subscribe(data=>{\n this.router.navigate(['app/HR/all-sessions'])\n })\n }\n}\n","
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    #{{ AttendanceSession.Code}}\n\n \n
    {{\"Open\" | translate}}
    \n
    {{ \"Closed\" | translate}}
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    {{ 'Code' | translate }}
    \n
    #{{AttendanceSession.Code}}
    \n
    \n
    \n
    {{ 'Session Time' | translate }}
    \n
    {{AttendanceSession.SessionTime | date:'dd/MM/yyyy HH:mm'}}
    \n
    \n \n
    \n
    \n
    \n
    {{'Source'| translate}}
    \n
    {{ lang === 'ar-EG' ? AttendanceSession.AttendanceSourceNameAr : AttendanceSession.AttendanceSourceNameEn }}
    \n
    \n
    \n
    {{ 'Number Of Records' | translate }}
    \n
    {{AttendanceSession.NumberOfRecords}}
    \n
    \n \n
    \n
    \n
    \n
    {{ 'Status' | translate }}
    \n
    {{ AttendanceSession.IsOpen?'Open':'Closed'| translate}}
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    {{'Session Logs' | translate}}
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{\"Employee\"|translate}}{{\"Source\"|translate}}{{\"Session Number\"|translate}}{{\"Log Time\"|translate}}{{\"Status\"|translate}}
    {{item.EmployeName}}{{item.AttendanceSourceName}}{{AttendanceSession.Code}}{{item.CheckIn | date:'dd/MM/yyyy HH:mm'}}{{'Draft' | translate}}{{'Invalid' | translate}}
    \n
    \n \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n

    \n {{\"Record\" |\n translate}}

    \n
    \n
    \n \n \n
    \n \n \n {{ \"Please Choose\"|translate}}\n {{ employee.Name}}\n \n
    \n \n
    0\">\n
    \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n","import { SessionLogsModel } from \"./session-logs.model\";\r\n\r\nexport class AttendanceSessionModel{\r\n Id?: number;\r\n Code ?: number;\r\n SessionTime ?: Date|null;\r\n CloseTime ?: Date|null;\r\n NumberOfRecords ?: number;\r\n AttendanceSourceId ?: number;\r\n AttendanceSourceNameAr?: string;\r\n AttendanceSourceNameEn?: string;\r\n IsOpen ?: boolean;\r\n SessionLogs ?:SessionLogsModel[];\r\n constructor(item ?: AttendanceSessionModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.Code = item.Code ? item.Code : 0;\r\n this.SessionTime = item.SessionTime ? item.SessionTime : null;\r\n this.CloseTime = item.CloseTime ? item.CloseTime : null;\r\n this.NumberOfRecords = item.NumberOfRecords ? item.NumberOfRecords : 0;\r\n this.AttendanceSourceId = item.AttendanceSourceId ? item.AttendanceSourceId : 0;\r\n this.AttendanceSourceNameAr = item.AttendanceSourceNameAr ? item.AttendanceSourceNameAr : '';\r\n this.AttendanceSourceNameEn = item.AttendanceSourceNameEn ? item.AttendanceSourceNameEn : '';\r\n this.IsOpen = item.IsOpen ? item.IsOpen : false;\r\n this.SessionLogs = item.SessionLogs ? item.SessionLogs : [];\r\n }\r\n}","export class SessionLogsModel{\r\n Id?: number;\r\n AttendanceSessionId ?: number;\r\n AttendanceSession ?: string;\r\n EmployeName ?: string;\r\n EmployeCode ?: number;\r\n EmployeeId ?: number;\r\n CheckIn ?: Date|null;\r\n CheckOut ?: Date|null;\r\n Nots ?: string;\r\n IsAttenance ?: boolean;\r\n IsInVacation ?: boolean;\r\n AttendanceSourceName ?: string;\r\n CheckInAttendanceSourceId ?: number;\r\n CheckOutAttendanceSourceId?: number;\r\n Status ?: boolean;\r\n constructor(item ?: SessionLogsModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.AttendanceSessionId = item.AttendanceSessionId ? item.AttendanceSessionId : 0;\r\n this.AttendanceSession = item.AttendanceSession ? item.AttendanceSession : '';\r\n this.EmployeName = item.EmployeName ? item.EmployeName : '';\r\n this.EmployeCode = item.EmployeCode ? item.EmployeCode : 0;\r\n this.EmployeeId = item.EmployeeId ? item.EmployeeId : 0;\r\n this.CheckIn = item.CheckIn ? item.CheckIn : null;\r\n this.CheckOut = item.CheckOut ? item.CheckOut : null;\r\n this.Nots = item.Nots ? item.Nots : '';\r\n this.IsAttenance = item.IsAttenance ? item.IsAttenance : false;\r\n this.IsInVacation = item.IsInVacation ? item.IsInVacation : false;\r\n this.AttendanceSourceName = item.AttendanceSourceName ? item.AttendanceSourceName : '';\r\n this.CheckInAttendanceSourceId = item.CheckInAttendanceSourceId ? item.CheckInAttendanceSourceId : 0;\r\n this.CheckOutAttendanceSourceId = item.CheckOutAttendanceSourceId ? item.CheckOutAttendanceSourceId : 0;\r\n this.Status = item.Status ? item.Status : false;\r\n }\r\n}","import { Component } from '@angular/core';\n\n@Component({\n selector: 'create-holiday',\n templateUrl: 'create-holiday.component.html',\n styleUrls: ['create-holiday.component.scss']\n})\nexport class CreateHolidayComponent {\n\n}\n","import { HolidaysService } from './../../holidays.service';\nimport { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { HolidaysModel } from '../../models/holidays.model';\nimport { DataFilterer } from 'src/app/views/invoice/shared/DataFilterer';\nimport { DataSorter } from 'src/app/views/invoice/shared/DataSorter';\nimport { DataPaginator } from 'src/app/views/invoice/shared/DataPaginator';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { of } from 'rxjs';\nimport { HolidayDetailsModel } from '../../models/holidays-details.model';\n\n@Component({\n selector: 'holidays',\n templateUrl: 'holidays.component.html',\n styleUrls: ['holidays.component.scss']\n})\nexport class HolidaysComponent {\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n constructor(private formBuilder: FormBuilder, private modelService: HolidaysService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n ) { //Additional services for City and Country\n }\n currentScreen: any = 'Table';\n \n translationName: string = ' Holidays'\n \n sortableKeys = [];\n searchableKeys = ['Name'];\n modelObject: HolidaysModel = new HolidaysModel({});\n ogData: HolidaysModel [] = [ ];\n\n \n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: 'Name' };\n this.sortableKeys = [\n { label: 'Name ', property:'Name ' },\n ];\n //this.loadData();\n this.loadServices();\n }\n \n createForm(): FormGroup {\n debugger;\n return this.formBuilder.group({\n Id: [this.modelObject.Id >= 0 ? this.modelObject.Id : 0],\n Name : [this.modelObject.Name , Validators.compose([Validators.required])],\n Details : [this.modelObject.Details ],\n\n });\n }\n mainForm : FormGroup;\n addObject() {\n debugger;\n //prevent multiclick submits. enable again after API response.\n this.currentAction = 'loading';\n \n this.modelObject = new HolidaysModel();\n this.modelObject = this.mainForm.getRawValue();\n this.modelObject.Details= this.addedItemList;\n\n this.modelObject.Id = 0;\n this.executeAddObject();\n }\n \n executeAddObject(){\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n this.currentScreen = 'Table';\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n \n }\n })\n }\n \n editObject() {\n this.savedPage = this.currentPage;\n this.currentAction = 'loading';\n \n let tempObj = this.mainForm.getRawValue();\n tempObj.Details= this.addedItemList;\n if(tempObj != this.modelObject){\n this.executeEditObject(tempObj);\n }\n else{\n this.currentScreen = 'Table';\n }\n }\n \n executeEditObject(Object)\n {\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n this.currentScreen = 'Table';\n\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n \n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject(){\n this.modelService.deleteList(this.deletionList).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.finalizeDeletion();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n \n //Get any additional data here\n loadServices(){ \n this.currentAction = 'loading';\n this.loadData();\n\n }\n \n \n \n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n lang: string;\n currentFormMode: string = '';\n currentAction: string = '';\n \n \n //ogData = [];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n \n SelectAllBox: any = false;\n \n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n itemOrder: any;\n orderAsc: boolean = true;\n \n currentPage = 1;\n savedPage = 0;\n \n \n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n \n loadData() {\n debugger;\n this.currentAction = 'loading';\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.sortData();\n this.loadSearch();\n this.currentAction = '';\n }\n )\n \n }\n \n sortData() {\n debugger;\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n \n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n \n filterData() {\n debugger;\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n \n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n debugger;\n\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n \n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n \n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n \n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n \n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n \n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n \n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n \n isSelected(p: HolidaysModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n \n onSelect(item: HolidaysModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n \n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n \n @ViewChild('delModal') delModal: ModalDirective;\n showAddNewModalRef(): void {\n debugger;\n this.currentFormMode = 'Add'\n this.currentScreen = 'Add';\n this.modelObject = new HolidaysModel();\n this.addHolidayDetailsModel = new HolidayDetailsModel();\n this.detailsForm = this.createDetailsForm();\n this.mainForm = this.createForm();\n }\n addedItemList:HolidayDetailsModel[]=[];\n showEditModalRef(Id: any): void {\n this.currentFormMode = 'Edit'\n this.currentScreen = 'Edit';\n this.addHolidayDetailsModel = new HolidayDetailsModel();\n this.addedItemList = [];\n this.detailsForm = this.createDetailsForm();\n\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n this.addedItemList= this.modelObject.Details;\n })\n this.mainForm = this.createForm();\n }\n \n showInfoModalRef(Id: any): void {\n this.currentFormMode = 'Info'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n this.addedItemList= this.modelObject.Details;\n })\n this.mainForm = this.createForm();\n }\n removeItem(obj){\n var deletedIndex = this.addedItemList.indexOf(obj);\n if(deletedIndex > -1){\n this.addedItemList.splice(deletedIndex,1);\n }\n }\n addHolidayDetailsModel:HolidayDetailsModel={};\n detailsForm:FormGroup;\n createDetailsForm():FormGroup{\n return this.formBuilder.group({\n Date:[this.addHolidayDetailsModel.Date,Validators.required],\n Name:[this.addHolidayDetailsModel.Name,Validators.required],\n Id:[this.addHolidayDetailsModel.Id],\n HolidayId:[this.addHolidayDetailsModel.HolidayId]\n })\n }\n DetalsName='';\n DetalsDate= null;\n addItem(){\n var detail = this.detailsForm.getRawValue();\n this.addedItemList.push(detail);\n this.detailsForm = this.createDetailsForm();\n }\n deletionList: HolidaysModel[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n \n SearchTerm: any = '';\n \n \n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n \n this.deletionList = [];\n this.selected = [];\n \n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n \n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n \n loadAllData() {\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.loadSearch();\n }\n )\n }\n \n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n }\n ","\n\n
    \n
    \n
    \n\n
    \n \n \n \n \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"Name Required\" | translate}}
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{\"Date\" | translate}}{{\"Name\" | translate}}
    \n \n \n {{obj.Date | date:'dd/MM/yyyy'}}\n {{obj.Name}}
    \n \n \n
    \n
    \n \n \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Name\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{obj.Name}}\n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { HolidaysModel } from './models/holidays.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class HolidaysService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Holidays/GetAll `,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Holidays/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: HolidaysModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}Holidays/Insert `, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: HolidaysModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}Holidays/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: HolidaysModel): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}Holidays/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: HolidaysModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}Holidays/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","export class HolidayDetailsModel{\r\n Id?: number;\r\n Name?: string;\r\n HolidayId?: number;\r\n Date?: Date | null;\r\n constructor(item?:HolidayDetailsModel){\r\n item = item?item:{};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.Name = item.Name?item.Name:'';\r\n this.HolidayId = item.HolidayId ? item.HolidayId : 0;\r\n this.Date = item.Date ? item.Date : null;\r\n }\r\n}","import { HolidayDetailsModel } from \"./holidays-details.model\";\r\n\r\nexport class HolidaysModel{\r\n Id?: number;\r\n Name?: string;\r\n Details?:HolidayDetailsModel[];\r\n constructor(item ?: HolidaysModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.Name = item.Name ? item.Name: '';\r\n this.Details = item.Details ? item.Details : [];\r\n }\r\n}","import { ShiftService } from './../../shift.service';\nimport { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { ShiftModel } from '../../models/shift.model';\nimport { DataFilterer } from 'src/app/views/invoice/shared/DataFilterer';\nimport { DataSorter } from 'src/app/views/invoice/shared/DataSorter';\nimport { DataPaginator } from 'src/app/views/invoice/shared/DataPaginator';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { of } from 'rxjs';\nimport { WeekDaysModel } from '../../models/week-days.model';\nimport { ShiftDetailsModel } from '../../models/shift-details.model';\n\n@Component({\n selector: 'shifts',\n templateUrl: 'shifts.component.html',\n styleUrls: ['shifts.component.scss']\n})\nexport class ShiftsComponent {\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n constructor(private formBuilder: FormBuilder, private modelService: ShiftService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n ) { //Additional services for City and Country\n }\n currentScreen: any = 'Table';\n \n translationName: string = ' Shift'\n \n sortableKeys = [];\n searchableKeys = ['ShiftName'];\n modelObject: ShiftModel = new ShiftModel({});\n ogData: ShiftModel [] = [ ];\n\n \n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'ShiftName', property: 'ShiftName' };\n this.sortableKeys = [\n { label: 'ShiftName', property:'ShiftName' },\n ];\n //this.loadData();\n this.loadServices();\n }\n \n createForm(): FormGroup {\n debugger;\n return this.formBuilder.group({\n Id: [this.modelObject.Id >= 0 ? this.modelObject.Id : 0],\n ShiftName : [this.modelObject.ShiftName , Validators.compose([Validators.required])],\n Details : [this.modelObject.Details ],\n\n });\n }\n mainForm : FormGroup;\n addObject() {\n debugger;\n //prevent multiclick submits. enable again after API response.\n this.currentAction = 'loading';\n \n this.modelObject = new ShiftModel();\n this.modelObject = this.mainForm.getRawValue();\n this.modelObject.Details = this.addedItemList\n this.modelObject.Id = 0;\n this.executeAddObject();\n }\n \n executeAddObject(){\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n this.currentScreen = 'Table';\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n \n }\n })\n }\n \n editObject() {\n this.savedPage = this.currentPage;\n this.currentAction = 'loading';\n \n let tempObj = this.mainForm.getRawValue();\n tempObj.Details= this.addedItemList;\n if(tempObj != this.modelObject){\n this.executeEditObject(tempObj);\n }\n else{\n this.currentScreen = 'Table';\n }\n }\n \n executeEditObject(Object)\n {\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n this.currentScreen = 'Table';\n\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n \n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject(){\n this.modelService.deleteList(this.deletionList).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.finalizeDeletion();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n \n //Get any additional data here\n weekDays:WeekDaysModel[]=[];\n loadServices(){ \n this.modelService.getAllWeekDays()\n .subscribe(weekDays=>{\n this.weekDays = weekDays;\n this.weekDays.forEach(element => {\n var detal = new ShiftDetailsModel();\n detal.DayId = element.Id;\n detal.WeekDay = this.lang == 'ar-EG'? element.DayNameAr : element.DayNameEn;\n this.addedItemList.push(detal);\n });\n })\n this.currentAction = 'loading';\n this.loadData();\n\n }\n \n \n \n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n lang: string;\n currentFormMode: string = '';\n currentAction: string = '';\n \n \n //ogData = [];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n \n SelectAllBox: any = false;\n \n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n itemOrder: any;\n orderAsc: boolean = true;\n \n currentPage = 1;\n savedPage = 0;\n \n \n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n \n loadData() {\n debugger;\n this.currentAction = 'loading';\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.sortData();\n this.loadSearch();\n this.currentAction = '';\n }\n )\n \n }\n \n sortData() {\n debugger;\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n \n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n \n filterData() {\n debugger;\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n \n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n debugger;\n\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n \n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n \n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n \n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n \n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n \n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n \n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n \n isSelected(p: ShiftModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n \n onSelect(item: ShiftModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n \n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n \n @ViewChild('delModal') delModal: ModalDirective;\n showAddNewModalRef(): void {\n debugger;\n this.currentFormMode = 'Add'\n this.currentScreen = 'Add';\n this.modelObject = new ShiftModel();\n this.addShiftDetailsModel = new ShiftDetailsModel();\n this.mainForm = this.createForm();\n }\n addedItemList:ShiftDetailsModel[]=[];\n showEditModalRef(Id: any): void {\n this.currentFormMode = 'Edit'\n this.currentScreen = 'Edit';\n this.addShiftDetailsModel = new ShiftDetailsModel();\n this.addedItemList = [];\n\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n this.addedItemList= this.modelObject.Details;\n })\n this.mainForm = this.createForm();\n }\n \n showInfoModalRef(Id: any): void {\n this.currentFormMode = 'Info'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n\n this.addedItemList= this.modelObject.Details;\n \n })\n this.mainForm = this.createForm();\n }\n removeItem(obj){\n var deletedIndex = this.addedItemList.indexOf(obj);\n if(deletedIndex > -1){\n this.addedItemList.splice(deletedIndex,1);\n }\n }\n addShiftDetailsModel:ShiftDetailsModel={};\n detailsForm:FormGroup;\n \n DetalsName='';\n DetalsDate= null;\n addItem(){\n var detail = this.detailsForm.getRawValue();\n this.addedItemList.push(detail);\n }\n deletionList: ShiftModel[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n \n SearchTerm: any = '';\n \n \n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n \n this.deletionList = [];\n this.selected = [];\n \n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n \n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n \n loadAllData() {\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.loadSearch();\n }\n )\n }\n \n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n }\n ","\n\n
    \n
    \n
    \n\n
    \n \n \n \n \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"Name Required\" | translate}}
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    {{'Working Days' | translate}}
    \n \n
    \n
    \n\n \n \n
    \n
    \n
    \n \n \n \n \n \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n \n \n \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n \n \n \n \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n \n \n \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Name\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{obj.ShiftName}}\n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","export class ShiftDetailsModel{\r\n Id?: number;\r\n ShiftName ?: string;\r\n ShiftId ?: number;\r\n WeekDay ?: string;\r\n DayId ?: number;\r\n StartTime ?: string;\r\n EndTime ?: string;\r\n AttendaceTimeFrom ?: string;\r\n AttendaceTimeTo ?: string;\r\n BeginningTimeFrom ?: string;\r\n BeginningTimeTo ?: string;\r\n AllowableDelayTime?: number;\r\n constructor(item ?: ShiftDetailsModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.ShiftName = item.ShiftName ? item.ShiftName : '';\r\n this.ShiftId = item.ShiftId ? item.ShiftId : 0;\r\n this.WeekDay = item.WeekDay ? item.WeekDay : '';\r\n this.DayId = item.DayId ? item.DayId : 0;\r\n this.StartTime = item.StartTime ? item.StartTime : null;\r\n this.EndTime = item.EndTime ? item.EndTime : null;\r\n this.AttendaceTimeFrom = item.AttendaceTimeFrom ? item.AttendaceTimeFrom : null;\r\n this.AttendaceTimeTo = item.AttendaceTimeTo ? item.AttendaceTimeTo : null;\r\n this.BeginningTimeFrom = item.BeginningTimeFrom ? item.BeginningTimeFrom : null;\r\n this.BeginningTimeTo = item.BeginningTimeTo ? item.BeginningTimeTo : null;\r\n this.AllowableDelayTime = item.AllowableDelayTime ? item.AllowableDelayTime : 0;\r\n }\r\n}","import { ShiftDetailsModel } from \"./shift-details.model\";\r\n\r\nexport class ShiftModel{\r\n Id?: number;\r\n ShiftName?: string;\r\n Details?:ShiftDetailsModel[];\r\n constructor(item ?: ShiftModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item .Id : 0;\r\n this.ShiftName = item.ShiftName ? item.ShiftName : '';\r\n this.Details = item.Details ? item.Details : [];\r\n }\r\n}","import { WeekDaysModel } from './models/week-days.model';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ShiftModel } from './models/shift.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ShiftService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Shift/GetAll `,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getAllWeekDays(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}WeekDays/GetAll `,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n WeekDays\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Shift/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: ShiftModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}Shift/Insert `, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: ShiftModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}Shift/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: ShiftModel): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}Shift/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: ShiftModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}Shift/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","export class ActionStatusModel{\r\n Id?: number;\r\n Name?:string;\r\n\r\n\r\n \r\n constructor(item?:ActionStatusModel){\r\n item = item? item:{};\r\n this.Id = item.Id? item.Id:0;\r\n this.Name = item.Name? item.Name:'';\r\n }\r\n\r\n}","export class ActionsModel{\r\n Id?: number;\r\n Name?:string;\r\n\r\n\r\n \r\n constructor(item?:ActionsModel){\r\n item = item? item:{};\r\n this.Id = item.Id? item.Id:0;\r\n this.Name = item.Name? item.Name:'';\r\n }\r\n\r\n}","export class NotesAndAttachmentModel{\r\n Id?: number;\r\n Date?:Date;\r\n Time?:Date;\r\n ActionId?:number;\r\n ActionStatusId?:number;\r\n Notes?:string;\r\n EmployeeId?:number;\r\n ActionStatusName?:string;\r\n ActionName?:string;\r\n\r\n \r\n \r\n constructor(item?:NotesAndAttachmentModel){\r\n item = item? item:{};\r\n this.Id = item.Id? item.Id:0;\r\n this.Date = item.Date? item.Date:new Date();\r\n this.Time = item.Time? item.Time:new Date();\r\n this.Notes = item.Notes? item.Notes:'';\r\n this.ActionId = item.ActionId? item.ActionId:0;\r\n this.ActionStatusId = item.ActionStatusId? item.ActionStatusId:0;\r\n this.EmployeeId = item.EmployeeId? item.EmployeeId:0;\r\n this.ActionStatusName = item.ActionStatusName? item.ActionStatusName:'';\r\n this.ActionName = item.ActionName? item.ActionName:'';\r\n }\r\n\r\n}","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { ActionStatusModel } from '../../../Employees/EmployeesManagement/Actions-and-Notes/ActionStatusModel';\n@Injectable({\n providedIn: 'root'\n})\nexport class ActionStatusService {\n\n\n constructor(private http:HttpClient ) { }\n\n \n baseUrl = environment.baseApiUrl;\n token = localStorage.getItem(\"token\");\n httpOptions = {\n headers: new HttpHeaders({\n // 'Content-Type': 'application/json; charset=utf-8',\n // 'Authorization': \"Bearer \" + token,\n \"Authorization\": \"Bearer \" + this.token,\n \"Content-Type\": \"application/json\"\n })\n };\n\n getAll(): Observable {\n \n return this.http\n .get(`${this.baseUrl}ActionStatus/GetAll`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ngetById(Id:number): Observable {\n\n return this.http\n .get(`${this.baseUrl}ActionStatus/GetById/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ninsert(payload: ActionStatusModel): Observable {\n \n return this.http\n .post(`${this.baseUrl}ActionStatus/Insert`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\nupdate(payload: ActionStatusModel): Observable {\n return this.http\n .post(`${this.baseUrl}ActionStatus/Update`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ndelete(Id:number): Observable {\n return this.http\n .get(`${this.baseUrl}ActionStatus/Delete/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\n deleteList(payload: ActionStatusModel []): Observable {\n return this.http\n .post(`${this.baseUrl}ActionStatus/DeleteList`,JSON.stringify(payload),this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n UpdateList(payload: ActionStatusModel []): Observable {\n return this.http\n .post(`${this.baseUrl}ActionStatus/UpdateList`,JSON.stringify(payload),this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n}\n","import { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { DataFilterer } from 'src/app/views/app/aio/shared/DataFilterer';\nimport { DataSorter } from 'src/app/views/app/aio/shared/DataSorter';\nimport { DataPaginator } from 'src/app/views/invoice/shared/DataPaginator';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport {ActionStatusModel} from '../ActionStatusModel';\nimport{ActionStatusService} from '../action-status.service';\nimport { of } from 'rxjs';\nimport { SidePopupComponent } from 'src/app/views/app/aio/shared/side-popup/side-popup.component';\nimport { Router } from '@angular/router';\n@Component({\n // moduleId: module.id,\n selector: 'action-status',\n templateUrl: 'action-status.component.html',\n styleUrls: ['action-status.component.scss']\n})\nexport class ActionStatusComponent {\n lang: string;\n itemOrder: { label: string; property: string; };\n constructor(private formBuilder: FormBuilder, private modelService: ActionStatusService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService, private router : Router) {\n }\n currentScreen: any = 'Table';\n \n translationName: string = ' Department'\n \n sortableKeys = [];\n searchableKeys = ['Name'];\n \n modelObject: ActionStatusModel = new ActionStatusModel();\n ogData: ActionStatusModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Name: new FormControl(), \n });\n \n \n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: this.lang === 'ar-EG' ? 'Name' : 'Name' };\n this.sortableKeys = [\n { label: 'Name',property: this.lang === 'ar-EG' ? 'Name' : 'Name'},\n { label: 'limitation', property: 'limitation' },\n ];\n this.loadData();\n }\n \n createForm(): FormGroup {\n return this.formBuilder.group({\n Id: [this.modelObject.Id >= 0 ? this.modelObject.Id : 0],\n Name: [this.modelObject.Name, Validators.compose([Validators.required, Validators.minLength(2)])],\n });\n }\n\n \n\n\n addObject() {\n //prevent multiclick submits. enable again after API response.\n debugger;\n this.currentAction = 'loading';\n \n this.modelObject = new ActionStatusModel();\n this.modelObject.Id = 0;\n this.modelObject.Name = this.mainForm.getRawValue().Name;\n this.executeAddObject();\n }\n \n executeAddObject(){\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n // this.smallModal.hide();\n this.sideModalRef.modalRef.hide();\n\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n \n editObject() {\n this.savedPage = this.currentPage;\n this.currentAction = 'loading';\n \n let tempObj = new ActionStatusModel({\n Id: this.modelObject.Id,\n Name: this.mainForm.getRawValue().Name,\n\n });\n \n if(tempObj != this.modelObject){\n this.executeEditObject(tempObj);\n }\n else{\n // this.sideModalRef.hide();\n this.sideModalRef.modalRef.hide();\n }\n }\n \n executeEditObject(Object)\n {\n \n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n \n this.sideModalRef.modalRef.hide();\n // this.sideModalRef();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n \n //Deletion methods:\n //Customize if needed.\n //Pass the target object as paraMetre if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject(){\n this.modelService.deleteList(this.deletionList).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.finalizeDeletion();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n \n \n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n // lang: any;\n // itemOrder: any;\n currentFormMode: string = '';\n currentAction: string = '';\n \n \n //ogData = [];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n \n SelectAllBox: any = false;\n \n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n orderAsc: boolean = true;\n \n currentPage = 1;\n savedPage = 0;\n \n \n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n \n loadData() {\n debugger;\n this.currentAction = 'loading';\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.sortData();\n this.loadSearch();\n this.currentAction = '';\n }\n )\n \n }\n \n sortData() {\n debugger;\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n \n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n \n filterData() {\n debugger;\n\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n \n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n debugger;\n\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n \n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n \n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n \n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n \n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n \n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n \n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n \n isSelected(p: ActionStatusModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n \n onSelect(item: ActionStatusModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n \n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent;\n \n @ViewChild('smallModal') smallModal: ModalDirective;\n @ViewChild('delModal') delModal: ModalDirective;\n showAddNewModalRef(): void {\n this.currentFormMode = 'Add'\n this.modelObject = new ActionStatusModel;\n this.mainForm = this.createForm();\n this.sideModalRef.show();\n }\n \n showEditModalRef(Id: any): void {\n this.currentFormMode = 'Edit'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.sideModalRef.show();\n }\n \n showInfoModalRef(Id: any): void {\n this.currentFormMode = 'Info'\n this.router.navigate(['app/HR/Info-Department',Id])\n\n // this.modelObject = this.ogData.find(i => i.Id === Id);\n // of(this.modelObject).subscribe(data => {\n // this.modelObject = data;\n // })\n // this.mainForm = this.createForm();\n // this.sideModalRef.show();\n }\n \n deletionList: ActionStatusModel[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n \n SearchTerm: any = '';\n \n \n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n \n this.deletionList = [];\n this.selected = [];\n \n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n \n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n \n loadAllData() {\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.loadSearch();\n }\n )\n }\n \n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n}\n","\n\n\n\n\n \n
    \n
    \n
    \n \n
    \n

    \n {{currentFormMode+\" Department\" | translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"DepartmentNameRequired\" | translate}}
    \n \n
    \n \n \n
    \n \n \n \n
    \n {{\"Descriptionrequired\" | translate}}
    \n \n
    \n \n
    \n \n \n \n
    \n {{\"ManagerIdrequired\" | translate}}
    \n \n
    \n \n \n \n \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Name\" | translate}}\n \n \n
    \n {{\"Status\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n {{obj.Name}} \n 0\" style=\"font-weight: lighter;\">-{{obj.limitation}}\n {{'Active' | translate}}\n {{'InActive' | translate}} \n \n \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n \n
    \n \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { ActionsModel } from '../../../Employees/EmployeesManagement/Actions-and-Notes/ActionsModel';\n@Injectable({\n providedIn: 'root'\n})\nexport class ActionService {\n\n \n constructor(private http:HttpClient ) { }\n\n \n baseUrl = environment.baseApiUrl;\n token = localStorage.getItem(\"token\");\n httpOptions = {\n headers: new HttpHeaders({\n // 'Content-Type': 'application/json; charset=utf-8',\n // 'Authorization': \"Bearer \" + token,\n \"Authorization\": \"Bearer \" + this.token,\n \"Content-Type\": \"application/json\"\n })\n };\n\n getAll(): Observable {\n \n return this.http\n .get(`${this.baseUrl}Actions/GetAll`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ngetById(Id:number): Observable {\n\n return this.http\n .get(`${this.baseUrl}Actions/GetById/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ninsert(payload: ActionsModel): Observable {\n \n return this.http\n .post(`${this.baseUrl}Actions/Insert`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\nupdate(payload: ActionsModel): Observable {\n return this.http\n .post(`${this.baseUrl}Actions/Update`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ndelete(Id:number): Observable {\n return this.http\n .get(`${this.baseUrl}Actions/Delete/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\n deleteList(payload: ActionsModel []): Observable {\n return this.http\n .post(`${this.baseUrl}Actions/DeleteList`,JSON.stringify(payload),this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n UpdateList(payload: ActionsModel []): Observable {\n return this.http\n .post(`${this.baseUrl}Actions/UpdateList`,JSON.stringify(payload),this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n}\n","import { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { DataFilterer } from 'src/app/views/app/aio/shared/DataFilterer';\nimport { DataSorter } from 'src/app/views/app/aio/shared/DataSorter';\nimport { DataPaginator } from 'src/app/views/invoice/shared/DataPaginator';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport {ActionsModel} from '../ActionsModel';\nimport{ActionService} from '../action.service';\nimport { of } from 'rxjs';\nimport { SidePopupComponent } from 'src/app/views/app/aio/shared/side-popup/side-popup.component';\nimport { Router } from '@angular/router';\n\n@Component({\n // moduleId: module.id\n selector: 'add-actions',\n templateUrl: 'add-actions.component.html',\n styleUrls: ['add-actions.component.scss']\n})\nexport class AddActionsComponent {\n lang: string;\n itemOrder: { label: string; property: string; };\n constructor(private formBuilder: FormBuilder, private modelService: ActionService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService, private router : Router) {\n }\n currentScreen: any = 'Table';\n \n translationName: string = ' Department'\n \n sortableKeys = [];\n searchableKeys = ['Name'];\n \n modelObject: ActionsModel = new ActionsModel();\n ogData: ActionsModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Name: new FormControl(),\n });\n \n \n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: this.lang === 'ar-EG' ? 'Name' : 'Name' };\n this.sortableKeys = [\n { label: 'Name',property: this.lang === 'ar-EG' ? 'Name' : 'Name'},\n { label: 'limitation', property: 'limitation' },\n ];\n this.loadData();\n //this.dataSorter.sortData('NameEn', this.ogData);\n }\n \n createForm(): FormGroup {\n return this.formBuilder.group({\n Id: [this.modelObject.Id >= 0 ? this.modelObject.Id : 0],\n Name: [this.modelObject.Name, Validators.compose([Validators.required, Validators.minLength(2)])],\n });\n }\n\n \n\n\n addObject() {\n //prevent multiclick submits. enable again after API response.\n debugger;\n this.currentAction = 'loading';\n \n this.modelObject = new ActionsModel();\n this.modelObject.Id = 0;\n this.modelObject.Name = this.mainForm.getRawValue().Name;\n this.executeAddObject();\n }\n \n executeAddObject(){\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n // this.smallModal.hide();\n this.sideModalRef.modalRef.hide();\n\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n \n editObject() {\n this.savedPage = this.currentPage;\n this.currentAction = 'loading';\n \n let tempObj = new ActionsModel({\n Id: this.modelObject.Id,\n Name: this.mainForm.getRawValue().Name,\n\n });\n \n if(tempObj != this.modelObject){\n this.executeEditObject(tempObj);\n }\n else{\n // this.sideModalRef.hide();\n this.sideModalRef.modalRef.hide();\n }\n }\n \n executeEditObject(Object)\n {\n \n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n \n this.sideModalRef.modalRef.hide();\n // this.sideModalRef();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n \n //Deletion methods:\n //Customize if needed.\n //Pass the target object as paraMetre if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject(){\n this.modelService.deleteList(this.deletionList).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.finalizeDeletion();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n \n \n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n // lang: any;\n // itemOrder: any;\n currentFormMode: string = '';\n currentAction: string = '';\n \n \n //ogData = [];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n \n SelectAllBox: any = false;\n \n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n orderAsc: boolean = true;\n \n currentPage = 1;\n savedPage = 0;\n \n \n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n \n loadData() {\n debugger;\n this.currentAction = 'loading';\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.sortData();\n this.loadSearch();\n this.currentAction = '';\n }\n )\n \n }\n \n sortData() {\n debugger;\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n \n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n \n filterData() {\n debugger;\n\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n \n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n debugger;\n\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n \n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n \n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n \n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n \n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n \n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n \n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n \n isSelected(p: ActionsModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n \n onSelect(item: ActionsModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n \n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent;\n \n @ViewChild('smallModal') smallModal: ModalDirective;\n @ViewChild('delModal') delModal: ModalDirective;\n showAddNewModalRef(): void {\n this.currentFormMode = 'Add'\n this.modelObject = new ActionsModel;\n this.mainForm = this.createForm();\n this.sideModalRef.show();\n }\n \n showEditModalRef(Id: any): void {\n this.currentFormMode = 'Edit'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.sideModalRef.show();\n }\n \n showInfoModalRef(Id: any): void {\n this.currentFormMode = 'Info'\n this.router.navigate(['app/HR/Info-Department',Id])\n\n // this.modelObject = this.ogData.find(i => i.Id === Id);\n // of(this.modelObject).subscribe(data => {\n // this.modelObject = data;\n // })\n // this.mainForm = this.createForm();\n // this.sideModalRef.show();\n }\n \n deletionList: ActionsModel[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n \n SearchTerm: any = '';\n \n \n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n \n this.deletionList = [];\n this.selected = [];\n \n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n \n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n \n loadAllData() {\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.loadSearch();\n }\n )\n }\n \n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n}\n","\n\n \n
    \n
    \n
    \n \n
    \n

    \n {{currentFormMode+\" Department\" | translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"DepartmentNameRequired\" | translate}}
    \n \n
    \n \n \n
    \n \n \n \n
    \n {{\"Descriptionrequired\" | translate}}
    \n \n
    \n \n
    \n \n \n \n
    \n {{\"ManagerIdrequired\" | translate}}
    \n \n
    \n \n \n \n \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Name\" | translate}}\n \n \n
    \n {{\"Status\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n {{obj.Name}} \n 0\" style=\"font-weight: lighter;\">-{{obj.limitation}}\n {{'Active' | translate}}\n {{'InActive' | translate}} \n \n \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n \n
    \n \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { NotesAndAttachmentModel } from '../../../Employees/EmployeesManagement/Actions-and-Notes/NotesAndAttachmentModel';\n@Injectable({\n providedIn: 'root'\n})\nexport class NotesAndAttachmentService {\n\n \n constructor(private http:HttpClient ) { }\n\n \n baseUrl = environment.baseApiUrl;\n token = localStorage.getItem(\"token\");\n httpOptions = {\n headers: new HttpHeaders({\n // 'Content-Type': 'application/json; charset=utf-8',\n // 'Authorization': \"Bearer \" + token,\n \"Authorization\": \"Bearer \" + this.token,\n \"Content-Type\": \"application/json\"\n })\n };\n\n getAll(): Observable {\n \n return this.http\n .get(`${this.baseUrl}NotesAndAttachments/GetAll`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ngetById(Id:number): Observable {\n\n return this.http\n .get(`${this.baseUrl}NotesAndAttachments/GetById/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ninsert(payload: NotesAndAttachmentModel): Observable {\n \n return this.http\n .post(`${this.baseUrl}NotesAndAttachments/Insert`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\nupdate(payload: NotesAndAttachmentModel): Observable {\n return this.http\n .post(`${this.baseUrl}NotesAndAttachments/Update`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ndelete(Id:number): Observable {\n return this.http\n .get(`${this.baseUrl}NotesAndAttachments/Delete/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\n deleteList(payload: NotesAndAttachmentModel []): Observable {\n return this.http\n .post(`${this.baseUrl}NotesAndAttachments/DeleteList`,JSON.stringify(payload),this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n\n GetAllEmployeeId(EmployeeId:number): Observable {\n \n return this.http\n .get(`${this.baseUrl}NotesAndAttachments/GetAllEmployeeId/${EmployeeId}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n}\n","import { Component, ViewChild } from \"@angular/core\";\nimport {\n FormBuilder,\n FormControl,\n FormGroup,\n Validators,\n} from \"@angular/forms\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { NotificationType, NotificationsService } from \"angular2-notifications\";\nimport { ModalDirective } from \"ngx-bootstrap/modal\";\nimport { TableEngine } from \"src/app/invoices/TableEngine\";\nimport { SidePopupComponent } from \"src/app/views/invoice/side-popup/side-popup.component\";\nimport { NotesAndAttachmentModel } from \"../NotesAndAttachmentModel\";\nimport { NotesAndAttachmentService } from \"../notes-and-attachment.service\";\nimport { ActionsModel } from \"../ActionsModel\";\nimport { ActionStatusModel } from \"../ActionStatusModel\";\nimport { ActionService } from \"../action.service\";\nimport { ActionStatusService } from \"../action-status.service\";\nimport { PageChangedEvent } from \"ngx-bootstrap/pagination\";\nimport { of } from \"rxjs\";\nimport { DataFilterer } from \"src/app/views/app/aio/shared/DataFilterer\";\nimport { DataSorter } from \"src/app/views/app/aio/shared/DataSorter\";\nimport { DataPaginator } from \"src/app/views/invoice/shared/DataPaginator\";\nimport { SlicePipe } from \"@angular/common\";\n\n@Component({\n // moduleId: module.id,\n selector: \"notes-and-attachment\",\n templateUrl: \"notes-and-attachment.component.html\",\n styleUrls: [\"notes-and-attachment.component.scss\"],\n})\nexport class NotesAndAttachmentComponent {\n Id = 0;\n itemOrder: { label: string; property: string };\n\n constructor(\n public router: Router,\n private fb: FormBuilder,\n private formBuilder: FormBuilder,\n private modelService: NotesAndAttachmentService,\n private ActionsService: ActionService,\n private ActionStatusService: ActionStatusService,\n\n private notifications: NotificationsService,\n private translate: TranslateService,\n private route: ActivatedRoute\n ) {\n this.Id = +route.snapshot.paramMap.get(\"Id\");\n }\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = \"Table\";\n translationName: string = \"Item\";\n sortableKeys = [];\n searchableKeys = [\"Name\", \"Address\"];\n tableView: any = true;\n\n // StoreItemsModel:StoreItemsModel[]=[];\n actionStatusObject: ActionStatusModel = new ActionStatusModel();\n actionStatusOgData: ActionStatusModel[] = [];\n ActionStatusForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Name: new FormControl(),\n });\n\n ActionsObject: ActionsModel = new ActionsModel();\n ActionsOgData: ActionsModel[] = [{Id:0,Name:''}];\n ActionForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Name: new FormControl(),\n });\n\n modelObject: NotesAndAttachmentModel = new NotesAndAttachmentModel();\n // ItemsModel:ItemsModel[]=[]\n Form: FormGroup;\n declare lang: any;\n // declare itemOrder: any;\n currentAction = \"\";\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n prevAction = \"\";\n addToListId = 0;\n ItemsBalanceHeaderId = 0;\n ItemBalanceId = 0;\n currentFormMode: string = \"\";\n\n ogData: NotesAndAttachmentModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Date: new FormControl(),\n Time: new FormControl(),\n ActionId: new FormControl(),\n ActionStatusId: new FormControl(),\n Notes: new FormControl(),\n ActionStatusName: new FormControl(),\n ActionName: new FormControl(),\n });\n\n @ViewChild(\"sideModalRef\", { static: true })\n sideModalRef: SidePopupComponent = null;\n @ViewChild(\"delModal\", { static: true }) delModal: ModalDirective;\n @ViewChild(\"smallModal\", { static: true }) smallModal: ModalDirective = null;\n @ViewChild(\"smallModalActions\", { static: true }) smallModalActions: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n // this.getAllCountryCode();\n\n this.lang = localStorage.getItem(\"theme_lang\");\n this.itemOrder = {\n label: \"Name\",\n property: this.lang === \"ar-EG\" ? \"Name\" : \"Name\",\n };\n this.sortableKeys = [\n // { label: 'Date', property: 'Date' },\n { label: \"Name\", property: this.lang === \"ar-EG\" ? \"Name\" : \"Name\" },\n ];\n this.loadActionsStatuseData();\n this.loadActionsData();\n this.tableEngine.loadTableEngine(\n this.ogData,\n this.modelService,\n this.modelObject,\n this.searchableKeys,\n this.sortableKeys,\n this.mainForm,\n this.translationName,\n this.itemOrder,\n this.sideModalRef,\n this.delModal,\n this.smallModal,\n this.lang\n );\n\n this.ActionStatusService.getAll().subscribe((data) => {\n if(data.length>0){\n this.ActionStatusList = data;\n }\n });\n this.ActionsService.getAll().subscribe((data) => {\n if(data.length>0){\n this.ActionList = data;\n }\n });\n this.loadServices();\n }\n\n createActionsForm(): FormGroup {\n return this.formBuilder.group({\n Id: [this.ActionsObject.Id >= 0 ? this.ActionsObject.Id : 0],\n Name: [\n this.ActionsObject.Name,\n Validators.compose([Validators.required, Validators.minLength(2)]),\n ],\n });\n }\n\n createActionStatusForm(): FormGroup {\n return this.formBuilder.group({\n Id: [this.actionStatusObject.Id >= 0 ? this.actionStatusObject.Id : 0],\n Name: [\n this.actionStatusObject.Name,\n Validators.compose([Validators.required]),\n ],\n });\n }\n\n createForm(modelObject): FormGroup {\n debugger;\n return this.fb.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n Date: [modelObject.Date],\n Time: [modelObject.Time],\n ActionId: [modelObject.ActionId],\n ActionStatusId: [modelObject.ActionStatusId],\n Notes: [modelObject.Notes],\n ActionName: [modelObject.ActionName],\n ActionStatusName: [modelObject.ActionStatusName],\n\n });\n }\n\n loadServices() {\n this.currentAction = \"loading\";\n this.tableEngine.loadData();\n }\n loadActionsStatuseData() {\n debugger;\n this.currentAction = \"loading\";\n this.ActionStatusService.getAll().subscribe((data) => {\n this.actionStatusOgData = data;\n this.currentAction = \"\";\n });\n }\n \n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = \"\";\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n ActionList: ActionsModel[] = [{Id:0,Name:''}];\n ActionStatusList: ActionStatusModel[] = [{Id:0,Name:''}];\n\n type = 0;\n visable = \"\";\n visable2 = \"\";\n visable3 = \"\";\n\n goBack(Id) {\n debugger;\n this.router.navigate([\"app/HR/Info-Employee/\", this.modelObject.EmployeeId]);\n }\n Save() {\n debugger;\n this.currentAction = \"loading\";\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n var SavedObj = new NotesAndAttachmentModel();\n SavedObj.Date = new Date(this.mainForm.getRawValue().Date);\n SavedObj.Time = new Date(this.mainForm.getRawValue().Time);\n SavedObj.Notes = this.mainForm.getRawValue().Notes;\n SavedObj.ActionId = +this.mainForm.getRawValue().ActionId;\n SavedObj.ActionStatusId =+this.mainForm.getRawValue().ActionStatusId;\n SavedObj.Id =this.Id;\n SavedObj.EmployeeId = this.modelObject.EmployeeId;\n if (this.Id == 0) {\n this.modelService.insert(SavedObj).subscribe((data) => {\n this.router.navigate([\"app/HR/Info-Employee/\", this.modelObject.EmployeeId]);\n });\n } else {\n debugger;\n this.modelService.update(SavedObj).subscribe((data) => {\n this.router.navigate([\"app/HR/Info-Employee/\", this.modelObject.EmployeeId]);\n });\n }\n }\n\n\n\n //////Add Action Statuse\n SaveActionStatuse() {\n this.ActionStatusService.UpdateList(this.ActionStatusList).subscribe((result) => {\n if (result === true) {\n this.currentAction = \"\";\n this.smallModal.hide();\n } else {\n this.currentAction = \"\";\n }\n });\n this.smallModal.hide();\n }\n\n deleteActionStatuse(Id) {\n debugger;\n this.savedPage = this.currentPage;\n this.currentAction = \"loading\";\n this.ActionStatusService.delete(Id).subscribe((result) => {\n \n if (result === true) {\n this.loadActionStatusData();\n var i = this.ActionStatusList.findIndex(x=>x.Id == Id);\n if(i>-1){\n this.ActionStatusList.splice(i,1);\n }\n this.currentAction = \"\";\n }\n else {\n this.currentAction = \"loading\";\n }\n });\n \n }\n SearchTerm: any = \"\";\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n SelectAllBox: any = false;\n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = \"\";\n orderAsc: boolean = true;\n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n\n loadActionStatusData() {\n debugger;\n this.currentAction = \"loading\";\n this.ActionStatusService.getAll().subscribe((data) => {\n this.actionStatusOgData = data;\n // this.sortData();\n // this.loadSearch();\n this.currentAction = \"\";\n });\n }\n AddonClick(obj) {\n debugger;\n this.actionStatusObject = new ActionStatusModel();\n (this.actionStatusObject.Id = 0),\n this.actionStatusObject.Name=obj.Name;\n this.ActionStatusList.push(this.actionStatusObject);\n this.ActionsObject = {};\n\n }\n\n showAddNewActionStatuseModalRef(): void {\n debugger;\n this.currentFormMode = \"Add\";\n this.actionStatusObject = new ActionStatusModel();\n this.ActionStatusForm = this.createActionStatusForm();\n // this.sideModalRef.show();\n this.smallModal.show();\n }\n\n\n ////Add Actions\n showAddNewActionModalRef(): void {\n debugger;\n this.currentFormMode = \"Add\";\n this.ActionsObject = new ActionsModel();\n this.ActionForm = this.createActionsForm();\n this.smallModalActions.show();\n }\n\n loadActionsData() {\n debugger;\n this.currentAction = \"loading\";\n this.ActionsService.getAll().subscribe((data) => {\n this.ActionsOgData = data;\n this.currentAction = \"\";\n });\n }\n SaveActions() {\n this.ActionsService.UpdateList(this.ActionList).subscribe((result) => {\n if (result === true) {\n \n this.smallModalActions.hide();\n } \n else {\n this.currentAction = \"\";\n }\n });\nthis.smallModalActions.hide();\n }\n\n deleteActions(Id) {\n debugger;\n this.savedPage = this.currentPage;\n this.currentAction = \"loading\";\n this.ActionsService.delete(Id).subscribe((result) => {\n \n if (result === true) {\n this.loadActionStatusData();\n var i = this.ActionList.findIndex(x=>x.Id == Id);\n if(i>-1){\n this.ActionList.splice(i,1);\n }\n this.currentAction = \"\";\n }\n else {\n this.currentAction = \"loading\";\n }\n });\n \n this.currentAction = \"loading\";\n }\n loadActionData() {\n debugger;\n this.currentAction = \"loading\";\n this.ActionsService.getAll().subscribe((data) => {\n this.ActionsOgData = data;\n this.currentAction = \"\";\n });\n }\n\n AddActionsClick(obj2) {\n debugger;\n this.ActionsObject = new ActionStatusModel();\n (this.ActionsObject.Id = 0),\n this.actionStatusObject.Name=obj2.Name;\n this.ActionList.push(this.ActionsObject);\n this.ActionsObject = {};\n\n }\n}\n","\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    {{ \"NewAttachment\" | translate }}
    \n
    \n \n {{ \"Back\" | translate }}\n \n \n {{ \"Save\" | translate }}\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n
    \n \n
    \n
    \n \n \n \n \n {{ \"DateRequired\" | translate }}\n
    \n
    \n
    \n \n \n \n \n {{ \"NameRequired\" | translate }}\n
    \n
    \n \n
    \n \n\n
    \n\n
    \n \n
    \n \n
    \n \n
    \n
    \n \n\n
    \n
    \n \n
    \n \n
    \n \n
    \n \n
    \n
    \n
    \n \n \n
    \n\n
    \n \n
    \n \n \n
    \n \n \n
    \n
    \n
    \n
    \n \n
    \n

    \n {{currentFormMode+\"Statuse\" | translate}}

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

    \n {{currentFormMode+\"Attachment\" | translate}}

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

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n deletionList.length === actionStatusOgData.length\">\n \n \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n \n \n \n ","import data from \"src/app/data/follow\";\r\n\r\nexport class EmployeesManagementModel{\r\n Id?: number;\r\n Name?:string;\r\n Code?:number;\r\n Nickname?:string;\r\n MiddleName?:string;\r\n Notes?:string;\r\n EmployeeType?:string;\r\n EMail?:string;\r\n BirthDate?:Date;\r\n Type?:string;\r\n CountryId?:number;\r\n MobileNumber?:string;\r\n GroundPhoneNumber?:string;\r\n PersonalEmail?:string;\r\n FirstAddress?:string;\r\n SecondAddress?:string;\r\n City?:string;\r\n Governorate?:string;\r\n PostalCode?:string;\r\n FirstPermanentAddress?:string;\r\n SecondPermanentAddress?:string;\r\n PermanentCity?:string;\r\n PermanentGovernorate?:string;\r\n PermanentPostalCode?:string;\r\n JobTitelId?:number;\r\n DepartmentId?:number;\r\n JobLevelId?:number;\r\n JoiningDate?:string;\r\n BranchId?:number;\r\n Month?:string;\r\n Day?:string;\r\n AttendanceShiftId?:number;\r\n VacationPolicyId?:number;\r\n AttendanceDeterminantsId?:number;\r\n Status?:boolean;\r\n IsAccessToTheSystem?:boolean;\r\n JobLevelName?:string;\r\n DepartmentName?:string;\r\n JobTitelName?:string;\r\n BranchName?:string;\r\n JobTypeName?:string;\r\n CountryNameAr?:string;\r\n CountryNameEn?:string;\r\n JobTypeId?:number;\r\n \r\n LanguageId?:number;\r\n JobRoleId?:number;\r\n SendLoginDataByMail?:boolean;\r\n IsDefaultFiscalDate?:boolean;\r\n \r\n \r\n constructor(item?:EmployeesManagementModel){\r\n item = item? item:{};\r\n this.Id = item.Id? item.Id:0;\r\n this.Code = item.Code? item.Code:0;\r\n this.Name = item.Name? item.Name:'';\r\n this.Nickname = item.Nickname? item.Nickname:'';\r\n this.MiddleName = item.MiddleName? item.MiddleName:'';\r\n this.Notes = item.Notes? item.Notes:'';\r\n this.EmployeeType = item.EmployeeType? item.EmployeeType:'';\r\n this.EMail = item.EMail? item.EMail:'';\r\n this.BirthDate = item.BirthDate? item.BirthDate:new Date();\r\n this.Type = item.Type? item.Type:'';\r\n this.CountryId = item.CountryId? item.CountryId:0;\r\n this.MobileNumber = item.MobileNumber? item.MobileNumber:'';\r\n this.GroundPhoneNumber = item.GroundPhoneNumber? item.GroundPhoneNumber:'';\r\n this.PersonalEmail = item.PersonalEmail? item.PersonalEmail:'';\r\n this.FirstAddress = item.FirstAddress? item.FirstAddress:'';\r\n this.SecondAddress = item.SecondAddress? item.SecondAddress:'';\r\n this.City = item.City? item.City:'';\r\n this.Governorate = item.Governorate? item.Governorate:'';\r\n this.City = item.City? item.City:'';\r\n this.PostalCode = item.PostalCode? item.PostalCode:'';\r\n this.FirstPermanentAddress = item.FirstPermanentAddress? item.FirstPermanentAddress:'';\r\n this.SecondPermanentAddress = item.SecondPermanentAddress? item.SecondPermanentAddress:'';\r\n this.PermanentCity = item.PermanentCity? item.PermanentCity:'';\r\n this.PermanentGovernorate = item.PermanentGovernorate? item.PermanentGovernorate:'';\r\n this.PermanentPostalCode = item.PermanentPostalCode? item.PermanentPostalCode:'';\r\n this.JobTitelId = item.JobTitelId? item.JobTitelId:0;\r\n this.DepartmentId = item.DepartmentId? item.DepartmentId:0;\r\n this.JobLevelId = item.JobLevelId? item.JobLevelId:0;\r\n this.JoiningDate = item.JoiningDate? item.JoiningDate:'';\r\n this.BranchId = item.BranchId? item.BranchId:0;\r\n this.LanguageId = item.LanguageId? item.LanguageId:0;\r\n this.JobRoleId = item.JobRoleId? item.JobRoleId:0;\r\n this.Day = item.Day? item.Day:'';\r\n this.AttendanceShiftId = item.AttendanceShiftId? item.AttendanceShiftId:0;\r\n this.VacationPolicyId = item.VacationPolicyId? item.VacationPolicyId:0;\r\n this.AttendanceDeterminantsId = item.AttendanceDeterminantsId? item.AttendanceDeterminantsId:0;\r\n this.Status = item.Status? item.Status:true;\r\n this.IsAccessToTheSystem = item.IsAccessToTheSystem? item.IsAccessToTheSystem:true;\r\n this.SendLoginDataByMail = item.SendLoginDataByMail? item.SendLoginDataByMail:false;\r\n this.JobLevelName = item.JobLevelName? item.JobLevelName:'';\r\n this.JobTypeName = item.JobTypeName? item.JobTypeName:'';\r\n this.DepartmentName = item.DepartmentName? item.DepartmentName:'';\r\n this.JobTitelName = item.JobTitelName? item.JobTitelName:'';\r\n this.BranchName = item.BranchName? item.BranchName:'';\r\n this.CountryNameAr = item.CountryNameAr? item.CountryNameAr:'';\r\n this.CountryNameEn = item.CountryNameEn? item.CountryNameEn:'';\r\n this.JobTypeId = item.JobTypeId? item.JobTypeId:0;\r\n this.IsDefaultFiscalDate = item.IsDefaultFiscalDate? item.IsDefaultFiscalDate:false;\r\n \r\n }\r\n\r\n}","import { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { TableEngine } from 'src/app/invoices/TableEngine';\n\nimport { SidePopupComponent } from 'src/app/views/invoice/side-popup/side-popup.component';\nimport { EmployeesManagementModel } from '../EmployeesManagementModel';\nimport { EmployeesManagementService } from '../employees-management.service';\nimport { CountryModel } from 'src/app/invoices/suppliers/model/countrymodel';\nimport { CountryService } from '../country.service';\nimport { JobTitlesModel } from 'src/app/HR/Organization_Structure/JobTitels_Componentes/JobTitlesModel';\nimport { JobLevelsModel } from 'src/app/HR/Organization_Structure/JobLevelsComponentes/JobLevelsModel';\nimport { JobTypesModel } from 'src/app/HR/Organization_Structure/JobTypesComponentes/JobTypesModel';\nimport { JobLevelsService } from 'src/app/HR/Organization_Structure/JobLevelsComponentes/job-levels.service';\nimport { JobTitlesService } from 'src/app/HR/Organization_Structure/JobTitels_Componentes/job-titles.service';\nimport { JobTypesService } from 'src/app/HR/Organization_Structure/JobTypesComponentes/job-types.service';\nimport { DepartmentModel } from 'src/app/HR/Organization_Structure/Department_components/DepartmentModel';\nimport { DepartmentService } from 'src/app/HR/Organization_Structure/Department_components/department.service';\nimport { BranchService } from 'src/app/invoices/branches/BranchService';\nimport { BranchModel } from 'src/app/invoices/branches/BranchModel';\n\n@Component({\n // moduleId: module.id,\n selector: 'add-employees-management',\n templateUrl: 'add-employees-management.component.html',\n styleUrls: ['add-employees-management.component.scss']\n})\nexport class AddEmployeesManagementComponent {\n Id = 0;\n\n constructor(\n \n public router: Router,\n private fb: FormBuilder,\n private modelService: EmployeesManagementService,\n private notifications: NotificationsService,\n private CountryService:CountryService,\n private JobLevelsService:JobLevelsService,\n private JobTitlesService:JobTitlesService,\n private JobTypesService:JobTypesService,\n private BranchesService:BranchService,\n private DepartmentService:DepartmentService,\n \n private translate: TranslateService,\n private route: ActivatedRoute\n ) {\n this.Id = +route.snapshot.paramMap.get(\"Id\");\n }\n showItemIndex = 0;\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = \"Table\";\n translationName: string = \"Item\";\n sortableKeys = [];\n searchableKeys = [\"Name\", \"Address\"];\n tableView: any = true;\n \n EmployeesManagementModel:EmployeesManagementModel[]=[];\n isLastOpen = false;\n \n \n modelObject: EmployeesManagementModel = new EmployeesManagementModel();\n Form: FormGroup;\n declare lang: any;\n declare itemOrder: any;\n currentAction = \"\";\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n prevAction = \"\";\n addToListId = 0;\n ItemsBalanceHeaderId = 0;\n ItemBalanceId = 0;\n currentFormMode: string = \"\";\n type = 0;\n visable = \"\";\n visable2 = \"\";\n visable3 = \"\";\n\n Code=0;\n\n AlertMessage :string=\"Alert me when the quantity reaches less than\";\n ogData: EmployeesManagementModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Name: new FormControl(),\n Nickname: new FormControl(),\n MiddleName: new FormControl(),\n EmployeeType: new FormControl(),\n EMail: new FormControl(),\n BirthDate: new FormControl(),\n Type: new FormControl(),\n CountryId: new FormControl(),\n MobileNumber: new FormControl(),\n GroundPhoneNumber: new FormControl(),\n PersonalEmail: new FormControl(),\n FirstAddress: new FormControl(),\n SecondAddress: new FormControl(),\n City: new FormControl(),\n Governorate: new FormControl(),\n PostalCode: new FormControl(),\n FirstPermanentAddress: new FormControl(),\n SecondPermanentAddress: new FormControl(),\n PermanentCity: new FormControl(),\n PermanentGovernorate: new FormControl(),\n PermanentPostalCode: new FormControl(),\n DepartmentId: new FormControl(),\n JobLevelId: new FormControl(),\n JoiningDate: new FormControl(),\n JobTitelId: new FormControl(),\n BranchId: new FormControl(),\n Month: new FormControl(),\n Day: new FormControl(),\n AttendanceShiftId: new FormControl(),\n VacationPolicyId: new FormControl(),\n AttendanceDeterminantsId: new FormControl(),\n Status: new FormControl(),\n IsAccessToTheSystem: new FormControl(),\n Notes: new FormControl(),\n JobTypeId: new FormControl(),\n\n Code: new FormControl(),\n LanguageId: new FormControl(),\n JobRoleId: new FormControl(),\n SendLoginDataByMail: new FormControl(),\n IsDefaultFiscalDate: new FormControl(),\n \n \n });\n \n\n\n \n @ViewChild(\"sideModalRef\", { static: true })\n sideModalRef: SidePopupComponent = null;\n @ViewChild(\"delModal\", { static: true }) delModal: ModalDirective;\n @ViewChild(\"smallModal\", { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n // this.getAllCountryCode();\n \n this.lang = localStorage.getItem(\"theme_lang\");\n this.itemOrder = {\n label: \"Name\",\n property: this.lang === \"ar-EG\" ? \"Name\" : \"Name\",\n };\n this.sortableKeys = [\n // { label: 'Date', property: 'Date' },\n { label: 'Name', property: this.lang === 'ar-EG' ? 'Name' : 'Name' }, \n { label: 'Nickname', property: this.lang === 'ar-EG' ? 'Nickname' : 'Nickname' }, \n { label: 'MobileNumber', property: this.lang === 'ar-EG' ? 'MobileNumber' : 'MobileNumber' }, \n \n ];\n \n this.tableEngine.loadTableEngine(\n this.ogData,\n this.modelService,\n this.modelObject,\n this.searchableKeys,\n this.sortableKeys,\n this.mainForm,\n this.translationName,\n this.itemOrder,\n this.sideModalRef,\n this.delModal,\n this.smallModal,\n this.lang\n );\n \n this.loadServices();\n this.modelService.GetLastCode().subscribe(data=>{\n this.Code=data;\n });\n this.CountryService.getAll().subscribe(data=>{\n this.CountryList=data;\n });\n this.JobLevelsService.getAll().subscribe(data=>{\n this.JobLevelList=data;\n });\n this.JobTitlesService.getAll().subscribe(data=>{\n this.JobTitelList=data;\n });\n this.JobTypesService.getAll().subscribe(data=>{\n this.JobTypeList=data;\n });\n this.BranchesService.getAll().subscribe(data=>{\n this.BranchList=data;\n });\n this.DepartmentService.getAll().subscribe(data=>{\n this.DepartmentList=data;\n });\n this.modelObject.EmployeeType=\"موظف\";\n if(this.Id > 0)\n { debugger; \n this.modelService.getById(this.Id).subscribe(data=>{ \n this.modelObject = data; \n this.mainForm = this.createForm(this.modelObject);\n });\n }\n else{\n \n this.mainForm = this.createForm(this.modelObject); \n }\n this.mainForm = this.createForm(this.modelObject);\n \n }\n\n\n getMonthList(\n locales?: string | string[],\n format: \"long\" | \"short\" = \"long\"\n ): string[] {\n const year = new Date().getFullYear(); // 2020\n const monthList = [...Array(12).keys()]; // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]\n const formatter = new Intl.DateTimeFormat(locales, {\n month: format\n });\n \n const getMonthName = (monthIndex: number) =>\n formatter.format(new Date(year, monthIndex));\n \n return monthList.map(getMonthName);\n }\n\n\n\n createForm(modelObject): FormGroup {\n debugger;\n return this.fb.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n Name: [modelObject.Name, Validators.compose([Validators.required])],\n MiddleName: [ modelObject.MiddleName],\n Nickname: [modelObject.Nickname],\n EmployeeType: [modelObject.EmployeeType],\n EMail: [modelObject.EMail],\n BirthDate: [modelObject.BirthDate, Validators.compose([Validators.required])],\n Type: [modelObject.Type],\n CountryId: [modelObject.CountryId, Validators.compose([Validators.required])],\n MobileNumber: [modelObject.MobileNumber],\n GroundPhoneNumber: [modelObject.GroundPhoneNumber],\n PersonalEmail: [modelObject.PersonalEmail],\n FirstAddress: [modelObject.FirstAddress],\n SecondAddress: [modelObject.SecondAddress],\n City: [modelObject.City],\n Governorate: [modelObject.Governorate],\n PostalCode: [modelObject.PostalCode],\n FirstPermanentAddress: [modelObject.FirstPermanentAddress],\n SecondPermanentAddress: [modelObject.SecondPermanentAddress],\n PermanentCity: [modelObject.PermanentCity],\n PermanentGovernorate: [modelObject.PermanentGovernorate],\n PermanentPostalCode: [modelObject.PermanentPostalCode],\n DepartmentId: [modelObject.DepartmentId],\n JoiningDate: [modelObject.JoiningDate, Validators.compose([Validators.required])],\n JobTitelId: [modelObject.JobTitelId],\n BranchId: [modelObject.BranchId, Validators.compose([Validators.required])],\n Month: [modelObject.Month],\n Day: [modelObject.Day],\n AttendanceShiftId: [modelObject.AttendanceShiftId],\n VacationPolicyId: [modelObject.VacationPolicyId],\n AttendanceDeterminantsId: [modelObject.AttendanceDeterminantsId],\n Status: [modelObject.Status, Validators.compose([Validators.required])],\n IsAccessToTheSystem: [modelObject.IsAccessToTheSystem],\n Notes: [modelObject.Notes],\n JobLevelId: [modelObject.JobLevelId],\n JobTypeId: [modelObject.JobTypeId],\n\n SendLoginDataByMail: [modelObject.SendLoginDataByMail],\n LanguageId: [modelObject.LanguageId],\n JobRoleId: [modelObject.JobRoleId],\n IsDefaultFiscalDate: [modelObject.IsDefaultFiscalDate],\n \n \n });\n }\n\n CountryList:CountryModel[]=[];\n JobTitelList:JobTitlesModel[]=[];\n JobLevelList:JobLevelsModel[]=[];\n JobTypeList:JobTypesModel[]=[];\n BranchList:BranchModel[]=[];\n DepartmentList:DepartmentModel[]=[];\n loadServices() {\n this.currentAction = \"loading\";\n this.tableEngine.loadData();\n }\n goBack() {\n this.router.navigate([\"app/HR/List-Employees\"]);\n }\n Save() {\n debugger;\n this.currentAction = \"loading\";\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n this.modelObject = new EmployeesManagementModel();\n this.modelObject.Id = 0;\n this.modelObject.Name = this.mainForm.getRawValue().Name;\n this.modelObject.Nickname = this.mainForm.getRawValue().Nickname;\n this.modelObject.MiddleName = this.mainForm.getRawValue().MiddleName;\n this.modelObject.EmployeeType = this.mainForm.getRawValue().EmployeeType;\n this.modelObject.EMail = this.mainForm.getRawValue().EMail;\n this.modelObject.BirthDate = this.mainForm.getRawValue().BirthDate;\n this.modelObject.Type = this.mainForm.getRawValue().Type;\n this.modelObject.CountryId = this.mainForm.getRawValue().CountryId;\n this.modelObject.MobileNumber = this.mainForm.getRawValue().MobileNumber;\n this.modelObject.GroundPhoneNumber = this.mainForm.getRawValue().GroundPhoneNumber;\n this.modelObject.PersonalEmail = this.mainForm.getRawValue().PersonalEmail;\n this.modelObject.FirstAddress = this.mainForm.getRawValue().FirstAddress;\n this.modelObject.SecondAddress = this.mainForm.getRawValue().SecondAddress;\n this.modelObject.City = this.mainForm.getRawValue().City;\n this.modelObject.Governorate = this.mainForm.getRawValue().Governorate;\n this.modelObject.PostalCode = this.mainForm.getRawValue().PostalCode;\n this.modelObject.FirstPermanentAddress = this.mainForm.getRawValue().FirstPermanentAddress;\n this.modelObject.SecondPermanentAddress = this.mainForm.getRawValue().SecondPermanentAddress;\n this.modelObject.PermanentCity = this.mainForm.getRawValue().PermanentCity;\n this.modelObject.PermanentGovernorate = this.mainForm.getRawValue().PermanentGovernorate;\n this.modelObject.PermanentPostalCode = this.mainForm.getRawValue().PermanentPostalCode;\n this.modelObject.DepartmentId = +this.mainForm.getRawValue().DepartmentId;\n this.modelObject.JobLevelId = +this.mainForm.getRawValue().JobLevelId;\n this.modelObject.JoiningDate = this.mainForm.getRawValue().JoiningDate;\n this.modelObject.JobTitelId = +this.mainForm.getRawValue().JobTitelId;\n this.modelObject.BranchId = +this.mainForm.getRawValue().BranchId;\n // this.modelObject.Month = this.mainForm.getRawValue().Month;\n // this.modelObject.Day = this.mainForm.getRawValue().Day;\n this.modelObject.SendLoginDataByMail = this.mainForm.getRawValue().SendLoginDataByMail;\n this.modelObject.LanguageId = this.mainForm.getRawValue().LanguageId;\n this.modelObject.JobRoleId = this.mainForm.getRawValue().JobRoleId;\n this.modelObject.Code=this.Code+1;\n\n \n // not comleted\n this.modelObject.AttendanceShiftId = 0;\n this.modelObject.VacationPolicyId = 0;\n this.modelObject.AttendanceDeterminantsId = 0;\n //\n\n this.modelObject.Status = this.mainForm.getRawValue().Status;\n this.modelObject.IsAccessToTheSystem =true;\n this.modelObject.JobTypeId = this.mainForm.getRawValue().JobTypeId;\n if(this.modelObject.IsDefaultFiscalDate==true){\n this.modelObject.Month=\"August\";\n this.modelObject.Day=\"1\";\n }\n if(this.modelObject.IsDefaultFiscalDate==false)\n {\n this.modelObject.Month = this.mainForm.getRawValue().Month;\n this.modelObject.Day = this.mainForm.getRawValue().Day;\n }\n this.modelObject.IsDefaultFiscalDate = this.mainForm.getRawValue().IsDefaultFiscalDate;\n if (this.Id == 0) {\n this.modelService.insert(this.modelObject).subscribe((data) => {\n this.router.navigate([\"app/HR/List-Employees\"]);\n });\n } else {\n debugger;\n this.modelService.update(this.modelObject).subscribe((data) => {\n this.router.navigate([\"app/HR/List-Employees\"]);\n });\n }\n }\n}\n","\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    {{ \"CreateEmployee\" | translate }}
    \n
    \n \n {{ \"Back\" | translate }}\n \n \n {{ \"Save\" | translate }}\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n
    \n \n
    \n
    \n \n *\n \n \n {{ \"FirstNameRequired\" | translate }}\n
    \n
    \n \n\n
    \n \n \n \n
    \n\n
    \n \n \n \n
    \n \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n \n \n
    \n
    \n
    \n
    \n \n \n \n
    \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n
    \n {{\"Statusrequired\" | translate}}
    \n
    \n\n
    \n \n \n
    \n \n \n \n \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n *\n \n \n \n {{ \"BirthDateRequired\" | translate }}\n
    \n
    \n
    \n \n \n \n \n \n \n
    \n {{\"TypeRequired\" | translate}}
    \n
    \n
    \n \n
    \n \n
    \n \n \n \n \n {{ lang === \"ar-EG\" ? Country.NameAr : Country.NameEn }}\n \n \n \n
    \n {{\"TypeRequired\" | translate}}
    \n
    \n
    \n\n \n \n
    \n
    \n \n \n \n \n {{ \"MobileNumberRequired\" | translate }}\n
    \n
    \n \n\n
    \n \n \n \n \n {{ \"GroundPhoneNumberRequired\" | translate }}\n
    \n
    \n\n
    \n
    \n
    \n \n \n \n \n {{ \"PersonalEmailrRequired\" | translate }}\n
    \n
    \n
    \n \n \n \n
    \n
    \n \n \n \n \n {{ \"FirstAddressRequired\" | translate }}\n
    \n
    \n \n\n
    \n \n \n \n \n {{ \"SecondAddressRequired\" | translate }}\n
    \n \n\n \n
    \n
    \n \n \n \n \n {{ \"CityRequired\" | translate }}\n
    \n
    \n
    \n \n \n \n \n {{ \"GovernorateRequired\" | translate }}\n
    \n \n \n
    \n
    \n \n \n \n \n {{ \"PostalCodeRequired\" | translate }}\n
    \n
    \n \n \n \n
    \n \n
    \n
    \n \n \n \n \n {{ \"FirstPermanentAddressRequired\" | translate }}\n
    \n
    \n \n\n
    \n \n \n \n \n {{ \"SecondPermanentAddressRequired\" | translate }}\n
    \n \n\n \n
    \n
    \n \n \n \n \n {{ \"PermanentCityRequired\" | translate }}\n
    \n
    \n
    \n \n \n \n \n {{ \"PermanentGovernorateRequired\" | translate }}\n
    \n \n \n
    \n
    \n \n \n \n \n {{ \"PermanentPostalCodeRequired\" | translate }}\n
    \n
    \n \n \n \n
    \n\n \n \n \n \n \n \n \n\n \n \n \n
    \n \n
    \n \n \n
    \n
    \n \n \n \n \n {{ JobTitel.Name }}\n \n \n \n
    \n {{\"JobTitelIdRequired\" | translate}}
    \n
    \n \n \n
    \n \n \n \n \n {{ Department.Name }}\n \n \n \n
    \n {{\"DepartmentIdRequired\" | translate}}
    \n
    \n \n\n
    \n
    \n
    \n \n \n \n \n {{ JobType.Name }}\n \n \n \n
    \n {{\"JobTypeIdRequired\" | translate}}
    \n
    \n \n \n
    \n \n \n \n \n {{ JobLevel.Name }}\n \n \n \n \n
    \n {{\"JobLevelIdRequired\" | translate}}
    \n
    \n \n\n
    \n \n
    \n
    \n \n *\n \n \n {{ \"JoiningDateRequired\" | translate }}\n
    \n
    \n
    \n \n \n \n \n {{ Branch.NameAr }}\n \n \n \n
    \n {{\"BranchRequired\" | translate}}
    \n
    \n\n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n
    \n {{\"MonthRequired\" | translate}}
    \n
    \n \n
    \n \n \n \n \n \n \n
    \n {{\"DayRequired\" | translate}}
    \n
    \n
    \n
    \n\n \n\n \n\n \n \n \n \n\n \n \n
    \n
    \n \n \n \n \n \n \n
    \n {{\"ReservationShiftRequired\" | translate}}
    \n
    \n \n \n
    \n \n \n \n \n \n \n
    \n {{\"VacationPolicyRequired\" | translate}}
    \n
    \n \n\n
    \n
    \n
    \n \n \n \n \n \n \n
    \n {{\"AttendanceDeterminantsRequired\" | translate}}
    \n
    \n \n \n
    \n \n \n
    \n {{\"HolidayListsRequired\" | translate}}
    \n
    \n \n\n
    \n \n
    \n \n \n \n \n
    \n
    \n \n \n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { BranchesModel } from '../../../Invintory/models/BranchesModel';\n@Injectable({\n providedIn: 'root'\n})\nexport class BranchesService {\n\n \n constructor(private http:HttpClient ) { }\n\n \n baseUrl = environment.baseApiUrl;\n token = localStorage.getItem(\"token\");\n httpOptions = {\n headers: new HttpHeaders({\n // 'Content-Type': 'application/json; charset=utf-8',\n // 'Authorization': \"Bearer \" + token,\n \"Authorization\": \"Bearer \" + this.token,\n \"Content-Type\": \"application/json\"\n })\n };\n\n getAll(): Observable {\n \n return this.http\n .get(`${this.baseUrl}Branches/GetAll`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ngetById(Id:number): Observable {\n\n return this.http\n .get(`${this.baseUrl}Branches/GetById/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ninsert(payload: BranchesModel): Observable {\n \n return this.http\n .post(`${this.baseUrl}Branches/Insert`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\nupdate(payload: BranchesModel): Observable {\n return this.http\n .post(`${this.baseUrl}Branches/Update`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ndelete(Id:number): Observable {\n return this.http\n .get(`${this.baseUrl}Branches/Delete/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\n deleteList(payload: BranchesModel []): Observable {\n return this.http\n .post(`${this.baseUrl}Branches/DeleteList`,JSON.stringify(payload),this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { CountryModel } from '../EmployeesManagement/CountryModel';\n@Injectable({\n providedIn: 'root'\n})\nexport class CountryService {\n\n constructor(private http:HttpClient ) { }\n CompanyId:number =+ localStorage.getItem(\"CompanyId\");\n\n \n baseUrl = environment.baseApiUrl;\n token = localStorage.getItem(\"token\");\n httpOptions = {\n headers: new HttpHeaders({\n // 'Content-Type': 'application/json; charset=utf-8',\n // 'Authorization': \"Bearer \" + token,\n \"Authorization\": \"Bearer \" + this.token,\n \"Content-Type\": \"application/json\"\n })\n };\n\n getAll(): Observable {\n \n return this.http\n .get(`${this.baseUrl}Country/GetAll/${this.CompanyId}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\n\ngetById(Id:number): Observable {\n\n return this.http\n .get(`${this.baseUrl}Country/GetById/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ninsert(payload: CountryModel): Observable {\n \n return this.http\n .post(`${this.baseUrl}Country/Insert/${this.CompanyId}`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\nupdate(payload: CountryModel): Observable {\n return this.http\n .post(`${this.baseUrl}Country/Update`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ndelete(Id:number): Observable {\n return this.http\n .get(`${this.baseUrl}Country/Delete/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\n deleteList(payload: CountryModel []): Observable {\n return this.http\n .post(`${this.baseUrl}Country/DeleteList`,JSON.stringify(payload),this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport {EmployeesManagementModel} from '../EmployeesManagement/EmployeesManagementModel';\n@Injectable({\n providedIn: 'root'\n})\nexport class EmployeesManagementService {\n\n\n \n constructor(private http:HttpClient ) { }\n\n \n baseUrl = environment.baseApiUrl;\n token = localStorage.getItem(\"token\");\n httpOptions = {\n headers: new HttpHeaders({\n // 'Content-Type': 'application/json; charset=utf-8',\n // 'Authorization': \"Bearer \" + token,\n \"Authorization\": \"Bearer \" + this.token,\n \"Content-Type\": \"application/json\"\n })\n };\n\n getAll(): Observable {\n \n return this.http\n .get(`${this.baseUrl}Employees/GetAll`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ngetById(Id:number): Observable {\n\n return this.http\n .get(`${this.baseUrl}Employees/GetById/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ninsert(payload: EmployeesManagementModel): Observable {\n \n return this.http\n .post(`${this.baseUrl}Employees/Insert`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\nGetLastCode(): Observable {\n \n return this.http\n .get(`${this.baseUrl}Employees/GetLastCode`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\nupdate(payload: EmployeesManagementModel): Observable {\n return this.http\n .post(`${this.baseUrl}Employees/Update`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ndelete(Id:number): Observable {\n return this.http\n .get(`${this.baseUrl}Employees/Delete/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\n deleteList(payload: EmployeesManagementModel []): Observable {\n return this.http\n .post(`${this.baseUrl}Employees/DeleteList`,JSON.stringify(payload),this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n}\n","import { Component, ViewChild } from \"@angular/core\";\nimport {\n FormBuilder,\n FormControl,\n FormGroup,\n Validators,\n} from \"@angular/forms\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { NotificationType, NotificationsService } from \"angular2-notifications\";\nimport { ModalDirective } from \"ngx-bootstrap/modal\";\nimport { TableEngine } from \"src/app/invoices/TableEngine\";\nimport { SidePopupComponent } from \"src/app/views/invoice/side-popup/side-popup.component\";\nimport {EmployeesManagementModel} from '../EmployeesManagementModel';\nimport{EmployeesManagementService} from '../employees-management.service';\nimport { NotesAndAttachmentService } from \"../Actions-and-Notes/notes-and-attachment.service\";\nimport { NotesAndAttachmentModel } from \"../Actions-and-Notes/NotesAndAttachmentModel\";\n\n@Component({\n // moduleId: module.id,\n selector: 'info-employees-management',\n templateUrl: 'info-employees-management.component.html',\n styleUrls: ['info-employees-management.component.scss']\n})\nexport class InfoEmployeesManagementComponent {\n Id = 0;\n\n constructor(\n public router: Router,\n private fb: FormBuilder,\n private modelService:EmployeesManagementService ,\n private NotesService:NotesAndAttachmentService ,\n private notifications: NotificationsService,\n private translate: TranslateService,\n private route: ActivatedRoute\n ) {\n this.Id = +route.snapshot.paramMap.get(\"Id\");\n }\n \n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = \"Table\";\n translationName: string = \"Item\";\n sortableKeys = [];\n searchableKeys = [\"Name\", \"Address\"];\n tableView: any = true;\n \n EmployeesManagementModel:EmployeesManagementModel[]=[];\n NotesList:NotesAndAttachmentModel[]=[];\n \n // WarehouseData: WarehouseModel[] = [];\n \n modelObject: EmployeesManagementModel = new EmployeesManagementModel();\n Form: FormGroup;\n declare lang: any;\n declare itemOrder: any;\n currentAction = \"\";\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n prevAction = \"\";\n addToListId = 0;\n ItemsBalanceHeaderId = 0;\n ItemBalanceId = 0;\n currentFormMode: string = \"\";\n \n ogData: EmployeesManagementModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Name: new FormControl(),\n Nickname: new FormControl(),\n MiddleName: new FormControl(),\n EmployeeType: new FormControl(),\n EMail: new FormControl(),\n BirthDate: new FormControl(),\n Type: new FormControl(),\n Country: new FormControl(),\n MobileNumber: new FormControl(),\n GroundPhoneNumber: new FormControl(),\n PersonalEmail: new FormControl(),\n FirstAddress: new FormControl(),\n SecondAddress: new FormControl(),\n City: new FormControl(),\n Governorate: new FormControl(),\n PostalCode: new FormControl(),\n FirstPermanentAddress: new FormControl(),\n SecondPermanentAddress: new FormControl(),\n PermanentCity: new FormControl(),\n PermanentGovernorate: new FormControl(),\n PermanentPostalCode: new FormControl(),\n DepartmentId: new FormControl(),\n JobLevelId: new FormControl(),\n JoiningDate: new FormControl(),\n JobTitelId: new FormControl(),\n BranchId: new FormControl(),\n Month: new FormControl(),\n Day: new FormControl(),\n AttendanceShiftId: new FormControl(),\n VacationPolicyId: new FormControl(),\n AttendanceDeterminantsId: new FormControl(),\n Status: new FormControl(),\n IsAccessToTheSystem: new FormControl(),\n Notes: new FormControl(),\n JobTypeId: new FormControl(),\n JobLevelName: new FormControl(),\n DepartmentName: new FormControl(),\n JobTitelName: new FormControl(),\n BranchName: new FormControl(),\n JobTypeName: new FormControl(),\n CountryNameAr: new FormControl(),\n CountryNameEn: new FormControl(),\n\n Code: new FormControl(),\n LanguageId: new FormControl(),\n JobRoleId: new FormControl(),\n SendLoginDataByMail: new FormControl(),\n IsDefaultFiscalDate: new FormControl(),\n \n \n }); \n NotesObject: NotesAndAttachmentModel = new NotesAndAttachmentModel();\n\n ogNotesData: NotesAndAttachmentModel[] = [];\n NotesForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Date: new FormControl(),\n Time: new FormControl(),\n Attachments: new FormControl(),\n ActionId: new FormControl(),\n ActionStatusId: new FormControl(),\n Notes: new FormControl(),\n ActionStatusName: new FormControl(),\n ActionName: new FormControl(),\n });\n \n @ViewChild(\"sideModalRef\", { static: true })\n sideModalRef: SidePopupComponent = null;\n @ViewChild(\"delModal\", { static: true }) delModal: ModalDirective;\n @ViewChild(\"smallModal\", { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n // this.getAllCountryCode();\n \n this.lang = localStorage.getItem(\"theme_lang\");\n this.itemOrder = {\n label: \"Name\",\n property: this.lang === \"ar-EG\" ? \"Name\" : \"Name\",\n };\n this.sortableKeys = [\n // { label: 'Date', property: 'Date' },\n { label: 'Name',property: this.lang === 'ar-EG' ? 'Name' : 'Name'},\n { label: 'limitation', property: 'limitation' },\n \n ];\n \n this.tableEngine.loadTableEngine(\n this.ogData,\n this.modelService,\n this.modelObject,\n this.searchableKeys,\n this.sortableKeys,\n this.mainForm,\n this.translationName,\n this.itemOrder,\n this.sideModalRef,\n this.delModal,\n this.smallModal,\n this.lang\n );\n\n // this.mainForm = this.createForm(this.modelObject);\n \n // this.loadServices();\n // this.modelService.getById(this.Id).subscribe((data) => {\n // this.modelObject = data;\n // }); \n \n if(this.Id > 0)\n { debugger; \n this.modelService.getById(this.Id).subscribe(data=>{ \n this.modelObject = data;\n \n this.NotesService.GetAllEmployeeId(this.Id).subscribe(data=>{\n this.NotesList=data;\n });\n this.mainForm = this.createForm(this.modelObject);\n });\n this.mainForm = this.createForm(this.modelObject);\n }\n else{\n this.mainForm = this.createForm(this.modelObject); \n }\n }\n \n\n createForm(modelObject): FormGroup {\n debugger;\n return this.fb.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n Name: [modelObject.Name, Validators.compose([Validators.required])],\n MiddleName: [ modelObject.MiddleName],\n Nickname: [modelObject.Nickname],\n EmployeeType: [modelObject.EmployeeType],\n EMail: [modelObject.EMail],\n BirthDate: [modelObject.BirthDate, Validators.compose([Validators.required])],\n Type: [modelObject.Type],\n Country: [modelObject.Country, Validators.compose([Validators.required])],\n MobileNumber: [modelObject.MobileNumber],\n GroundPhoneNumber: [modelObject.GroundPhoneNumber],\n PersonalEmail: [modelObject.PersonalEmail],\n FirstAddress: [modelObject.FirstAddress],\n SecondAddress: [modelObject.SecondAddress],\n City: [modelObject.City],\n Governorate: [modelObject.Governorate],\n PostalCode: [modelObject.PostalCode],\n FirstPermanentAddress: [modelObject.FirstPermanentAddress],\n SecondPermanentAddress: [modelObject.SecondPermanentAddress],\n PermanentCity: [modelObject.PermanentCity],\n PermanentGovernorate: [modelObject.PermanentGovernorate],\n PermanentPostalCode: [modelObject.PermanentPostalCode],\n DepartmentId: [modelObject.DepartmentId],\n JoiningDate: [modelObject.JoiningDate, Validators.compose([Validators.required])],\n JobTitelId: [modelObject.JobTitelId],\n BranchId: [modelObject.BranchId, Validators.compose([Validators.required])],\n Month: [modelObject.Month],\n Day: [modelObject.Day],\n AttendanceShiftId: [modelObject.AttendanceShiftId],\n VacationPolicyId: [modelObject.VacationPolicyId],\n AttendanceDeterminantsId: [modelObject.AttendanceDeterminantsId],\n Status: [modelObject.Status, Validators.compose([Validators.required])],\n IsAccessToTheSystem: [modelObject.IsAccessToTheSystem],\n Notes: [modelObject.Notes],\n JobLevelId: [modelObject.JobLevelId],\n JobTypeId: [modelObject.JobTypeId],\n Code: [modelObject.Code],\n LanguageId: [modelObject.LanguageId],\n JobRoleId: [modelObject.JobRoleId],\n SendLoginDataByMail: [modelObject.SendLoginDataByMail],\n CountryNameEn: [modelObject.CountryNameEn],\n CountryNameAr: [modelObject.CountryNameAr],\n IsDefaultFiscalDate: [modelObject.IsDefaultFiscalDate],\n \n \n });\n }\n\n\n showModal(Id, action) {\n \n if (action === 'Add') { \n debugger;\n this.router.navigate(['app/HR/Add-Employee/',0]) \n }\n else if (action === 'Edit') {\n debugger;\n this.router.navigate(['app/HR/Add-Employee/',Id])\n \n \n }\n else if (action === 'Info') {\n debugger;\n \n this.router.navigate(['app/HR/Info-Employee/',Id])\n \n \n }\n //this.mainForm.get('IsActive').setValue(true);\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n \n }\n showDelModal(Id: any) {\n debugger;\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n \n }\n EditNotes(Id){\n debugger;\n this.router.navigate(['app/HR/Edit-Attachment/',Id])\n\n }\n DisableEmployee(){\n debugger;\n if(this.modelObject.Status==true){\n this.modelObject.Status=false;\n }\n else{\n this.modelObject.Status=true;\n }\n }\n DeleteNotes(Id){\n debugger;\n\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n // this.NotesObject = this.ogNotesData.find(i => i.Id === Id);\n // this.deletionList = [this.ogNotesData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n \n }\n\n deleteNotes(Id) {\n debugger;\n this.savedPage = this.currentPage;\n this.currentAction = \"loading\";\n this.NotesService.delete(Id).subscribe((result) => {\n \n if (result === true) {\n this.currentAction = \"\";\n this.toastSuccess(\n this.translate.instant(\"Success\"),\n this.translate.instant(\"SuccessfullyAdded\")\n );\n } else {\n this.toastError(\n this.translate.instant(\"Error\"),\n this.translate.instant(\"FailedAdd\")\n );\n this.currentAction = \"\";\n }\n });\n }\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n selected : any[] = [];\n \n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(\n toastHeader,\n toastBody,\n NotificationType.Success,\n { timeOut: 3000, showProgressBar: true }\n );\n }\n AddNotesOnClick(Id)\n {\n this.router.navigate(['app/HR/Add-Attachment/',this.Id])\n }\n //Same here...\n executeDeleteObject(){\n debugger;\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.delModal.hide();\n // this.finalizeDeletion();\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\"));\n if (this.sideModalRef === undefined) {\n \n this.tableEngine.smallModal.hide();\n \n } else {\n \n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n \n\n loadServices() {\n // debugger;\n this.currentAction = \"loading\";\n this.tableEngine.loadData();\n }\n \n \n type = 0;\n visable = \"\";\n visable2 = \"\";\n visable3 = \"\";\n \n \n goBack() {\n this.router.navigate([\"app/HR/List-Employees\"]);\n }\n}\n","\n\n\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n \n {{modelObject.Name}}\n {{modelObject.Code}}#\n {{'Active' | translate}}\n {{'Inactive' | translate}}\n \n
    \n \n {{ \"Back\" | translate }}\n \n \n
    \n

    \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \"name\"\n
    \n
    \n
    \n\n
    \n
    \n

    \n {{modelObject.Name}}\n ({{modelObject.Type}})\n

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

    {{'GeneralInformation' | translate}}

    \n
    \n
    \n
    \n

    {{ \"FullName:\" | translate }}

    \n

    {{modelObject.Name}} {{modelObject.MiddleName}}

    \n
    \n
    \n
    \n
    \n

    {{ \"NickName:\" | translate }}

    \n

    {{modelObject.Nickname}}

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

    {{'PersonalData' | translate}}

    \n
    \n
    \n
    \n

    {{ \"DateOfBirth:\" | translate }}

    \n

    {{modelObject.BirthDate}}

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

    {{ \"Country:\" | translate }}

    \n

    {{ lang === \"ar-EG\" ? modelObject.CountryNameAr : modelObject.CountryNameEn }}

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

    {{'ContactInformation' | translate}}

    \n
    \n
    \n
    \n

    {{ \"MobileNumber:\" | translate }}

    \n

    {{modelObject.MobileNumber}}

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

    {{ \"GroundPhoneNumber:\" | translate }}

    \n

    {{modelObject.GroundPhoneNumber}}

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

    {{'Address' | translate}}

    \n
    \n
    \n
    \n

    {{ \"CurrentAddress:\" | translate }}

    \n

    {{modelObject.FirstAddress}}
    \n {{modelObject.City}},\n {{modelObject.Governorate}},\n {{ lang === \"ar-EG\" ? modelObject.CountryNameAr : modelObject.CountryNameEn }}\n

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

    {{ \"PermanentAddress:\" | translate }}

    \n

    {{modelObject.FirstPermanentAddress}}
    \n {{modelObject.PermanentCity}},\n {{modelObject.PermanentGovernorate}},\n {{ lang === \"ar-EG\" ? modelObject.CountryNameAr : modelObject.CountryNameEn }}

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

    {{'JobData' | translate}}

    \n
    \n
    \n
    \n

    {{ \"JobTitle:\" | translate }}

    \n

    {{modelObject.JobTitelName}}

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

    {{ \"Department:\" | translate }}

    \n

    {{modelObject.DepartmentName}}

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

    {{ \"JobType:\" | translate }}

    \n

    {{modelObject.JobTypeName}}

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

    {{ \"JobLevel:\" | translate }}

    \n

    {{modelObject.JobLevelName}}

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

    {{ \"JoiningDate:\" | translate }}

    \n

    {{modelObject.JoiningDate}}

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

    {{ \"Branch:\" | translate }}

    \n

    {{modelObject.BranchName}}

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

    {{ \"FinancialHistory:\" | translate }}

    \n

    {{modelObject.Day}} {{modelObject.Month}}

    \n
    \n
    \n
    \n\n\n
    \n
    \n \n
    \n \n \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{'User'|translate}}\n {{'Date'|translate}}{{'Attachments'|translate}}{{'Status'|translate}}
    \n \n \n {{obj.Date| date:'fullDate'}}\n \n

    \n {{obj.Date | date:'mediumTime'}} \n\n

    \n
    \n {{obj.ActionName}}\n \n {{obj.ActionStatusName}}\n \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n \n
    1 && \n deletionList.length === NotesObject.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n ","import { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { TableEngine } from 'src/app/invoices/TableEngine';\nimport { DataFilterer } from 'src/app/views/invoice/shared/DataFilterer';\nimport { DataPaginator } from 'src/app/views/invoice/shared/DataPaginator';\nimport { DataSorter } from 'src/app/views/invoice/shared/DataSorter';\nimport { SidePopupComponent } from 'src/app/views/invoice/side-popup/side-popup.component';\nimport { EmployeesManagementModel } from '../EmployeesManagementModel';\nimport { EmployeesManagementService } from '../employees-management.service';\n\n\n@Component({\n // moduleId: module.id,\n selector: 'list-employees-management',\n templateUrl: 'list-employees-management.component.html',\n styleUrls: ['list-employees-management.component.scss']\n})\nexport class ListEmployeesManagementComponent {\n \n Id=0;\n\n constructor(private formBuilder: FormBuilder, private modelService: EmployeesManagementService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService, private router : Router,\n private route: ActivatedRoute\n ) { this.Id = + route.snapshot.paramMap.get('Id'); }\n\ntableEngine = new TableEngine(this.translate, this.notifications);\ncurrentScreen: any = 'Table';\ntableView: any = true;\n// PriceList : WarehouseModel[]=[];\n\n\ntranslationName: string = 'Warehouse' \nsortableKeys = [];\nsearchableKeys = ['Name','Address'];\nmodelObject: EmployeesManagementModel = new EmployeesManagementModel();\nProducteList:EmployeesManagementModel[]=[];\n\ndebugMode = true;\n\nogData: EmployeesManagementModel[] = [];\nmainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Name: new FormControl(),\n Nickname: new FormControl(),\n MiddleName: new FormControl(),\n EmployeeType: new FormControl(),\n EMail: new FormControl(),\n BirthDate: new FormControl(),\n Type: new FormControl(),\n Country: new FormControl(),\n MobileNumber: new FormControl(),\n GroundPhoneNumber: new FormControl(),\n PersonalEmail: new FormControl(),\n FirstAddress: new FormControl(),\n SecondAddress: new FormControl(),\n City: new FormControl(),\n Governorate: new FormControl(),\n PostalCode: new FormControl(),\n FirstPermanentAddress: new FormControl(),\n SecondPermanentAddress: new FormControl(),\n PermanentCity: new FormControl(),\n PermanentGovernorate: new FormControl(),\n PermanentPostalCode: new FormControl(),\n JobName: new FormControl(),\n DepartmentId: new FormControl(),\n JobLevelId: new FormControl(),\n JoiningDate: new FormControl(),\n JobTitelId: new FormControl(),\n BranchId: new FormControl(),\n Month: new FormControl(),\n Day: new FormControl(),\n AttendanceShiftId: new FormControl(),\n VacationPolicyId: new FormControl(),\n AttendanceDeterminantsId: new FormControl(),\n Status: new FormControl(),\n IsAccessToTheSystem: new FormControl(),\n \n Code: new FormControl(),\n LanguageId: new FormControl(),\n JobRoleId: new FormControl(),\n SendLoginDataByMail: new FormControl(),\n});\n\n\ndeclare lang: any;\ndeclare itemOrder: any;\ncurrentAction = '';\ncurrentFormMode: string = '';\nsavedPage = 0;\ncurrentPage = 1; \ndeletionList: any[] = [];\n\n@ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n@ViewChild('delModal', { static: true }) delModal: ModalDirective;\n@ViewChild('smallModal', { static: true }) smallModal: ModalDirective = null;\nformPresentationModal: any;\nngOnInit(): void {\n // this.getAllCountryCode(); \n \n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: this.lang === 'ar-EG' ? 'Name' : 'Name' }; \n this.sortableKeys = [ \n // { label: 'Date', property: 'Date' }, \n { label: 'Name', property: this.lang === 'ar-EG' ? 'Name' : 'Name' }, \n { label: 'Nickname', property: this.lang === 'ar-EG' ? 'Nickname' : 'Nickname' }, \n { label: 'MobileNumber', property: this.lang === 'ar-EG' ? 'MobileNumber' : 'MobileNumber' }, \n \n ];\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n //this.tableEngine.modelObject = {}\n this.loadServices();\n this.modelService.getAll().subscribe(data=>{\n this.modelObject=data;\n })\n\n} \nshowInfoModalRef(Id: any): void {\n this.router.navigate(['app/HR/Info-Employee/',Id])\n }\n showDelModal(Id: any): void {\n debugger;\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n \n }\n\n showModal(Id, action) {\n \n if (action === 'Add') { \n debugger;\n this.router.navigate(['app/HR/Add-Employee/',0]) \n }\n else if (action === 'Edit') {\n debugger;\n this.router.navigate(['app/HR/Add-Employee/',Id])\n \n \n }\n else if (action === 'Info') {\n debugger;\n \n this.router.navigate(['app/HR/Info-Employee/',Id])\n \n \n }\n //this.mainForm.get('IsActive').setValue(true);\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n \n }\n \n \n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject(){\n debugger;\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.delModal.hide();\n // this.finalizeDeletion();\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\"));\n if (this.sideModalRef === undefined) {\n \n this.tableEngine.smallModal.hide();\n \n } else {\n \n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n \n \n// editObject() {\n// debugger;\n// this.currentAction = 'loading';\n// this.tableEngine.savedPage = this.tableEngine.currentPage;\n \n// let tempObj = new EmployeesManagementModel({\n// Id: this.modelObject.Id,\n// Name: this.mainForm.getRawValue().Name,\n// SkuNumber: this.mainForm.getRawValue().SkuNumber,\n// Description: this.mainForm.getRawValue().Description,\n// PurchasingPrice: this.mainForm.getRawValue().PurchasingPrice,\n// SalePrice: this.mainForm.getRawValue().SalePrice,\n// FirstTaxId: this.mainForm.getRawValue().FirstTaxId,\n// SecondTaxId: this.mainForm.getRawValue().SecondTaxId,\n// LowestSellingPrice: this.mainForm.getRawValue().LowestSellingPrice,\n// Discount: this.mainForm.getRawValue().Discount,\n// ProfitPercentage:this.mainForm.getRawValue().ProfitPercentage,\n// PriceListId: this.mainForm.getRawValue().PriceListId,\n// WarehouseDataId: this.mainForm.getRawValue().WarehouseDataId,\n// Quantity: this.mainForm.getRawValue().Quantity,\n// Alert: this.mainForm.getRawValue().Alert,\n// Notes: this.mainForm.getRawValue().Notes,\n// Tags: this.mainForm.getRawValue().Tags,\n// IsDisable: this.mainForm.getRawValue().IsDisable, \n// WarehouseName: this.mainForm.getRawValue().IsDisable, \n// Barcode:this.mainForm.getRawValue().Barcode, \n// DiscountType: this.mainForm.getRawValue().DiscountType, \n// UnitId: this.mainForm.getRawValue().UnitId, \n \n// });\n \n// if (JSON.stringify(tempObj) != JSON.stringify(this.modelObject)) {\n// this.executeEditObject(tempObj);\n// }\n// else {if (this.sideModalRef === undefined) {\n \n// this.tableEngine.smallModal.hide();\n \n \n// } else {\n \n// this.tableEngine.sideModalRef.modalRef.hide();\n// }\n// }\n// }\n \n executeEditObject(Object) {\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n if (this.sideModalRef === undefined) {\n \n this.tableEngine.smallModal.hide();\n \n } else {\n \n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n \n loadServices(){\n // debugger;\n this.currentAction = 'loading';\n this.tableEngine.loadData(); \n \n \n }\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n \n selected : any[] = [];\n selectAllState = '';\n SearchFrom: Date = null;\n SearchTo: Date = null;\n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n SearchTerm: any = '';\n \n clearSearch() {\n this.SearchFrom = null;\n this.SearchTo = null;\n }\n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n filterData() {\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n isSelected(p: EmployeesManagementModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n \n onSelect(item: EmployeesManagementModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n \n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n \n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n \n prepChangeSort(sortKey) {\n this.SearchFrom = null;\n this.SearchTo = null;\n \n \n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n \n getFormattedDate(dateString: any){\n let splitDate: number[] = dateString.toString().split(\"/\");\n \n return new Date(splitDate[2], splitDate[1]-1, splitDate[0])\n }\n ///////////////////////////////////////////////////////\n \n displayMode = 'list';\n changeDisplayMode(mode): void {\n this.displayMode = mode;\n }\n itemsPerPageChange(perPage: number): void {\n this.tableEngine.paginateData(perPage, 1)\n }\n}\n","\n\n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n\n \n\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n \n  \n \n
    \n \n \n \n \n
  • \n \n \n {{ \"DeleteSelected\" | translate }}\n \n
  • \n \n
    \n
    \n
    \n \n {{ \"Name\" | translate }}\n \n\n \n \n {{ \"EmployeeType\" | translate }}\n\n \n \n \n {{ \"JobTitelName\" | translate }}\n\n \n \n \n {{ \"DepartmentName\" | translate }}\n\n \n \n \n {{ \"BranchName\" | translate }}\n\n \n \n \n {{ \"Status\" | translate }}\n\n \n \n \n \n {{ \"ResultCount\" | translate }}\n \n \n \n {{ tableEngine.itemsPerPage }}\n \n \n \n {{ item }}\n \n \n \n \n
    \n \n \n \n \n \n
    \n {{obj.Name}}\n
    \n
    \n {{obj.Code}}#\n
    \n
    {{obj.EmployeeType}}{{obj.JobTitelName}}{{obj.DepartmentName}}{{obj.BranchName}}\n {{'Active' | translate}}\n {{'Inactive' | translate}}\n \n \n \n \n \n \n
    \n \n
    \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { TableEngine } from 'src/app/invoices/TableEngine';\n\nimport { SidePopupComponent } from 'src/app/views/invoice/side-popup/side-popup.component';\nimport { EmployeesManagementModel } from '../../EmployeesManagement/EmployeesManagementModel';\nimport { UsersService } from '../users.service';\nimport { CountryModel } from 'src/app/invoices/suppliers/model/countrymodel';\nimport { CountryService } from '../../EmployeesManagement/country.service';\nimport { JobTitlesModel } from 'src/app/HR/Organization_Structure/JobTitels_Componentes/JobTitlesModel';\nimport { JobLevelsModel } from 'src/app/HR/Organization_Structure/JobLevelsComponentes/JobLevelsModel';\nimport { JobTypesModel } from 'src/app/HR/Organization_Structure/JobTypesComponentes/JobTypesModel';\nimport { BranchesModel } from 'src/app/Invintory/models/BranchesModel';\nimport { JobLevelsService } from 'src/app/HR/Organization_Structure/JobLevelsComponentes/job-levels.service';\nimport { JobTitlesService } from 'src/app/HR/Organization_Structure/JobTitels_Componentes/job-titles.service';\nimport { JobTypesService } from 'src/app/HR/Organization_Structure/JobTypesComponentes/job-types.service';\nimport {BranchesService} from '../../EmployeesManagement/branches.service';\nimport { DepartmentModel } from 'src/app/HR/Organization_Structure/Department_components/DepartmentModel';\nimport { DepartmentService } from 'src/app/HR/Organization_Structure/Department_components/department.service';\n\n@Component({\n // moduleId: module.id,\n selector: 'add-users',\n templateUrl: 'add-users.component.html',\n styleUrls: ['add-users.component.scss']\n})\nexport class AddUsersComponent {\n\n Id = 0;\n\n constructor(\n \n public router: Router,\n private fb: FormBuilder,\n private modelService: UsersService,\n private notifications: NotificationsService,\n private CountryService:CountryService,\n private JobLevelsService:JobLevelsService,\n private JobTitlesService:JobTitlesService,\n private JobTypesService:JobTypesService,\n private BranchesService:BranchesService,\n private DepartmentService:DepartmentService,\n \n private translate: TranslateService,\n private route: ActivatedRoute\n ) {\n this.Id = +route.snapshot.paramMap.get(\"Id\");\n }\n showItemIndex = 0;\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = \"Table\";\n translationName: string = \"Item\";\n sortableKeys = [];\n searchableKeys = [\"Name\", \"Address\"];\n tableView: any = true;\n \n EmployeesManagementModel:EmployeesManagementModel[]=[];\n isLastOpen = false;\n \n \n modelObject: EmployeesManagementModel = new EmployeesManagementModel();\n Form: FormGroup;\n declare lang: any;\n declare itemOrder: any;\n currentAction = \"\";\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n prevAction = \"\";\n addToListId = 0;\n ItemsBalanceHeaderId = 0;\n ItemBalanceId = 0;\n currentFormMode: string = \"\";\n type = 0;\n visable = \"\";\n visable2 = \"\";\n visable3 = \"\";\n\n Code=0;\n\n AlertMessage :string=\"Alert me when the quantity reaches less than\";\n ogData: EmployeesManagementModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Name: new FormControl(),\n Nickname: new FormControl(),\n MiddleName: new FormControl(),\n EmployeeType: new FormControl(),\n EMail: new FormControl(),\n BirthDate: new FormControl(),\n Type: new FormControl(),\n Country: new FormControl(),\n MobileNumber: new FormControl(),\n GroundPhoneNumber: new FormControl(),\n PersonalEmail: new FormControl(),\n FirstAddress: new FormControl(),\n SecondAddress: new FormControl(),\n City: new FormControl(),\n Governorate: new FormControl(),\n PostalCode: new FormControl(),\n FirstPermanentAddress: new FormControl(),\n SecondPermanentAddress: new FormControl(),\n PermanentCity: new FormControl(),\n PermanentGovernorate: new FormControl(),\n PermanentPostalCode: new FormControl(),\n DepartmentId: new FormControl(),\n JobLevelId: new FormControl(),\n JoiningDate: new FormControl(),\n JobTitelId: new FormControl(),\n BranchId: new FormControl(),\n Month: new FormControl(),\n Day: new FormControl(),\n AttendanceShiftId: new FormControl(),\n VacationPolicyId: new FormControl(),\n AttendanceDeterminantsId: new FormControl(),\n Status: new FormControl(),\n IsAccessToTheSystem: new FormControl(),\n Notes: new FormControl(),\n JobTypeId: new FormControl(),\n\n Code: new FormControl(),\n LanguageId: new FormControl(),\n JobRoleId: new FormControl(),\n SendLoginDataByMail: new FormControl(),\n \n \n });\n \n\n\n \n @ViewChild(\"sideModalRef\", { static: true })\n sideModalRef: SidePopupComponent = null;\n @ViewChild(\"delModal\", { static: true }) delModal: ModalDirective;\n @ViewChild(\"smallModal\", { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n // this.getAllCountryCode();\n \n this.lang = localStorage.getItem(\"theme_lang\");\n this.itemOrder = {\n label: \"Name\",\n property: this.lang === \"ar-EG\" ? \"Name\" : \"Name\",\n };\n this.sortableKeys = [\n // { label: 'Date', property: 'Date' },\n { label: 'Name', property: this.lang === 'ar-EG' ? 'Name' : 'Name' }, \n { label: 'Nickname', property: this.lang === 'ar-EG' ? 'Nickname' : 'Nickname' }, \n { label: 'MobileNumber', property: this.lang === 'ar-EG' ? 'MobileNumber' : 'MobileNumber' }, \n \n ];\n \n this.tableEngine.loadTableEngine(\n this.ogData,\n this.modelService,\n this.modelObject,\n this.searchableKeys,\n this.sortableKeys,\n this.mainForm,\n this.translationName,\n this.itemOrder,\n this.sideModalRef,\n this.delModal,\n this.smallModal,\n this.lang\n );\n \n this.loadServices();\n this.modelService.GetLastCode().subscribe(data=>{\n this.Code=data;\n });\n this.CountryService.getAll().subscribe(data=>{\n this.CountryList=data;\n });\n this.JobLevelsService.getAll().subscribe(data=>{\n this.JobLevelList=data;\n });\n this.JobTitlesService.getAll().subscribe(data=>{\n this.JobTitelList=data;\n });\n this.JobTypesService.getAll().subscribe(data=>{\n this.JobTypeList=data;\n });\n this.BranchesService.getAll().subscribe(data=>{\n this.BranchList=data;\n });\n this.DepartmentService.getAll().subscribe(data=>{\n this.DepartmentList=data;\n });\n if(this.Id > 0)\n { debugger; \n this.modelService.getById(this.Id).subscribe(data=>{ \n this.modelObject = data; \n this.mainForm = this.createForm(this.modelObject);\n });\n }\n else{\n \n this.mainForm = this.createForm(this.modelObject); \n }\n this.mainForm = this.createForm(this.modelObject);\n \n }\n\n\n getMonthList(\n locales?: string | string[],\n format: \"long\" | \"short\" = \"long\"\n ): string[] {\n const year = new Date().getFullYear(); // 2020\n const monthList = [...Array(12).keys()]; // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]\n const formatter = new Intl.DateTimeFormat(locales, {\n month: format\n });\n \n const getMonthName = (monthIndex: number) =>\n formatter.format(new Date(year, monthIndex));\n \n return monthList.map(getMonthName);\n }\n\n\n\n createForm(modelObject): FormGroup {\n debugger;\n return this.fb.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n Name: [modelObject.Name, Validators.compose([Validators.required])],\n MiddleName: [ modelObject.MiddleName],\n Nickname: [modelObject.Nickname],\n EmployeeType: [modelObject.EmployeeType],\n EMail: [modelObject.EMail],\n BirthDate: [modelObject.BirthDate, Validators.compose([Validators.required])],\n Type: [modelObject.Type],\n Country: [modelObject.Country, Validators.compose([Validators.required])],\n MobileNumber: [modelObject.MobileNumber],\n GroundPhoneNumber: [modelObject.GroundPhoneNumber],\n PersonalEmail: [modelObject.PersonalEmail],\n FirstAddress: [modelObject.FirstAddress],\n SecondAddress: [modelObject.SecondAddress],\n City: [modelObject.City],\n Governorate: [modelObject.Governorate],\n PostalCode: [modelObject.PostalCode],\n FirstPermanentAddress: [modelObject.FirstPermanentAddress],\n SecondPermanentAddress: [modelObject.SecondPermanentAddress],\n PermanentCity: [modelObject.PermanentCity],\n PermanentGovernorate: [modelObject.PermanentGovernorate],\n PermanentPostalCode: [modelObject.PermanentPostalCode],\n DepartmentId: [modelObject.DepartmentId],\n JoiningDate: [modelObject.JoiningDate, Validators.compose([Validators.required])],\n JobTitelId: [modelObject.JobTitelId],\n BranchId: [modelObject.BranchId, Validators.compose([Validators.required])],\n Month: [modelObject.Month],\n Day: [modelObject.Day],\n AttendanceShiftId: [modelObject.AttendanceShiftId],\n VacationPolicyId: [modelObject.VacationPolicyId],\n AttendanceDeterminantsId: [modelObject.AttendanceDeterminantsId],\n Status: [modelObject.Status, Validators.compose([Validators.required])],\n IsAccessToTheSystem: [modelObject.IsAccessToTheSystem, Validators.compose([Validators.required])],\n Notes: [modelObject.Notes],\n JobLevelId: [modelObject.JobLevelId],\n JobTypeId: [modelObject.JobTypeId],\n\n SendLoginDataByMail: [modelObject.SendLoginDataByMail],\n LanguageId: [modelObject.LanguageId],\n JobRoleId: [modelObject.JobRoleId],\n \n \n });\n }\n\n CountryList:CountryModel[]=[];\n JobTitelList:JobTitlesModel[]=[];\n JobLevelList:JobLevelsModel[]=[];\n JobTypeList:JobTypesModel[]=[];\n BranchList:BranchesModel[]=[];\n DepartmentList:DepartmentModel[]=[];\n loadServices() {\n this.currentAction = \"loading\";\n this.tableEngine.loadData();\n }\n goBack() {\n this.router.navigate([\"app/HR/List-Employees\"]);\n }\n Save() {\n debugger;\n this.currentAction = \"loading\";\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n this.modelObject = new EmployeesManagementModel();\n this.modelObject.Id = 0;\n this.modelObject.Name = this.mainForm.getRawValue().Name;\n this.modelObject.Nickname = this.mainForm.getRawValue().Nickname;\n this.modelObject.MiddleName = this.mainForm.getRawValue().MiddleName;\n this.modelObject.EmployeeType = this.mainForm.getRawValue().EmployeeType;\n this.modelObject.EMail = this.mainForm.getRawValue().EMail;\n this.modelObject.BirthDate = this.mainForm.getRawValue().BirthDate;\n this.modelObject.Type = this.mainForm.getRawValue().Type;\n this.modelObject.CountryId = this.mainForm.getRawValue().Country;\n this.modelObject.MobileNumber = this.mainForm.getRawValue().MobileNumber;\n this.modelObject.GroundPhoneNumber = this.mainForm.getRawValue().GroundPhoneNumber;\n this.modelObject.PersonalEmail = this.mainForm.getRawValue().PersonalEmail;\n this.modelObject.FirstAddress = this.mainForm.getRawValue().FirstAddress;\n this.modelObject.SecondAddress = this.mainForm.getRawValue().SecondAddress;\n this.modelObject.City = this.mainForm.getRawValue().City;\n this.modelObject.Governorate = this.mainForm.getRawValue().Governorate;\n this.modelObject.PostalCode = this.mainForm.getRawValue().PostalCode;\n this.modelObject.FirstPermanentAddress = this.mainForm.getRawValue().FirstPermanentAddress;\n this.modelObject.SecondPermanentAddress = this.mainForm.getRawValue().SecondPermanentAddress;\n this.modelObject.PermanentCity = this.mainForm.getRawValue().PermanentCity;\n this.modelObject.PermanentGovernorate = this.mainForm.getRawValue().PermanentGovernorate;\n this.modelObject.PermanentPostalCode = this.mainForm.getRawValue().PermanentPostalCode;\n this.modelObject.DepartmentId = +this.mainForm.getRawValue().DepartmentId;\n this.modelObject.JobLevelId = +this.mainForm.getRawValue().JobLevelId;\n this.modelObject.JoiningDate = this.mainForm.getRawValue().JoiningDate;\n this.modelObject.JobTitelId = +this.mainForm.getRawValue().JobTitelId;\n this.modelObject.BranchId = +this.mainForm.getRawValue().BranchId;\n this.modelObject.Month = this.mainForm.getRawValue().Month;\n this.modelObject.Day = this.mainForm.getRawValue().Day;\n this.modelObject.SendLoginDataByMail = this.mainForm.getRawValue().SendLoginDataByMail;\n this.modelObject.LanguageId = this.mainForm.getRawValue().LanguageId;\n this.modelObject.JobRoleId = this.mainForm.getRawValue().JobRoleId;\n this.modelObject.Code=this.Code;\n\n \n // not comleted\n this.modelObject.AttendanceShiftId = 0;\n this.modelObject.VacationPolicyId = 0;\n this.modelObject.AttendanceDeterminantsId = 0;\n //\n\n this.modelObject.Status = this.mainForm.getRawValue().Status;\n this.modelObject.IsAccessToTheSystem = this.mainForm.getRawValue().IsAccessToTheSystem;\n this.modelObject.JobTypeId = this.mainForm.getRawValue().JobTypeId;\n if (this.Id == 0) {\n this.modelService.insert(this.modelObject).subscribe((data) => {\n this.router.navigate([\"app/HR/List-Employees\"]);\n });\n } else {\n debugger;\n this.modelService.update(this.modelObject).subscribe((data) => {\n this.router.navigate([\"app/HR/List-Employees\"]);\n });\n }\n }\n\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    {{ \"CreateEmployee\" | translate }}
    \n
    \n \n {{ \"Back\" | translate }}\n \n \n {{ \"Save\" | translate }}\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n
    \n \n
    \n
    \n \n *\n \n \n {{ \"FirstNameRequired\" | translate }}\n
    \n
    \n \n\n
    \n \n \n \n
    \n\n
    \n \n \n \n
    \n \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n \n \n
    \n
    \n
    \n
    \n \n \n \n
    \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n
    \n {{\"Statusrequired\" | translate}}
    \n
    \n \n
    \n
    \n
    \n \n \n \n
    \n
    \n\n
    \n \n \n \n
    \n
    \n
    \n\n\n
    \n
    \n \n *\n \n \n {{ \"FirstNameRequired\" | translate }}\n
    \n
    \n
    \n \n *\n \n \n {{ \"ConfirmPassowrdRequired\" | translate }}\n
    \n
    \n\n \n \n\n\n
    \n
    \n \n \n \n \n \n \n
    \n {{\"DisplayLanguageRequired\" | translate}}
    \n
    \n
    \n \n \n \n \n \n \n
    \n {{\"JobRoleRequired\" | translate}}
    \n
    \n
    \n\n\n \n \n \n \n \n \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n *\n \n \n \n {{ \"BirthDateRequired\" | translate }}\n
    \n
    \n
    \n \n \n \n \n \n \n
    \n {{\"TypeRequired\" | translate}}
    \n
    \n
    \n \n
    \n \n
    \n \n \n \n \n {{ lang === \"ar-EG\" ? Country.NameAr : Country.NameEn }}\n \n \n \n
    \n {{\"TypeRequired\" | translate}}
    \n
    \n
    \n\n \n \n
    \n
    \n \n \n \n \n {{ \"MobileNumberRequired\" | translate }}\n
    \n
    \n \n\n
    \n \n \n \n \n {{ \"GroundPhoneNumberRequired\" | translate }}\n
    \n
    \n\n \n
    \n
    \n \n \n \n \n {{ \"PersonalEmailrRequired\" | translate }}\n
    \n
    \n \n \n \n \n
    \n
    \n \n \n \n \n {{ \"FirstAddressRequired\" | translate }}\n
    \n
    \n \n\n
    \n \n \n \n \n {{ \"SecondAddressRequired\" | translate }}\n
    \n \n\n \n
    \n
    \n \n \n \n \n {{ \"CityRequired\" | translate }}\n
    \n
    \n
    \n \n \n \n \n {{ \"GovernorateRequired\" | translate }}\n
    \n \n \n
    \n
    \n \n \n \n \n {{ \"PostalCodeRequired\" | translate }}\n
    \n
    \n \n \n \n
    \n \n
    \n
    \n \n \n \n \n {{ \"FirstPermanentAddressRequired\" | translate }}\n
    \n
    \n \n\n
    \n \n \n \n \n {{ \"SecondPermanentAddressRequired\" | translate }}\n
    \n \n\n \n
    \n
    \n \n \n \n \n {{ \"PermanentCityRequired\" | translate }}\n
    \n
    \n
    \n \n \n \n \n {{ \"PermanentGovernorateRequired\" | translate }}\n
    \n \n \n
    \n
    \n \n \n \n \n {{ \"PermanentPostalCodeRequired\" | translate }}\n
    \n
    \n \n \n \n
    \n\n \n \n \n \n \n
    \n
    \n\n \n \n \n
    \n \n
    \n \n \n
    \n
    \n \n \n \n \n {{ JobTitel.Name }}\n \n \n \n
    \n {{\"JobTitelIdRequired\" | translate}}
    \n
    \n \n \n
    \n \n \n \n \n {{ Department.Name }}\n \n \n \n
    \n {{\"DepartmentIdRequired\" | translate}}
    \n
    \n \n\n
    \n
    \n
    \n \n \n \n \n {{ JobType.Name }}\n \n \n \n
    \n {{\"JobTypeIdRequired\" | translate}}
    \n
    \n \n \n
    \n \n \n \n \n {{ JobLevel.Name }}\n \n \n \n \n
    \n {{\"JobLevelIdRequired\" | translate}}
    \n
    \n \n\n
    \n \n
    \n
    \n \n *\n \n \n {{ \"JoiningDateRequired\" | translate }}\n
    \n
    \n
    \n \n \n \n \n {{ Branch.Name }}\n \n \n \n
    \n {{\"BranchRequired\" | translate}}
    \n
    \n\n \n \n
    \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n \n \n \n \n
    \n {{\"MonthRequired\" | translate}}
    \n
    \n \n
    \n \n \n \n \n \n \n
    \n {{\"DayRequired\" | translate}}
    \n
    \n
    \n\n \n\n \n
    \n \n \n \n\n \n \n
    \n
    \n \n \n \n \n \n \n
    \n {{\"ReservationShiftRequired\" | translate}}
    \n
    \n \n \n
    \n \n \n \n \n \n \n
    \n {{\"VacationPolicyRequired\" | translate}}
    \n
    \n \n\n
    \n
    \n
    \n \n \n \n \n \n \n
    \n {{\"AttendanceDeterminantsRequired\" | translate}}
    \n
    \n \n \n
    \n \n \n
    \n {{\"HolidayListsRequired\" | translate}}
    \n
    \n \n\n
    \n \n
    \n \n
    \n \n \n
    \n
    \n \n \n","import { Component, ViewChild } from \"@angular/core\";\nimport {\n FormBuilder,\n FormControl,\n FormGroup,\n Validators,\n} from \"@angular/forms\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { NotificationType, NotificationsService } from \"angular2-notifications\";\nimport { ModalDirective } from \"ngx-bootstrap/modal\";\nimport { TableEngine } from \"src/app/invoices/TableEngine\";\nimport { SidePopupComponent } from \"src/app/views/invoice/side-popup/side-popup.component\";\nimport {EmployeesManagementModel} from '../../EmployeesManagement/EmployeesManagementModel';\nimport{UsersService} from '../users.service';\n\n@Component({\n // moduleId: module.id,\n selector: 'info-users',\n templateUrl: 'info-users.component.html',\n styleUrls: ['info-users.component.scss']\n})\nexport class InfoUsersComponent {\n Id = 0;\n\n constructor(\n public router: Router,\n private fb: FormBuilder,\n private modelService:UsersService ,\n private notifications: NotificationsService,\n private translate: TranslateService,\n private route: ActivatedRoute\n ) {\n this.Id = +route.snapshot.paramMap.get(\"Id\");\n }\n \n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = \"Table\";\n translationName: string = \"Item\";\n sortableKeys = [];\n searchableKeys = [\"Name\", \"Address\"];\n tableView: any = true;\n \n EmployeesManagementModel:EmployeesManagementModel[]=[];\n \n // WarehouseData: WarehouseModel[] = [];\n \n modelObject: EmployeesManagementModel = new EmployeesManagementModel();\n Form: FormGroup;\n declare lang: any;\n declare itemOrder: any;\n currentAction = \"\";\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n prevAction = \"\";\n addToListId = 0;\n ItemsBalanceHeaderId = 0;\n ItemBalanceId = 0;\n currentFormMode: string = \"\";\n \n ogData: EmployeesManagementModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Name: new FormControl(),\n Nickname: new FormControl(),\n MiddleName: new FormControl(),\n EmployeeType: new FormControl(),\n EMail: new FormControl(),\n BirthDate: new FormControl(),\n Type: new FormControl(),\n Country: new FormControl(),\n MobileNumber: new FormControl(),\n GroundPhoneNumber: new FormControl(),\n PersonalEmail: new FormControl(),\n FirstAddress: new FormControl(),\n SecondAddress: new FormControl(),\n City: new FormControl(),\n Governorate: new FormControl(),\n PostalCode: new FormControl(),\n FirstPermanentAddress: new FormControl(),\n SecondPermanentAddress: new FormControl(),\n PermanentCity: new FormControl(),\n PermanentGovernorate: new FormControl(),\n PermanentPostalCode: new FormControl(),\n DepartmentId: new FormControl(),\n JobLevelId: new FormControl(),\n JoiningDate: new FormControl(),\n JobTitelId: new FormControl(),\n BranchId: new FormControl(),\n Month: new FormControl(),\n Day: new FormControl(),\n AttendanceShiftId: new FormControl(),\n VacationPolicyId: new FormControl(),\n AttendanceDeterminantsId: new FormControl(),\n Status: new FormControl(),\n IsAccessToTheSystem: new FormControl(),\n Notes: new FormControl(),\n JobTypeId: new FormControl(),\n JobLevelName: new FormControl(),\n DepartmentName: new FormControl(),\n JobTitelName: new FormControl(),\n BranchName: new FormControl(),\n JobTypeName: new FormControl(),\n\n Code: new FormControl(),\n LanguageId: new FormControl(),\n JobRoleId: new FormControl(),\n SendLoginDataByMail: new FormControl(),\n }); \n \n @ViewChild(\"sideModalRef\", { static: true })\n sideModalRef: SidePopupComponent = null;\n @ViewChild(\"delModal\", { static: true }) delModal: ModalDirective;\n @ViewChild(\"smallModal\", { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n // this.getAllCountryCode();\n \n this.lang = localStorage.getItem(\"theme_lang\");\n this.itemOrder = {\n label: \"Name\",\n property: this.lang === \"ar-EG\" ? \"Name\" : \"Name\",\n };\n this.sortableKeys = [\n // { label: 'Date', property: 'Date' },\n { label: 'Name',property: this.lang === 'ar-EG' ? 'Name' : 'Name'},\n { label: 'limitation', property: 'limitation' },\n \n ];\n \n this.tableEngine.loadTableEngine(\n this.ogData,\n this.modelService,\n this.modelObject,\n this.searchableKeys,\n this.sortableKeys,\n this.mainForm,\n this.translationName,\n this.itemOrder,\n this.sideModalRef,\n this.delModal,\n this.smallModal,\n this.lang\n );\n\n // this.mainForm = this.createForm(this.modelObject);\n \n // this.loadServices();\n // this.modelService.getById(this.Id).subscribe((data) => {\n // this.modelObject = data;\n // }); \n \n if(this.Id > 0)\n { debugger; \n this.modelService.getById(this.Id).subscribe(data=>{ \n this.modelObject = data;\n this.mainForm = this.createForm(this.modelObject);\n });\n this.mainForm = this.createForm(this.modelObject);\n }\n else{\n this.mainForm = this.createForm(this.modelObject); \n }\n }\n \n\n createForm(modelObject): FormGroup {\n debugger;\n return this.fb.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n Name: [modelObject.Name, Validators.compose([Validators.required])],\n MiddleName: [ modelObject.MiddleName],\n Nickname: [modelObject.Nickname],\n EmployeeType: [modelObject.EmployeeType],\n EMail: [modelObject.EMail],\n BirthDate: [modelObject.BirthDate, Validators.compose([Validators.required])],\n Type: [modelObject.Type],\n Country: [modelObject.Country, Validators.compose([Validators.required])],\n MobileNumber: [modelObject.MobileNumber],\n GroundPhoneNumber: [modelObject.GroundPhoneNumber],\n PersonalEmail: [modelObject.PersonalEmail],\n FirstAddress: [modelObject.FirstAddress],\n SecondAddress: [modelObject.SecondAddress],\n City: [modelObject.City],\n Governorate: [modelObject.Governorate],\n PostalCode: [modelObject.PostalCode],\n FirstPermanentAddress: [modelObject.FirstPermanentAddress],\n SecondPermanentAddress: [modelObject.SecondPermanentAddress],\n PermanentCity: [modelObject.PermanentCity],\n PermanentGovernorate: [modelObject.PermanentGovernorate],\n PermanentPostalCode: [modelObject.PermanentPostalCode],\n DepartmentId: [modelObject.DepartmentId],\n JoiningDate: [modelObject.JoiningDate, Validators.compose([Validators.required])],\n JobTitelId: [modelObject.JobTitelId],\n BranchId: [modelObject.BranchId, Validators.compose([Validators.required])],\n Month: [modelObject.Month],\n Day: [modelObject.Day],\n AttendanceShiftId: [modelObject.AttendanceShiftId],\n VacationPolicyId: [modelObject.VacationPolicyId],\n AttendanceDeterminantsId: [modelObject.AttendanceDeterminantsId],\n Status: [modelObject.Status, Validators.compose([Validators.required])],\n IsAccessToTheSystem: [modelObject.IsAccessToTheSystem],\n Notes: [modelObject.Notes],\n JobLevelId: [modelObject.JobLevelId],\n JobTypeId: [modelObject.JobTypeId],\n Code: [modelObject.Code],\n LanguageId: [modelObject.LanguageId],\n JobRoleId: [modelObject.JobRoleId],\n SendLoginDataByMail: [modelObject.SendLoginDataByMail],\n\n \n });\n }\n\n\n showModal(Id, action) {\n \n if (action === 'Add') { \n debugger;\n this.router.navigate(['app/HR/Add-Employee/',0]) \n }\n else if (action === 'Edit') {\n debugger;\n this.router.navigate(['app/HR/Add-Employee/',Id])\n \n \n }\n else if (action === 'Info') {\n debugger;\n \n this.router.navigate(['app/HR/Info-Employee/',Id])\n \n \n }\n //this.mainForm.get('IsActive').setValue(true);\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n \n }\n showDelModal(Id: any) {\n \n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n \n }\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n\n AddNotesOnClick(Id)\n {\n this.router.navigate(['app/HR/Add-Attachment/',0])\n }\n //Same here...\n executeDeleteObject(){\n debugger;\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.delModal.hide();\n // this.finalizeDeletion();\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\"));\n if (this.sideModalRef === undefined) {\n \n this.tableEngine.smallModal.hide();\n \n } else {\n \n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n \n\n loadServices() {\n // debugger;\n this.currentAction = \"loading\";\n this.tableEngine.loadData();\n }\n \n \n type = 0;\n visable = \"\";\n visable2 = \"\";\n visable3 = \"\";\n \n \n goBack() {\n this.router.navigate([\"app/HR/List-Employees\"]);\n }\n}\n","
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n \n {{modelObject.Name}}\n {{modelObject.Code}}#\n {{'Active' | translate}}\n {{'Inactive' | translate}}\n \n
    \n \n {{ \"Back\" | translate }}\n \n \n
    \n

    \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \"name\"\n
    \n
    \n
    \n\n
    \n
    \n

    \n {{modelObject.Name}}\n ({{modelObject.Type}})\n

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

    {{'GeneralInformation' | translate}}

    \n
    \n

    {{ \"DisplayLanguage:\" | translate }}

    \n

    {{modelObject.Name}}

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

    {{'PersonalData' | translate}}

    \n
    \n
    \n
    \n

    {{ \"DateOfBirth:\" | translate }}

    \n

    {{modelObject.BirthDate}}

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

    {{ \"Country:\" | translate }}

    \n

    {{modelObject.Country}}

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

    {{'ContactInformation' | translate}}

    \n
    \n
    \n
    \n

    {{ \"MobileNumber:\" | translate }}

    \n

    {{modelObject.MobileNumber}}

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

    {{ \"GroundPhoneNumber:\" | translate }}

    \n

    {{modelObject.GroundPhoneNumber}}

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

    {{'Address' | translate}}

    \n
    \n
    \n
    \n

    {{ \"CurrentAddress:\" | translate }}

    \n

    {{modelObject.FirstAddress}}
    \n {{modelObject.City}},\n {{modelObject.Governorate}},\n {{modelObject.Country}}\n

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

    {{ \"PermanentAddress:\" | translate }}

    \n

    {{modelObject.FirstPermanentAddress}}
    \n {{modelObject.PermanentCity}},\n {{modelObject.PermanentGovernorate}},\n {{modelObject.Country}}\n

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

    {{'JobData' | translate}}

    \n
    \n
    \n
    \n

    {{ \"JobTitle:\" | translate }}

    \n

    {{modelObject.JobTitelName}}

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

    {{ \"Department:\" | translate }}

    \n

    {{modelObject.DepartmentName}}

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

    {{ \"JobType:\" | translate }}

    \n

    {{modelObject.JobTypeName}}

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

    {{ \"JobLevel:\" | translate }}

    \n

    {{modelObject.JobLevelName}}

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

    {{ \"JoiningDate:\" | translate }}

    \n

    {{modelObject.JoiningDate}}

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

    {{ \"Branch:\" | translate }}

    \n

    {{modelObject.BranchName}}

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

    {{ \"FinancialHistory:\" | translate }}

    \n

    {{modelObject.Day}} {{modelObject.Month}}

    \n
    \n
    \n
    \n\n\n
    \n
    \n \n
    \n \n \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n
    \n
    \n \n \n \n \n \n ","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport {EmployeesManagementModel} from '../EmployeesManagement/EmployeesManagementModel';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UsersService {\n\n \n constructor(private http:HttpClient ) { }\n\n \n baseUrl = environment.baseApiUrl;\n token = localStorage.getItem(\"token\");\n httpOptions = {\n headers: new HttpHeaders({\n // 'Content-Type': 'application/json; charset=utf-8',\n // 'Authorization': \"Bearer \" + token,\n \"Authorization\": \"Bearer \" + this.token,\n \"Content-Type\": \"application/json\"\n })\n };\n\n getAll(): Observable {\n \n return this.http\n .get(`${this.baseUrl}Users/GetAll`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ngetById(Id:number): Observable {\n\n return this.http\n .get(`${this.baseUrl}Users/GetById/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ninsert(payload: EmployeesManagementModel): Observable {\n \n return this.http\n .post(`${this.baseUrl}Users/Insert`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\nGetLastCode(): Observable {\n \n return this.http\n .get(`${this.baseUrl}Users/GetLastCode`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\nupdate(payload: EmployeesManagementModel): Observable {\n return this.http\n .post(`${this.baseUrl}Users/Update`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ndelete(Id:number): Observable {\n return this.http\n .get(`${this.baseUrl}Users/Delete/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\n deleteList(payload: EmployeesManagementModel []): Observable {\n return this.http\n .post(`${this.baseUrl}Users/DeleteList`,JSON.stringify(payload),this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n}\n","import { HrDashboardComponent } from './hr-dashboard/hr-dashboard.component';\r\nimport { NotesAndAttachmentComponent } from './Employees/EmployeesManagement/Actions-and-Notes/notes-and-attachment/notes-and-attachment.component';\r\nimport { AddActionsComponent } from './Employees/EmployeesManagement/Actions-and-Notes/add-actions/add-actions.component';\r\nimport { AddEmployeesManagementComponent } from './Employees/EmployeesManagement/add-employees-management/add-employees-management.component';\r\nimport { ListJobTypesComponent } from './Organization_Structure/JobTypesComponentes/list-job-types/list-job-types.component';\r\nimport { InfoJobLevelsComponent } from './Organization_Structure/JobLevelsComponentes/info-job-levels/info-job-levels.component';\r\nimport { InfoDepartmentComponent } from './Organization_Structure/Department_components/info-department/info-department.component';\r\nimport { ListDepartmentComponent } from './Organization_Structure/Department_components/list-department/list-department.component';\r\nimport { ListJobLevelsComponent } from './Organization_Structure/JobLevelsComponentes/list-job-levels/list-job-levels.component';\r\nimport { InfoJobTypesComponent } from './Organization_Structure/JobTypesComponentes/info-job-types/info-job-types.component';\r\nimport { InfoJobTitlesComponent } from './Organization_Structure/JobTitels_Componentes/info-job-titles/info-job-titles.component';\r\nimport { ListJobTitlesComponent } from './Organization_Structure/JobTitels_Componentes/list-job-titles/list-job-titles.component';\r\nimport { InfoEmployeesManagementComponent } from './Employees/EmployeesManagement/info-employees-management/info-employees-management.component';\r\nimport { ListEmployeesManagementComponent } from './Employees/EmployeesManagement/list-employees-management/list-employees-management.component';\r\nimport { ActionStatusComponent } from './Employees/EmployeesManagement/Actions-and-Notes/action-status/action-status.component';\r\nimport { AddUsersComponent } from './Employees/Users/add-users/add-users.component';\r\nimport { InfoUsersComponent } from './Employees/Users/info-users/info-users.component';\r\nimport { AllSessionsComponent } from './Attendance/attendance-session/components/all-sessions/all-sessions.component';\r\nimport { ViewSessionComponent } from './Attendance/attendance-session/components/view-session/view-session.component';\r\nimport { VacationsTypesComponent } from './Attendance/Vacations/VacationsTypes/components/vacations-types/vacations-types.component';\r\nimport { VacationsComponent } from './Attendance/Vacations/Vacation/components/vacations/vacations.component';\r\nimport { HolidaysComponent } from './Attendance/holidays/components/holidays/holidays.component';\r\nimport { CreateHolidayComponent } from './Attendance/holidays/components/create-holiday/create-holiday.component';\r\nimport { ShiftsComponent } from './Attendance/shifts/components/shifts/shifts.component';\r\n\r\n\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { NgModule } from '@angular/core';\r\nimport { SalaryItemsComponent } from './Salaries/salary-items/components/salary-items/salary-items.component';\r\nimport { ContractsComponent } from './Salaries/contract/components/contracts/contracts.component';\r\nimport { PredecessorComponent } from './Predecessor/components/predecessor/predecessor.component';\r\nimport { AddSalariesManagerComponent } from './Salaries/add-salaries-manager/add-salaries-manager.component';\r\nimport { ListSalariesManagerComponent } from './Salaries/list-salaries-manager/list-salaries-manager.component';\r\nimport { InfoSalariesManagerComponent } from './Salaries/info-salaries-manager/info-salaries-manager.component';\r\nimport { AddSalariesPaymentComponent } from './Salaries/add-salaries-payment/add-salaries-payment.component';\r\nimport { AddSalarySlipComponent } from './Salaries/add-salary-slip/add-salary-slip.component';\r\nimport { ListSalarySlipComponent } from './Salaries/list-salary-slip/list-salary-slip.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '', component: HrDashboardComponent,\r\n \r\n },\r\n \r\n { path: 'Info-Department/:Id', component: InfoDepartmentComponent },\r\n { path: 'List-Department', component: ListDepartmentComponent },\r\n \r\n { path: 'Info-JobLevels/:Id', component: InfoJobLevelsComponent },\r\n { path: 'List-JobLevels', component: ListJobLevelsComponent },\r\n\r\n\r\n { path: 'Info-JobTypes/:Id', component: InfoJobTypesComponent },\r\n { path: 'List-JobTypes', component: ListJobTypesComponent },\r\n \r\n\r\n { path: 'Info-JobTitles/:Id', component: InfoJobTitlesComponent },\r\n { path: 'List-JobTitles', component: ListJobTitlesComponent },\r\n \r\n { path: 'Add-Employee/:Id', component: AddEmployeesManagementComponent },\r\n { path: 'Info-Employee/:Id', component: InfoEmployeesManagementComponent},\r\n { path: 'List-Employees', component: ListEmployeesManagementComponent },\r\n \r\n\r\n // { path: 'app/HRList-All-InventoryManagement', component: ListInventoryManagementComponent },\r\n { path: 'Add-Actions', component: AddActionsComponent },\r\n { path: 'Add-Attachment/:Id', component: NotesAndAttachmentComponent },\r\n { path: 'ActionStatus', component: ActionStatusComponent },\r\n\r\n\r\n \r\n { path: 'Add-User/:Id', component: AddUsersComponent },\r\n { path: 'Info-User/:Id', component: InfoUsersComponent},\r\n { path: 'all-sessions', component: AllSessionsComponent},\r\n { path: 'vew-session/:Id', component: ViewSessionComponent},\r\n { path: 'vacations-types', component: VacationsTypesComponent},\r\n { path: 'vacations', component: VacationsComponent},\r\n { path: 'holidays', component: HolidaysComponent},\r\n { path: 'shifts', component: ShiftsComponent},\r\n { path: 'create-holiday/:Id', component: CreateHolidayComponent},\r\n { path: 'salary-items', component: SalaryItemsComponent},\r\n { path: 'contracts', component: ContractsComponent},\r\n { path: 'predecessors', component: PredecessorComponent},\r\n { path: 'Add-Salaries-Manager/:Id', component: AddSalariesManagerComponent },\r\n { path: 'List-Salaries-Manager', component: ListSalariesManagerComponent },\r\n { path: 'Info-Salaries-Manager/:Id', component: InfoSalariesManagerComponent},\r\n\r\n\r\n { path: 'Add-Salaries-Payment/:Id', component: AddSalariesPaymentComponent },\r\n { path: 'Add-Salaries-Slip/:Id', component: AddSalarySlipComponent },\r\n { path: 'List-Salaries-Slip', component: ListSalarySlipComponent },\r\n \r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class HRRoutingModule { }","export class DepartmentModel{\r\n Id?: number;\r\n ManagerId?:number;\r\n Name?:string;\r\n limitation?:string;\r\n Description?:string;\r\n Status?:boolean;\r\n\r\n\r\n \r\n constructor(item?:DepartmentModel){\r\n item = item? item:{};\r\n this.Id = item.Id? item.Id:0;\r\n this.ManagerId = item.ManagerId? item.ManagerId:0;\r\n this.Name = item.Name? item.Name:'';\r\n this.limitation = item.limitation? item.limitation:'';\r\n this.Description = item.Description? item.Description:'';\r\n this.Status = item.Status? item.Status:true;\r\n\r\n }\r\n\r\n}","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport {DepartmentModel} from '../Department_components/DepartmentModel';\n@Injectable({\n providedIn: 'root'\n})\nexport class DepartmentService {\n\n\n\n constructor(private http:HttpClient ) { }\n\n \n baseUrl = environment.baseApiUrl;\n token = localStorage.getItem(\"token\");\n httpOptions = {\n headers: new HttpHeaders({\n // 'Content-Type': 'application/json; charset=utf-8',\n // 'Authorization': \"Bearer \" + token,\n \"Authorization\": \"Bearer \" + this.token,\n \"Content-Type\": \"application/json\"\n })\n };\n\n getAll(): Observable {\n \n return this.http\n .get(`${this.baseUrl}Department/GetAll`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ngetById(Id:number): Observable {\n\n return this.http\n .get(`${this.baseUrl}Department/GetById/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ninsert(payload: DepartmentModel): Observable {\n \n return this.http\n .post(`${this.baseUrl}Department/Insert`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\nupdate(payload: DepartmentModel): Observable {\n return this.http\n .post(`${this.baseUrl}Department/Update`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ndelete(Id:number): Observable {\n return this.http\n .get(`${this.baseUrl}Department/Delete/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\n deleteList(payload: DepartmentModel []): Observable {\n return this.http\n .post(`${this.baseUrl}Department/DeleteList`,JSON.stringify(payload),this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n}\n","import { Component, ViewChild } from \"@angular/core\";\nimport {\n FormBuilder,\n FormControl,\n FormGroup,\n Validators,\n} from \"@angular/forms\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { NotificationsService } from \"angular2-notifications\";\nimport { ModalDirective } from \"ngx-bootstrap/modal\";\nimport { TableEngine } from \"src/app/invoices/TableEngine\";\nimport { SidePopupComponent } from \"src/app/views/invoice/side-popup/side-popup.component\";\nimport {DepartmentModel} from '../DepartmentModel';\nimport{DepartmentService} from '../department.service';\n@Component({\n // moduleId: module.id,\n selector: 'info-department',\n templateUrl: 'info-department.component.html',\n styleUrls: ['info-department.component.scss']\n})\nexport class InfoDepartmentComponent {\n Id = 0;\n\n constructor(\n public router: Router,\n private fb: FormBuilder,\n private modelService:DepartmentService ,\n private notifications: NotificationsService,\n private translate: TranslateService,\n private route: ActivatedRoute\n ) {\n this.Id = +route.snapshot.paramMap.get(\"Id\");\n }\n \n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = \"Table\";\n translationName: string = \"Item\";\n sortableKeys = [];\n searchableKeys = [\"Name\", \"Address\"];\n tableView: any = true;\n \n DepartmentModel:DepartmentModel[]=[];\n \n // WarehouseData: WarehouseModel[] = [];\n \n modelObject: DepartmentModel = new DepartmentModel();\n Form: FormGroup;\n declare lang: any;\n declare itemOrder: any;\n currentAction = \"\";\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n prevAction = \"\";\n addToListId = 0;\n ItemsBalanceHeaderId = 0;\n ItemBalanceId = 0;\n currentFormMode: string = \"\";\n \n ogData: DepartmentModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Name: new FormControl(),\n ManagerId: new FormControl(),\n limitation: new FormControl(),\n Description: new FormControl(),\n Status: new FormControl(),\n \n });\n \n @ViewChild(\"sideModalRef\", { static: true })\n sideModalRef: SidePopupComponent = null;\n @ViewChild(\"delModal\", { static: true }) delModal: ModalDirective;\n @ViewChild(\"smallModal\", { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n // this.getAllCountryCode();\n \n this.lang = localStorage.getItem(\"theme_lang\");\n this.itemOrder = {\n label: \"Name\",\n property: this.lang === \"ar-EG\" ? \"Name\" : \"Name\",\n };\n this.sortableKeys = [\n // { label: 'Date', property: 'Date' },\n { label: 'Name',property: this.lang === 'ar-EG' ? 'Name' : 'Name'},\n { label: 'limitation', property: 'limitation' },\n \n ];\n \n this.tableEngine.loadTableEngine(\n this.ogData,\n this.modelService,\n this.modelObject,\n this.searchableKeys,\n this.sortableKeys,\n this.mainForm,\n this.translationName,\n this.itemOrder,\n this.sideModalRef,\n this.delModal,\n this.smallModal,\n this.lang\n );\n\n // this.mainForm = this.createForm(this.modelObject);\n \n // this.loadServices();\n // this.modelService.getById(this.Id).subscribe((data) => {\n // this.modelObject = data;\n // }); \n \n if(this.Id > 0)\n { debugger; \n this.modelService.getById(this.Id).subscribe(data=>{ \n this.modelObject = data;\n this.mainForm = this.createForm(this.modelObject);\n });\n this.mainForm = this.createForm(this.modelObject);\n }\n else{\n this.mainForm = this.createForm(this.modelObject); \n }\n }\n \n\n createForm(modelObject): FormGroup {\n debugger;\n return this.fb.group({\n Id: [this.modelObject.Id >= 0 ? this.modelObject.Id : 0],\n Name: [this.modelObject.Name, Validators.compose([Validators.required, Validators.minLength(2)])],\n limitation: [this.modelObject.limitation],\n ManagerId: [this.modelObject.ManagerId],\n Description: [this.modelObject.Description],\n Status: [this.modelObject.Status, Validators.compose([Validators.required])],\n });\n }\n loadServices() {\n // debugger;\n this.currentAction = \"loading\";\n this.tableEngine.loadData();\n }\n \n \n type = 0;\n visable = \"\";\n visable2 = \"\";\n visable3 = \"\";\n \n \n goBack() {\n this.router.navigate([\"app/HR/List-Department\"]);\n }\n}\n","\n\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n \n {{modelObject.Name}}\n {{'Active' | translate}}\n {{'Inactive' | translate}}\n \n
    \n \n {{ \"Back\" | translate }}\n \n \n
    \n

    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    {{ \"DepartmentName\" | translate }}
    \n \n
    \n
    \n \n \n
    \n
    {{ \"Departmentlimitation\" | translate }}
    \n \n
    \n
    \n\n
    \n
    {{ \"DepartmentDescription\" | translate }}
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n
    \n
    \n \n \n \n \n \n ","import { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { DataFilterer } from 'src/app/views/app/aio/shared/DataFilterer';\nimport { DataSorter } from 'src/app/views/app/aio/shared/DataSorter';\nimport { DataPaginator } from 'src/app/views/invoice/shared/DataPaginator';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport {DepartmentModel} from '../DepartmentModel';\nimport{DepartmentService} from '../department.service';\nimport { of } from 'rxjs';\nimport { SidePopupComponent } from 'src/app/views/app/aio/shared/side-popup/side-popup.component';\nimport { Router } from '@angular/router';\n@Component({\n // moduleId: module.id,\n selector: 'list-department',\n templateUrl: 'list-department.component.html',\n styleUrls: ['list-department.component.scss']\n})\nexport class ListDepartmentComponent {\n lang: string;\n itemOrder: { label: string; property: string; };\n constructor(private formBuilder: FormBuilder, private modelService: DepartmentService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService, private router : Router) {\n }\n currentScreen: any = 'Table';\n \n translationName: string = ' Department'\n \n sortableKeys = [];\n searchableKeys = ['Name'];\n \n modelObject: DepartmentModel = new DepartmentModel();\n ogData: DepartmentModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Name: new FormControl(),\n ManagerId: new FormControl(),\n limitation: new FormControl(),\n Description: new FormControl(),\n Status: new FormControl(),\n \n });\n \n \n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: this.lang === 'ar-EG' ? 'Name' : 'Name' };\n this.sortableKeys = [\n { label: 'Name',property: this.lang === 'ar-EG' ? 'Name' : 'Name'},\n { label: 'limitation', property: 'limitation' },\n ];\n this.loadData();\n }\n \n createForm(): FormGroup {\n return this.formBuilder.group({\n Id: [this.modelObject.Id >= 0 ? this.modelObject.Id : 0],\n Name: [this.modelObject.Name, Validators.compose([Validators.required, Validators.minLength(2)])],\n limitation: [this.modelObject.limitation],\n ManagerId: [this.modelObject.ManagerId],\n Description: [this.modelObject.Description],\n Status: [this.modelObject.Status, Validators.compose([Validators.required])],\n });\n }\n\n \n\n\n addObject() {\n //prevent multiclick submits. enable again after API response.\n debugger;\n this.currentAction = 'loading';\n \n this.modelObject = new DepartmentModel();\n this.modelObject.Id = 0;\n this.modelObject.Name = this.mainForm.getRawValue().Name;\n this.modelObject.limitation = this.mainForm.getRawValue().limitation;\n this.modelObject.ManagerId = this.mainForm.getRawValue().ManagerId;\n this.modelObject.Description = this.mainForm.getRawValue().Description;\n this.modelObject.Status = this.mainForm.getRawValue().Status;\n this.executeAddObject();\n }\n \n executeAddObject(){\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n // this.smallModal.hide();\n this.sideModalRef.modalRef.hide();\n\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n \n editObject() {\n this.savedPage = this.currentPage;\n this.currentAction = 'loading';\n \n let tempObj = new DepartmentModel({\n Id: this.modelObject.Id,\n Name: this.mainForm.getRawValue().Name,\n\n limitation : this.mainForm.getRawValue().limitation,\n ManagerId : this.mainForm.getRawValue().ManagerId,\n Description: this.mainForm.getRawValue().Description,\n Status : this.mainForm.getRawValue().Status,\n });\n \n if(tempObj != this.modelObject){\n this.executeEditObject(tempObj);\n }\n else{\n // this.sideModalRef.hide();\n this.sideModalRef.modalRef.hide();\n }\n }\n \n executeEditObject(Object)\n {\n \n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n \n this.sideModalRef.modalRef.hide();\n // this.sideModalRef();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n \n //Deletion methods:\n //Customize if needed.\n //Pass the target object as paraMetre if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject(){\n this.modelService.deleteList(this.deletionList).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.finalizeDeletion();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n \n \n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n // lang: any;\n // itemOrder: any;\n currentFormMode: string = '';\n currentAction: string = '';\n \n \n //ogData = [];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n \n SelectAllBox: any = false;\n \n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n orderAsc: boolean = true;\n \n currentPage = 1;\n savedPage = 0;\n \n \n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n \n loadData() {\n debugger;\n this.currentAction = 'loading';\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.sortData();\n this.loadSearch();\n this.currentAction = '';\n }\n )\n \n }\n \n sortData() {\n debugger;\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n \n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n \n filterData() {\n debugger;\n\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n \n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n debugger;\n\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n \n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n \n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n \n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n \n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n \n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n \n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n \n isSelected(p: DepartmentModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n \n onSelect(item: DepartmentModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n \n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent;\n \n @ViewChild('smallModal') smallModal: ModalDirective;\n @ViewChild('delModal') delModal: ModalDirective;\n showAddNewModalRef(): void {\n this.currentFormMode = 'Add'\n this.modelObject = new DepartmentModel;\n this.mainForm = this.createForm();\n this.sideModalRef.show();\n }\n \n showEditModalRef(Id: any): void {\n this.currentFormMode = 'Edit'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.sideModalRef.show();\n }\n \n showInfoModalRef(Id: any): void {\n this.currentFormMode = 'Info'\n this.router.navigate(['app/HR/Info-Department',Id])\n\n // this.modelObject = this.ogData.find(i => i.Id === Id);\n // of(this.modelObject).subscribe(data => {\n // this.modelObject = data;\n // })\n // this.mainForm = this.createForm();\n // this.sideModalRef.show();\n }\n \n deletionList: DepartmentModel[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n \n SearchTerm: any = '';\n \n \n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n \n this.deletionList = [];\n this.selected = [];\n \n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n \n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n \n loadAllData() {\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.loadSearch();\n }\n )\n }\n \n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n}\n","\n\n\n\n \n
    \n
    \n
    \n \n
    \n

    \n {{currentFormMode+\" Department\" | translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"DepartmentNameRequired\" | translate}}
    \n \n
    \n\n \n
    \n \n \n \n
    \n {{\"limitationrequired\" | translate}}
    \n \n
    \n \n\n \n\n\n
    \n \n \n \n \n \n \n
    \n {{\"Statusrequired\" | translate}}
    \n
    \n\n\n
    \n \n \n \n
    \n {{\"Descriptionrequired\" | translate}}
    \n \n
    \n \n
    \n \n \n \n
    \n {{\"ManagerIdrequired\" | translate}}
    \n \n
    \n \n \n \n \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n
    \n \n \n \n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Name\" | translate}}\n \n \n
    \n {{\"Status\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n {{obj.Name}} \n 0\" style=\"font-weight: lighter;\">-{{obj.limitation}}\n {{'Active' | translate}}\n {{'InActive' | translate}} \n \n \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","export class JobLevelsModel{\r\n Id?: number;\r\n Name?:string;\r\n Description?:string;\r\n Status?:boolean;\r\n\r\n\r\n \r\n constructor(item?:JobLevelsModel){\r\n item = item? item:{};\r\n this.Id = item.Id? item.Id:0;\r\n this.Name = item.Name? item.Name:'';\r\n this.Description = item.Description? item.Description:'';\r\n this.Status = item.Status? item.Status:true;\r\n\r\n }\r\n\r\n}","import { Component, ViewChild } from \"@angular/core\";\nimport {\n FormBuilder,\n FormControl,\n FormGroup,\n Validators,\n} from \"@angular/forms\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { NotificationsService } from \"angular2-notifications\";\nimport { ModalDirective } from \"ngx-bootstrap/modal\";\nimport { TableEngine } from \"src/app/invoices/TableEngine\";\nimport { SidePopupComponent } from \"src/app/views/invoice/side-popup/side-popup.component\";\nimport {JobLevelsModel} from '../JobLevelsModel';\nimport{JobLevelsService} from '../job-levels.service';\n@Component({\n // moduleId: module.id,\n selector: 'info-job-levels',\n templateUrl: 'info-job-levels.component.html',\n styleUrls: ['info-job-levels.component.scss']\n})\nexport class InfoJobLevelsComponent {\n Id = 0;\n\n constructor(\n public router: Router,\n private fb: FormBuilder,\n private modelService:JobLevelsService ,\n private notifications: NotificationsService,\n private translate: TranslateService,\n private route: ActivatedRoute\n ) {\n this.Id = +route.snapshot.paramMap.get(\"Id\");\n }\n \n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = \"Table\";\n translationName: string = \"Item\";\n sortableKeys = [];\n searchableKeys = [\"Name\", \"Address\"];\n tableView: any = true;\n \n JobLevelsModel:JobLevelsModel[]=[];\n \n // WarehouseData: WarehouseModel[] = [];\n \n modelObject: JobLevelsModel = new JobLevelsModel();\n Form: FormGroup;\n declare lang: any;\n declare itemOrder: any;\n currentAction = \"\";\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n prevAction = \"\";\n addToListId = 0;\n ItemsBalanceHeaderId = 0;\n ItemBalanceId = 0;\n currentFormMode: string = \"\";\n \n ogData: JobLevelsModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Name: new FormControl(),\n ManagerId: new FormControl(),\n limitation: new FormControl(),\n Description: new FormControl(),\n Status: new FormControl(),\n \n });\n \n @ViewChild(\"sideModalRef\", { static: true })\n sideModalRef: SidePopupComponent = null;\n @ViewChild(\"delModal\", { static: true }) delModal: ModalDirective;\n @ViewChild(\"smallModal\", { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n // this.getAllCountryCode();\n \n this.lang = localStorage.getItem(\"theme_lang\");\n this.itemOrder = {\n label: \"Name\",\n property: this.lang === \"ar-EG\" ? \"Name\" : \"Name\",\n };\n this.sortableKeys = [\n // { label: 'Date', property: 'Date' },\n { label: 'Name',property: this.lang === 'ar-EG' ? 'Name' : 'Name'},\n { label: 'limitation', property: 'limitation' },\n \n ];\n \n this.tableEngine.loadTableEngine(\n this.ogData,\n this.modelService,\n this.modelObject,\n this.searchableKeys,\n this.sortableKeys,\n this.mainForm,\n this.translationName,\n this.itemOrder,\n this.sideModalRef,\n this.delModal,\n this.smallModal,\n this.lang\n );\n\n // this.mainForm = this.createForm(this.modelObject);\n \n // this.loadServices();\n // this.modelService.getById(this.Id).subscribe((data) => {\n // this.modelObject = data;\n // }); \n \n if(this.Id > 0)\n { debugger; \n this.modelService.getById(this.Id).subscribe(data=>{ \n this.modelObject = data;\n this.mainForm = this.createForm(this.modelObject);\n });\n this.mainForm = this.createForm(this.modelObject);\n }\n else{\n this.mainForm = this.createForm(this.modelObject); \n }\n }\n \n\n createForm(modelObject): FormGroup {\n debugger;\n return this.fb.group({\n Id: [this.modelObject.Id >= 0 ? this.modelObject.Id : 0],\n Name: [this.modelObject.Name, Validators.compose([Validators.required, Validators.minLength(2)])],\n Description: [this.modelObject.Description],\n Status: [this.modelObject.Status, Validators.compose([Validators.required])],\n });\n }\n loadServices() {\n // debugger;\n this.currentAction = \"loading\";\n this.tableEngine.loadData();\n }\n \n \n type = 0;\n visable = \"\";\n visable2 = \"\";\n visable3 = \"\";\n \n \n goBack() {\n this.router.navigate([\"app/HR/List-JobLevels\"]);\n }\n}\n","\n\n\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n \n {{modelObject.Name}}\n {{'Active' | translate}}\n {{'Inactive' | translate}}\n \n
    \n \n {{ \"Back\" | translate }}\n \n \n
    \n

    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    {{ \"JoblevelName\" | translate }}
    \n \n
    \n \n
    \n\n
    \n
    {{ \"JoblevelNameDescription\" | translate }}
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n
    \n
    \n \n \n \n \n \n ","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport {JobLevelsModel} from '../JobLevelsComponentes/JobLevelsModel';\n@Injectable({\n providedIn: 'root'\n})\nexport class JobLevelsService {\n\n\n constructor(private http:HttpClient ) { }\n\n \n baseUrl = environment.baseApiUrl;\n token = localStorage.getItem(\"token\");\n httpOptions = {\n headers: new HttpHeaders({\n // 'Content-Type': 'application/json; charset=utf-8',\n // 'Authorization': \"Bearer \" + token,\n \"Authorization\": \"Bearer \" + this.token,\n \"Content-Type\": \"application/json\"\n })\n };\n\n getAll(): Observable {\n \n return this.http\n .get(`${this.baseUrl}JobLevels/GetAll`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ngetById(Id:number): Observable {\n\n return this.http\n .get(`${this.baseUrl}JobLevels/GetById/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ninsert(payload: JobLevelsModel): Observable {\n \n return this.http\n .post(`${this.baseUrl}JobLevels/Insert`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\nupdate(payload: JobLevelsModel): Observable {\n return this.http\n .post(`${this.baseUrl}JobLevels/Update`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ndelete(Id:number): Observable {\n return this.http\n .get(`${this.baseUrl}JobLevels/Delete/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\n deleteList(payload: JobLevelsModel []): Observable {\n return this.http\n .post(`${this.baseUrl}JobLevels/DeleteList`,JSON.stringify(payload),this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }}\n","import { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { DataFilterer } from 'src/app/views/app/aio/shared/DataFilterer';\nimport { DataSorter } from 'src/app/views/app/aio/shared/DataSorter';\nimport { DataPaginator } from 'src/app/views/invoice/shared/DataPaginator';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport {JobLevelsModel} from '../JobLevelsModel';\nimport{JobLevelsService} from '../job-levels.service';\nimport { of } from 'rxjs';\nimport { SidePopupComponent } from 'src/app/views/app/aio/shared/side-popup/side-popup.component';\nimport { Router } from '@angular/router';\n@Component({\n // moduleId: module.id,\n selector: 'list-job-levels',\n templateUrl: 'list-job-levels.component.html',\n styleUrls: ['list-job-levels.component.scss']\n})\nexport class ListJobLevelsComponent {\n lang: string;\n itemOrder: { label: string; property: string; };\n constructor(private formBuilder: FormBuilder, private modelService: JobLevelsService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService, private router : Router) {\n }\n currentScreen: any = 'Table';\n \n translationName: string = 'JobLevels'\n \n sortableKeys = [];\n searchableKeys = ['Name'];\n \n modelObject: JobLevelsModel = new JobLevelsModel();\n ogData: JobLevelsModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Name: new FormControl(),\n Description: new FormControl(),\n Status: new FormControl(),\n \n });\n \n \n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: this.lang === 'ar-EG' ? 'Name' : 'Name' };\n this.sortableKeys = [\n { label: 'Name',property: this.lang === 'ar-EG' ? 'Name' : 'Name'},\n { label: 'limitation', property: 'limitation' },\n ];\n this.loadData();\n }\n \n createForm(): FormGroup {\n return this.formBuilder.group({\n Id: [this.modelObject.Id >= 0 ? this.modelObject.Id : 0],\n Name: [this.modelObject.Name, Validators.compose([Validators.required, Validators.minLength(2)])],\n Description: [this.modelObject.Description],\n Status: [this.modelObject.Status, Validators.compose([Validators.required])],\n });\n }\n\n \n\n\n addObject() {\n //prevent multiclick submits. enable again after API response.\n debugger;\n this.currentAction = 'loading';\n \n this.modelObject = new JobLevelsModel();\n this.modelObject.Id = 0;\n this.modelObject.Name = this.mainForm.getRawValue().Name;\n this.modelObject.Description = this.mainForm.getRawValue().Description;\n this.modelObject.Status = this.mainForm.getRawValue().Status;\n this.executeAddObject();\n }\n \n executeAddObject(){\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n // this.smallModal.hide();\n this.smallModal.hide();\n\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n \n editObject() {\n this.savedPage = this.currentPage;\n this.currentAction = 'loading';\n \n let tempObj = new JobLevelsModel({\n Id: this.modelObject.Id,\n Name: this.mainForm.getRawValue().Name,\n Description: this.mainForm.getRawValue().Description,\n Status : this.mainForm.getRawValue().Status,\n });\n \n if(tempObj != this.modelObject){\n this.executeEditObject(tempObj);\n }\n else{\n this.smallModal.hide();\n }\n }\n \n executeEditObject(Object)\n {\n \n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n \n this.smallModal.hide();\n // this.sideModalRef();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n \n //Deletion methods:\n //Customize if needed.\n //Pass the target object as paraMetre if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject(){\n this.modelService.deleteList(this.deletionList).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.finalizeDeletion();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n \n \n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n // lang: any;\n // itemOrder: any;\n currentFormMode: string = '';\n currentAction: string = '';\n \n \n //ogData = [];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n \n SelectAllBox: any = false;\n \n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n orderAsc: boolean = true;\n \n currentPage = 1;\n savedPage = 0;\n \n \n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n \n loadData() {\n debugger;\n this.currentAction = 'loading';\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.sortData();\n this.loadSearch();\n this.currentAction = '';\n }\n )\n \n }\n \n sortData() {\n debugger;\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n \n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n \n filterData() {\n debugger;\n\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n \n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n debugger;\n\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n \n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n \n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n \n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n \n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n \n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n \n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n \n isSelected(p: JobLevelsModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n \n onSelect(item: JobLevelsModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n \n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent;\n \n @ViewChild('smallModal') smallModal: ModalDirective;\n @ViewChild('delModal') delModal: ModalDirective;\n showAddNewModalRef(): void {\n this.currentFormMode = 'Add'\n this.modelObject = new JobLevelsModel;\n this.mainForm = this.createForm();\n this.smallModal.show();\n }\n \n showEditModalRef(Id: any): void {\n this.currentFormMode = 'Edit'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.smallModal.show();\n }\n \n showInfoModalRef(Id: any): void {\n this.currentFormMode = 'Info'\n this.router.navigate(['app/HR/Info-JobLevels',Id])\n\n // this.modelObject = this.ogData.find(i => i.Id === Id);\n // of(this.modelObject).subscribe(data => {\n // this.modelObject = data;\n // })\n // this.mainForm = this.createForm();\n // this.sideModalRef.show();\n }\n \n deletionList: JobLevelsModel[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n \n SearchTerm: any = '';\n \n \n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n \n this.deletionList = [];\n this.selected = [];\n \n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n \n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n \n loadAllData() {\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.loadSearch();\n }\n )\n }\n \n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n}\n","
    \n
    \n
    \n \n
    \n

    \n {{currentFormMode+\"JobLevels\" | translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"JobLevelNameRequired\" | translate}}
    \n \n
    \n \n \n
    \n \n \n \n \n \n \n
    \n {{\"Statusrequired\" | translate}}
    \n
    \n \n \n
    \n \n \n \n
    \n {{\"Descriptionrequired\" | translate}}
    \n \n
    \n \n \n \n \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Name\" | translate}}\n \n \n
    \n {{\"Status\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n {{obj.Name}} \n \n {{'Active' | translate}}\n {{'InActive' | translate}} \n \n \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n \n
    \n \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ","export class JobTitlesModel{\r\n Id?: number;\r\n Name?:string;\r\n Description?:string;\r\n Status?:boolean;\r\n\r\n\r\n \r\n constructor(item?:JobTitlesModel){\r\n item = item? item:{};\r\n this.Id = item.Id? item.Id:0;\r\n this.Name = item.Name? item.Name:'';\r\n this.Description = item.Description? item.Description:'';\r\n this.Status = item.Status? item.Status:true;\r\n\r\n }\r\n\r\n}","import { Component, ViewChild } from \"@angular/core\";\nimport {\n FormBuilder,\n FormControl,\n FormGroup,\n Validators,\n} from \"@angular/forms\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { NotificationsService } from \"angular2-notifications\";\nimport { ModalDirective } from \"ngx-bootstrap/modal\";\nimport { TableEngine } from \"src/app/invoices/TableEngine\";\nimport { SidePopupComponent } from \"src/app/views/invoice/side-popup/side-popup.component\";\nimport {JobTitlesModel} from '../JobTitlesModel';\nimport{JobTitlesService} from '../job-titles.service';\n@Component({\n // moduleId: module.id,\n selector: 'info-job-titles',\n templateUrl: 'info-job-titles.component.html',\n styleUrls: ['info-job-titles.component.scss']\n})\nexport class InfoJobTitlesComponent {\n Id = 0;\n\n constructor(\n public router: Router,\n private fb: FormBuilder,\n private modelService : JobTitlesService ,\n private notifications: NotificationsService,\n private translate: TranslateService,\n private route: ActivatedRoute\n ) {\n this.Id = +route.snapshot.paramMap.get(\"Id\");\n }\n \n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = \"Table\";\n translationName: string = \"Item\";\n sortableKeys = [];\n searchableKeys = [\"Name\", \"Address\"];\n tableView: any = true;\n \n JobTitlesModel:JobTitlesModel[]=[];\n \n // WarehouseData: WarehouseModel[] = [];\n \n modelObject: JobTitlesModel = new JobTitlesModel();\n Form: FormGroup;\n declare lang: any;\n declare itemOrder: any;\n currentAction = \"\";\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n prevAction = \"\";\n addToListId = 0;\n ItemsBalanceHeaderId = 0;\n ItemBalanceId = 0;\n currentFormMode: string = \"\";\n \n ogData: JobTitlesModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Name: new FormControl(),\n ManagerId: new FormControl(),\n limitation: new FormControl(),\n Description: new FormControl(),\n Status: new FormControl(),\n \n });\n \n @ViewChild(\"sideModalRef\", { static: true })\n sideModalRef: SidePopupComponent = null;\n @ViewChild(\"delModal\", { static: true }) delModal: ModalDirective;\n @ViewChild(\"smallModal\", { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n // this.getAllCountryCode();\n \n this.lang = localStorage.getItem(\"theme_lang\");\n this.itemOrder = {\n label: \"Name\",\n property: this.lang === \"ar-EG\" ? \"Name\" : \"Name\",\n };\n this.sortableKeys = [\n // { label: 'Date', property: 'Date' },\n { label: 'Name',property: this.lang === 'ar-EG' ? 'Name' : 'Name'},\n { label: 'limitation', property: 'limitation' },\n \n ];\n \n this.tableEngine.loadTableEngine(\n this.ogData,\n this.modelService,\n this.modelObject,\n this.searchableKeys,\n this.sortableKeys,\n this.mainForm,\n this.translationName,\n this.itemOrder,\n this.sideModalRef,\n this.delModal,\n this.smallModal,\n this.lang\n );\n\n // this.mainForm = this.createForm(this.modelObject);\n \n // this.loadServices();\n // this.modelService.getById(this.Id).subscribe((data) => {\n // this.modelObject = data;\n // }); \n \n if(this.Id > 0)\n { debugger; \n this.modelService.getById(this.Id).subscribe(data=>{ \n this.modelObject = data;\n this.mainForm = this.createForm(this.modelObject);\n });\n this.mainForm = this.createForm(this.modelObject);\n }\n else{\n this.mainForm = this.createForm(this.modelObject); \n }\n }\n \n\n createForm(modelObject): FormGroup {\n debugger;\n return this.fb.group({\n Id: [this.modelObject.Id >= 0 ? this.modelObject.Id : 0],\n Name: [this.modelObject.Name, Validators.compose([Validators.required, Validators.minLength(2)])],\n Description: [this.modelObject.Description],\n Status: [this.modelObject.Status, Validators.compose([Validators.required])],\n });\n }\n loadServices() {\n // debugger;\n this.currentAction = \"loading\";\n this.tableEngine.loadData();\n }\n \n \n type = 0;\n visable = \"\";\n visable2 = \"\";\n visable3 = \"\";\n \n \n goBack() {\n this.router.navigate([\"app/HR/List-JobTitles\"]);\n }\n}\n","
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n \n {{modelObject.Name}}\n {{'Active' | translate}}\n {{'Inactive' | translate}}\n \n
    \n \n {{ \"Back\" | translate }}\n \n \n
    \n

    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    {{ \"JobTitlelName\" | translate }}
    \n \n
    \n \n
    \n\n
    \n
    {{ \"JobTitleNameDescription\" | translate }}
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n
    \n
    \n \n \n \n \n \n ","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport {JobTitlesModel} from '../JobTitels_Componentes/JobTitlesModel';\n@Injectable({\n providedIn: 'root'\n})\nexport class JobTitlesService {\n\n \n constructor(private http:HttpClient ) { }\n\n \n baseUrl = environment.baseApiUrl;\n token = localStorage.getItem(\"token\");\n httpOptions = {\n headers: new HttpHeaders({\n // 'Content-Type': 'application/json; charset=utf-8',\n // 'Authorization': \"Bearer \" + token,\n \"Authorization\": \"Bearer \" + this.token,\n \"Content-Type\": \"application/json\"\n })\n };\n\n getAll(): Observable {\n \n return this.http\n .get(`${this.baseUrl}JobTitles/GetAll`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ngetById(Id:number): Observable {\n\n return this.http\n .get(`${this.baseUrl}JobTitles/GetById/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ninsert(payload: JobTitlesModel): Observable {\n \n return this.http\n .post(`${this.baseUrl}JobTitles/Insert`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\nupdate(payload: JobTitlesModel): Observable {\n return this.http\n .post(`${this.baseUrl}JobTitles/Update`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ndelete(Id:number): Observable {\n return this.http\n .get(`${this.baseUrl}JobTitles/Delete/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\n deleteList(payload: JobTitlesModel []): Observable {\n return this.http\n .post(`${this.baseUrl}JobTitles/DeleteList`,JSON.stringify(payload),this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n}\n","import { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { DataFilterer } from 'src/app/views/app/aio/shared/DataFilterer';\nimport { DataSorter } from 'src/app/views/app/aio/shared/DataSorter';\nimport { DataPaginator } from 'src/app/views/invoice/shared/DataPaginator';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport {JobTitlesModel} from '../JobTitlesModel';\nimport{JobTitlesService} from '../job-titles.service';\nimport { of } from 'rxjs';\nimport { SidePopupComponent } from 'src/app/views/app/aio/shared/side-popup/side-popup.component';\nimport { Router } from '@angular/router';\n@Component({\n // moduleId: module.id,\n selector: 'list-job-titles',\n templateUrl: 'list-job-titles.component.html',\n styleUrls: ['list-job-titles.component.scss']\n})\nexport class ListJobTitlesComponent {\n lang: string;\n itemOrder: { label: string; property: string; };\n constructor(private formBuilder: FormBuilder, private modelService: JobTitlesService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService, private router : Router) {\n }\n currentScreen: any = 'Table';\n \n translationName: string = 'JobTitle'\n \n sortableKeys = [];\n searchableKeys = ['Name'];\n \n modelObject: JobTitlesModel = new JobTitlesModel();\n ogData: JobTitlesModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Name: new FormControl(),\n Description: new FormControl(),\n Status: new FormControl(),\n \n });\n \n \n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: this.lang === 'ar-EG' ? 'Name' : 'Name' };\n this.sortableKeys = [\n { label: 'Name',property: this.lang === 'ar-EG' ? 'Name' : 'Name'},\n { label: 'limitation', property: 'limitation' },\n ];\n this.loadData();\n }\n \n createForm(): FormGroup {\n return this.formBuilder.group({\n Id: [this.modelObject.Id >= 0 ? this.modelObject.Id : 0],\n Name: [this.modelObject.Name, Validators.compose([Validators.required, Validators.minLength(2)])],\n Description: [this.modelObject.Description],\n Status: [this.modelObject.Status, Validators.compose([Validators.required])],\n });\n }\n\n \n\n\n addObject() {\n //prevent multiclick submits. enable again after API response.\n debugger;\n this.currentAction = 'loading';\n \n this.modelObject = new JobTitlesModel();\n this.modelObject.Id = 0;\n this.modelObject.Name = this.mainForm.getRawValue().Name;\n this.modelObject.Description = this.mainForm.getRawValue().Description;\n this.modelObject.Status = this.mainForm.getRawValue().Status;\n this.executeAddObject();\n }\n \n executeAddObject(){\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n // this.smallModal.hide();\n this.smallModal.hide();\n\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n \n editObject() {\n this.savedPage = this.currentPage;\n this.currentAction = 'loading';\n \n let tempObj = new JobTitlesModel({\n Id: this.modelObject.Id,\n Name: this.mainForm.getRawValue().Name,\n Description: this.mainForm.getRawValue().Description,\n Status : this.mainForm.getRawValue().Status,\n });\n \n if(tempObj != this.modelObject){\n this.executeEditObject(tempObj);\n }\n else{\n this.smallModal.hide();\n }\n }\n \n executeEditObject(Object)\n {\n \n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n \n this.smallModal.hide();\n // this.sideModalRef();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n \n //Deletion methods:\n //Customize if needed.\n //Pass the target object as paraMetre if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject(){\n this.modelService.deleteList(this.deletionList).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.finalizeDeletion();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n \n \n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n // lang: any;\n // itemOrder: any;\n currentFormMode: string = '';\n currentAction: string = '';\n \n \n //ogData = [];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n \n SelectAllBox: any = false;\n \n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n orderAsc: boolean = true;\n \n currentPage = 1;\n savedPage = 0;\n \n \n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n \n loadData() {\n debugger;\n this.currentAction = 'loading';\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.sortData();\n this.loadSearch();\n this.currentAction = '';\n }\n )\n \n }\n \n sortData() {\n debugger;\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n \n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n \n filterData() {\n debugger;\n\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n \n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n debugger;\n\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n \n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n \n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n \n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n \n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n \n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n \n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n \n isSelected(p: JobTitlesModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n \n onSelect(item: JobTitlesModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n \n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent;\n \n @ViewChild('smallModal') smallModal: ModalDirective;\n @ViewChild('delModal') delModal: ModalDirective;\n showAddNewModalRef(): void {\n this.currentFormMode = 'Add'\n this.modelObject = new JobTitlesModel;\n this.mainForm = this.createForm();\n this.smallModal.show();\n }\n \n showEditModalRef(Id: any): void {\n this.currentFormMode = 'Edit'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.smallModal.show();\n }\n \n showInfoModalRef(Id: any): void {\n this.currentFormMode = 'Info'\n this.router.navigate(['app/HR/Info-JobTitles',Id])\n\n // this.modelObject = this.ogData.find(i => i.Id === Id);\n // of(this.modelObject).subscribe(data => {\n // this.modelObject = data;\n // })\n // this.mainForm = this.createForm();\n // this.sideModalRef.show();\n }\n \n deletionList: JobTitlesModel[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n \n SearchTerm: any = '';\n \n \n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n \n this.deletionList = [];\n this.selected = [];\n \n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n \n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n \n loadAllData() {\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.loadSearch();\n }\n )\n }\n \n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n}\n","\n\n
    \n
    \n
    \n \n
    \n

    \n {{currentFormMode+\"JobTitle\" | translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"JobTitleNameRequired\" | translate}}
    \n \n
    \n\n\n
    \n \n \n \n \n \n \n
    \n {{\"Statusrequired\" | translate}}
    \n
    \n\n\n
    \n \n \n \n
    \n {{\"Descriptionrequired\" | translate}}
    \n \n
    \n \n \n \n \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n
    \n \n \n \n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Name\" | translate}}\n \n \n
    \n {{\"Status\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n {{obj.Name}} \n \n {{'Active' | translate}}\n {{'InActive' | translate}} \n \n \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","export class JobTypesModel{\r\n Id?: number;\r\n Name?:string;\r\n Description?:string;\r\n Status?:boolean;\r\n\r\n\r\n \r\n constructor(item?:JobTypesModel){\r\n item = item? item:{};\r\n this.Id = item.Id? item.Id:0;\r\n this.Name = item.Name? item.Name:'';\r\n this.Description = item.Description? item.Description:'';\r\n this.Status = item.Status? item.Status:true;\r\n\r\n }\r\n\r\n}","import { Component, ViewChild } from \"@angular/core\";\nimport {\n FormBuilder,\n FormControl,\n FormGroup,\n Validators,\n} from \"@angular/forms\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { NotificationsService } from \"angular2-notifications\";\nimport { ModalDirective } from \"ngx-bootstrap/modal\";\nimport { TableEngine } from \"src/app/invoices/TableEngine\";\nimport { SidePopupComponent } from \"src/app/views/invoice/side-popup/side-popup.component\";\nimport {JobTypesModel} from '../JobTypesModel';\nimport{JobTypesService} from '../job-types.service';\n\n@Component({\n // moduleId: module.id,\n selector: 'info-job-types',\n templateUrl: 'info-job-types.component.html',\n styleUrls: ['info-job-types.component.scss']\n})\nexport class InfoJobTypesComponent {\n Id = 0;\n\n constructor(\n public router: Router,\n private fb: FormBuilder,\n private modelService : JobTypesService ,\n private notifications: NotificationsService,\n private translate: TranslateService,\n private route: ActivatedRoute\n ) {\n this.Id = +route.snapshot.paramMap.get(\"Id\");\n }\n \n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = \"Table\";\n translationName: string = \"Item\";\n sortableKeys = [];\n searchableKeys = [\"Name\", \"Address\"];\n tableView: any = true;\n \n JobTypesModel:JobTypesModel[]=[];\n \n // WarehouseData: WarehouseModel[] = [];\n \n modelObject: JobTypesModel = new JobTypesModel();\n Form: FormGroup;\n declare lang: any;\n declare itemOrder: any;\n currentAction = \"\";\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n prevAction = \"\";\n addToListId = 0;\n ItemsBalanceHeaderId = 0;\n ItemBalanceId = 0;\n currentFormMode: string = \"\";\n \n ogData: JobTypesModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Name: new FormControl(),\n ManagerId: new FormControl(),\n limitation: new FormControl(),\n Description: new FormControl(),\n Status: new FormControl(),\n \n });\n \n @ViewChild(\"sideModalRef\", { static: true })\n sideModalRef: SidePopupComponent = null;\n @ViewChild(\"delModal\", { static: true }) delModal: ModalDirective;\n @ViewChild(\"smallModal\", { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n // this.getAllCountryCode();\n \n this.lang = localStorage.getItem(\"theme_lang\");\n this.itemOrder = {\n label: \"Name\",\n property: this.lang === \"ar-EG\" ? \"Name\" : \"Name\",\n };\n this.sortableKeys = [\n // { label: 'Date', property: 'Date' },\n { label: 'Name',property: this.lang === 'ar-EG' ? 'Name' : 'Name'},\n { label: 'limitation', property: 'limitation' },\n \n ];\n \n this.tableEngine.loadTableEngine(\n this.ogData,\n this.modelService,\n this.modelObject,\n this.searchableKeys,\n this.sortableKeys,\n this.mainForm,\n this.translationName,\n this.itemOrder,\n this.sideModalRef,\n this.delModal,\n this.smallModal,\n this.lang\n );\n\n // this.mainForm = this.createForm(this.modelObject);\n \n // this.loadServices();\n // this.modelService.getById(this.Id).subscribe((data) => {\n // this.modelObject = data;\n // }); \n \n if(this.Id > 0)\n { debugger; \n this.modelService.getById(this.Id).subscribe(data=>{ \n this.modelObject = data;\n this.mainForm = this.createForm(this.modelObject);\n });\n this.mainForm = this.createForm(this.modelObject);\n }\n else{\n this.mainForm = this.createForm(this.modelObject); \n }\n }\n \n\n createForm(modelObject): FormGroup {\n debugger;\n return this.fb.group({\n Id: [this.modelObject.Id >= 0 ? this.modelObject.Id : 0],\n Name: [this.modelObject.Name, Validators.compose([Validators.required, Validators.minLength(2)])],\n Description: [this.modelObject.Description],\n Status: [this.modelObject.Status, Validators.compose([Validators.required])],\n });\n }\n loadServices() {\n // debugger;\n this.currentAction = \"loading\";\n this.tableEngine.loadData();\n }\n \n \n type = 0;\n visable = \"\";\n visable2 = \"\";\n visable3 = \"\";\n \n \n goBack() {\n this.router.navigate([\"app/HR/List-JobTypes\"]);\n }\n}\n","\n\n\n\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n \n {{modelObject.Name}}\n {{'Active' | translate}}\n {{'Inactive' | translate}}\n \n
    \n \n {{ \"Back\" | translate }}\n \n \n
    \n

    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    {{ \"JobTypelName\" | translate }}
    \n \n
    \n \n
    \n\n
    \n
    {{ \"JobTypeNameDescription\" | translate }}
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n
    \n
    \n \n \n \n \n \n ","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport {JobTypesModel} from '../JobTypesComponentes/JobTypesModel';\n@Injectable({\n providedIn: 'root'\n})\nexport class JobTypesService {\n\n \n constructor(private http:HttpClient ) { }\n\n \n baseUrl = environment.baseApiUrl;\n token = localStorage.getItem(\"token\");\n httpOptions = {\n headers: new HttpHeaders({\n // 'Content-Type': 'application/json; charset=utf-8',\n // 'Authorization': \"Bearer \" + token,\n \"Authorization\": \"Bearer \" + this.token,\n \"Content-Type\": \"application/json\"\n })\n };\n\n getAll(): Observable {\n \n return this.http\n .get(`${this.baseUrl}JobTypes/GetAll`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ngetById(Id:number): Observable {\n\n return this.http\n .get(`${this.baseUrl}JobTypes/GetById/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ninsert(payload: JobTypesModel): Observable {\n \n return this.http\n .post(`${this.baseUrl}JobTypes/Insert`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\nupdate(payload: JobTypesModel): Observable {\n return this.http\n .post(`${this.baseUrl}JobTypes/Update`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ndelete(Id:number): Observable {\n return this.http\n .get(`${this.baseUrl}JobTypes/Delete/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\n deleteList(payload: JobTypesModel []): Observable {\n return this.http\n .post(`${this.baseUrl}JobTypes/DeleteList`,JSON.stringify(payload),this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n}\n","import { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { DataFilterer } from 'src/app/views/app/aio/shared/DataFilterer';\nimport { DataSorter } from 'src/app/views/app/aio/shared/DataSorter';\nimport { DataPaginator } from 'src/app/views/invoice/shared/DataPaginator';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport {JobTypesModel} from '../JobTypesModel';\nimport{JobTypesService} from '../job-types.service';\nimport { of } from 'rxjs';\nimport { SidePopupComponent } from 'src/app/views/app/aio/shared/side-popup/side-popup.component';\nimport { Router } from '@angular/router';\n@Component({\n // moduleId: module.id,\n selector: 'list-job-types',\n templateUrl: 'list-job-types.component.html',\n styleUrls: ['list-job-types.component.scss']\n})\nexport class ListJobTypesComponent {\n lang: string;\n itemOrder: { label: string; property: string; };\n constructor(private formBuilder: FormBuilder, private modelService: JobTypesService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService, private router : Router) {\n }\n currentScreen: any = 'Table';\n \n translationName: string = 'JobType'\n \n sortableKeys = [];\n searchableKeys = ['Name'];\n \n modelObject: JobTypesModel = new JobTypesModel();\n ogData: JobTypesModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Name: new FormControl(),\n Description: new FormControl(),\n Status: new FormControl(),\n \n });\n \n \n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: this.lang === 'ar-EG' ? 'Name' : 'Name' };\n this.sortableKeys = [\n { label: 'Name',property: this.lang === 'ar-EG' ? 'Name' : 'Name'},\n { label: 'limitation', property: 'limitation' },\n ];\n this.loadData();\n //this.dataSorter.sortData('NameEn', this.ogData);\n }\n \n createForm(): FormGroup {\n return this.formBuilder.group({\n Id: [this.modelObject.Id >= 0 ? this.modelObject.Id : 0],\n Name: [this.modelObject.Name, Validators.compose([Validators.required, Validators.minLength(2)])],\n Description: [this.modelObject.Description],\n Status: [this.modelObject.Status, Validators.compose([Validators.required])],\n });\n }\n\n \n\n\n addObject() {\n //prevent multiclick submits. enable again after API response.\n debugger;\n this.currentAction = 'loading';\n \n this.modelObject = new JobTypesModel();\n this.modelObject.Id = 0;\n this.modelObject.Name = this.mainForm.getRawValue().Name;\n this.modelObject.Description = this.mainForm.getRawValue().Description;\n this.modelObject.Status = this.mainForm.getRawValue().Status;\n this.executeAddObject();\n }\n \n executeAddObject(){\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n // this.smallModal.hide();\n this.smallModal.hide();\n\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n \n editObject() {\n this.savedPage = this.currentPage;\n this.currentAction = 'loading';\n \n let tempObj = new JobTypesModel({\n Id: this.modelObject.Id,\n Name: this.mainForm.getRawValue().Name,\n Description: this.mainForm.getRawValue().Description,\n Status : this.mainForm.getRawValue().Status,\n });\n \n if(tempObj != this.modelObject){\n this.executeEditObject(tempObj);\n }\n else{\n this.smallModal.hide();\n }\n }\n \n executeEditObject(Object)\n {\n \n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n \n this.smallModal.hide();\n // this.sideModalRef();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n \n //Deletion methods:\n //Customize if needed.\n //Pass the target object as paraMetre if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject(){\n this.modelService.deleteList(this.deletionList).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.finalizeDeletion();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n \n \n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n // lang: any;\n // itemOrder: any;\n currentFormMode: string = '';\n currentAction: string = '';\n \n \n //ogData = [];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n \n SelectAllBox: any = false;\n \n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n orderAsc: boolean = true;\n \n currentPage = 1;\n savedPage = 0;\n \n \n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n \n loadData() {\n debugger;\n this.currentAction = 'loading';\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.sortData();\n this.loadSearch();\n this.currentAction = '';\n }\n )\n \n }\n \n sortData() {\n debugger;\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n \n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n \n filterData() {\n debugger;\n\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n \n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n debugger;\n\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n \n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n \n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n \n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n \n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n \n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n \n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n \n isSelected(p: JobTypesModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n \n onSelect(item: JobTypesModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n \n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent;\n \n @ViewChild('smallModal') smallModal: ModalDirective;\n @ViewChild('delModal') delModal: ModalDirective;\n showAddNewModalRef(): void {\n this.currentFormMode = 'Add'\n this.modelObject = new JobTypesModel;\n this.mainForm = this.createForm();\n this.smallModal.show();\n }\n \n showEditModalRef(Id: any): void {\n this.currentFormMode = 'Edit'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.smallModal.show();\n }\n \n showInfoModalRef(Id: any): void {\n this.currentFormMode = 'Info'\n this.router.navigate(['app/HR/Info-JobTypes',Id])\n\n // this.modelObject = this.ogData.find(i => i.Id === Id);\n // of(this.modelObject).subscribe(data => {\n // this.modelObject = data;\n // })\n // this.mainForm = this.createForm();\n // this.sideModalRef.show();\n }\n \n deletionList: JobTypesModel[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n \n SearchTerm: any = '';\n \n \n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n \n this.deletionList = [];\n this.selected = [];\n \n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n \n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n \n loadAllData() {\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.loadSearch();\n }\n )\n }\n \n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n}\n","\n
    \n
    \n
    \n \n
    \n

    \n {{currentFormMode+\"JobType\" | translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"JobTypeNameRequired\" | translate}}
    \n \n
    \n\n\n
    \n \n \n \n \n \n \n
    \n {{\"Statusrequired\" | translate}}
    \n
    \n\n\n
    \n \n \n \n
    \n {{\"Descriptionrequired\" | translate}}
    \n \n
    \n \n \n \n \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n
    \n \n \n \n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Name\" | translate}}\n \n \n
    \n {{\"Status\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n {{obj.Name}} \n \n {{'Active' | translate}}\n {{'InActive' | translate}} \n \n \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { PredecessorService } from './../../predecessor.service';\nimport { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { EmployeesManagementService } from 'src/app/HR/Employees/EmployeesManagement/employees-management.service';\nimport { CurrencyService } from 'src/app/invoices/currencies/CurrencyService';\nimport { PredecessorModel } from '../../models/predecessor.model';\nimport { EmployeesManagementModel } from 'src/app/HR/Employees/EmployeesManagement/EmployeesManagementModel';\nimport { CurrencyModel } from 'src/app/invoices/currencies/CurrencyModel';\nimport { DataFilterer } from 'src/app/views/invoice/shared/DataFilterer';\nimport { DataSorter } from 'src/app/views/invoice/shared/DataSorter';\nimport { DataPaginator } from 'src/app/views/invoice/shared/DataPaginator';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { of } from 'rxjs';\nimport { InstallmentsOfPredecessorModel } from '../../models/installments-of-predecessor.model';\nimport { TreasuryAndBankAccountsService } from 'src/app/views/app/aio/acounting_components/treasury-and-bank-accounts/treasury-and-bank-accounts.service';\n\n@Component({\n selector: 'predecessor',\n templateUrl: 'predecessor.component.html',\n styleUrls: ['predecessor.component.scss']\n})\nexport class PredecessorComponent {\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n constructor(private formBuilder: FormBuilder, private modelService: PredecessorService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private employeeService:EmployeesManagementService,\n private CurrencyService:CurrencyService,\n private treasuryService:TreasuryAndBankAccountsService,\n ) { //Additional services for City and Country\n }\n currentScreen: any = 'Table';\n\n translationName: string = ' Predecessor'\n \n sortableKeys = [];\n searchableKeys = ['Code'];\n modelObject: PredecessorModel = new PredecessorModel({});\n ogData: PredecessorModel [] = [ ];\n\n \n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Code', property: 'Code' };\n this.sortableKeys = [\n { label: 'Code', property:'Code' },\n { label: 'Employee', property:'EmployeeName' },\n { label: 'InstallmentNumber', property:'InstallmentNumber' },\n { label: 'Amount', property:'Amount' },\n ];\n //this.loadData();\n this.loadServices();\n }\n \n createForm(): FormGroup {\n debugger;\n return this.formBuilder.group({\n Id: [this.modelObject.Id >= 0 ? this.modelObject.Id : 0],\n Code : [this.modelObject.Code ],\n EmployeeName : [this.modelObject.EmployeeName ],\n EmployeeId : [this.modelObject.EmployeeId ],\n SubmissionDate : [this.modelObject.SubmissionDate != null ? new Date(this.modelObject.SubmissionDate ).toISOString().slice(0, 10):null ],\n Amount : [this.modelObject.Amount ],\n InstallmentAmount : [this.modelObject.InstallmentAmount ],\n CurrencyId : [this.modelObject.CurrencyId ],\n InstallmentNumber : [this.modelObject.InstallmentNumber ],\n ReimbursementRate : [this.modelObject.ReimbursementRate ],\n StartDateOfTheInstallments: [this.modelObject.StartDateOfTheInstallments != null ? new Date(this.modelObject.StartDateOfTheInstallments).toISOString().slice(0, 10):null],\n TreasuryId : [this.modelObject.TreasuryId ],\n Description : [this.modelObject.Description ],\n PaymentFromSalarySlip : [this.modelObject.PaymentFromSalarySlip ],\n Installments : [this.modelObject.Installments ],\n });\n }\n mainForm : FormGroup;\n addObject() {\n debugger;\n //prevent multiclick submits. enable again after API response.\n this.currentAction = 'loading';\n \n this.modelObject = new PredecessorModel();\n this.modelObject = this.mainForm.getRawValue();\n this.modelObject.Id = 0;\n this.modelObject.Installments = this.Installments;\n this.executeAddObject();\n }\n \n executeAddObject(){\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n this.currentScreen = 'Table';\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n \n }\n })\n }\n \n editObject() {\n this.savedPage = this.currentPage;\n this.currentAction = 'loading';\n \n let tempObj = this.mainForm.getRawValue();\n if(tempObj != this.modelObject){\n this.executeEditObject(tempObj);\n }\n else{\n this.currentScreen = 'Table';\n }\n }\n \n executeEditObject(Object)\n {\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n this.currentScreen = 'Table';\n\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n \n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject(){\n this.modelService.deleteList(this.deletionList).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.finalizeDeletion();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n \n //Get any additional data here\n employees:EmployeesManagementModel[]=[];\n\n currencies:CurrencyModel[]=[];\n Treasuries:any[]=[];\n\n loadServices(){ \n this.treasuryService.getAll()\n .subscribe(data=>{\n\n this.Treasuries = data;\n })\n this.employeeService.getAll()\n .subscribe(result =>{\n this.employees = result;\n })\n \n this.CurrencyService.getAll()\n .subscribe(result =>{\n this.currencies = result;\n })\n \n this.currentAction = 'loading';\n this.loadData();\n\n }\n \n \n \n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n lang: string;\n currentFormMode: string = '';\n currentAction: string = '';\n \n \n //ogData = [];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n \n SelectAllBox: any = false;\n \n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n itemOrder: any;\n orderAsc: boolean = true;\n \n currentPage = 1;\n savedPage = 0;\n \n \n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n \n loadData() {\n debugger;\n this.currentAction = 'loading';\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.sortData();\n this.loadSearch();\n this.currentAction = '';\n }\n )\n \n }\n \n sortData() {\n debugger;\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n \n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n \n filterData() {\n debugger;\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n \n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n debugger;\n\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n \n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n \n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n \n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n \n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n \n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n \n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n \n isSelected(p: PredecessorModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n \n onSelect(item: PredecessorModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n \n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n \n @ViewChild('delModal') delModal: ModalDirective;\n showAddNewModalRef(): void {\n debugger;\n \n this.modelObject = new PredecessorModel();\n this.mainForm = this.createForm();\n this.currentFormMode = 'Add'\n this.currentScreen = 'Add';\n this.modelService.GetLastCode()\n .subscribe(code=>{\n this.modelObject.Code = code+1\n this.mainForm.controls['Code'].setValue(this.modelObject.Code);\n })\n this.Installments = [];\n \n\n }\n showEditModalRef(Id: any): void {\n this.currentFormMode = 'Edit'\n this.currentScreen = 'Edit';\n\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n this.Installments = this.modelObject.Installments ;\n })\n this.mainForm = this.createForm();\n }\n \n showInfoModalRef(Id: any): void {\n debugger;\n \n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n this.Installments = this.modelObject.Installments ;\n this.mainForm = this.createForm();\n this.currentFormMode = 'Info'\n this.currentScreen = 'Info';\n })\n }\n\n detailsForm:FormGroup;\n\n \n deletionList: PredecessorModel[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n \n SearchTerm: any = '';\n \n \n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n \n this.deletionList = [];\n this.selected = [];\n \n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n \n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n \n loadAllData() {\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.loadSearch();\n }\n )\n }\n \n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n Installments:InstallmentsOfPredecessorModel[]=[];\n \n getEmployeeName(Id){\n var i = this.employees.findIndex(x=>x.Id == Id);\n if(i>-1){\n return this.employees[i].Name;\n }\n else{\n return '';\n }\n }\n CalcInstallmentNumber(){\n var amount = this.mainForm.controls['Amount'].value;\n var InstallmentAmount = this.mainForm.controls['InstallmentAmount'].value;\n if(amount <= 0 || InstallmentAmount < 0){\n this.mainForm.controls['InstallmentNumber'].setValue(0);\n }\n else if(amount < InstallmentAmount){\n this.mainForm.controls['InstallmentNumber'].setValue(0);\n }\n else{\n this.mainForm.controls['InstallmentNumber'].setValue(Math.floor(amount/InstallmentAmount));\n }\n }\n }\n ","\n\n
    \n
    \n
    \n\n
    \n \n \n \n \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"Code Required\" | translate}}
    \n \n
    \n
    \n
    \n \n \n \n
    \n {{\"Employee Required\" | translate}}
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n \n \n
    \n {{\"Submission Date Required\" | translate}}
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n \n \n {{\"Currency\" | translate}}\n {{lang==='ar-EG'?item.Code:item.Code}}\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"Installment Amount Required\" | translate}}
    \n \n
    \n
    \n
    \n
    \n \n \n \n \n \n
    \n
    \n \n
    \n\n
    \n
    \n
    \n \n \n \n
    \n {{\"Reimbursement Rate Required\" | translate}}
    \n \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"Start Date Of The Installments Required\" | translate}}
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n \n {{ \"Please Choose\"|translate}}\n {{ car.Name}}\n \n
    \n
    \n
    \n \n\n
    \n \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Code\" | translate}}\n \n
    \n {{\"Employee\" | translate}}\n \n
    \n {{\"Installment Number\" | translate}}\n \n
    \n {{\"Amount\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{obj.Code}}{{obj.EmployeeName}}{{obj.InstallmentNumber}}{{obj.Amount}}\n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { InstallmentsOfPredecessorModel } from \"./installments-of-predecessor.model\";\r\n\r\nexport class PredecessorModel{\r\n Id?: number;\r\n Code ?: number;\r\n EmployeeName ?: string;\r\n EmployeeId ?: number;\r\n SubmissionDate ?: Date | null;\r\n Amount ?: number;\r\n InstallmentAmount ?: number;\r\n CurrencyId ?: number;\r\n InstallmentNumber ?: number;\r\n ReimbursementRate ?: number;\r\n StartDateOfTheInstallments?: Date | null;\r\n TreasuryId ?: number;\r\n Description ?: string;\r\n PaymentFromSalarySlip ?: boolean;\r\n Installments ?: InstallmentsOfPredecessorModel[];\r\n constructor(item ?: PredecessorModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.Code = item.Code ? item.Code : 0;\r\n this.EmployeeName = item.EmployeeName ? item.EmployeeName : '';\r\n this.EmployeeId = item.EmployeeId ? item.EmployeeId : 0;\r\n this.SubmissionDate = item.SubmissionDate ? item.SubmissionDate : null;\r\n this.Amount = item.Amount ? item.Amount : 0;\r\n this.InstallmentAmount = item.InstallmentAmount ? item.InstallmentAmount : 0;\r\n this.CurrencyId = item.CurrencyId ? item.CurrencyId : 0;\r\n this.InstallmentNumber = item.InstallmentNumber ? item.InstallmentNumber : 0;\r\n this.ReimbursementRate = item.ReimbursementRate ? item.ReimbursementRate : 0;\r\n this.StartDateOfTheInstallments = item.StartDateOfTheInstallments ? item.StartDateOfTheInstallments : null;\r\n this.TreasuryId = item.TreasuryId ? item.TreasuryId : 0;\r\n this.Description = item.Description ? item.Description : '';\r\n this.PaymentFromSalarySlip = item.PaymentFromSalarySlip ? item.PaymentFromSalarySlip : false;\r\n this.Installments = item.Installments ? item.Installments : [];\r\n \r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { PredecessorModel } from './models/predecessor.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PredecessorService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Predecessor/GetAll `,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getAllSalaryItemType(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}SalaryItemType/GetAll `,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Predecessor/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n GetLastCode(): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}Predecessor/GetLastCode`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n insert(payload: PredecessorModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}Predecessor/Insert `, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: PredecessorModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}Predecessor/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: PredecessorModel): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}Predecessor/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: PredecessorModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}Predecessor/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","\r\nexport class EmployeesChoiceModel{\r\n Id?: number;\r\n EmployeeId?: number;\r\n SalariesManagerId?: number;\r\n EmployeesName?:string;\r\n \r\n \r\n \r\n \r\n constructor(item?:EmployeesChoiceModel){\r\n item = item? item:{};\r\n this.Id = item.Id? item.Id:0;\r\n this.EmployeeId = item.EmployeeId? item.EmployeeId:0;\r\n this.SalariesManagerId = item.SalariesManagerId? item.SalariesManagerId:0;\r\n this.EmployeesName = item.EmployeesName? item.EmployeesName:'';\r\n \r\n \r\n \r\n\r\n }\r\n\r\n}","\r\nexport class EmployeesExcludedModel{\r\n Id?: number;\r\n EmployeeId?: number;\r\n SalariesManagerId?: number;\r\n EmployeesName?:string;\r\n \r\n \r\n \r\n constructor(item?:EmployeesExcludedModel){\r\n item = item? item:{};\r\n this.Id = item.Id? item.Id:0;\r\n this.EmployeeId = item.EmployeeId? item.EmployeeId:0;\r\n this.SalariesManagerId = item.SalariesManagerId? item.SalariesManagerId:0;\r\n this.EmployeesName = item.EmployeesName? item.EmployeesName:'0';\r\n \r\n \r\n \r\n\r\n }\r\n\r\n}","import { EmployeesChoiceModel } from \"./EmployeesChoiceModel\";\r\nimport {EmployeesExcludedModel} from './EmployeesExcludedModel'\r\n\r\nexport class SalariesManagerModel{\r\n Id?: number;\r\n dateOfRegistration?:Date;\r\n StartingDate?:Date;\r\n EndDate?:Date;\r\n Name?:string;\r\n CheckAttendance?:boolean;\r\n GrammarChoose?:boolean;\r\n EmployeesChoose?:boolean;\r\n BranchId?: number;\r\n DepartmentId?: number;\r\n JobTitletId?: number;\r\n Code?: number;\r\n ArrestCycleId?: number;\r\n EmployeesChoice?:EmployeesChoiceModel[];\r\n EmployeesExcluded?:EmployeesExcludedModel[];\r\n \r\n\r\n AcceptAll?:boolean;\r\n IsPayment?:boolean;\r\n \r\n \r\n \r\n \r\n constructor(item?:SalariesManagerModel){\r\n item = item? item:{};\r\n this.Id = item.Id? item.Id:0;\r\n this.Name = item.Name? item.Name:'';\r\n this.CheckAttendance = item.CheckAttendance? item.CheckAttendance:true;\r\n this.GrammarChoose = item.GrammarChoose? item.GrammarChoose:true;\r\n this.EmployeesChoose = item.EmployeesChoose? item.EmployeesChoose:false;\r\n this.BranchId = item.BranchId? item.BranchId:0;\r\n this.DepartmentId = item.DepartmentId? item.DepartmentId:0;\r\n this.JobTitletId = item.JobTitletId? item.JobTitletId:0;\r\n this.ArrestCycleId = item.ArrestCycleId? item.ArrestCycleId:0;\r\n this.dateOfRegistration = item.dateOfRegistration? item.dateOfRegistration:new Date();\r\n this.StartingDate = item.StartingDate? item.StartingDate:new Date();\r\n this.EndDate = item.EndDate? item.EndDate:new Date();\r\n this.Code = item.Code? item.Code:0;\r\n \r\n this.EmployeesChoice = item.EmployeesChoice? item.EmployeesChoice:[];\r\n this.EmployeesExcluded = item.EmployeesExcluded? item.EmployeesExcluded:[];\r\n this.AcceptAll = item.AcceptAll? item.AcceptAll:false;\r\n this.IsPayment = item.IsPayment? item.IsPayment:false;\r\n \r\n\r\n }\r\n\r\n}","import { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { TableEngine } from 'src/app/invoices/TableEngine';\n\nimport { SidePopupComponent } from 'src/app/views/invoice/side-popup/side-popup.component';\nimport{SalariesManagerService} from '../salaries-manager.service';\nimport { SalariesManagerModel } from './SalariesManagerModel';\nimport { EmployeesManagementModel } from 'src/app/HR/Employees/EmployeesManagement/EmployeesManagementModel';\nimport { BranchesModel } from 'src/app/Invintory/models/BranchesModel';\nimport { BranchModel } from 'src/app/invoices/branches/BranchModel';\nimport { DepartmentModel } from 'src/app/HR/Organization_Structure/Department_components/DepartmentModel';\nimport { JobTitlesModel } from 'src/app/HR/Organization_Structure/JobTitels_Componentes/JobTitlesModel';\nimport { EmployeesManagementService } from 'src/app/HR/Employees/EmployeesManagement/employees-management.service';\nimport { JobTitlesService } from 'src/app/HR/Organization_Structure/JobTitels_Componentes/job-titles.service';\nimport { DepartmentService } from 'src/app/HR/Organization_Structure/Department_components/department.service';\nimport { BranchService } from 'src/app/invoices/branches/BranchService';\nimport {EmployeesChoiceModel} from '../add-salaries-manager/EmployeesChoiceModel';\nimport { EmployeesExcludedModel } from './EmployeesExcludedModel';\n@Component({\n // moduleId: module.id,\n selector: 'add-salaries-manager',\n templateUrl: 'add-salaries-manager.component.html',\n styleUrls: ['add-salaries-manager.component.scss']\n})\nexport class AddSalariesManagerComponent {\n\n Id = 0;\n\n constructor(\n \n public router: Router,\n private fb: FormBuilder,\n private modelService: SalariesManagerService,\n private EmployeesService: EmployeesManagementService,\n private JobTitleService: JobTitlesService,\n private DepartmentService: DepartmentService,\n private BranchesService: BranchService,\n private notifications: NotificationsService,\n \n private translate: TranslateService,\n private route: ActivatedRoute\n ) {\n this.Id = +route.snapshot.paramMap.get(\"Id\");\n }\n showItemIndex = 0;\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = \"Table\";\n translationName: string = \"Item\";\n sortableKeys = [];\n searchableKeys = [\"Name\", \"Address\"];\n tableView: any = true;\n \n SalariesManagerModel:SalariesManagerModel[]=[];\n isLastOpen = false;\n \n \n modelObject: SalariesManagerModel = new SalariesManagerModel();\n Form: FormGroup;\n declare lang: any;\n declare itemOrder: any;\n currentAction = \"\";\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n prevAction = \"\";\n addToListId = 0;\n ItemsBalanceHeaderId = 0;\n ItemBalanceId = 0;\n currentFormMode: string = \"\";\n type = 0;\n visable = \"\";\n visable2 = \"\";\n visable3 = \"\";\n\n Code=0;\n\n AlertMessage :string=\"Alert me when the quantity reaches less than\";\n ogData: SalariesManagerModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Name: new FormControl(),\n dateOfRegistration: new FormControl(),\n StartingDate: new FormControl(),\n EndDate: new FormControl(),\n CheckAttendance: new FormControl(),\n GrammarChoose: new FormControl(),\n EmployeesChoose: new FormControl(),\n BranchId: new FormControl(),\n DepartmentId: new FormControl(),\n JobTitletId: new FormControl(),\n ArrestCycleId: new FormControl(),\n AcceptAll: new FormControl(),\n IsPayment: new FormControl(),\n Code: new FormControl(),\n \n });\n \n\n conpanyId:number;\n \n @ViewChild(\"sideModalRef\", { static: true })\n sideModalRef: SidePopupComponent = null;\n @ViewChild(\"delModal\", { static: true }) delModal: ModalDirective;\n @ViewChild(\"smallModal\", { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n // this.getAllCountryCode();\n \n this.lang = localStorage.getItem(\"theme_lang\");\n this.itemOrder = {\n label: \"Name\",\n property: this.lang === \"ar-EG\" ? \"Name\" : \"Name\",\n };\n this.sortableKeys = [\n // { label: 'Date', property: 'Date' },\n { label: 'Name', property: this.lang === 'ar-EG' ? 'Name' : 'Name' }, \n { label: 'Nickname', property: this.lang === 'ar-EG' ? 'Nickname' : 'Nickname' }, \n { label: 'MobileNumber', property: this.lang === 'ar-EG' ? 'MobileNumber' : 'MobileNumber' }, \n \n ];\n \n this.tableEngine.loadTableEngine(\n this.ogData,\n this.modelService,\n this.modelObject,\n this.searchableKeys,\n this.sortableKeys,\n this.mainForm,\n this.translationName,\n this.itemOrder,\n this.sideModalRef,\n this.delModal,\n this.smallModal,\n this.lang\n );\n this.loadServices();\n this.EmployeesService.getAll().subscribe(data=>{\n this.EmployeesList=data;\n });\n this.BranchesService.getAll().subscribe(data=>{\n this.BranchesList=data;\n }); \n this.DepartmentService.getAll().subscribe(data=>{\n this.DepartmentList=data;\n }); \n this.JobTitleService.getAll().subscribe(data=>{\n this.JobTitletList=data;\n });\n this.modelService.getLastNumber()\n.subscribe(code=>{\n this.modelObject.Code = code+1\n this.mainForm.controls['Code'].setValue(this.modelObject.Code);\n})\n \n if(this.Id > 0)\n { debugger; \n this.modelService.getById(this.Id).subscribe(data=>{ \n this.modelObject = data; \n \n this.SelectedEmployeesChoice=data.EmployeesChoiceList;\n this.SelectedEmployeesExcluded=data.EmployeesExcluded;\n\n this.mainForm = this.createForm(this.modelObject);\n });\n }\n else{\n \n this.mainForm = this.createForm(this.modelObject); \n }\n this.mainForm = this.createForm(this.modelObject);\n \n }\n\n\n getMonthList(\n locales?: string | string[],\n format: \"long\" | \"short\" = \"long\"\n ): string[] {\n const year = new Date().getFullYear(); // 2020\n const monthList = [...Array(12).keys()]; // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]\n const formatter = new Intl.DateTimeFormat(locales, {\n month: format\n });\n \n const getMonthName = (monthIndex: number) =>\n formatter.format(new Date(year, monthIndex));\n \n return monthList.map(getMonthName);\n }\n\n ReverseGrammarChoose(){\n debugger;\n this.mainForm.controls['GrammarChoose'].setValue(this.modelObject.GrammarChoose=false);\n\n // this.mainForm.controls['GrammarChoose'].value==false;\n }\n ReverseEmployeesChoose(){\n debugger;\n this.mainForm.controls['EmployeesChoose'].setValue(this.modelObject.EmployeesChoose=false);\n\n // this.mainForm.controls['EmployeesChoose'].value==false;\n}\n createForm(modelObject): FormGroup {\n debugger;\n return this.fb.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n Name: [modelObject.Name, Validators.compose([Validators.required])],\n dateOfRegistration: [this.modelObject.dateOfRegistration != null ? new Date(this.modelObject.dateOfRegistration).toISOString().slice(0, 10):null, Validators.compose([Validators.required])],\n StartingDate: [this.modelObject.StartingDate != null ? new Date(this.modelObject.StartingDate).toISOString().slice(0, 10):null,Validators.compose([Validators.required])],\n EndDate: [this.modelObject.EndDate != null ? new Date(this.modelObject.EndDate).toISOString().slice(0, 10):null,Validators.compose([Validators.required])],\n CheckAttendance: [modelObject.CheckAttendance],\n GrammarChoose: [modelObject.GrammarChoose],\n EmployeesChoose: [modelObject.EmployeesChoose],\n BranchId: [modelObject.BranchId],\n DepartmentId: [modelObject.DepartmentId],\n JobTitletId: [modelObject.JobTitletId],\n ArrestCycleId: [modelObject.ArrestCycleId],\n AcceptAll: [modelObject.AcceptAll],\n IsPayment: [modelObject.IsPayment],\n\n \n \n });\n }\n SelectedEmployeesChoice:EmployeesManagementModel[]=[];\n SelectedEmployeesExcluded:EmployeesManagementModel[]=[];\n EmployeesList:EmployeesManagementModel[]=[];\n BranchesList:BranchModel[]=[];\n DepartmentList:DepartmentModel[]=[];\n JobTitletList:JobTitlesModel[]=[];\n \n onMaterialGroupChangeEmployeesChoise(event) {\n this.SelectedEmployeesChoice = event;\n \n }\n onMaterialGroupEmployeesExcluded(event) {\n this.SelectedEmployeesExcluded = event;\n \n }\n loadServices() {\n this.currentAction = \"loading\";\n this.tableEngine.loadData();\n }\n goBack() {\n this.router.navigate([\"app/HR/List-Salaries-Manager\"]);\n }\n Save() {\n debugger;\n this.currentAction = \"loading\";\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n this.modelObject = new SalariesManagerModel();\n this.modelObject.Id = 0;\n this.modelObject.Name = this.mainForm.getRawValue().Name;\n // this.modelObject.ArrestCycleId = this.mainForm.getRawValue().ArrestCycleId;\n this.modelObject.ArrestCycleId = 0;\n this.modelObject.BranchId = this.mainForm.getRawValue().BranchId;\n this.modelObject.CheckAttendance = this.mainForm.getRawValue().CheckAttendance;\n this.modelObject.DepartmentId = this.mainForm.getRawValue().DepartmentId;\n this.modelObject.EmployeesChoose = this.mainForm.getRawValue().EmployeesChoose;\n this.modelObject.GrammarChoose = this.mainForm.getRawValue().GrammarChoose;\n this.modelObject.AcceptAll = this.mainForm.getRawValue().AcceptAll;\n this.modelObject.IsPayment = this.mainForm.getRawValue().IsPayment;\n this.modelObject.Code = this.mainForm.getRawValue().Code;\n this.modelObject.JobTitletId = this.mainForm.getRawValue().JobTitletId;\n this.modelObject.StartingDate =new Date(this.mainForm.getRawValue().StartingDate);\n this.modelObject.dateOfRegistration = new Date(this.mainForm.getRawValue().dateOfRegistration);\n this.modelObject.EndDate = new Date(this.mainForm.getRawValue().EndDate);\n this.SelectedEmployeesChoice.forEach(element => {\n var cat = new EmployeesChoiceModel();\n cat.EmployeeId = element.Id;\n cat.Id = 0;\n cat.SalariesManagerId= this.Id;\n this.modelObject.EmployeesChoice.push(cat);\n });\n \n this.SelectedEmployeesExcluded.forEach(element => {\n var cat = new EmployeesExcludedModel();\n cat.EmployeeId = element.Id;\n cat.Id = 0;\n cat.SalariesManagerId= this.Id;\n this.modelObject.EmployeesExcluded.push(cat);\n });\n if (this.Id == 0) {\n this.modelService.insert(this.modelObject).subscribe((data) => {\n this.router.navigate([\"app/HR/List-Salaries-Manager\"]);\n });\n } else {\n debugger;\n this.modelService.update(this.modelObject).subscribe((data) => {\n this.router.navigate([\"app/HR/List-Salaries-Manager\"]);\n });\n }\n }\n\n}\n","\n\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    {{ \"SalariesManager\" | translate }}
    \n
    \n \n {{ \"Back\" | translate }}\n \n \n {{ \"Save\" | translate }}\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n
    \n \n
    \n
    \n \n *\n \n \n {{ \"FirstNameRequired\" | translate }}\n
    \n
    \n
    \n \n *\n \n \n \n {{ \"DateRequired\" | translate }}\n
    \n
    \n
    \n
    \n
    \n \n *\n \n \n \n {{ \"DateRequired\" | translate }}\n
    \n
    \n\n
    \n \n *\n \n \n \n {{ \"DateRequired\" | translate }}\n
    \n
    \n
    \n
    \n
    \n \n\n \n \n \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n \n \n \n {{ \"GrammarChoose\" | translate }}\n \n
    \n
    \n
    \n
    \n \n \n \n \n {{ lang === \"ar-EG\" ? Brach.NameAr : Brach.NameEn }}\n \n \n
    \n
    \n \n \n \n \n {{ Department.Name }}\n \n \n
    \n
    \n \n \n \n \n {{ JobTitlet.Name }}\n \n \n
    \n
    \n \n
    \n
    \n \n \n \n \n Select All\n \n \n
    \n
    \n
    \n
    \n \n \n {{ \"EmployeesChoose\" | translate }}\n \n
    \n
    \n
    \n \n \n \n \n Select All\n \n \n
    \n
    \n
    \n \n
    \n \n \n \n \n \n \n \n\n","\r\nexport class SalariesManagerPayment{\r\n Id?: number;\r\n SalariesPaymentId?: number;\r\n SalariesManagerId?: number;\r\n \r\n \r\n \r\n constructor(item?:SalariesManagerPayment){\r\n item = item? item:{};\r\n this.Id = item.Id? item.Id:0;\r\n this.SalariesPaymentId = item.SalariesPaymentId? item.SalariesPaymentId:0;\r\n this.SalariesManagerId = item.SalariesManagerId? item.SalariesManagerId:0;\r\n \r\n \r\n \r\n\r\n }\r\n\r\n}","import { SalariesManagerPayment } from \"./SalariesManagerPayment\";\r\n\r\nexport class SalariesPaymentModel{\r\n Id?: number;\r\n PaymentDate?: Date;\r\n BankAccountId?: number;\r\n SalariesManagerId?: number;\r\n Notes?:string;\r\n PaymentOfApproved?:boolean;\r\n PaymentOfSelected?:boolean;\r\n Amount?: number;\r\n Code?: number;\r\n\r\n \r\n SalariesManagerList?:SalariesManagerPayment[];\r\n \r\n constructor(item?:SalariesPaymentModel){\r\n item = item? item:{};\r\n this.Id = item.Id? item.Id:0;\r\n this.PaymentDate = item.PaymentDate? item.PaymentDate:new Date();\r\n this.BankAccountId = item.BankAccountId? item.BankAccountId:0;\r\n this.SalariesManagerId = item.SalariesManagerId? item.SalariesManagerId:0;\r\n this.Amount = item.Amount? item.Amount:0;\r\n this.Code = item.Code? item.Code:0;\r\n \r\n this.Notes = item.Notes? item.Notes:'';\r\n this.PaymentOfApproved = item.PaymentOfApproved? item.PaymentOfApproved:true;\r\n this.PaymentOfSelected = item.PaymentOfSelected? item.PaymentOfSelected:false;\r\n \r\n \r\n \r\n\r\n }\r\n\r\n}","import { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { TableEngine } from 'src/app/invoices/TableEngine';\n\nimport { SidePopupComponent } from 'src/app/views/invoice/side-popup/side-popup.component';\nimport { SalariesPaymentModel } from './SalariesPaymentModel';\nimport { EmployeesManagementModel } from 'src/app/HR/Employees/EmployeesManagement/EmployeesManagementModel';\n\nimport { SalariesPaymentService } from './salaries-payment.service';\nimport { SalariesManagerService } from '../salaries-manager.service';\nimport { SalariesManagerModel } from '../add-salaries-manager/SalariesManagerModel';\nimport { SalariesManagerPayment } from './SalariesManagerPayment';\nimport { TreasuryAndBankAccountsService } from 'src/app/views/app/aio/acounting_components/treasury-and-bank-accounts/treasury-and-bank-accounts.service';\nimport { TreasuryAndBankAccountsModel } from 'src/app/views/app/aio/acounting_components/treasury-and-bank-accounts/model/treasury-and-bank-accounts-model';\n\n\n\n@Component({\n // moduleId: module.id,\n selector: 'add-salaries-payment',\n templateUrl: 'add-salaries-payment.component.html',\n styleUrls: ['add-salaries-payment.component.scss']\n})\nexport class AddSalariesPaymentComponent {\n\n Id = 0;\n\n constructor(\n \n public router: Router,\n private fb: FormBuilder,\n private modelService: SalariesPaymentService,\n private SalariesManagerService: SalariesManagerService,\n private TreasuryAndBankAccountsService: TreasuryAndBankAccountsService,\n \n private notifications: NotificationsService,\n \n private translate: TranslateService,\n private route: ActivatedRoute\n ) {\n this.Id = +route.snapshot.paramMap.get(\"Id\");\n }\n showItemIndex = 0;\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = \"Table\";\n translationName: string = \"Item\";\n sortableKeys = [];\n searchableKeys = [\"Name\", \"Address\"];\n tableView: any = true;\n \n SalariesPaymentModel:SalariesPaymentModel[]=[];\n isLastOpen = false;\n \n \n modelObject: SalariesPaymentModel = new SalariesPaymentModel();\n Form: FormGroup;\n declare lang: any;\n declare itemOrder: any;\n currentAction = \"\";\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n prevAction = \"\";\n addToListId = 0;\n ItemsBalanceHeaderId = 0;\n ItemBalanceId = 0;\n currentFormMode: string = \"\";\n type = 0;\n visable = \"\";\n visable2 = \"\";\n visable3 = \"\";\n\n Code=0;\n\n AlertMessage :string=\"Alert me when the quantity reaches less than\";\n ogData: SalariesPaymentModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n PaymentDate: new FormControl(),\n BankAccountId: new FormControl(),\n Notes: new FormControl(),\n PaymentOfApproved: new FormControl(),\n PaymentOfSelected: new FormControl(),\n SalariesManagerId: new FormControl(),\n \n });\n \n\n conpanyId:number;\n \n @ViewChild(\"sideModalRef\", { static: true })\n sideModalRef: SidePopupComponent = null;\n @ViewChild(\"delModal\", { static: true }) delModal: ModalDirective;\n @ViewChild(\"smallModal\", { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n // this.getAllCountryCode();\n \n this.lang = localStorage.getItem(\"theme_lang\");\n this.itemOrder = {\n label: \"Name\",\n property: this.lang === \"ar-EG\" ? \"Name\" : \"Name\",\n };\n this.sortableKeys = [\n // { label: 'Date', property: 'Date' },\n { label: 'Name', property: this.lang === 'ar-EG' ? 'Name' : 'Name' }, \n { label: 'Nickname', property: this.lang === 'ar-EG' ? 'Nickname' : 'Nickname' }, \n { label: 'MobileNumber', property: this.lang === 'ar-EG' ? 'MobileNumber' : 'MobileNumber' }, \n \n ];\n \n this.tableEngine.loadTableEngine(\n this.ogData,\n this.modelService,\n this.modelObject,\n this.searchableKeys,\n this.sortableKeys,\n this.mainForm,\n this.translationName,\n this.itemOrder,\n this.sideModalRef,\n this.delModal,\n this.smallModal,\n this.lang\n );\n this.loadServices();\n this.SalariesManagerService.getAll().subscribe(data=>{\n this.SalariesManagerList=data;\n });\nthis.TreasuryAndBankAccountsService.getAll().subscribe(data=>{\n this.BankAccountList=data;\n})\nthis.modelService.getLastNumber()\n.subscribe(code=>{\n this.modelObject.Code = code+1\n this.mainForm.controls['Code'].setValue(this.modelObject.Code);\n})\n\n \n if(this.Id > 0)\n { debugger; \n this.modelService.getById(this.Id).subscribe(data=>{ \n this.modelObject = data; \n \n \n\n this.mainForm = this.createForm(this.modelObject);\n });\n }\n else{\n \n this.mainForm = this.createForm(this.modelObject); \n }\n this.mainForm = this.createForm(this.modelObject);\n \n }\n\n\n \n\n ReversePaymentOfApproved(){\n debugger;\n this.mainForm.controls['PaymentOfApproved'].setValue(this.modelObject.PaymentOfApproved=false);\n\n // this.mainForm.controls['GrammarChoose'].value==false;\n }\n ReversePaymentOfSelected(){\n debugger;\n this.mainForm.controls['PaymentOfSelected'].setValue(this.modelObject.PaymentOfSelected=false);\n\n // this.mainForm.controls['EmployeesChoose'].value==false;\n}\n createForm(modelObject): FormGroup {\n debugger;\n return this.fb.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n PaymentDate: [this.modelObject.PaymentDate != null ? new Date(this.modelObject.PaymentDate).toISOString().slice(0, 10):null, Validators.compose([Validators.required])],\n BankAccountId: [modelObject.BankAccountId],\n Notes: [modelObject.Notes],\n PaymentOfApproved: [modelObject.PaymentOfApproved],\n PaymentOfSelected: [modelObject.PaymentOfSelected],\n SalariesManagerId: [modelObject.SalariesManagerId],\n Amount: [modelObject.Amount],\n \n\n \n });\n }\n SelectedSalariceManager:SalariesManagerModel[]=[];\n SalariesManagerList:SalariesManagerModel[]=[];\n BankAccountList:TreasuryAndBankAccountsModel[]=[];\n \n onMaterialGroupChangeSalariesManager(event) {\n this.SelectedSalariceManager = event;\n \n }\n \n loadServices() {\n this.currentAction = \"loading\";\n this.tableEngine.loadData();\n }\n goBack(Id) {\n this.router.navigate([\"app/HR/Info-Salaries-Manager/\", this.modelObject.SalariesManagerId]);\n }\n Save() {\n debugger;\n this.currentAction = \"loading\";\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n var SavedObj = new SalariesPaymentModel();\n SavedObj.Id = this.Id;\n SavedObj.BankAccountId = this.mainForm.getRawValue().BankAccountId;\n SavedObj.PaymentDate = new Date(this.mainForm.getRawValue().PaymentDate);\n SavedObj.PaymentOfApproved = this.mainForm.getRawValue().PaymentOfApproved;\n SavedObj.PaymentOfSelected = this.mainForm.getRawValue().PaymentOfSelected;\n SavedObj.Amount = this.mainForm.getRawValue().Amount;\n SavedObj.Code = this.mainForm.getRawValue().Code;\n\n this.SelectedSalariceManager.forEach(element => {\n var cat = new SalariesManagerPayment();\n cat.SalariesManagerId = element.Id;\n cat.Id = 0;\n cat.SalariesPaymentId= this.Id;\n this.modelObject.SalariesManagerList.push(cat);\n });\n SavedObj.SalariesManagerId = this.modelObject.SalariesManagerId;\n if (this.Id == 0) {\n this.modelService.insert(SavedObj).subscribe((data) => {\n this.router.navigate([\"app/HR/Info-Salaries-Manager/\",this.modelObject.SalariesManagerId]);\n });\n } else {\n debugger;\n this.modelService.update(this.modelObject).subscribe((data) => {\n this.router.navigate([\"app/HR/Info-Salaries-Manager/\",this.modelObject.SalariesManagerId]);\n });\n }\n }\n}\n","\n\n\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    {{ \"SalariesManager\" | translate }}
    \n
    \n \n {{ \"Back\" | translate }}\n \n \n {{ \"Save\" | translate }}\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n {{ Bank.Name}}\n \n \n
    \n
    \n \n *\n \n \n \n {{ \"DateRequired\" | translate }}\n
    \n
    \n
    \n
    \n
    \n \n \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n \n {{ \"PaymentOfApproved\" | translate }}\n \n
    \n
    \n \n
    \n
    \n \n \n {{ \"PaymentOfSelected\" | translate }}\n \n
    \n
    \n
    \n \n \n \n \n Select All\n \n \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n \n \n \n \n \n ","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport {SalariesPaymentModel} from './SalariesPaymentModel';\n@Injectable({\n providedIn: 'root'\n})\nexport class SalariesPaymentService {\n\n\n constructor(private http:HttpClient ) { }\n\n \n baseUrl = environment.baseApiUrl;\n token = localStorage.getItem(\"token\");\n httpOptions = {\n headers: new HttpHeaders({\n // 'Content-Type': 'application/json; charset=utf-8',\n // 'Authorization': \"Bearer \" + token,\n \"Authorization\": \"Bearer \" + this.token,\n \"Content-Type\": \"application/json\"\n })\n };\n\n getAll(): Observable {\n \n return this.http\n .get(`${this.baseUrl}SalariesPayment/GetAll`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ngetById(Id:number): Observable {\n\n return this.http\n .get(`${this.baseUrl}SalariesPayment/GetById/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ninsert(payload: SalariesPaymentModel): Observable {\n \n return this.http\n .post(`${this.baseUrl}SalariesPayment/Insert`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\n\n\nupdate(payload: SalariesPaymentModel): Observable {\n return this.http\n .post(`${this.baseUrl}SalariesPayment/Update`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ndelete(Id:number): Observable {\n return this.http\n .get(`${this.baseUrl}SalariesPayment/Delete/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\n deleteList(payload: SalariesPaymentModel []): Observable {\n return this.http\n .post(`${this.baseUrl}SalariesPayment/DeleteList`,JSON.stringify(payload),this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n GetAllBySalariesId(SalariesManagerId:number): Observable {\n \n return this.http\n .get(`${this.baseUrl}SalariesPayment/GetAllBySalariesId/${SalariesManagerId}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n getLastNumber(): Observable {\n \n return this.http\n .get(`${this.baseUrl}SalariesPayment/GetLastNumber`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n}\n","\r\nexport class SalarySlipDeductionModel{\r\n Id?: number;\r\n SalaryItemsId?: number;\r\n SalarySlipId?: number;\r\n Amount?: number;\r\n SalaryItemName?: string;\r\n \r\n \r\n \r\n \r\n constructor(item?:SalarySlipDeductionModel){\r\n item = item? item:{};\r\n this.Id = item.Id? item.Id:0;\r\n this.SalaryItemsId = item.SalaryItemsId? item.SalaryItemsId:0;\r\n this.Amount = item.Amount? item.Amount:0;\r\n this.SalaryItemName = item.SalaryItemName? item.SalaryItemName:'';\r\n \r\n \r\n \r\n\r\n }\r\n\r\n}","\r\nexport class SalarySlipDueModel{\r\n Id?: number;\r\n SalaryItemsId?: number;\r\n SalarySlipId?: number;\r\n Amount?: number;\r\n SalaryItemName?: string;\r\n \r\n \r\n \r\n \r\n constructor(item?:SalarySlipDueModel){\r\n item = item? item:{};\r\n this.Id = item.Id? item.Id:0;\r\n this.SalaryItemsId = item.SalaryItemsId? item.SalaryItemsId:0;\r\n this.SalarySlipId = item.SalarySlipId? item.SalarySlipId:0;\r\n this.Amount = item.Amount? item.Amount:0;\r\n this.SalaryItemName = item.SalaryItemName? item.SalaryItemName:'';\r\n \r\n \r\n \r\n\r\n }\r\n\r\n}","import { SalarySlipDeductionModel } from \"./SalarySlipDeductionModel\";\r\nimport { SalarySlipDueModel } from \"./SalarySlipDueModel\";\r\n\r\nexport class SalarySlipModel{\r\n Id?: number;\r\n dateOfRegistration?:Date;\r\n StartingDate?:Date;\r\n EndDate?:Date;\r\n Code?: number;\r\n EmployeeId?: number;\r\n CurrencyId?: number;\r\n TotalSalary?: number;\r\n TotalDiscount?: number;\r\n NetSalary?: number;\r\n Statuse?: boolean;\r\n SalarySlipDeductionList?:SalarySlipDeductionModel[];\r\n SalarySlipDueList?:SalarySlipDueModel[];\r\n \r\n\r\n\r\n constructor(item?:SalarySlipModel){\r\n item = item? item:{};\r\n this.Id = item.Id? item.Id:0;\r\n this.EmployeeId = item.EmployeeId? item.EmployeeId:0;\r\n this.CurrencyId = item.CurrencyId? item.CurrencyId:0;\r\n this.TotalSalary = item.TotalSalary? item.TotalSalary:0;\r\n this.TotalDiscount = item.TotalDiscount? item.TotalDiscount:0;\r\n this.NetSalary = item.NetSalary? item.NetSalary:0;\r\n this.dateOfRegistration = item.dateOfRegistration? item.dateOfRegistration:new Date();\r\n this.StartingDate = item.StartingDate? item.StartingDate:new Date();\r\n this.EndDate = item.EndDate? item.EndDate:new Date();\r\n this.Code = item.Code? item.Code:0;\r\n \r\n this.SalarySlipDeductionList = item.SalarySlipDeductionList? item.SalarySlipDeductionList:[];\r\n this.SalarySlipDueList = item.SalarySlipDueList? item.SalarySlipDueList:[];\r\n this.Statuse = item.Statuse? item.Statuse:false;\r\n\r\n }\r\n\r\n}","import { Component, Renderer2, ViewChild } from \"@angular/core\";\nimport {\n FormBuilder,\n FormControl,\n FormGroup,\n Validators,\n} from \"@angular/forms\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { NotificationsService, NotificationType } from \"angular2-notifications\";\nimport { ModalDirective } from \"ngx-bootstrap/modal\";\nimport { PageChangedEvent } from \"ngx-bootstrap/pagination\";\nimport { TableEngine } from \"src/app/invoices/TableEngine\";\nimport { CurrencyService } from \"src/app/invoices/currencies/CurrencyService\";\nimport { SidePopupComponent } from \"src/app/views/invoice/side-popup/side-popup.component\";\nimport { SalariesManagerService } from \"../salaries-manager.service\";\nimport { SalarySlipModel } from \"./SalarySlipModel\";\nimport { EmployeesManagementModel } from \"src/app/HR/Employees/EmployeesManagement/EmployeesManagementModel\";\nimport { EmployeesManagementService } from \"src/app/HR/Employees/EmployeesManagement/employees-management.service\";\nimport { SalarySlipService } from \"./salary-slip.service\";\nimport { CurrencyModel } from \"src/app/invoices/currencies/CurrencyModel\";\nimport { SalaryItemsService } from \"./salary-items.service\";\nimport { SalaryItemsModel } from \"./SalaryItemsModel\";\nimport { SalarySlipDueModel } from \"./SalarySlipDueModel\";\nimport { SalarySlipDeductionModel } from \"./SalarySlipDeductionModel\";\n@Component({\n // moduleId: module.id\n selector: \"add-salary-slip\",\n templateUrl: \"add-salary-slip.component.html\",\n styleUrls: [\"add-salary-slip.component.scss\"],\n})\nexport class AddSalarySlipComponent {\n Id = 0;\n\n constructor(\n public router: Router,\n private fb: FormBuilder,\n private formBuilder: FormBuilder,\n private modelService: SalarySlipService,\n private CurrencyService: CurrencyService,\n private EmployeesService: EmployeesManagementService,\n private salaryItemsService: SalaryItemsService,\n private notifications: NotificationsService,\n\n private translate: TranslateService,\n private route: ActivatedRoute\n ) {\n this.Id = +route.snapshot.paramMap.get(\"Id\");\n }\n showItemIndex = 0;\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = \"Table\";\n translationName: string = \"Item\";\n sortableKeys = [];\n searchableKeys = [\"Name\", \"Address\"];\n tableView: any = true;\n\n SalarySlipModel: SalarySlipModel[] = [];\n isLastOpen = false;\n\n modelObject: SalarySlipModel = new SalarySlipModel();\n Form: FormGroup;\n declare lang: any;\n declare itemOrder: any;\n currentAction = \"\";\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n prevAction = \"\";\n addToListId = 0;\n ItemsBalanceHeaderId = 0;\n ItemBalanceId = 0;\n currentFormMode: string = \"\";\n type = 0;\n visable = \"\";\n visable2 = \"\";\n visable3 = \"\";\n\n Code = 0;\n\n AlertMessage: string = \"Alert me when the quantity reaches less than\";\n ogData: SalarySlipModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n dateOfRegistration: new FormControl(),\n StartingDate: new FormControl(),\n EndDate: new FormControl(),\n EmployeeId: new FormControl(),\n Code: new FormControl(),\n CurrencyId: new FormControl(),\n TotalSalary: new FormControl(),\n TotalDiscount: new FormControl(),\n NetSalary: new FormControl(),\n Statuse: new FormControl(),\n });\n\n salaryItems: SalaryItemsModel[] = [];\n duesItems: SalaryItemsModel[] = [];\n deducationsItems: SalaryItemsModel[] = [];\n conpanyId: number;\n\n @ViewChild(\"sideModalRef\", { static: true })\n sideModalRef: SidePopupComponent = null;\n @ViewChild(\"delModal\", { static: true }) delModal: ModalDirective;\n @ViewChild(\"smallModal\", { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n // this.getAllCountryCode();\n\n this.lang = localStorage.getItem(\"theme_lang\");\n this.itemOrder = {\n label: \"Name\",\n property: this.lang === \"ar-EG\" ? \"Name\" : \"Name\",\n };\n this.sortableKeys = [\n // { label: 'Date', property: 'Date' },\n { label: \"Name\", property: this.lang === \"ar-EG\" ? \"Name\" : \"Name\" },\n {\n label: \"Nickname\",\n property: this.lang === \"ar-EG\" ? \"Nickname\" : \"Nickname\",\n },\n {\n label: \"MobileNumber\",\n property: this.lang === \"ar-EG\" ? \"MobileNumber\" : \"MobileNumber\",\n },\n ];\n\n this.tableEngine.loadTableEngine(\n this.ogData,\n this.modelService,\n this.modelObject,\n this.searchableKeys,\n this.sortableKeys,\n this.mainForm,\n this.translationName,\n this.itemOrder,\n this.sideModalRef,\n this.delModal,\n this.smallModal,\n this.lang\n );\n this.loadServices();\n this.EmployeesService.getAll().subscribe((data) => {\n this.EmployeesList = data;\n });\n this.CurrencyService.getAll().subscribe((data) => {\n this.CurrencyList = data;\n });\n this.salaryItemsService.getAll().subscribe((result) => {\n debugger;\n this.salaryItems = result;\n this.salaryItems.forEach((element) => {\n if (element.SalaryItemTypeNameEn == \"Deduction\") {\n this.deducationsItems.push(element);\n } else if (element.SalaryItemTypeNameEn == \"Due\") {\n this.duesItems.push(element);\n }\n });\n });\n\n if (this.Id > 0) {\n debugger;\n this.modelService.getById(this.Id).subscribe((data) => {\n this.modelObject = data;\n this.executeEdit();\n this.mainForm = this.createForm(this.modelObject);\n });\n } else {\n this.executeAdd();\n this.mainForm = this.createForm(this.modelObject);\n }\n this.mainForm = this.createForm(this.modelObject);\n }\n\n\n\n TotalSalary(){\n debugger;\n this.modelObject.TotalSalary = 0;\n this.addedDuesList.forEach(element => {\n this.modelObject.TotalSalary += element.Amount;\n });\n \n this.mainForm.controls['TotalSalary'].setValue(this.modelObject.TotalSalary)\n this.NetSalary();\n\n}\nTotalDiscount(){\n debugger;\n this.modelObject.TotalDiscount = 0;\n this.addedDeductionsList.forEach(element => {\n this.modelObject.TotalDiscount += element.Amount;\n });\n\n this.mainForm.controls['TotalDiscount'].setValue(this.modelObject.TotalDiscount)\n this.NetSalary();\n}\nNetSalary(){\n debugger;\n var Sub=0;\n var TotalDiscount = this.mainForm.controls['TotalDiscount'].value;\n var TotalSalary = this.mainForm.controls['TotalSalary'].value;\n this.modelObject.TotalDiscount = TotalSalary - TotalDiscount;\n this.mainForm.controls['TotalDiscount'].setValue(this.modelObject.TotalDiscount)\n}\n getMonthList(\n locales?: string | string[],\n format: \"long\" | \"short\" = \"long\"\n ): string[] {\n const year = new Date().getFullYear(); // 2020\n const monthList = [...Array(12).keys()]; // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]\n const formatter = new Intl.DateTimeFormat(locales, {\n month: format,\n });\n\n const getMonthName = (monthIndex: number) =>\n formatter.format(new Date(year, monthIndex));\n\n return monthList.map(getMonthName);\n }\n\n\n\n createForm(modelObject): FormGroup {\n debugger;\n return this.fb.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n EmployeeId: [modelObject.Name, Validators.compose([Validators.required])],\n dateOfRegistration: [\n this.modelObject.dateOfRegistration != null\n ? new Date(this.modelObject.dateOfRegistration)\n .toISOString()\n .slice(0, 10)\n : null,\n Validators.compose([Validators.required]),\n ],\n StartingDate: [\n this.modelObject.StartingDate != null\n ? new Date(this.modelObject.StartingDate).toISOString().slice(0, 10)\n : null,\n Validators.compose([Validators.required]),\n ],\n EndDate: [\n this.modelObject.EndDate != null\n ? new Date(this.modelObject.EndDate).toISOString().slice(0, 10)\n : null,\n Validators.compose([Validators.required]),\n ],\n Code: [modelObject.Code],\n CurrencyId: [modelObject.CurrencyId],\n TotalSalary: [modelObject.TotalSalary],\n TotalDiscount: [modelObject.TotalDiscount],\n NetSalary: [modelObject.NetSalary],\n Statuse: [modelObject.Statuse],\n });\n }\n\n createDueForm(model): FormGroup {\n return this.formBuilder.group({\n Id: [model.Id],\n ContractId: [model.ContractId],\n SalaryItemId: [model.SalaryItemId, Validators.required],\n Amount: [model.Amount, Validators.required],\n });\n }\n addDeductions() {\n debugger;\n var detail = this.DeductionsForm.getRawValue();\n detail.ContractId = this.Id;\n detail.SalaryItemId = +detail.SalaryItemId;\n var itemIndex = this.deducationsItems.findIndex(\n (x) => x.Id == detail.SalaryItemId\n );\n if (itemIndex > -1) {\n detail.SalaryItemName = this.deducationsItems[itemIndex].ItemName;\n }\n this.addedDeductionsList.push(detail);\n this.salaryDeductionsModel = new SalarySlipDeductionModel();\n this.DeductionsForm = this.createDueForm(this.salaryDeductionsModel);\n this.TotalDiscount();\n }\n removeDeductions(obj) {\n var deletedIndex = this.addedDeductionsList.indexOf(obj);\n if (deletedIndex > -1) {\n this.addedDeductionsList.splice(deletedIndex, 1);\n this.TotalDiscount();\n }\n }\n addDue() {\n debugger;\n var detail = this.dueForm.getRawValue();\n detail.ContractId = this.Id;\n detail.SalaryItemId = +detail.SalaryItemId;\n var itemIndex = this.duesItems.findIndex(\n (x) => x.Id == detail.SalaryItemId\n );\n if (itemIndex > -1) {\n detail.SalaryItemName = this.duesItems[itemIndex].ItemName;\n }\n this.addedDuesList.push(detail);\n this.salaryDueModel = new SalarySlipDueModel();\n this.dueForm = this.createDueForm(this.salaryDueModel);\n this.TotalSalary();\n }\n removeDue(obj) {\n var deletedIndex = this.addedDuesList.indexOf(obj);\n if (deletedIndex > -1) {\n this.addedDuesList.splice(deletedIndex, 1);\n this.TotalSalary();\n\n }\n }\n addedDuesList: SalarySlipDueModel[] = [];\n salaryDueModel: SalarySlipDueModel = {};\n addedDeductionsList: SalarySlipDeductionModel[] = [];\n salaryDeductionsModel: SalarySlipDeductionModel = {};\n dueForm: FormGroup;\n DeductionsForm: FormGroup;\n SelectedEmployeesChoice: EmployeesManagementModel[] = [];\n SelectedEmployeesExcluded: EmployeesManagementModel[] = [];\n EmployeesList: EmployeesManagementModel[] = [];\n CurrencyList: CurrencyModel[] = [];\n\n currentTotal = 0;\n\n\n executeAdd(): void {\n debugger;\n \n this.modelObject = new SalarySlipModel();\n// this.mainForm = this.createForm();\n this.currentFormMode = 'Add'\n this.currentScreen = 'Add';\n this.modelService.getLastNumber()\n .subscribe(code=>{\n this.modelObject.Code = code+1\n this.mainForm.controls['Code'].setValue(this.modelObject.Code);\n })\n this.addedDeductionsList = [];\n this.addedDuesList=[];\n this.salaryDueModel = new SalarySlipDueModel();\n this.dueForm = this.createDueForm(this.salaryDueModel);\n this.salaryDeductionsModel = new SalarySlipDeductionModel();\n this.DeductionsForm = this.createDueForm(this.salaryDeductionsModel);\n}\n \nexecuteEdit(): void {\n \n \n this.addedDeductionsList = this.modelObject.SalarySlipDeductionList;\n this.addedDuesList=this.modelObject.SalarySlipDueList;\n this.salaryDueModel = new SalarySlipDueModel();\n this.dueForm = this.createDueForm(this.salaryDueModel);\n this.salaryDeductionsModel = new SalarySlipDeductionModel();\n this.DeductionsForm = this.createDueForm(this.salaryDeductionsModel);\n}\n loadServices() {\n this.currentAction = \"loading\";\n this.tableEngine.loadData();\n }\n goBack() {\n this.router.navigate([\"app/HR/List-Salaries-Slip\"]);\n }\n Save() {\n debugger;\n this.currentAction = \"loading\";\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n this.modelObject = new SalarySlipModel();\n this.modelObject.Id = 0;\n this.modelObject.Code = this.mainForm.getRawValue().Code;\n this.modelObject.CurrencyId = this.mainForm.getRawValue().CurrencyId;\n this.modelObject.EmployeeId = this.mainForm.getRawValue().EmployeeId;\n this.modelObject.NetSalary = this.mainForm.getRawValue().NetSalary;\n this.modelObject.Statuse = this.mainForm.getRawValue().Statuse;\n this.modelObject.TotalDiscount = this.mainForm.getRawValue().TotalDiscount;\n this.modelObject.TotalSalary = this.mainForm.getRawValue().TotalSalary;\n this.modelObject.SalarySlipDeductionList = this.addedDeductionsList;\n this.modelObject.SalarySlipDueList = this.addedDuesList;\n this.modelObject.StartingDate = new Date(\n this.mainForm.getRawValue().StartingDate\n );\n this.modelObject.dateOfRegistration = new Date(\n this.mainForm.getRawValue().dateOfRegistration\n );\n this.modelObject.EndDate = new Date(this.mainForm.getRawValue().EndDate);\n if (this.Id == 0) {\n this.modelService.insert(this.modelObject).subscribe((data) => {\n this.router.navigate([\"app/HR/List-Salaries-Slip\"]);\n });\n } else {\n debugger;\n this.modelService.update(this.modelObject).subscribe((data) => {\n this.router.navigate([\"app/HR/List-Salaries-Slip\"]);\n });\n }\n }\n}\n","
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    {{ \"SalariesManager\" | translate }}
    \n
    \n \n {{ \"Back\" | translate }}\n \n \n {{ \"Save\" | translate }}\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n {{ Employees.Name}}\n \n \n
    \n
    \n \n *\n \n \n \n {{ \"DateRequired\" | translate }}\n
    \n
    \n
    \n
    \n
    \n \n *\n \n \n \n {{ \"DateRequired\" | translate }}\n
    \n
    \n \n
    \n \n *\n \n \n \n {{ \"DateRequired\" | translate }}\n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n {{ lang==='ar-EG'?Currency.NameAr:Currency.NameEn}}\n \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{'Salary Due'|translate}}{{\"Salary Item Name\" | translate}}{{\"Amount\" | translate}}
    \n \n \n {{obj.SalaryItemName}}\n {{obj.Amount}}
    \n \n \n
    \n
    \n \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{'Salary Deductions'|translate}}{{\"Salary Item Name\" | translate}}{{\"Amount\" | translate}}
    \n \n \n {{obj.SalaryItemName}}\n {{obj.Amount}}
    \n \n \n
    \n
    \n \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n\n \n\n \n
    \n
    \n \n\n \n\n \n
    \n
    \n \n\n \n
    \n
    \n
    \n \n
    \n \n \n \n \n \n ","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport {SalaryItemsModel} from './SalaryItemsModel';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SalaryItemsService {\n\n \n constructor(private http:HttpClient ) { }\n\n \n baseUrl = environment.baseApiUrl;\n token = localStorage.getItem(\"token\");\n httpOptions = {\n headers: new HttpHeaders({\n // 'Content-Type': 'application/json; charset=utf-8',\n // 'Authorization': \"Bearer \" + token,\n \"Authorization\": \"Bearer \" + this.token,\n \"Content-Type\": \"application/json\"\n })\n };\n\n getAll(): Observable {\n \n return this.http\n .get(`${this.baseUrl}SalaryItems/GetAll`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ngetById(Id:number): Observable {\n\n return this.http\n .get(`${this.baseUrl}SalaryItems/GetById/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ninsert(payload: SalaryItemsModel): Observable {\n \n return this.http\n .post(`${this.baseUrl}SalaryItems/Insert`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\n\n\nupdate(payload: SalaryItemsModel): Observable {\n return this.http\n .post(`${this.baseUrl}SalaryItems/Update`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ndelete(Id:number): Observable {\n return this.http\n .get(`${this.baseUrl}SalaryItems/Delete/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\n deleteList(payload: SalaryItemsModel []): Observable {\n return this.http\n .post(`${this.baseUrl}SalaryItems/DeleteList`,JSON.stringify(payload),this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport {SalarySlipModel} from './SalarySlipModel';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SalarySlipService {\n\n \n\n constructor(private http:HttpClient ) { }\n\n \n baseUrl = environment.baseApiUrl;\n token = localStorage.getItem(\"token\");\n httpOptions = {\n headers: new HttpHeaders({\n // 'Content-Type': 'application/json; charset=utf-8',\n // 'Authorization': \"Bearer \" + token,\n \"Authorization\": \"Bearer \" + this.token,\n \"Content-Type\": \"application/json\"\n })\n };\n\n getAll(): Observable {\n \n return this.http\n .get(`${this.baseUrl}SalariesSlip/GetAll`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ngetById(Id:number): Observable {\n\n return this.http\n .get(`${this.baseUrl}SalariesSlip/GetById/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ninsert(payload: SalarySlipModel): Observable {\n \n return this.http\n .post(`${this.baseUrl}SalariesSlip/Insert`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\n\n\nupdate(payload: SalarySlipModel): Observable {\n return this.http\n .post(`${this.baseUrl}SalariesSlip/Update`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ndelete(Id:number): Observable {\n return this.http\n .get(`${this.baseUrl}SalariesSlip/Delete/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\n deleteList(payload: SalarySlipModel []): Observable {\n return this.http\n .post(`${this.baseUrl}SalariesSlip/DeleteList`,JSON.stringify(payload),this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n getLastNumber(): Observable {\n \n return this.http\n .get(`${this.baseUrl}SalariesSlip/GetLastNumber`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n}\n","import { CurrencyService } from 'src/app/invoices/currencies/CurrencyService';\nimport { JobTitlesService } from 'src/app/HR/Organization_Structure/JobTitels_Componentes/job-titles.service';\nimport { JobLevelsService } from 'src/app/HR/Organization_Structure/JobLevelsComponentes/job-levels.service';\nimport { ContractModel } from './../../models/contract.model';\nimport { ContractService } from './../../contract.service';\nimport { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { DataFilterer } from 'src/app/views/invoice/shared/DataFilterer';\nimport { DataSorter } from 'src/app/views/invoice/shared/DataSorter';\nimport { DataPaginator } from 'src/app/views/invoice/shared/DataPaginator';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { of, Subject } from 'rxjs';\nimport { SalaryDuesModel } from '../../models/salary-dues.model';\nimport { SalaryDeductionsModel } from '../../models/salary-deductions.model';\nimport { EmployeesManagementService } from 'src/app/HR/Employees/EmployeesManagement/employees-management.service';\nimport { EmployeesManagementModel } from 'src/app/HR/Employees/EmployeesManagement/EmployeesManagementModel';\nimport { JobLevelsModel } from 'src/app/HR/Organization_Structure/JobLevelsComponentes/JobLevelsModel';\nimport { JobTitlesModel } from 'src/app/HR/Organization_Structure/JobTitels_Componentes/JobTitlesModel';\nimport { CurrencyModel } from 'src/app/invoices/currencies/CurrencyModel';\nimport { SalaryItemsService } from '../../../salary-items/salary-items.service';\nimport { SalaryItemsModel } from '../../../salary-items/models/salary-items.model';\nimport { ContractFilesModel } from '../../models/contract-files.model';\n\n@Component({\n selector: 'contracts',\n templateUrl: 'contracts.component.html',\n styleUrls: ['contracts.component.scss']\n})\nexport class ContractsComponent {\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n constructor(private formBuilder: FormBuilder, private modelService: ContractService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private employeeService:EmployeesManagementService,\n private JobLevelsService:JobLevelsService,\n private JobTitlesService:JobTitlesService,\n private CurrencyService:CurrencyService,\n private salaryItemsService:SalaryItemsService\n ) { //Additional services for City and Country\n }\n currentScreen: any = 'Table';\n\n translationName: string = ' Contract'\n \n sortableKeys = [];\n searchableKeys = ['ContractCode'];\n modelObject: ContractModel = new ContractModel({});\n ogData: ContractModel [] = [ ];\n\n \n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'ContractCode', property: 'ContractCode' };\n this.sortableKeys = [\n { label: 'ContractCode', property:'ContractCode' },\n { label: 'Employee', property:'EmployeeName' },\n { label: 'StartDate', property:'StartDate' },\n { label: 'EndDate', property:'EndDate' },\n { label: 'BasicSalary', property:'BasicSalary' },\n { label: 'Status', property:'Status' },\n ];\n //this.loadData();\n this.loadServices();\n }\n \n createForm(): FormGroup {\n debugger;\n return this.formBuilder.group({\n Id: [this.modelObject.Id >= 0 ? this.modelObject.Id : 0],\n ContractName : [this.modelObject.ContractName ],\n BasicSalary : [this.modelObject.BasicSalary ],\n Status : [this.modelObject.Status ],\n ContractCode : [this.modelObject.ContractCode ],\n EmployeeName : [this.modelObject.EmployeeName ],\n EmployeeId : [this.modelObject.EmployeeId ],\n Description : [this.modelObject.Description ],\n JobTitleName : [this.modelObject.JobTitleName ],\n JobTitleId : [this.modelObject.JobTitleId ],\n JobLevelName : [this.modelObject.JobLevelName ],\n JobLevelId : [this.modelObject.JobLevelId ],\n StartDate : [ this.modelObject.StartDate != null ? new Date(this.modelObject.StartDate).toISOString().slice(0, 10):null],\n EndDate : [this.modelObject.EndDate != null ? new Date(this.modelObject.EndDate).toISOString().slice(0, 10):null],\n JoiningDate : [this.modelObject.JoiningDate != null ? new Date(this.modelObject.JoiningDate).toISOString().slice(0, 10):null],\n TestEndDate : [this.modelObject.TestEndDate != null ? new Date(this.modelObject.TestEndDate).toISOString().slice(0, 10):null],\n TheDateOfSigningTheContract : [this.modelObject.TheDateOfSigningTheContract != null ? new Date(this.modelObject.TheDateOfSigningTheContract).toISOString().slice(0, 10):null],\n Duration : [this.modelObject.Duration ],\n DurationType : [this.modelObject.DurationType ],\n CurrencyId : [this.modelObject.CurrencyId ],\n ArrestCycle : [this.modelObject.ArrestCycle ],\n SalaryDues : [this.modelObject.SalaryDues ],\n SalaryDeductions : [this.modelObject.SalaryDeductions ],\n ContractFiles : [this.modelObject.ContractFiles ],\n endType:[1]\n\n });\n }\n mainForm : FormGroup;\n addObject() {\n debugger;\n //prevent multiclick submits. enable again after API response.\n this.currentAction = 'loading';\n \n this.modelObject = new ContractModel();\n this.modelObject = this.mainForm.getRawValue();\n this.modelObject.Id = 0;\n this.modelObject.SalaryDues = this.addedDuesList;\n this.modelObject.SalaryDeductions = this.addedDeductionsList;\n this.modelObject.ContractFiles = this.files;\n this.executeAddObject();\n }\n \n executeAddObject(){\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n this.currentScreen = 'Table';\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n \n }\n })\n }\n \n editObject() {\n this.savedPage = this.currentPage;\n this.currentAction = 'loading';\n \n let tempObj = this.mainForm.getRawValue();\n if(tempObj != this.modelObject){\n this.executeEditObject(tempObj);\n }\n else{\n this.currentScreen = 'Table';\n }\n }\n \n executeEditObject(Object)\n {\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n this.currentScreen = 'Table';\n\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n \n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject(){\n this.modelService.deleteList(this.deletionList).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.finalizeDeletion();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n \n //Get any additional data here\n employees:EmployeesManagementModel[]=[];\n JobLevels:JobLevelsModel[]=[];\n JobTitles:JobTitlesModel[]=[];\n currencies:CurrencyModel[]=[];\n salaryItems:SalaryItemsModel[]=[];\n duesItems:SalaryItemsModel[]=[];\n deducationsItems:SalaryItemsModel[]=[];\n loadServices(){ \n this.employeeService.getAll()\n .subscribe(result =>{\n this.employees = result;\n })\n this.JobLevelsService.getAll()\n .subscribe(result =>{\n this.JobLevels = result;\n })\n this.JobTitlesService.getAll()\n .subscribe(result =>{\n this.JobTitles = result;\n })\n this.CurrencyService.getAll()\n .subscribe(result =>{\n this.currencies = result;\n })\n this.salaryItemsService.getAll()\n .subscribe(result => {\n debugger;\n this.salaryItems = result;\n this.salaryItems.forEach(element => {\n if(element.SalaryItemTypeNameEn == 'Deduction'){\n this.deducationsItems.push(element)\n }\n else if(element.SalaryItemTypeNameEn == 'Due'){\n this.duesItems.push(element);\n }\n });\n })\n this.currentAction = 'loading';\n this.loadData();\n\n }\n \n \n \n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n lang: string;\n currentFormMode: string = '';\n currentAction: string = '';\n \n \n //ogData = [];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n \n SelectAllBox: any = false;\n \n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n itemOrder: any;\n orderAsc: boolean = true;\n \n currentPage = 1;\n savedPage = 0;\n \n \n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n \n loadData() {\n debugger;\n this.currentAction = 'loading';\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.sortData();\n this.loadSearch();\n this.currentAction = '';\n }\n )\n \n }\n \n sortData() {\n debugger;\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n \n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n \n filterData() {\n debugger;\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n \n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n debugger;\n\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n \n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n \n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n \n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n \n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n \n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n \n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n \n isSelected(p: ContractModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n \n onSelect(item: ContractModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n \n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n \n @ViewChild('delModal') delModal: ModalDirective;\n showAddNewModalRef(): void {\n debugger;\n \n this.modelObject = new ContractModel();\n this.mainForm = this.createForm();\n this.currentFormMode = 'Add'\n this.currentScreen = 'Add';\n this.modelService.GetLastCode()\n .subscribe(code=>{\n this.modelObject.ContractCode = code+1\n this.mainForm.controls['ContractCode'].setValue(this.modelObject.ContractCode);\n })\n this.addedDeductionsList = [];\n this.addedDuesList=[];\n this.files = [];\n this.salaryDueModel = new SalaryDuesModel();\n this.dueForm = this.createDueForm(this.salaryDueModel);\n this.salaryDeductionsModel = new SalaryDeductionsModel();\n this.DeductionsForm = this.createDueForm(this.salaryDeductionsModel);\n }\n showEditModalRef(Id: any): void {\n this.currentFormMode = 'Edit'\n this.currentScreen = 'Edit';\n\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n this.addedDuesList = this.modelObject.SalaryDues ;\n this.addedDeductionsList = this.modelObject.SalaryDeductions ;\n this.files = this.modelObject.ContractFiles;\n this.salaryDueModel = new SalaryDuesModel();\n this.dueForm = this.createDueForm(this.salaryDueModel);\n this.salaryDeductionsModel = new SalaryDeductionsModel();\n this.DeductionsForm = this.createDueForm(this.salaryDeductionsModel);\n })\n this.mainForm = this.createForm();\n }\n \n showInfoModalRef(Id: any): void {\n debugger;\n \n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n this.addedDuesList = this.modelObject.SalaryDues ;\n this.addedDeductionsList = this.modelObject.SalaryDeductions ;\n this.files = this.modelObject.ContractFiles;\n this.mainForm = this.createForm();\n this.currentFormMode = 'Info'\n this.currentScreen = 'Info';\n })\n }\n\n detailsForm:FormGroup;\n\n \n deletionList: ContractModel[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n \n SearchTerm: any = '';\n \n \n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n \n this.deletionList = [];\n this.selected = [];\n \n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n \n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n \n loadAllData() {\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.loadSearch();\n }\n )\n }\n \n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n addedDuesList:SalaryDuesModel[]=[];\n salaryDueModel:SalaryDuesModel={};\n addedDeductionsList:SalaryDeductionsModel[]=[];\n salaryDeductionsModel:SalaryDeductionsModel={};\n dueForm:FormGroup;\n DeductionsForm:FormGroup;\n \n createDueForm(model):FormGroup{\n return this.formBuilder.group({\n Id:[model.Id],\n ContractId:[model.ContractId],\n SalaryItemId:[model.SalaryItemId,Validators.required],\n Amount:[model.Amount,Validators.required],\n })\n }\n addDeductions(){\n var detail = this.DeductionsForm.getRawValue();\n var itemIndex=this.deducationsItems.findIndex(x=>x.Id == detail.SalaryItemId);\n if(itemIndex > -1){\n detail.SalaryItemName = this.deducationsItems[itemIndex].ItemName;\n }\n this.addedDeductionsList.push(detail);\n this.salaryDeductionsModel = new SalaryDeductionsModel();\n this.DeductionsForm = this.createDueForm(this.salaryDeductionsModel );\n }\n removeDeductions(obj){\n var deletedIndex = this.addedDeductionsList.indexOf(obj);\n if(deletedIndex > -1){\n this.addedDeductionsList.splice(deletedIndex,1);\n }\n }\n addDue(){\n var detail = this.dueForm.getRawValue();\n var itemIndex=this.duesItems.findIndex(x=>x.Id == detail.SalaryItemId);\n if(itemIndex > -1){\n detail.SalaryItemName = this.duesItems[itemIndex].ItemName;\n }\n this.addedDuesList.push(detail);\n this.salaryDueModel = new SalaryDuesModel();\n this.dueForm = this.createDueForm(this.salaryDueModel );\n }\n removeDue(obj){\n var deletedIndex = this.addedDuesList.indexOf(obj);\n if(deletedIndex > -1){\n this.addedDuesList.splice(deletedIndex,1);\n }\n }\n public editEnabled = true;\n public picurl: string ='';\n files:ContractFilesModel[]=[];\n setFileToList(){\n var file = new ContractFilesModel();\n file.ContractId = this.modelObject.Id ;\n file.FileUrl = this.picurl;\n file.Id = 0;\n this.files.push(file);\n }\n deleteFile(file){\n var i = this.files.indexOf(file);\n if(i>-1){\n this.files.splice(i,1);\n }\n }\n getEmployeeName(Id){\n var i = this.employees.findIndex(x=>x.Id == Id);\n if(i>-1){\n return this.employees[i].Name;\n }\n else{\n return '';\n }\n }\n getJobTitleName(Id){\n var i = this.JobTitles.findIndex(x=>x.Id == Id);\n if(i>-1){\n return this.JobTitles[i].Name;\n }\n else{\n return '';\n }\n }\n getJobLevelName(Id){\n var i = this.JobLevels.findIndex(x=>x.Id == Id);\n if(i>-1){\n return this.JobLevels[i].Name;\n }\n else{\n return '';\n }\n }\n }\n ","\n\n
    \n
    \n
    \n\n
    \n \n \n \n \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"Code Required\" | translate}}
    \n \n
    \n
    \n
    \n \n \n \n
    \n {{\"Employee Required\" | translate}}
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"Job Level Required\" | translate}}
    \n \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"Job Title Required\" | translate}}
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"Start Date Required\" | translate}}
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n
    \n \n
    \n
    \n
    \n\n
    \n
    \n
    \n \n \n \n
    \n {{\"Joining Date Required\" | translate}}
    \n \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"Test End Date Required\" | translate}}
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"The Date Of Signing The Contract Required\" | translate}}
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n \n \n \n
    {{'Salary data'|translate}}
    \n\n
    \n
    \n \n \n \n
    \n {{\"Basic Salary Required\" | translate}}
    \n \n
    \n
    \n
    \n \n \n \n \n
    \n {{\"Currency Required\" | translate}}
    \n \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"EmployeeRequired\" | translate}}
    \n \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{'Salary Due'|translate}}{{\"Salary Item Name\" | translate}}{{\"Amount\" | translate}}
    \n \n \n {{obj.SalaryItemName}}\n {{obj.Amount}}
    \n \n \n
    \n
    \n \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{'Salary Deductions'|translate}}{{\"Salary Item Name\" | translate}}{{\"Amount\" | translate}}
    \n \n \n {{obj.SalaryItemName}}\n {{obj.Amount}}
    \n \n \n
    \n
    \n \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n\n
    \n \n \n
    \n \n \n \n \n \n \n \n \n \n \n
    #{{i+1}}{{\"Download\"|translate}}\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Code\" | translate}}\n \n
    \n {{\"Employee\" | translate}}\n \n
    \n {{\"Start Date\" | translate}}\n \n
    \n {{\"Basic Salary\" | translate}}\n \n
    \n {{\"Status\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{obj.ContractCode}}{{obj.EmployeeName}}{{obj.StartDate|date:'dd/MM/yyyy'}}{{obj.BasicSalary}}{{obj.Status | translate}}\n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { FileUploader } from 'ng2-file-upload';\nimport { environment } from 'src/environments/environment';\n\n@Component({\n selector: 'upload-contract-file',\n templateUrl: 'upload-contract-file.component.html',\n styleUrls: ['upload-contract-file.component.scss']\n})\nexport class UploadContractFileComponent implements OnInit {\n public NationalIDImage: FileUploader;\n public hasDragOver = false;\n \n @Input()\n public editmode = false;\n \n @Input()\n public url = '';\n \n @Output()\n public urlChange = new EventEmitter();\n declare lang: any;\n \n constructor(private translate: TranslateService, private notifications: NotificationsService) {\n this.lang = localStorage.getItem('theme_lang');\n\n this.NationalIDImage = new FileUploader({\n url: environment.baseApiUrl+'Contract/UploadFile',\n disableMultipart: false,\n autoUpload: true\n });\n \n this.NationalIDImage.response.subscribe(res => {\n // Upload returns a JSON with the image ID\n if(res != null && res != \"\" && res != undefined){\n this.url = environment.apiUrl+ '/Resources/ContractFiles/' + JSON.parse(res);\n this.urlChange.emit(this.url);\n }\n else{\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessUpload\"))\n }\n },error =>{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedUpload\"))\n });\n }\n \n public fileOver(e: any): void {\n \n this.hasDragOver = e;\n }\n \n ngOnInit() {\n \n }\n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n }\n ","
    \n \n \n \n \n
    \n ","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ContractModel } from './models/contract.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ContractService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Contract/GetAll `,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getAllSalaryItemType(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}SalaryItemType/GetAll `,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Contract/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n GetLastCode(): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}Contract/GetLastCode`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n insert(payload: ContractModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}Contract/Insert `, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: ContractModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}Contract/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: ContractModel): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}Contract/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: ContractModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}Contract/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","export class ContractFilesModel{\r\n Id?: number;\r\n ContractId?: number;\r\n FileUrl?: string;\r\n constructor(item ?: ContractFilesModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.ContractId = item.ContractId ? item.ContractId : 0;\r\n this.FileUrl = item.FileUrl ? item.FileUrl : '';\r\n }\r\n}","import { ContractFilesModel } from \"./contract-files.model\";\r\nimport { SalaryDeductionsModel } from \"./salary-deductions.model\";\r\nimport { SalaryDuesModel } from \"./salary-dues.model\";\r\n\r\nexport class ContractModel{\r\n Id ?: number;\r\n ContractName ?: string;\r\n ContractCode ?: number;\r\n EmployeeName ?: string;\r\n EmployeeId ?: number;\r\n Description ?: string;\r\n JobTitleName ?: string;\r\n JobTitleId ?: number;\r\n JobLevelName ?: string;\r\n JobLevelId ?: number;\r\n StartDate ?:Date | null;\r\n EndDate ?:Date | null;\r\n JoiningDate ?:Date | null;\r\n TestEndDate ?:Date | null;\r\n TheDateOfSigningTheContract ?:Date | null;\r\n Duration ?: number;\r\n DurationType ?: number;\r\n CurrencyId ?: number;\r\n ArrestCycle ?: string;\r\n SalaryDues ?: SalaryDuesModel[];\r\n SalaryDeductions ?: SalaryDeductionsModel[];\r\n ContractFiles ?: ContractFilesModel[];\r\n BasicSalary?:number;\r\n Status?:string;\r\n constructor(item ?: ContractModel)\r\n {\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.BasicSalary = item.BasicSalary ? item.BasicSalary : 0;\r\n this.Status = item.Status ? item.Status: 'Active';\r\n this.ContractName = item.ContractName ? item.ContractName : '';\r\n this.ContractCode = item.ContractCode ? item.ContractCode : 0;\r\n this.EmployeeName = item.EmployeeName ? item.EmployeeName : '';\r\n this.EmployeeId = item.EmployeeId ? item.EmployeeId : 0;\r\n this.Description = item.Description ? item.Description : '';\r\n this.JobTitleName = item.JobTitleName ? item.JobTitleName : '';\r\n this.JobTitleId = item.JobTitleId ? item.JobTitleId : 0;\r\n this.JobLevelName = item.JobLevelName ? item.JobLevelName : '';\r\n this.JobLevelId = item.JobLevelId ? item.JobLevelId : 0;\r\n this.StartDate = item.StartDate ? item.StartDate : null;\r\n this.EndDate = item.EndDate ? item.EndDate : null;\r\n this.JoiningDate = item.JoiningDate ? item.JoiningDate : null;\r\n this.TestEndDate = item.TestEndDate ? item.TestEndDate : null;\r\n this.TheDateOfSigningTheContract = item.TheDateOfSigningTheContract ? item.TheDateOfSigningTheContract : new Date();\r\n this.Duration = item.Duration ? item.Duration : 0;\r\n this.DurationType = item.DurationType ? item.DurationType : 1;\r\n this.CurrencyId = item.CurrencyId ? item.CurrencyId : 0;\r\n this.ArrestCycle = item.ArrestCycle ? item.ArrestCycle : '';\r\n this.SalaryDues = item.SalaryDues ? item.SalaryDues : [];\r\n this.SalaryDeductions = item.SalaryDeductions ? item.SalaryDeductions : [];\r\n this.ContractFiles = item.ContractFiles ? item.ContractFiles : [];\r\n }\r\n\r\n\r\n}\r\n\r\n","export class SalaryDeductionsModel{\r\n Id?: number;\r\n ContractId ?: number;\r\n SalaryItemName?: string;\r\n SalaryItemId ?: number;\r\n Amount ?: number;\r\n constructor(item ?: SalaryDeductionsModel){\r\n item = item ? item : {}\r\n this.Id = item.Id ? item.Id : 0;\r\n this.ContractId = item.ContractId ? item.ContractId : 0;\r\n this.SalaryItemName = item.SalaryItemName ? item.SalaryItemName : '';\r\n this.SalaryItemId = item.SalaryItemId ? item.SalaryItemId : 0;\r\n this.Amount = item.Amount ? item.Amount : 0;\r\n\r\n }\r\n}","export class SalaryDuesModel{\r\n Id?: number;\r\n ContractId ?: number;\r\n SalaryItemName?: string;\r\n SalaryItemId ?: number;\r\n Amount ?: number;\r\n constructor(item ?: SalaryDuesModel){\r\n item = item ? item : {}\r\n this.Id = item.Id ? item.Id : 0;\r\n this.ContractId = item.ContractId ? item.ContractId : 0;\r\n this.SalaryItemName = item.SalaryItemName ? item.SalaryItemName : '';\r\n this.SalaryItemId = item.SalaryItemId ? item.SalaryItemId : 0;\r\n this.Amount = item.Amount ? item.Amount : 0;\r\n\r\n }\r\n}","import { Component, ViewChild } from \"@angular/core\";\nimport {\n FormBuilder,\n FormControl,\n FormGroup,\n Validators,\n} from \"@angular/forms\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { NotificationType, NotificationsService } from \"angular2-notifications\";\nimport { ModalDirective } from \"ngx-bootstrap/modal\";\nimport { TableEngine } from \"src/app/invoices/TableEngine\";\nimport { SidePopupComponent } from \"src/app/views/invoice/side-popup/side-popup.component\";\nimport {SalariesManagerModel} from '../add-salaries-manager/SalariesManagerModel';\nimport{SalariesManagerService} from '../salaries-manager.service';\nimport { EmployeesChoiceModel } from \"../add-salaries-manager/EmployeesChoiceModel\";\nimport { EmployeesExcludedModel } from \"../add-salaries-manager/EmployeesExcludedModel\";\nimport { SalariesPaymentService } from \"../add-salaries-payment/salaries-payment.service\";\nimport { SalariesPaymentModel } from \"../add-salaries-payment/SalariesPaymentModel\";\nimport {SalarySlipService} from '../add-salary-slip/salary-slip.service';\nimport { SalarySlipModel } from \"../add-salary-slip/SalarySlipModel\";\n@Component({\n // moduleId: module.id,\n selector: 'info-salaries-manager',\n templateUrl: 'info-salaries-manager.component.html',\n styleUrls: ['info-salaries-manager.component.scss']\n})\nexport class InfoSalariesManagerComponent {\n Id = 0;\n\n constructor(\n public router: Router,\n private fb: FormBuilder,\n private modelService:SalariesManagerService ,\n private SalariesPaymentService:SalariesPaymentService ,\n private SalarySlipService:SalarySlipService ,\n private notifications: NotificationsService,\n\n private translate: TranslateService,\n private route: ActivatedRoute\n ) {\n this.Id = +route.snapshot.paramMap.get(\"Id\");\n }\n \n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = \"Table\";\n translationName: string = \"Item\";\n sortableKeys = [];\n searchableKeys = [\"Name\", \"Address\"];\n tableView: any = true;\n \n SalariesManagerModel:SalariesManagerModel[]=[];\n \n // WarehouseData: WarehouseModel[] = [];\n \n modelObject: SalariesManagerModel = new SalariesManagerModel();\n Form: FormGroup;\n declare lang: any;\n declare itemOrder: any;\n currentAction = \"\";\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n prevAction = \"\";\n addToListId = 0;\n ItemsBalanceHeaderId = 0;\n ItemBalanceId = 0;\n currentFormMode: string = \"\";\n \n ogData: SalariesManagerModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Name: new FormControl(),\n dateOfRegistration: new FormControl(),\n StartingDate: new FormControl(),\n EndDate: new FormControl(),\n CheckAttendance: new FormControl(),\n GrammarChoose: new FormControl(),\n EmployeesChoose: new FormControl(),\n BranchId: new FormControl(),\n DepartmentId: new FormControl(),\n JobTitletId: new FormControl(),\n ArrestCycleId: new FormControl(),\n \n \n }); \n // NotesObject: NotesAndAttachmentModel = new NotesAndAttachmentModel();\n\n\n \n @ViewChild(\"sideModalRef\", { static: true })\n sideModalRef: SidePopupComponent = null;\n @ViewChild(\"delModal\", { static: true }) delModal: ModalDirective;\n @ViewChild(\"smallModal\", { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n // this.getAllCountryCode();\n \n this.lang = localStorage.getItem(\"theme_lang\");\n this.itemOrder = {\n label: \"Name\",\n property: this.lang === \"ar-EG\" ? \"Name\" : \"Name\",\n };\n this.sortableKeys = [\n // { label: 'Date', property: 'Date' },\n { label: 'Name',property: this.lang === 'ar-EG' ? 'Name' : 'Name'},\n { label: 'limitation', property: 'limitation' },\n \n ];\n \n this.tableEngine.loadTableEngine(\n this.ogData,\n this.modelService,\n this.modelObject,\n this.searchableKeys,\n this.sortableKeys,\n this.mainForm,\n this.translationName,\n this.itemOrder,\n this.sideModalRef,\n this.delModal,\n this.smallModal,\n this.lang\n );\n\n \n if(this.Id > 0)\n { debugger; \n this.modelService.getById(this.Id).subscribe(data=>{ \n this.modelObject = data;\n this.EmployeesChoiceList=data.EmployeesChoice;\n this.EmployeesExcludedList=data.EmployeesExcluded;\n this.SalariesPaymentService.GetAllBySalariesId(this.Id).subscribe(data=>{\n this.SalariesPaymentList=data;\n });\n this.SalarySlipService.getAll().subscribe(data=>{\nthis.SalarySlipList=data;\n })\n this.mainForm = this.createForm(this.modelObject);\n });\n this.mainForm = this.createForm(this.modelObject);\n }\n else{\n this.mainForm = this.createForm(this.modelObject); \n }\n }\n \n EmployeesChoiceList:EmployeesChoiceModel[]=[];\n EmployeesExcludedList:EmployeesExcludedModel[]=[];\n SalariesPaymentList:SalariesPaymentModel[]=[];\n SalarySlipList:SalarySlipModel[]=[];\n createForm(modelObject): FormGroup {\n debugger;\n return this.fb.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n Name: [modelObject.Name, Validators.compose([Validators.required])],\n dateOfRegistration: [modelObject.dateOfRegistration, Validators.compose([Validators.required])],\n StartingDate: [modelObject.StartingDate,Validators.compose([Validators.required])],\n EndDate: [modelObject.EndDate,Validators.compose([Validators.required])],\n CheckAttendance: [modelObject.CheckAttendance],\n GrammarChoose: [modelObject.GrammarChoose],\n EmployeesChoose: [modelObject.EmployeesChoose],\n BranchId: [modelObject.BranchId],\n DepartmentId: [modelObject.DepartmentId],\n JobTitletId: [modelObject.JobTitletId],\n ArrestCycleId: [modelObject.ArrestCycleId],\n \n \n });\n }\n\n AcceptAll(){\n debugger;\n if(this.modelObject.AcceptAll==true){\n this.modelObject.AcceptAll=false;\n }\n else{\n this.modelObject.AcceptAll=true;\n }\n }\n Payment(Id){\n this.router.navigate(['app/HR/Add-Salaries-Payment/',0]) \n }\n showModal(Id, action) {\n \n if (action === 'Add') { \n debugger;\n this.router.navigate(['app/HR/Add-Salaries-Manager/',0]) \n }\n else if (action === 'Edit') {\n debugger;\n this.router.navigate(['app/HR/Add-Salaries-Manager/',Id])\n \n \n }\n else if (action === 'Info') {\n debugger;\n \n this.router.navigate(['app/HR/Info-Salaries-Manager/',Id])\n \n \n }\n //this.mainForm.get('IsActive').setValue(true);\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n \n }\n showDelModal(Id: any) {\n debugger;\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n \n }\n // EditPayment(Id){\n // debugger;\n // this.router.navigate(['app/HR/Edit-Attachment/',Id])\n\n // }\n \n // DisableEmployee(){\n // debugger;\n // if(this.modelObject.Status==true){\n // this.modelObject.Status=false;\n // }\n // else{\n // this.modelObject.Status=true;\n // }\n // }\n DeletePayment(Id){\n debugger;\n\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n \n }\n\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n selected : any[] = [];\n \n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(\n toastHeader,\n toastBody,\n NotificationType.Success,\n { timeOut: 3000, showProgressBar: true }\n );\n }\n \n //Same here...\n executeDeleteObject(){\n debugger;\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.delModal.hide();\n // this.finalizeDeletion();\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\"));\n if (this.sideModalRef === undefined) {\n \n this.tableEngine.smallModal.hide();\n \n } else {\n \n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n \n\n loadServices() {\n // debugger;\n this.currentAction = \"loading\";\n this.tableEngine.loadData();\n }\n \n \n type = 0;\n visable = \"\";\n visable2 = \"\";\n visable3 = \"\";\n \n \n goBack() {\n this.router.navigate([\"app/HR/List-Salaries-Manager\"]);\n }\n}\n","
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n \n {{modelObject.Name}}\n {{modelObject.Code}}#\n \n {{'ISAccept' | translate}}\n {{'HasBeenCreated' | translate}}\n
    \n \n \n \n \n \n {{ \"Back\" | translate }}\n \n
    \n

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

    {{'Detales' | translate}}

    \n
    \n
    \n
    \n

    {{ \"dateOfRegistration:\" | translate }}

    \n

    {{modelObject.dateOfRegistration | date:'mediumDate'}}

    \n
    \n
    \n
    \n
    \n

    {{ \"StartingDate:\" | translate }}

    \n

    {{modelObject.StartingDate | date:'mediumDate'}}

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

    {{ \"EndDate:\" | translate }}

    \n

    {{modelObject.EndDate | date:'mediumDate'}}

    \n
    \n
    \n
    \n
    \n

    {{ \"CheckAttendance:\" | translate }}

    \n

    {{ \"True\" | translate }}

    \n

    {{ \"False\" | translate }}

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

    {{'Employees' | translate}}

    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n\n \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n\n \n
    \n \n\n \n\n\n
    \n
    \n \n
    \n \n \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n\n \n
    {{'SalaryPathID'|translate}}{{'dateOfRegistration'|translate}}{{'StartingDate'|translate}}{{'EndDate'|translate}}
    \n {{obj.Code}}\n\n \n {{obj.dateOfRegistration | date:'mediumDate'}}\n \n {{obj.StartingDate | date:'mediumDate'}}\n \n {{obj.EndDate | date:'mediumDate'}}\n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{'SalaryPathID'|translate}}\n {{'ExpenseNumber'|translate}}{{'PaymentDate'|translate}}{{'Amount'|translate}}
    \n \n \n {{obj.PaymentDate| date:'fullDate'}}\n \n {{obj.Amount}}\n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n \n
    1 && \n deletionList.length === NotesObject.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n ","import { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { TableEngine } from 'src/app/invoices/TableEngine';\nimport { DataFilterer } from 'src/app/views/invoice/shared/DataFilterer';\nimport { DataPaginator } from 'src/app/views/invoice/shared/DataPaginator';\nimport { DataSorter } from 'src/app/views/invoice/shared/DataSorter';\nimport { SidePopupComponent } from 'src/app/views/invoice/side-popup/side-popup.component';\nimport { SalariesManagerModel } from '..//add-salaries-manager/SalariesManagerModel';\nimport { SalariesManagerService } from '../salaries-manager.service';\n\n@Component({\n // moduleId: module.id,\n selector: 'list-salaries-manager',\n templateUrl: 'list-salaries-manager.component.html',\n styleUrls: ['list-salaries-manager.component.scss']\n})\nexport class ListSalariesManagerComponent {\n Id=0;\n\n constructor(private formBuilder: FormBuilder, private modelService: SalariesManagerService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService, private router : Router,\n private route: ActivatedRoute\n ) { this.Id = + route.snapshot.paramMap.get('Id'); }\n\ntableEngine = new TableEngine(this.translate, this.notifications);\ncurrentScreen: any = 'Table';\ntableView: any = true;\n// PriceList : WarehouseModel[]=[];\n\n\ntranslationName: string = 'Warehouse' \nsortableKeys = [];\nsearchableKeys = ['Name','Address'];\nmodelObject: SalariesManagerModel = new SalariesManagerModel();\n// ProducteList:EmployeesManagementModel[]=[];\n\ndebugMode = true;\n\nogData: SalariesManagerModel[] = [];\nmainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Name: new FormControl(),\n dateOfRegistration: new FormControl(),\n StartingDate: new FormControl(),\n EndDate: new FormControl(),\n CheckAttendance: new FormControl(),\n GrammarChoose: new FormControl(),\n EmployeesChoose: new FormControl(),\n BranchId: new FormControl(),\n DepartmentId: new FormControl(),\n JobTitletId: new FormControl(),\n ArrestCycleId: new FormControl(),\n});\n\n\ndeclare lang: any;\ndeclare itemOrder: any;\ncurrentAction = '';\ncurrentFormMode: string = '';\nsavedPage = 0;\ncurrentPage = 1; \ndeletionList: any[] = [];\n\n@ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n@ViewChild('delModal', { static: true }) delModal: ModalDirective;\n@ViewChild('smallModal', { static: true }) smallModal: ModalDirective = null;\nformPresentationModal: any;\nngOnInit(): void {\n // this.getAllCountryCode(); \n \n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: this.lang === 'ar-EG' ? 'Name' : 'Name' }; \n this.sortableKeys = [ \n // { label: 'Date', property: 'Date' }, \n { label: 'Name', property: this.lang === 'ar-EG' ? 'Name' : 'Name' }, \n { label: 'Nickname', property: this.lang === 'ar-EG' ? 'Nickname' : 'Nickname' }, \n { label: 'MobileNumber', property: this.lang === 'ar-EG' ? 'MobileNumber' : 'MobileNumber' }, \n \n ];\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n //this.tableEngine.modelObject = {}\n this.loadServices();\n this.modelService.getAll().subscribe(data=>{\n this.modelObject=data;\n })\n\n} \nshowInfoModalRef(Id: any): void {\n this.router.navigate(['app/HR/Info-Salaries-Manager/',Id])\n }\n showDelModal(Id: any): void {\n debugger;\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n \n }\n\n showModal(Id, action) {\n \n if (action === 'Add') { \n debugger;\n this.router.navigate(['app/HR/Add-Salaries-Manager/',0]) \n }\n else if (action === 'Edit') {\n debugger;\n this.router.navigate(['app/HR/Add-Salaries-Manager/',Id])\n \n \n }\n else if (action === 'Info') {\n debugger;\n \n this.router.navigate(['app/HR/Info-Salaries-Manager/',Id])\n \n \n }\n //this.mainForm.get('IsActive').setValue(true);\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n \n }\n \n \n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject(){\n debugger;\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.delModal.hide();\n // this.finalizeDeletion();\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\"));\n if (this.sideModalRef === undefined) {\n \n this.tableEngine.smallModal.hide();\n \n } else {\n \n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n \n \n\n \n executeEditObject(Object) {\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n if (this.sideModalRef === undefined) {\n \n this.tableEngine.smallModal.hide();\n \n } else {\n \n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n \n loadServices(){\n // debugger;\n this.currentAction = 'loading';\n this.tableEngine.loadData(); \n \n \n }\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n \n selected : any[] = [];\n selectAllState = '';\n SearchFrom: Date = null;\n SearchTo: Date = null;\n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n SearchTerm: any = '';\n \n clearSearch() {\n this.SearchFrom = null;\n this.SearchTo = null;\n }\n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n filterData() {\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n isSelected(p: SalariesManagerModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n \n onSelect(item: SalariesManagerModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n \n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n \n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n \n prepChangeSort(sortKey) {\n this.SearchFrom = null;\n this.SearchTo = null;\n \n \n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n \n getFormattedDate(dateString: any){\n let splitDate: number[] = dateString.toString().split(\"/\");\n \n return new Date(splitDate[2], splitDate[1]-1, splitDate[0])\n }\n ///////////////////////////////////////////////////////\n \n displayMode = 'list';\n changeDisplayMode(mode): void {\n this.displayMode = mode;\n }\n itemsPerPageChange(perPage: number): void {\n this.tableEngine.paginateData(perPage, 1)\n }\n\n}\n","\n\n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n \n  \n \n
    \n \n \n \n \n
  • \n \n \n {{ \"DeleteSelected\" | translate }}\n \n
  • \n \n
    \n
    \n
    \n \n {{ \"Name\" | translate }}\n \n\n \n \n {{ \"dateOfRegistration\" | translate }}\n \n \n \n \n {{ \"StartingDate\" | translate }}\n \n \n \n \n {{ \"EndDate\" | translate }}\n \n \n \n \n \n {{ \"ResultCount\" | translate }}\n \n \n \n {{ tableEngine.itemsPerPage }}\n \n \n \n {{ item }}\n \n \n \n \n
    \n \n \n \n \n \n {{obj.Name}}\n \n {{obj.dateOfRegistration | date:'mediumDate'}}\n \n {{obj.StartingDate | date:'mediumDate'}}\n \n {{obj.EndDate | date:'mediumDate'}}\n \n \n \n \n \n \n
    \n \n
    \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { TableEngine } from 'src/app/invoices/TableEngine';\nimport { DataFilterer } from 'src/app/views/invoice/shared/DataFilterer';\nimport { DataPaginator } from 'src/app/views/invoice/shared/DataPaginator';\nimport { DataSorter } from 'src/app/views/invoice/shared/DataSorter';\nimport { SidePopupComponent } from 'src/app/views/invoice/side-popup/side-popup.component';\nimport { SalariesManagerModel } from '..//add-salaries-manager/SalariesManagerModel';\nimport { SalarySlipService } from '../add-salary-slip/salary-slip.service';\nimport { SalarySlipModel } from '../add-salary-slip/SalarySlipModel';\n\n@Component({\n // moduleId: module.id,\n selector: 'list-salary-slip',\n templateUrl: 'list-salary-slip.component.html',\n styleUrls: ['list-salary-slip.component.scss']\n})\nexport class ListSalarySlipComponent {\n Id=0;\n constructor(private formBuilder: FormBuilder, private modelService: SalarySlipService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService, private router : Router,\n private route: ActivatedRoute\n ) { this.Id = + route.snapshot.paramMap.get('Id'); }\n\ntableEngine = new TableEngine(this.translate, this.notifications);\ncurrentScreen: any = 'Table';\ntableView: any = true;\n// PriceList : WarehouseModel[]=[];\n\n\ntranslationName: string = 'Warehouse' \nsortableKeys = [];\nsearchableKeys = ['Code'];\nmodelObject: SalarySlipModel = new SalarySlipModel();\n// ProducteList:EmployeesManagementModel[]=[];\n\ndebugMode = true;\n\nogData: SalarySlipModel[] = [];\nmainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n dateOfRegistration: new FormControl(),\n StartingDate: new FormControl(),\n EndDate: new FormControl(),\n EmployeeId: new FormControl(),\n Code: new FormControl(),\n CurrencyId: new FormControl(),\n TotalSalary: new FormControl(),\n TotalDiscount: new FormControl(),\n NetSalary: new FormControl(),\n Statuse: new FormControl(),\n});\n\n\ndeclare lang: any;\ndeclare itemOrder: any;\ncurrentAction = '';\ncurrentFormMode: string = '';\nsavedPage = 0;\ncurrentPage = 1; \ndeletionList: any[] = [];\n\n@ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n@ViewChild('delModal', { static: true }) delModal: ModalDirective;\n@ViewChild('smallModal', { static: true }) smallModal: ModalDirective = null;\nformPresentationModal: any;\nngOnInit(): void {\n // this.getAllCountryCode(); \n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: this.lang === 'ar-EG' ? 'Name' : 'Name' }; \n this.sortableKeys = [ \n // { label: 'Date', property: 'Date' }, \n { label: 'Name', property: this.lang === 'ar-EG' ? 'Name' : 'Name' }, \n { label: 'Nickname', property: this.lang === 'ar-EG' ? 'Nickname' : 'Nickname' }, \n { label: 'MobileNumber', property: this.lang === 'ar-EG' ? 'MobileNumber' : 'MobileNumber' }, \n \n ];\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n //this.tableEngine.modelObject = {}\n this.loadServices();\n this.modelService.getAll().subscribe(data=>{\n this.modelObject=data;\n })\n\n} \nshowInfoModalRef(Id: any): void {\n this.router.navigate(['app/HR/Info-Salaries-Slip/',Id])\n }\n showDelModal(Id: any): void {\n debugger;\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n \n }\n\n showModal(Id, action) {\n \n if (action === 'Add') { \n debugger;\n this.router.navigate(['app/HR/Add-Salaries-Slip/',0]) \n }\n else if (action === 'Edit') {\n debugger;\n this.router.navigate(['app/HR/Add-Salaries-Slip/',Id])\n \n \n }\n else if (action === 'Info') {\n debugger;\n \n this.router.navigate(['app/HR/Info-Salaries-Slip/',Id])\n \n \n }\n //this.mainForm.get('IsActive').setValue(true);\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n \n }\n \n \n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject(){\n debugger;\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.delModal.hide();\n // this.finalizeDeletion();\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\"));\n if (this.sideModalRef === undefined) {\n \n this.tableEngine.smallModal.hide();\n \n } else {\n \n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n \n \n\n \n executeEditObject(Object) {\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n if (this.sideModalRef === undefined) {\n \n this.tableEngine.smallModal.hide();\n \n } else {\n \n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n \n loadServices(){\n // debugger;\n this.currentAction = 'loading';\n this.tableEngine.loadData(); \n \n \n }\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n \n selected : any[] = [];\n selectAllState = '';\n SearchFrom: Date = null;\n SearchTo: Date = null;\n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n SearchTerm: any = '';\n \n clearSearch() {\n this.SearchFrom = null;\n this.SearchTo = null;\n }\n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n filterData() {\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n isSelected(p: SalariesManagerModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n \n onSelect(item: SalariesManagerModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n \n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n \n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n \n prepChangeSort(sortKey) {\n this.SearchFrom = null;\n this.SearchTo = null;\n \n \n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n \n getFormattedDate(dateString: any){\n let splitDate: number[] = dateString.toString().split(\"/\");\n \n return new Date(splitDate[2], splitDate[1]-1, splitDate[0])\n }\n ///////////////////////////////////////////////////////\n \n displayMode = 'list';\n changeDisplayMode(mode): void {\n this.displayMode = mode;\n }\n itemsPerPageChange(perPage: number): void {\n this.tableEngine.paginateData(perPage, 1)\n }\n\n}\n","\n\n\n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n \n  \n \n
    \n \n \n \n \n
  • \n \n \n {{ \"DeleteSelected\" | translate }}\n \n
  • \n \n
    \n
    \n
    \n \n {{ \"Code\" | translate }}\n \n\n \n \n {{ \"dateOfRegistration\" | translate }}\n \n \n \n \n {{ \"StartingDate\" | translate }}\n \n \n \n \n {{ \"EndDate\" | translate }}\n \n \n \n \n \n {{ \"ResultCount\" | translate }}\n \n \n \n {{ tableEngine.itemsPerPage }}\n \n \n \n {{ item }}\n \n \n \n \n
    \n \n \n \n \n \n {{obj.Code}}\n \n {{obj.dateOfRegistration | date:'mediumDate'}}\n \n {{obj.StartingDate | date:'mediumDate'}}\n \n {{obj.EndDate | date:'mediumDate'}}\n \n \n \n \n \n \n
    \n \n
    \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n\n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { SalariesManagerModel } from './add-salaries-manager/SalariesManagerModel';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SalariesManagerService {\n\n\n constructor(private http:HttpClient ) { }\n\n \n baseUrl = environment.baseApiUrl;\n token = localStorage.getItem(\"token\");\n httpOptions = {\n headers: new HttpHeaders({\n // 'Content-Type': 'application/json; charset=utf-8',\n // 'Authorization': \"Bearer \" + token,\n \"Authorization\": \"Bearer \" + this.token,\n \"Content-Type\": \"application/json\"\n })\n };\n\n getAll(): Observable {\n \n return this.http\n .get(`${this.baseUrl}SalariesManager/GetAll`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ngetById(Id:number): Observable {\n\n return this.http\n .get(`${this.baseUrl}SalariesManager/GetById/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ninsert(payload: SalariesManagerModel): Observable {\n \n return this.http\n .post(`${this.baseUrl}SalariesManager/Insert`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\n\n\nupdate(payload: SalariesManagerModel): Observable {\n return this.http\n .post(`${this.baseUrl}SalariesManager/Update`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ndelete(Id:number): Observable {\n return this.http\n .get(`${this.baseUrl}SalariesManager/Delete/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\n deleteList(payload: SalariesManagerModel []): Observable {\n return this.http\n .post(`${this.baseUrl}SalariesManager/DeleteList`,JSON.stringify(payload),this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n getLastNumber(): Observable {\n \n return this.http\n .get(`${this.baseUrl}SalariesManager/GetLastNumber`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n}\n","import { SalaryItemsService } from './../../salary-items.service';\nimport { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { SalaryItemsModel } from '../../models/salary-items.model';\nimport { DataFilterer } from 'src/app/views/invoice/shared/DataFilterer';\nimport { DataSorter } from 'src/app/views/invoice/shared/DataSorter';\nimport { DataPaginator } from 'src/app/views/invoice/shared/DataPaginator';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { SidePopupComponent } from 'src/app/views/invoice/side-popup/side-popup.component';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { of } from 'rxjs';\n\n@Component({\n selector: 'salary-items',\n templateUrl: 'salary-items.component.html',\n styleUrls: ['salary-items.component.scss']\n})\nexport class SalaryItemsComponent {\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n constructor(private formBuilder: FormBuilder, private modelService: SalaryItemsService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService\n ) { //Additional services for City and Country\n }\n currentScreen: any = 'Table';\n \n translationName: string = ' Salary Item'\n \n sortableKeys = [];\n searchableKeys = ['ItemName'];\n \n modelObject: SalaryItemsModel = new SalaryItemsModel({});\n ogData: SalaryItemsModel [] = [ ];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n ItemName : new FormControl(),\n Description : new FormControl(),\n ItemTypeId : new FormControl(),\n ItemValueByAmount : new FormControl(),\n ItemValueByPercent : new FormControl(),\n });\n \n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: 'ItemName' };\n this.sortableKeys = [\n { label: 'Name', property: 'ItemName' },\n { label: 'Description', property: 'Description' },\n { label: 'ItemValueByAmount', property: 'ItemValueByAmount' },\n { label: 'ItemValueByPercent', property: 'ItemValueByPercent' },\n { label: 'SalaryItemTypeName', property: this.lang === 'ar-EG' ?'SalaryItemTypeNameAr':'SalaryItemTypeNameEn' },\n ];\n //this.loadData();\n this.loadServices();\n }\n \n createForm(): FormGroup {\n debugger;\n return this.formBuilder.group({\n Id: [this.modelObject.Id >= 0 ? this.modelObject.Id : 0],\n ItemName : [this.modelObject.ItemName , Validators.compose([Validators.required])],\n Description : [this.modelObject.Description ],\n ItemTypeId : [this.modelObject.ItemTypeId , Validators.compose([Validators.required])],\n ItemValueByAmount : [this.modelObject.ItemValueByAmount ],\n ItemValueByPercent : [this.modelObject.ItemValueByPercent ],\n });\n }\n \n addObject() {\n debugger;\n //prevent multiclick submits. enable again after API response.\n this.currentAction = 'loading';\n \n this.modelObject = new SalaryItemsModel();\n this.modelObject = this.mainForm.getRawValue();\n this.modelObject.Id = 0;\n this.executeAddObject();\n }\n \n executeAddObject(){\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n this.sideModalRef.modalRef.hide();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n \n editObject() {\n this.savedPage = this.currentPage;\n this.currentAction = 'loading';\n \n let tempObj = this.mainForm.getRawValue();\n if(tempObj != this.modelObject){\n this.executeEditObject(tempObj);\n }\n else{\n this.sideModalRef.modalRef.hide();\n }\n }\n \n executeEditObject(Object)\n {\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n \n this.sideModalRef.modalRef.hide();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n \n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject(){\n this.modelService.deleteList(this.deletionList).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.finalizeDeletion();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n \n //Get any additional data here\n types:any;\n loadServices(){ \n this.modelService.getAllSalaryItemType()\n .subscribe(result => {\n this.types = result;\n })\n this.currentAction = 'loading';\n this.loadData();\n\n }\n \n \n \n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n lang: string;\n currentFormMode: string = '';\n currentAction: string = '';\n \n \n //ogData = [];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n \n SelectAllBox: any = false;\n \n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n itemOrder: any;\n orderAsc: boolean = true;\n \n currentPage = 1;\n savedPage = 0;\n \n \n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n \n loadData() {\n debugger;\n this.currentAction = 'loading';\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.sortData();\n this.loadSearch();\n this.currentAction = '';\n }\n )\n \n }\n \n sortData() {\n debugger;\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n \n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n \n filterData() {\n debugger;\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n \n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n debugger;\n\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n \n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n \n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n \n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n \n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n \n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n \n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n \n isSelected(p: SalaryItemsModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n \n onSelect(item: SalaryItemsModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n \n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n \n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent;\n @ViewChild('delModal') delModal: ModalDirective;\n showAddNewModalRef(): void {\n this.currentFormMode = 'Add'\n this.modelObject = new SalaryItemsModel;\n this.mainForm = this.createForm();\n this.sideModalRef.show();\n }\n \n showEditModalRef(Id: any): void {\n this.currentFormMode = 'Edit'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.sideModalRef.show();\n }\n \n showInfoModalRef(Id: any): void {\n this.currentFormMode = 'Info'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.sideModalRef.show();\n }\n \n deletionList: SalaryItemsModel[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n \n SearchTerm: any = '';\n \n \n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n \n this.deletionList = [];\n this.selected = [];\n \n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n \n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n \n loadAllData() {\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.loadSearch();\n }\n )\n }\n \n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n }\n ","\n
    \n
    \n
    \n

    \n {{currentFormMode+translationName | translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"Name Required\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"Type Required\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"Amount Required\" | translate}}
    \n \n
    \n \n
    \n \n \n \n
    \n {{\"Description Required\" | translate}}
    \n \n
    \n \n\n\n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Name\" | translate}}\n \n
    \n {{\"Amount\" | translate}}\n \n
    \n {{\"Type\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{obj.ItemName}}{{obj.ItemValueByAmount}}{{ lang === 'ar-EG' ?obj.SalaryItemTypeNameAr:obj.SalaryItemTypeNameEn}}\n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","export class SalaryItemsModel{\r\n Id?: number;\r\n ItemName ?: string;\r\n Description ?: string;\r\n ItemTypeId ?: number;\r\n ItemValueByAmount ?: number;\r\n ItemValueByPercent ?: number;\r\n SalaryItemTypeNameEn?: string;\r\n SalaryItemTypeNameAr?: string;\r\n constructor(item ?: SalaryItemsModel){\r\n item = item ? item :{};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.ItemName = item.ItemName ? item.ItemName : '';\r\n this.Description = item.Description ? item.Description : '';\r\n this.SalaryItemTypeNameEn = item.SalaryItemTypeNameEn ? item.SalaryItemTypeNameEn : '';\r\n this.SalaryItemTypeNameAr = item.SalaryItemTypeNameAr ? item.SalaryItemTypeNameAr : '';\r\n this.ItemTypeId = item.ItemTypeId ? item.ItemTypeId : 0;\r\n this.ItemValueByAmount = item.ItemValueByAmount ? item.ItemValueByAmount : 0;\r\n this.ItemValueByPercent = item.ItemValueByPercent ? item.ItemValueByPercent : 0;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { SalaryItemsModel } from './models/salary-items.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SalaryItemsService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}SalaryItems/GetAll `,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getAllSalaryItemType(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}SalaryItemType/GetAll `,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}SalaryItems/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: SalaryItemsModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}SalaryItems/Insert `, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: SalaryItemsModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}SalaryItems/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: SalaryItemsModel): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}SalaryItems/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: SalaryItemsModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}SalaryItems/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'hr-dashboard',\n templateUrl: 'hr-dashboard.component.html',\n styleUrls: ['hr-dashboard.component.scss']\n})\nexport class HrDashboardComponent {\n\n}\n","
    \n\n
    \n \n
    \n
    \n
    \n
    \n \n \n

    {{\"Department\" | translate}}

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

    {{\"JobLevels\" | translate}}

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

    {{\"JobTypes\" | translate}}

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

    {{\"JobTitles\" | translate}}

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

    {{\"Employees\" | translate}}

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

    {{\"Attendance Record\" | translate}}

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

    {{\"Vacations Types\" | translate}}

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

    {{\"Vacations\" | translate}}

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

    {{\"Holidays\" | translate}}

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

    {{\"Shifts\" | translate}}

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

    {{\"Salary Items\" | translate}}

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

    {{\"Contracts\" | translate}}

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

    {{\"Predecessors\" | translate}}

    \n
    \n
    \n
    \n
    \n
    \n
    ","import { AddSalarySlipComponent } from './Salaries/add-salary-slip/add-salary-slip.component';\r\nimport { AddSalariesManagerComponent } from './Salaries/add-salaries-manager/add-salaries-manager.component';\r\nimport { UploadContractFileComponent } from './Salaries/contract/components/upload-contract-file/upload-contract-file.component';\r\nimport { SalaryItemsComponent } from './Salaries/salary-items/components/salary-items/salary-items.component';\r\nimport { HrDashboardComponent } from './hr-dashboard/hr-dashboard.component';\r\n\r\nimport { NgxCountdownComponent } from './Attendance/attendance-session/components/ngx-countdown/ngx-countdown.component';\r\nimport { VacationsTypesComponent } from './Attendance/Vacations/VacationsTypes/components/vacations-types/vacations-types.component';\r\nimport { VacationsComponent } from './Attendance/Vacations/Vacation/components/vacations/vacations.component';\r\nimport { ShiftsComponent } from './Attendance/shifts/components/shifts/shifts.component';\r\nimport { HolidaysComponent } from './Attendance/holidays/components/holidays/holidays.component';\r\nimport { CreateHolidayComponent } from './Attendance/holidays/components/create-holiday/create-holiday.component';\r\nimport { NotesAndAttachmentComponent } from './Employees/EmployeesManagement/Actions-and-Notes/notes-and-attachment/notes-and-attachment.component';\r\nimport { AddActionsComponent } from './Employees/EmployeesManagement/Actions-and-Notes/add-actions/add-actions.component';\r\nimport { AddEmployeesManagementComponent } from './Employees/EmployeesManagement/add-employees-management/add-employees-management.component';\r\nimport { ListJobTypesComponent } from './Organization_Structure/JobTypesComponentes/list-job-types/list-job-types.component';\r\nimport { InfoJobLevelsComponent } from './Organization_Structure/JobLevelsComponentes/info-job-levels/info-job-levels.component';\r\nimport { InfoDepartmentComponent } from './Organization_Structure/Department_components/info-department/info-department.component';\r\nimport { ListDepartmentComponent } from './Organization_Structure/Department_components/list-department/list-department.component';\r\nimport { ListJobLevelsComponent } from './Organization_Structure/JobLevelsComponentes/list-job-levels/list-job-levels.component';\r\nimport { InfoJobTypesComponent } from './Organization_Structure/JobTypesComponentes/info-job-types/info-job-types.component';\r\nimport { InfoJobTitlesComponent } from './Organization_Structure/JobTitels_Componentes/info-job-titles/info-job-titles.component';\r\nimport { ListJobTitlesComponent } from './Organization_Structure/JobTitels_Componentes/list-job-titles/list-job-titles.component';\r\nimport { InfoEmployeesManagementComponent } from './Employees/EmployeesManagement/info-employees-management/info-employees-management.component';\r\nimport { ListEmployeesManagementComponent } from './Employees/EmployeesManagement/list-employees-management/list-employees-management.component';\r\nimport { ActionStatusComponent } from './Employees/EmployeesManagement/Actions-and-Notes/action-status/action-status.component';\r\nimport { AddUsersComponent } from './Employees/Users/add-users/add-users.component';\r\nimport { InfoUsersComponent } from './Employees/Users/info-users/info-users.component';\r\nimport { AllSessionsComponent } from './Attendance/attendance-session/components/all-sessions/all-sessions.component';\r\nimport { ViewSessionComponent } from './Attendance/attendance-session/components/view-session/view-session.component';\r\n\r\n\r\nimport { SortablejsModule } from 'ngx-sortablejs';\r\nimport { SearchPipePipe } from './../pipes/search-pipe.pipe';\r\nimport { PagesContainersModule } from './../containers/pages/pages.containers.module';\r\nimport { ComponentsCarouselModule } from './../components/carousel/components.carousel.module';\r\nimport { SharedModule } from './../shared/shared.module';\r\nimport { environment } from './../../environments/environment';\r\nimport { LayoutContainersModule } from './../containers/layout/layout.containers.module';\r\nimport { NgModule } from '@angular/core';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { AngularFireModule } from '@angular/fire';\r\nimport { CommonModule, DatePipe } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { ModalModule } from 'ngx-bootstrap/modal';\r\nimport { ArchwizardModule } from 'angular-archwizard';\r\nimport { AngularFireAuthModule } from '@angular/fire/auth';\r\nimport { AngularFireAuthGuardModule } from '@angular/fire/auth-guard';\r\nimport { FormsModule as FormsModuleAngular } from '@angular/forms';\r\nimport { TabsModule } from 'ngx-bootstrap/tabs';\r\nimport { HeadroomModule } from '@ctrl/ngx-headroom';\r\nimport { ScrollToModule } from '@nicky-lenaers/ngx-scroll-to';\r\nimport { NgxDatatableModule } from '@swimlane/ngx-datatable';\r\nimport { CollapseModule } from 'ngx-bootstrap/collapse';\r\nimport { PopoverModule } from 'ngx-bootstrap/popover';\r\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { HRRoutingModule } from './HR.routing';\r\nimport { SidePopupComponent } from '../views/app/aio/shared/side-popup/side-popup.component';\r\nimport { PaginationConfig, PaginationModule } from 'ngx-bootstrap/pagination';\r\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\r\nimport { SimpleNotificationsModule } from 'angular2-notifications';\r\nimport {MatTabsModule} from '@angular/material/tabs';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { FileUploadModule } from 'ng2-file-upload';\r\nimport { AccordionModule } from 'ngx-bootstrap/accordion';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { RatingModule } from 'ngx-bootstrap/rating';\r\nimport { ComponentsPlayerModule } from '../components/player/components.player.module';\r\nimport { LightboxModule } from 'ngx-lightbox';\r\nimport { RouterModule } from '@angular/router';\r\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\r\nimport { BootstrapModule } from '../components/bootstrap/bootstrap.module';\r\nimport { TimepickerModule } from 'ngx-bootstrap/timepicker';\r\nimport { ContractsComponent } from './Salaries/contract/components/contracts/contracts.component';\r\nimport { PredecessorComponent } from './Predecessor/components/predecessor/predecessor.component';\r\nimport { AddSalariesPaymentComponent } from './Salaries/add-salaries-payment/add-salaries-payment.component';\r\nimport { InfoSalariesManagerComponent } from './Salaries/info-salaries-manager/info-salaries-manager.component';\r\nimport { ListSalariesManagerComponent } from './Salaries/list-salaries-manager/list-salaries-manager.component';\r\nimport { ListSalarySlipComponent } from './Salaries/list-salary-slip/list-salary-slip.component';\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n HRRoutingModule,\r\n LayoutContainersModule,\r\n MatTabsModule,\r\n TranslateModule,\r\n HttpClientModule,\r\n AngularFireModule.initializeApp(environment.firebase),\r\n FormsModule,\r\n ReactiveFormsModule,\r\n ModalModule.forRoot(),\r\n ArchwizardModule,\r\n SharedModule,\r\n NgSelectModule,\r\n FormsModuleAngular,\r\n AngularFireAuthModule,\r\n AngularFireAuthGuardModule,\r\n ComponentsCarouselModule,\r\n TabsModule.forRoot(),\r\n HeadroomModule,\r\n ScrollToModule.forRoot(),\r\n NgxDatatableModule,\r\n CollapseModule,\r\n PagesContainersModule,\r\n PopoverModule.forRoot(),\r\n TooltipModule.forRoot(),\r\n BsDropdownModule,\r\n SortablejsModule,\r\n PaginationModule,\r\n SimpleNotificationsModule.forRoot(),\r\n\r\n\r\n\r\n\r\n /////////////////////\r\n SimpleNotificationsModule,\r\n LayoutContainersModule,\r\n MatTooltipModule,\r\n FileUploadModule,\r\n AccordionModule,\r\n MatTreeModule,\r\n MatIconModule,\r\n MatButtonModule ,\r\nMatCheckboxModule ,\r\nMatFormFieldModule,\r\nMatInputModule ,\r\nMatProgressBarModule,\r\n\r\nRatingModule.forRoot(),\r\nComponentsPlayerModule,\r\nLightboxModule,\r\nRouterModule,\r\nPerfectScrollbarModule,\r\nBootstrapModule,\r\n\r\nTimepickerModule.forRoot(),\r\n ],\r\n declarations: [\r\n HrDashboardComponent,\r\n InfoDepartmentComponent,\r\n ListDepartmentComponent,\r\n InfoJobLevelsComponent,\r\n ListJobLevelsComponent,\r\n InfoJobTypesComponent,\r\n ListJobTypesComponent,\r\n InfoJobTitlesComponent,\r\n ListJobTitlesComponent,\r\n AddEmployeesManagementComponent,\r\n \r\n AddActionsComponent,\r\n NotesAndAttachmentComponent,\r\n InfoEmployeesManagementComponent,\r\n ListEmployeesManagementComponent,\r\n ActionStatusComponent,\r\n AddUsersComponent,\r\n InfoUsersComponent,\r\n AllSessionsComponent,\r\n ViewSessionComponent,\r\n NgxCountdownComponent,\r\n VacationsTypesComponent,\r\n VacationsComponent,\r\n HolidaysComponent,\r\n CreateHolidayComponent,\r\n ShiftsComponent,\r\n SalaryItemsComponent,\r\n ContractsComponent,\r\n UploadContractFileComponent,\r\n PredecessorComponent,\r\n AddSalariesManagerComponent,\r\nListSalariesManagerComponent,\r\nInfoSalariesManagerComponent,\r\nAddSalariesPaymentComponent,\r\nAddSalarySlipComponent,\r\nListSalarySlipComponent\r\n ],\r\n providers: [DatePipe,PaginationConfig],\r\n exports:[NgxCountdownComponent,UploadContractFileComponent],\r\n// bootstrap: [InvoiceComponent]\r\n})\r\nexport class HRModule { }\r\n","export class BalanceNameModel{\r\n Id?: Number;\r\n NameAr?:string;\r\n NameEn?: string; \r\n\r\n constructor(item?:BalanceNameModel){\r\n item = item? item:{};\r\n this.Id = item.Id? item.Id:0;\r\n this.NameAr=item.NameAr ? item.NameAr:'';\r\n this.NameEn=item.NameEn ? item.NameEn:''; \r\n \r\n }\r\n\r\n}","import { BalanceNameService } from './balance-name.service';\nimport { BalanceNameModel } from './balance-name-model';\nimport { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationsService } from 'angular2-notifications';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { TableEngine } from 'src/app/invoices/TableEngine';\nimport { observable } from 'rxjs';\nimport { SidePopupComponent } from 'src/app/views/invoice/side-popup/side-popup.component';\n@Component({\n // moduleId: module.id,\n selector: 'balance-name',\n templateUrl: 'balance-name.component.html',\n styleUrls: ['balance-name.component.scss']\n})\nexport class BalanceNameComponent {\n constructor(private formBuilder: FormBuilder, public modelService: BalanceNameService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService\n \n ) {\n }\n \n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n \n translationName: string = 'Types'\n \n sortableKeys = [];\n searchableKeys = ['NameEn', 'NameAr'];\n \n modelObject: BalanceNameModel = new BalanceNameModel();\n \n ogData: BalanceNameModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n NameEn: new FormControl(),\n NameAr: new FormControl(),\n });\n\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective;\n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' };\n this.sortableKeys = [\n { label: 'Name', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' },\n ];\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n this.loadServices();\n }\n\n showModal(Id, action) {\n if (action === 'Add') {\n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n }\n else if (action === 'Edit') {\n\n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder)\n\n }\n else if (action === 'Info') {\n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder)\n }\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n }\n\n createForm(modelObject, formBuilder): FormGroup {\n return formBuilder.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n NameEn: [modelObject.NameEn, Validators.compose([Validators.required])],\n NameAr: [modelObject.NameAr, Validators.compose([Validators.required])],\n // PostalCode: [modelObject.PostalCode, Validators.compose([Validators.required, Validators.pattern(/^/d{5}$/)])],\n });\n }\n\n addObject() {\n this.currentAction = 'loading';\n\n this.modelObject = new BalanceNameModel();\n this.modelObject.Id = 0;\n this.modelObject.NameEn = this.mainForm.getRawValue().NameEn;\n this.modelObject.NameAr = this.mainForm.getRawValue().NameAr;\n // this.modelObject.PostalCode = this.mainForm.getRawValue().PostalCode;\n\n this.executeAddObject();\n }\n\n executeAddObject() {\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n\n editObject() {\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n\n let tempObj = new BalanceNameModel({\n Id: this.modelObject.Id,\n NameEn: this.mainForm.getRawValue().NameEn,\n NameAr: this.mainForm.getRawValue().NameAr,\n // PostalCode : this.mainForm.getRawValue().PostalCode\n });\n\n if (JSON.stringify(tempObj) != JSON.stringify(this.modelObject)) {\n this.executeEditObject(tempObj);\n }\n else {if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n }\n\n executeEditObject(Object) {\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject() {\n \n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n\n\n prepChangeSort(sortKey) {\n this.tableEngine.itemOrder = this.itemOrder;\n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey))\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n loadServices() {\n this.currentAction = 'loading';\n this.tableEngine.loadData();\n }\n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepSort(sortKey) {\n this.tableEngine.changeSort(this.tableEngine.getSort('Name'));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n}\n","\n
    \n
    \n
    \n
    \n
    \n

    \n {{tableEngine.currentFormMode+translationName | translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"NameArRequired\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n {{\"NameEnRequired\" | translate}}
    \n \n
    \n \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n tableEngine.deletionList.length === tableEngine.ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Name\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{lang==='ar-EG'?obj.NameAr:obj.NameEn}}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, throwError } from 'rxjs';\nimport { environment } from 'src/environments/environment';\nimport { catchError, retry } from 'rxjs/operators';\nimport { BalanceNameModel } from './balance-name-model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BalanceNameService {\n\n constructor(private http:HttpClient ) { }\n\n \n baseUrl = environment.baseApiUrl;\n token = localStorage.getItem(\"token\");\n httpOptions = {\n headers: new HttpHeaders({\n // 'Content-Type': 'application/json; charset=utf-8',\n // 'Authorization': \"Bearer \" + token,\n \"Authorization\": \"Bearer \" + this.token,\n \"Content-Type\": \"application/json\"\n })\n }; \n\n getAll(): Observable {\n \n return this.http\n .get(`${this.baseUrl}InventoryBalanceName/GetAll`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ngetById(id:number): Observable {\n\n return this.http\n .get(`${this.baseUrl}InventoryBalanceName/GetById/${id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ninsert(payload: BalanceNameModel): Observable {\n \n return this.http\n .post(`${this.baseUrl}InventoryBalanceName/Insert`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\nupdate(payload: BalanceNameModel): Observable {\n return this.http\n .put(`${this.baseUrl}InventoryBalanceName/Update`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ndelete(payload: BalanceNameModel): Observable {\n return this.http\n .get(`${this.baseUrl}InventoryBalanceName/Delete/${payload.Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\n deleteList(payload: BalanceNameModel []): Observable {\n return this.http\n .post(`${this.baseUrl}InventoryBalanceName/DeleteList`,JSON.stringify(payload),this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n// catchError(error: any){\n// let erroeMessage = \"\";\n// if (error.error instanceof ErrorEvent) {\n// erroeMessage = error.error.message;\n// }\n// else {\n// erroeMessage = `Error code : ${error.status} \\n Error Message :${error.message}`\n// }\n// window.alert(erroeMessage);\n// return throwError(erroeMessage);\n// }\n}\n// function catchError(arg0: (error: any) => Observable): import(\"rxjs\").OperatorFunction {\n// throw new Error('Function not implemented.');\n// }\n\n","export class AdditionAdjustmentModel {\r\n Id?: number;\r\n CompanyDataId?: number;\r\n BranchesDataId?: number;\r\n StoreDataId?: number;\r\n ItemsHeaderId?: number;\r\n UnitTypeId?: number;\r\n UnitPrice?: number;\r\n Quantity?: number;\r\n TotalValue?: number;\r\n\r\n constructor(obj?: AdditionAdjustmentModel) {\r\n obj = obj ? obj : {};\r\n this.Id = obj?.Id ? obj.Id : 0;\r\n this.CompanyDataId = obj?.CompanyDataId ? obj.CompanyDataId : 0;\r\n this.BranchesDataId = obj?.BranchesDataId ? obj?.BranchesDataId : 0;\r\n this.StoreDataId = obj?.StoreDataId ? obj?.StoreDataId : 0;\r\n this.ItemsHeaderId = obj?.ItemsHeaderId ? obj?.ItemsHeaderId : 0;\r\n this.UnitTypeId = obj?.UnitTypeId ? obj?.UnitTypeId : 0;\r\n this.UnitPrice = obj?.UnitPrice ? obj?.UnitPrice : 0;\r\n this.Quantity = obj?.Quantity ? obj?.Quantity : 0;\r\n this.TotalValue = obj?.TotalValue ? obj?.TotalValue : 0;\r\n \r\n }\r\n}\r\n","import { SidePopupComponent } from './../../../views/invoice/side-popup/side-popup.component';\nimport { Component, Renderer2, ViewChild } from \"@angular/core\";\nimport {\n FormBuilder,\n FormControl,\n FormGroup,\n Validators,\n} from \"@angular/forms\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { NotificationsService } from \"angular2-notifications\";\nimport { ModalDirective } from \"ngx-bootstrap/modal\";\nimport { PageChangedEvent } from \"ngx-bootstrap/pagination\";\nimport { TableEngine } from \"../../../invoices/TableEngine\";\nimport { ItemsModel } from \"../item-balance/shared/Models/ItemsModel\";\nimport { StoreDataService } from \"../store-data/store-data.service\";\nimport { StoreDataModel } from \"../store-data/StoreDataModel\";\nimport { AdditionAdjustmentService } from \"./addition-adjustment.service\";\nimport { AdditionAdjustmentModel } from \"./AdditionAdjustmentModel\";\nimport { DataFilterer } from 'src/app/views/app/aio/shared/DataFilterer';\nimport { DataSorter } from 'src/app/views/app/aio/shared/DataSorter';\nimport { DataPaginator } from 'src/app/views/app/aio/shared/DataPaginator';\n\n@Component({\n // moduleId: module.id,\n selector: \"addition-adjustment\",\n templateUrl: \"addition-adjustment.component.html\",\n styleUrls: [\"addition-adjustment.component.scss\"],\n})\nexport class AdditionAdjustmentComponent {\n constructor(\n private formBuilder: FormBuilder,\n private modelService: AdditionAdjustmentService,\n private renderer: Renderer2,\n private notifications: NotificationsService,\n private translate: TranslateService,\n private StoreDataService: StoreDataService\n ) {}\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = \"Table\";\n\n translationName: string = \"\";\n\n sortableKeys = [];\n searchableKeys = [\"StoreDataId\",\"ItemsHeaderId\"];\n\n modelObject: AdditionAdjustmentModel = new AdditionAdjustmentModel();\n\n ogData: AdditionAdjustmentModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n CompanyDataId: new FormControl(),\n BranchesDataId: new FormControl(),\n StoreDataId: new FormControl(),\n ItemsHeaderId: new FormControl(),\n UnitTypeId: new FormControl(),\n UnitPrice: new FormControl(),\n Quantity: new FormControl(),\n TotalValue: new FormControl(),\n });\n\n declare lang: any;\n declare itemOrder: any;\n currentAction = \"\";\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n\n @ViewChild(\"sideModalRef\", { static: true }) sideModalRef: SidePopupComponent;\n @ViewChild(\"delModal\", { static: true }) delModal: ModalDirective;\n @ViewChild(\"smallModal\", { static: true }) smallModal: ModalDirective = null;\n ngOnInit(): void {\n this.lang = localStorage.getItem(\"theme_lang\");\n // this.itemOrder = { label: \"StoreDataId\", property: \"Id\" };\n this.itemOrder = { label: 'StoreDataId', property:this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' };\n this.itemOrder = { label: 'ItemsHeaderId', property:this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' };\n this.sortableKeys = [\n // { label: 'BranchName', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' },\n {\n label: \"StoreDataId\",\n property: this.lang === \"ar-EG\" ? \"NameAr\" : \"NameEn\",\n },\n {\n label: \"ItemsHeaderId\",\n property: this.lang === \"ar-EG\" ? \"NameAr\" : \"NameEn\",\n },\n { label: \"UnitPrice\", property: \"UnitPrice\" },\n { label: \"Quantity\", property: \"Quantity\" },\n { label: \"TotalValue\", property: \"TotalValue\" },\n // { label: \"ItemsHeader\", property: \"ItemsHeaderId\" },\n ];\n this.loadServices();\n // this.tableEngine.loadData();\n // this.currentAction = '';\n this.tableEngine.loadTableEngine(\n this.ogData,\n this.modelService,\n this.modelObject,\n this.searchableKeys,\n this.sortableKeys,\n this.mainForm,\n this.translationName,\n this.itemOrder,\n this.sideModalRef,\n this.delModal,\n this.smallModal,\n this.lang\n );\n this.getTotal();\n }\n\n showModal(Id, action) {\n debugger;\n // this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n var i = this.ogData.findIndex(x=>x.Id == Id)\n if(i > -1){\n this.tableEngine.modelObject = this.ogData[i];\n \n }\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n if (action === \"Add\") {\n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder);\n } else if (action === \"Edit\") {\n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder);\n } else if (action === \"Info\") {\n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder);\n }\n\n }\n createForm(modelObject, formBuilder): FormGroup {\n return formBuilder.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n StoreDataId: [\n modelObject.StoreDataId,\n Validators.compose([Validators.required]),\n ],\n ItemsHeaderId: [\n modelObject.ItemsHeaderId,\n Validators.compose([Validators.required]),\n ],\n UnitPrice: [modelObject.UnitPrice],\n Quantity: [modelObject.Quantity],\n TotalValue: [modelObject.TotalValue],\n });\n }\n addObject() {\n debugger;\n this.currentAction = \"loading\";\n\n this.modelObject = new AdditionAdjustmentModel();\n this.modelObject.Id = 0;\n this.modelObject.CompanyDataId = 0;\n this.modelObject.BranchesDataId = 0;\n this.modelObject.ItemsHeaderId = +this.mainForm.getRawValue().ItemsHeaderId;\n this.modelObject.Quantity = this.mainForm.getRawValue().Quantity;\n this.modelObject.StoreDataId = +this.mainForm.getRawValue().StoreDataId;\n this.modelObject.TotalValue = this.mainForm.getRawValue().TotalValue;\n this.modelObject.UnitPrice = this.mainForm.getRawValue().UnitPrice;\n this.modelObject.UnitTypeId = this.mainForm.getRawValue().UnitTypeId;\n if(this.modelObject.UnitTypeId == null || this.modelObject.UnitTypeId == undefined){\n this.modelObject.UnitTypeId = 0;\n }\n this.executeAddObject();\n }\n\n executeAddObject() {\n this.modelService.insert(this.modelObject).subscribe((result) => {\n if (result === true) {\n this.tableEngine.loadData();\n this.loadServices();\n\n this.currentAction = \"\";\n this.tableEngine.toastSuccess(\n this.translate.instant(\"Success\"),\n this.translate.instant(\"SuccessfullyAdded\")\n );\n this.tableEngine.sideModalRef.modalRef.hide();\n } else {\n this.tableEngine.toastError(\n this.translate.instant(\"Error\"),\n this.translate.instant(\"FailedAdd\")\n );\n this.currentAction = \"\";\n }\n });\n }\n\n editObject() {\n this.currentAction = \"loading\";\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n\n let tempObj = new AdditionAdjustmentModel({\n Id: this.modelObject.Id,\n StoreDataId: this.mainForm.getRawValue().StoreDataId,\n Quantity: this.mainForm.getRawValue().Quantity,\n TotalValue: this.mainForm.getRawValue().TotalValue,\n UnitPrice: this.mainForm.getRawValue().UnitPrice,\n ItemsHeaderId: this.mainForm.getRawValue().ItemsHeaderId,\n });\n\n if (JSON.stringify(tempObj) != JSON.stringify(this.modelObject)) {\n this.executeEditObject(tempObj);\n } else {\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n\n executeEditObject(Object) {\n this.modelService.update(Object).subscribe((result) => {\n if (result === true) {\n this.tableEngine.loadData();\n this.loadServices();\n\n this.currentAction = \"\";\n this.tableEngine.toastSuccess(\n this.translate.instant(\"Success\"),\n this.translate.instant(\"SuccessfullyEdited\")\n );\n\n this.tableEngine.sideModalRef.modalRef.hide();\n } else {\n this.tableEngine.toastError(\n this.translate.instant(\"Error\"),\n this.translate.instant(\"FailedEdit\")\n );\n this.currentAction = \"\";\n }\n });\n }\n\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = \"loading\";\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject() {\n this.modelService\n .deleteList(this.tableEngine.deletionList)\n .subscribe((result) => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = \"\";\n this.tableEngine.finalizeDeletion();\n } else {\n this.tableEngine.toastError(\n this.translate.instant(\"Error\"),\n this.translate.instant(\"FailedDelete\")\n );\n this.currentAction = \"\";\n }\n });\n }\n\n StoreDataList: StoreDataModel[] = [];\n // storeService=StoreDataService;\n loadServices() {\n //debugger;\n this.currentAction = \"loading\";\n this.StoreDataService.getAll().subscribe((Data) => {\n this.StoreDataList = Data;\n // this.tableEngine.loadData();\n });\n this.modelService.getAllItems().subscribe((data) => {\n this.ItemsList = data;\n });\n this.modelService.getAll().subscribe((Data) => {\n this.ogData = Data;\n this.tableEngine.ogData = Data;\n this.sortData();\n });\n }\n ItemsList: ItemsModel[] = [];\n getStoreDataById(Id: any): any {\n //debugger;\n\n if (Id > 0) {\n return this.StoreDataList.find((i) => i.Id === Id);\n } else {\n return new StoreDataModel();\n }\n }\n // TValue = 0;\n getItemsById(Id: any): any {\n //debugger;\n if (Id > 0) {\n return this.ItemsList.find((i) => i.Id === Id);\n } else {\n return new ItemsModel();\n }\n }\n\n getPrice() {\n //debugger;\n var i = this.ItemsList.findIndex(\n (x) => x.Id == this.mainForm.controls[\"ItemsHeaderId\"].value\n );\n if (i > -1) {\n var item = this.ItemsList[i];\n this.mainForm.controls[\"UnitPrice\"].setValue(item.Cost);\n this.mainForm.controls[\"UnitTypeId\"].setValue(item.CodingUnitsId);\n }\n }\n Total: AdditionAdjustmentModel = {};\n\n getTotal() {\n //debugger;\n this.Total = this.mainForm.getRawValue();\n this.Total.TotalValue = +(this.Total.Quantity * this.Total.UnitPrice);\n this.mainForm.controls[\"TotalValue\"].setValue(this.Total.TotalValue);\n }\n // TValue=0;\n // AddList:AdditionAdjustmentModel[]=[];\n // calculateTotalItemValue() {\n // //debugger;\n // let total = 0;\n // this.ogData.forEach((item) => {\n // total += item.Quantity * item.UnitPrice;\n // });\n // this.TValue = total;\n // return total;\n // }\n\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n\n SelectAllBox: any = false;\n\n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = \"\";\n orderAsc: boolean = true;\n\n // itemOrder: any;\n // orderAsc: boolean = true;\n\n // currentPage = 1;\n // savedPage = 0;\n\n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n SearchTerm: any = \"\";\n\n sortData() {\n //debugger;\n this.sortedData = this.dataSorter.sortData(\n this.itemOrder.property,\n this.ogData\n );\n this.filterData();\n }\n\n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n\n filterData() {\n //debugger;\n\n this.filteredData = this.dataFilterer.filterData(\n this.SearchTerm,\n this.searchableKeys,\n this.sortedData\n );\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n } else {\n this.paginateData(\n this.itemsPerPage,\n Math.ceil(this.filteredData.length / this.itemsPerPage) >=\n this.savedPage\n ? this.savedPage\n : Math.ceil(this.filteredData.length / this.itemsPerPage)\n );\n }\n this.savedPage = 0;\n }\n\n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n //debugger;\n\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice(\n (newCurrentPage - 1) * newItemsPerPage,\n newItemsPerPage * newCurrentPage\n );\n }\n\n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData();\n this.currentPage = oldPage;\n } else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n\n getSort(label: any) {\n return this.sortableKeys.find((i) => i.label === label);\n }\n\n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n\n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = \"\";\n this.filterData();\n }\n\n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n\n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = \"checked\";\n } else if (this.selected.length !== 0) {\n this.selectAllState = \"indeterminate\";\n } else {\n this.selectAllState = \"\";\n }\n }\n\n isSelected(p: AdditionAdjustmentModel): boolean {\n return this.selected.findIndex((x) => x.Id === p.Id) > -1;\n }\n\n onSelect(item: AdditionAdjustmentModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter((x) => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n\n findByCode(list: any, code: any): any {\n return list.find((x) => x.Code === code);\n }\n}\n","\n \n
    \n \n

    \n {{ tableEngine.currentFormMode + translationName | translate }}\n

    \n
    \n
    \n
    \n \n\n
    \n \n \n \n \n \n \n {{ \"StoreNameRequired\" | translate }}\n
    \n
    \n\n
    \n \n \n \n \n \n \n {{ \"ItemsRequired\" | translate }}\n
    \n \n\n \n\n
    \n \n \n {{ modelObject.UnitPrice }}\n \n {{ \"UnitPriceRequired\" | translate }}\n
    \n \n \n\n
    \n \n \n {{ modelObject.Quantity }}\n \n {{ \"QuantityRequired\" | translate }}\n
    \n \n \n \n\n
    \n \n \n {{ modelObject.TotalValue }}\n \n \n {{ \"TotalValueRequired\" | translate }}\n
    \n \n \n\n
    \n \n {{ \"Add\" | translate }}\n \n \n {{ \"Edit\" | translate }}\n \n \n {{ \"Close\" | translate }}\n \n
    \n \n \n \n \n
    \n\n\n
    \n
    \n \n ×\n \n \n \n {{ \"ConfirmDel\" + translationName | translate }}\n \n
    \n
    \n \n \n
    \n
    \n 1 &&\n tableEngine.deletionList.length === tableEngine.ogData.length\n \"\n >\n \n \n \n\n
    \n \n {{ \"Delete\" | translate }}\n \n \n {{ \"Close\" | translate }}\n \n
    \n \n \n \n\n
    \n back\n
    \n\n
    \n
    \n \n \n
    \n \n \n
    \n
    \n
    \n \n\n \n
     
    \n \n \n {{ \"Add\" + translationName | translate }}\n \n \n \n \n\n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n {{ \"StoreData\" | translate }}\n \n \n \n \n \n {{ \"Items\" | translate }}\n \n \n \n \n \n {{ \"UnitPrice\" | translate }}\n \n \n \n \n \n {{ \"Quantity\" | translate }}\n \n \n \n \n \n {{ \"TotalValue\" | translate }}\n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n \n  \n \n
    \n \n \n \n \n
  • \n \n \n {{ \"DeleteSelected\" | translate }}\n \n
  • \n \n
    \n
    \n
    \n \n \n {{ \"ResultCount\" | translate }}\n \n \n \n {{ tableEngine.itemsPerPage }}\n \n \n \n {{ item }}\n \n \n \n \n
    \n \n \n \n \n \n {{\n lang === \"ar-EG\"\n ? getStoreDataById(obj.StoreDataId).NameAr\n : getStoreDataById(obj.StoreDataId).NameEn\n }}\n \n {{\n lang === \"ar-EG\"\n ? getItemsById(obj.ItemsHeaderId).NameAr\n : getItemsById(obj.ItemsHeaderId).NameEn\n }}\n {{ obj.UnitPrice }}{{ obj.Quantity }}{{ obj.TotalValue }}\n \n \n \n \n \n
    \n
    \n
    \n \n
    \n\n \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n  \n
    \n\n \n
    \n\n
     
    \n\n\n
     
    \n\n
    \n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport{AdditionAdjustmentModel} from '../addition-adjustment/AdditionAdjustmentModel';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AdditionAdjustmentService {\n constructor(private http: HttpClient) {\n \n }\n\n baseUrl = environment.baseApiUrl;\n token = localStorage.getItem(\"token\");\n httpOptions = {\n headers: new HttpHeaders({\n // 'Content-Type': 'application/json; charset=utf-8',\n // 'Authorization': \"Bearer \" + token,\n \"Authorization\": \"Bearer \" + this.token,\n \"Content-Type\": \"application/json\"\n })\n };\n getAll(): Observable {\n \n return this.http\n .get(`${this.baseUrl}AdditionAdjustment/GetAll`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n\n getAllItems(): Observable {\n \n return this.http\n .get(`${this.baseUrl}Item/GetAll`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n getById(id:number): Observable {\n \n return this.http\n .get(`${this.baseUrl}AdditionAdjustment/GetById/${id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n\n insert(payload: AdditionAdjustmentModel): Observable {\n \n return this.http\n .post(`${this.baseUrl}AdditionAdjustment/Insert`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n\n update(payload: AdditionAdjustmentModel): Observable {\n return this.http\n .put(`${this.baseUrl}AdditionAdjustment/Update`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n\n delete(payload: AdditionAdjustmentModel): Observable {\n return this.http\n .put(`${this.baseUrl}AdditionAdjustment/Delete/${payload.Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n\n deleteList(payload: AdditionAdjustmentModel []): Observable {\n return this.http\n .put(`${this.baseUrl}AdditionAdjustment/Delete`,JSON.stringify(payload),this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n}\n","import { SidePopupComponent } from 'src/app/views/app/aio/shared/side-popup/side-popup.component';\nimport { TableEngine } from '../../../../../invoices/TableEngine';\nimport { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationsService } from 'angular2-notifications';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { ItemBalanceService } from '../../shared/item-balance.service';\nimport { ItemBalanceModel } from '../../shared/Models/ItemBalanceModel';\nimport { analytics } from 'firebase';\nimport { StoreDataModel } from '../../../store-data/StoreDataModel';\nimport { ItemsModel } from '../../shared/Models/ItemsModel';\nimport { BalanceNameModel } from '../../../Balance-Name/balance-name/balance-name-model';\nimport { BalanceNameService } from '../../../Balance-Name/balance-name/balance-name.service';\nimport { FooterService } from '../../shared/footer.service';\nimport { StoreDataService } from '../../../store-data/store-data.service';\nimport { FooterModel } from '../../shared/Models/FooterModel';\n\n@Component({\n // moduleId: module.id,\n selector: 'add-item-balance',\n templateUrl: 'add-item-balance.component.html',\n styleUrls: ['add-item-balance.component.scss']\n})\nexport class AddItemBalanceComponent {\n // StoreDataService: any;\n // BalanceNameService: any;\n \n \n \n// constructor(private formBuilder: FormBuilder, private modelService: ItemBalanceService, private renderer: Renderer2,\n// private notifications: NotificationsService, private translate: TranslateService,\n// private StoreDataService:StoreDataService, private BalanceNameService :BalanceNameService\n// ) {\n// }\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n translationName: string = 'Item'\n sortableKeys = [];\n searchableKeys = ['BalanceNameEn', 'BalanceNameAr'];\n tableView: any = true;\n ItemBalance : ItemBalanceModel={};\n FooterModel:FooterModel[]=[]; \n FModel:FooterModel={}; \n // Footer:ItemBalanceModel[]=[]; \n \n // SelectedItems:ItemsModel[]=[];\n modelObject: ItemBalanceModel = new ItemBalanceModel();\n StoreDataList:StoreDataModel[]=[];\n BalanceDataList:BalanceNameModel[]=[];\n // ItemsModel:ItemsModel[]=[]\n Form:FormGroup;\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n prevAction = ''; \n ItemBalanceModel: ItemBalanceModel[] = [];\n addToListId = 0;\n ItemsBalanceHeaderId=0;\n ItemBalanceId=0;\n ItemsList:ItemsModel[]=[];\n Id=0;\n // columnDefs = [{ field: \"Description\" },{ field: \"Date\" }, { field: \"TotalValue\" }, { field: \"BalanceNameAr\" }, { field: \"BalanceNameEn\" }];\n \n \n \n TotalQuantity:number=0;\n constructor(public router:Router, \n private fb:FormBuilder,\n private modelService: ItemBalanceService,\n private FooterService: FooterService,\n private StoreDataService:StoreDataService, private BalanceNameService :BalanceNameService,\n private notifications: NotificationsService, private translate: TranslateService,\n private route: ActivatedRoute\n ){\n this.Id = + route.snapshot.paramMap.get('Id');\n\n \n }\n // Form:FormGroup;\n\n createForm(modelObject):FormGroup{\n debugger;\n return this.fb.group({\n // Id:[this.ItemBalance.Id],\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n BalanceNameAr:[modelObject.BalanceNameAr],\n BalanceNameEn:[modelObject.BalanceNameEn],\n BalanceNameId:[modelObject.BalanceNameId,Validators.required],\n StoreAr:[modelObject.StoreAr],\n StoreEn:[modelObject.StoreEn],\n StoreDataId:[modelObject.StoreDataId,Validators.required],\n Description:[modelObject.Description],\n Date:[modelObject.Date,Validators.required],\n TotalValue:[modelObject.TotalValue,Validators.required],\n BranchesDataId:[this.ItemBalance.BranchesDataId=0],\n CompanyDataId:[this.ItemBalance.CompanyDataId=0],\n Month:[this.ItemBalance.Month=0],\n Year:[this.ItemBalance.Year=0],\n IsPosted:[this.ItemBalance.IsPosted=false], \n }) \n }\n \n ItemValueDetails:FooterModel={};\n\n// DetailsForm:FormGroup;\n\n // public lang;\n rowData:any[]=[];\n Item:any;\n $event:any;\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective = null;\n ngOnInit(): void {\n debugger;\n\n if(this.Id > 0)\n { \n this.lang = localStorage.getItem('theme_lang');\n \n this.modelService.getAll()\n .subscribe(data=>{\n this.ItemBalance=data;\n });\n this.BalanceNameService.getAll()\n .subscribe(data=>{\n this.BalanceDataList=data;\n });\n this.StoreDataService.getAll()\n .subscribe(data=>{\n this.StoreDataList=data;\n });\n this.modelService.getById(this.Id).subscribe(data=>{\n this.ItemBalance=data;\n this.modelObject = data;\n this.FooterModel = this.ItemBalance.Footer;\n this.Form = this.createForm(this.ItemBalance);\n });\n\n }\n else{\n this.lang = localStorage.getItem('theme_lang');\n \n this.modelService.getAll()\n .subscribe(data=>{\n this.ItemBalance=data;\n });\n this.BalanceNameService.getAll()\n .subscribe(data=>{\n this.BalanceDataList=data;\n });\n this.StoreDataService.getAll()\n .subscribe(data=>{\n this.StoreDataList=data;\n });\n this.AddonClick();\n this.Form = this.createForm(this.modelObject);\n\n }\n // this.Form=this.createForm(this.modelObject);\n \n this.modelService.getAllItems() \n .subscribe(data=>\n {\n this.ItemsList=data\n });\n }\n\n\n addToList(){ \n debugger; \n var i = this.FooterModel.findIndex(x=>x.ItemsBalanceHeaderId == this.addToListId);\n if(i >= 0){\n var item = this.FooterModel[i];\n \n this.FooterModel.push(item); \n this.FooterModel.splice(i,1);\n this.addToListId = 0;\n }\n }\n\n \n AddonClick(){\n\n var FooterModelDet = new FooterModel();\n FooterModelDet.ItemBalanceId = 0, \n FooterModelDet.ItemBalanceId= 0;\n FooterModelDet.ItemsBalanceHeaderId = 0 ;\n FooterModelDet.ItemsHeaderId = 0 ;\n FooterModelDet.ItemsHeaderId = 0 ;\n FooterModelDet.ItemsUnitId = 0 ;\n FooterModelDet.ItemQuantity = 0 ;\n FooterModelDet.ItemPrice = 0 ;\n FooterModelDet.ItemValue = 0 ;\n FooterModelDet.Items=[]\n this.FooterModel.push(FooterModelDet);\n }\n\n \n getBalanceById(Id: any): any {\n debugger;\n\n if (Id > 0) {\n return this.BalanceDataList.find(i => i.Id === Id);\n }\n else {\n return new BalanceNameModel();\n }\n }\n getStoreDataById(Id: any): any{\n debugger;\n\n if (Id > 0) {\n return this.StoreDataList.find(i => i.Id === Id);\n }\n else {\n return new StoreDataModel();\n }\n }\n getItemsById(Id:any):any{\n if(Id>0)\n {\n return this.ItemsList.find(i=>i.Id===Id)\n }\n else\n {\n return new ItemsModel();\n }\n }\n\n\n TValue=0; \n calculateTotalItemValue() {\n let total = 0;\n this.FooterModel.forEach(item => {\n total +=item.ItemQuantity * item.ItemPrice;\n });\n this.TValue = total;\n return total;\n }\n\n setItem(Item){\n debugger;\n var i = this.ItemsList.findIndex(x=>x.Id == Item.ItemsHeaderId);\n if(i>-1){\n Item.ItemPrice = this.ItemsList[i].Cost;\n }\n }\n\n removeItemsFooter(Id: any): any {\n\n let index = this.FooterModel.findIndex(x => x.ItemsBalanceHeaderId === Id);\n this.FooterModel.splice(index, 1);\n this.calculateTotalItemValue();\n\n }\n \n\n Save(){\n \n debugger;\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n this.modelObject = new ItemBalanceModel();\n this.modelObject.BalanceNameAr=this.Form.getRawValue().BalanceNameAr;\n this.modelObject.BalanceNameEn=this.Form.getRawValue().BalanceNameEn;\n this.modelObject.BalanceNameId=this.Form.getRawValue().BalanceNameId;\n this.modelObject.Date=this.Form.getRawValue().Date;\n this.modelObject.Description=this.Form.getRawValue().Description;\n this.modelObject.Footer=this.Form.getRawValue().Footer;\n this.modelObject.StoreAr=this.Form.getRawValue().StoreAr;\n this.modelObject.StoreEn=this.Form.getRawValue().StoreEn;\n this.modelObject.StoreDataId=this.Form.getRawValue().StoreDataId;\n this.modelObject.TotalValue=this.TValue;\n this.modelObject.Month=0;\n this.modelObject.Year=0;\n this.modelObject.Id=0;\n this.modelObject.IsPosted=false;\n this.modelObject.BranchesDataId=0;\n this.modelObject.CompanyDataId=0; \n this.modelObject.Footer = this.FooterModel;\n if(this.Id == 0){\n this.modelService.insert(this.modelObject)\n .subscribe(data => {\n this.router.navigate(['app/aio/Inventory/items-list']);\n })\n }\n else{\n this.modelService.update(this.modelObject)\n .subscribe(data => {\n this.router.navigate(['app/aio/Inventory/items-list']);\n })\n }\n }\n goBack(){\n this.router.navigate(['app/aio/Inventory/items-list']);\n }\n\n}\n","
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    {{ \"Create Items\" | translate }}
    \n
    \n \n \n {{ \"Save\" | translate }}\n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n \n \n \n\n \n {{ lang === \"ar-EG\" ? item.NameAr : item.NameEn }}\n \n \n
    \n {{\"BalanceNameRequired\" | translate}}
    \n
    \n
    \n \n \n \n \n {{ lang === \"ar-EG\" ? item.NameAr : item.NameEn }}\n \n \n
    \n {{\"StoreNameRequired\" | translate}}
    \n
    \n
    \n
    \n
    \n \n \n
    \n {{\"DateRequired\" | translate}}
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n\n \n\n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n
    {{\"Items\" | translate}}{{\"Cost\" | translate}}{{\"Quantity\" | translate}}{{\"ItemValue\" | translate}}
    \n \n \n \n {{ lang === \"ar-EG\" ? item.NameAr : item.NameEn }}\n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n \n \n \n \n \n \n {{TValue>0?TValue:0}}\n \n \n \n \n
    {{ \"TotalValue\" | translate }}
    \n
    \n
    \n
    \n
    \n
    \n","import { SidePopupComponent } from 'src/app/views/app/aio/shared/side-popup/side-popup.component';\nimport { Component, OnInit, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { ItemBalanceService} from '../shared/item-balance.service';\nimport { ItemBalanceModel} from '../shared/Models/ItemBalanceModel';\nimport { StoreDataModel } from '../../store-data/StoreDataModel';\nimport { BalanceNameModel } from '../../Balance-Name/balance-name/balance-name-model';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { Router } from '@angular/router';\nimport { TableEngine } from '../../../../invoices/TableEngine';\nimport { BalanceNameService } from '../../Balance-Name/balance-name/balance-name.service';\nimport { StoreDataService } from '../../store-data/store-data.service';\n\n@Component({\n // moduleId: module.id,\n selector: 'list-item-balance',\n templateUrl: 'list-item-balance.component.html',\n styleUrls: ['list-item-balance.component.scss']\n})\nexport class ListItemBalanceComponent implements OnInit {\n constructor(private formBuilder: FormBuilder, private modelService: ItemBalanceService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService, private StoreDataService:StoreDataService,\n private BalanceNameService:BalanceNameService,private router : Router\n) {\n }\n\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n tableView: any = true;\n ItemBalanceList : ItemBalanceModel[]=[];\n StoreDataList:StoreDataModel[]=[];\n BalanceDataList:BalanceNameModel[]=[];\n \n translationName: string = ' Item Balance' \n sortableKeys = [];\n searchableKeys = ['TotalValue','Date'];\n modelObject: ItemBalanceModel = new ItemBalanceModel();\n \n // debugMode = true;\n\n ogData: ItemBalanceModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n CompanyDataId: new FormControl(),\n BranchesDataId: new FormControl(),\n Year: new FormControl(),\n Month: new FormControl(),\n Date: new FormControl(),\n BalanceNameId: new FormControl(),\n BalanceNameAr: new FormControl(),\n BalanceNameEn: new FormControl(),\n StoreDataId: new FormControl(),\n StoreAr: new FormControl(),\n StoreEn: new FormControl(),\n TotalValue: new FormControl(),\n Description: new FormControl(),\n IsPosted: new FormControl(),\n Footer: new FormControl(),\n });\n\n\n\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n currentFormMode: string = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n // this.getAllCountryCode(); \n \n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'StoreName', property: this.lang === 'ar-EG' ? 'StoreAr' : 'StoreEn' }; \n this.sortableKeys = [ \n { label: 'Date', property: 'Date' }, \n { label: 'BalanceName', property: this.lang === 'ar-EG' ? 'BalanceNameAr' : 'BalanceNameEn' }, \n { label: 'StoreData', property: this.lang === 'ar-EG' ? 'StoreAr' : 'StoreEn' },\n { label: 'TotalValue', property: 'TotalValue' },\n { label: 'Description', property: 'Description' },\n \n ];\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n this.loadServices();\n } \n\n showInfoModalRef(Id: any): void {\n this.router.navigate(['app/aio/Stores/AddItemBalance',Id])\n }\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n showModal(Id, action) {\n debugger;\n this.modelObject = new ItemBalanceModel();\n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n if (action === 'Add') { \n this.ItemBalanceList = []; \n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n this.router.navigate(['app/aio/Inventory/add-item-balance',0]) \n }\n else if (action === 'Edit') {\n this.router.navigate(['app/aio/Inventory/add-item-balance',Id]) \n this.ItemBalanceList = [];\n this.ItemBalanceList = [...this.tableEngine.ogData.find(i => i.Id === Id).Footers]; \n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder) \n \n }\n else if (action === 'Info') {\n this.router.navigate(['app/aio/Inventory/add-item-balance',Id])\n this.ItemBalanceList = [];\n this.ItemBalanceList = [...this.tableEngine.ogData.find(i => i.Id === Id).Footers];\n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder)\n }\n \n }\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject(){\n this.modelService.deleteList(this.deletionList).subscribe(result => {\n if (result === true) {\n // this.loadData();\n this.currentAction = '';\n // this.finalizeDeletion();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n createForm(modelObject, formBuilder): FormGroup {\n return formBuilder.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n CompanyDataId: [modelObject.CompanyDataId, Validators.compose([Validators.required,Validators.minLength(2)])],\n BranchesDataId: [modelObject.BranchesDataId, Validators.compose([Validators.required, Validators.minLength(2)])],\n Year: [modelObject.Year, Validators.compose([Validators.required, Validators.minLength(2)])],\n Month: [modelObject.Month, Validators.compose([Validators.required, Validators.pattern(/^[\\u0621-\\u064A\\u0660-\\u06690-9]+([\\s]*[\\u0621-\\u064A\\u0660-\\u06690-9]+)*$/)])],\n\n Date: [modelObject.Date, Validators.compose([Validators.required])],\n BalanceNameId: [modelObject.BalanceNameId, Validators.compose([Validators.required])],\n\n BalanceNameEn: [modelObject.BalanceNameEn, Validators.compose([Validators.required, Validators.minLength(2)])],\n BalanceNameAr: [modelObject.BalanceNameAr, Validators.compose([Validators.required, Validators.pattern(/^[\\u0621-\\u064A\\u0660-\\u06690-9]+([\\s]*[\\u0621-\\u064A\\u0660-\\u06690-9]+)*$/)])],\n \n StoreDataId: [modelObject.StoreDataId, Validators.compose([Validators.required])],\n\n StoreEn: [modelObject.StoreEn, Validators.compose([Validators.required, Validators.minLength(2)])],\n StoreAr: [modelObject.StoreAr, Validators.compose([Validators.required, Validators.pattern(/^[\\u0621-\\u064A\\u0660-\\u06690-9]+([\\s]*[\\u0621-\\u064A\\u0660-\\u06690-9]+)*$/)])],\n \n TotalValue: [modelObject.TotalValue, Validators.compose([Validators.required, Validators.minLength(2)])],\n\n Description: [modelObject.Description, Validators.compose([Validators.required, Validators.pattern(/^\\d{11}$/)])],\n IsPosted: [modelObject.IsPosted, Validators.compose([Validators.required, Validators.pattern(/^\\d{11}$/)])],\n \n });\n }\n \n\n loadServices(){\n debugger;\n this.currentAction = 'loading';\n this.tableEngine.loadData(); \n \n \n }\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n\n selected : any[] = [];\n selectAllState = '';\n SearchFrom: Date = null;\n SearchTo: Date = null;\n \n clearSearch() {\n this.SearchFrom = null;\n this.SearchTo = null;\n }\n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n isSelected(p: ItemBalanceModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n \n onSelect(item: ItemBalanceModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n\n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n \n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n \n prepChangeSort(sortKey) {\n this.SearchFrom = null;\n this.SearchTo = null;\n \n \n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n \n getFormattedDate(dateString: any){\n let splitDate: number[] = dateString.toString().split(\"/\");\n \n return new Date(splitDate[2], splitDate[1]-1, splitDate[0])\n }\n ///////////////////////////////////////////////////////\n \n displayMode = 'list';\n changeDisplayMode(mode): void {\n this.displayMode = mode;\n }\n itemsPerPageChange(perPage: number): void {\n this.tableEngine.paginateData(perPage, 1)\n }\n}\n","\n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n\n
    \n
    \n
    \n
    \n
    \n \n \n \n\n \n \n\n \n \n \n \n {{ \"StoreData\" | translate }}\n \n\n \n \n \n \n {{ \"TotalValue\" | translate }}\n \n\n \n \n \n \n {{ \"Date\" | translate }}\n \n\n \n \n \n {{ \"ResultCount\" | translate }}\n \n \n \n {{ tableEngine.itemsPerPage }}\n \n \n \n {{ item }}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n \n  \n \n
    \n \n \n \n \n
  • \n \n \n {{ \"DeleteSelected\" | translate }}\n \n
  • \n \n
    \n
    \n
    \n \n \n {{ \"Type\" | translate }}\n
    \n \n \n \n \n \n {{\n lang === \"ar-EG\" ? obj.BalanceNameAr : obj.BalanceNameEn\n }}\n \n {{ lang === \"ar-EG\" ? obj.StoreAr : obj.StoreEn }}\n {{ obj.TotalValue }}{{ obj.Date | date : \"dd/MM/yyyy\" }}\n \n \n \n \n \n
    \n \n
    \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n\n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n","import { ItemsModel } from \"./ItemsModel\";\r\n\r\nexport class FooterModel{\r\n ItemBalanceId?: number;\r\n ItemsBalanceHeaderId?:number;\r\n ItemsHeaderId?: number; \r\n ItemsUnitId?: number; \r\n ItemQuantity?: number; \r\n ItemPrice?: number; \r\n ItemValue?: number;\r\n Items? :ItemsModel[];\r\n \r\n constructor(item?:FooterModel){\r\n item = item? item:{};\r\n this.ItemBalanceId = item.ItemBalanceId? item.ItemBalanceId:0;\r\n this.ItemsBalanceHeaderId = item.ItemsBalanceHeaderId? item.ItemsBalanceHeaderId:0;\r\n this.ItemsHeaderId = item.ItemsHeaderId? item.ItemsHeaderId:0;\r\n this.ItemsUnitId = item.ItemsUnitId? item.ItemsUnitId:0;\r\n this.ItemQuantity = item.ItemQuantity? item.ItemQuantity:0;\r\n this.ItemPrice = item.ItemPrice? item.ItemPrice:0;\r\n this.ItemValue = item.ItemValue? item.ItemValue:0;\r\n this.Items = item.Items? item.Items:[];\r\n \r\n \r\n }\r\n\r\n}","import { FooterModel } from \"./FooterModel\";\r\nimport { ItemsModel } from \"./ItemsModel\";\r\n\r\nexport class ItemBalanceModel{\r\n Id?: number;\r\n CompanyDataId?:number;\r\n BranchesDataId?: number; \r\n Year?: number; \r\n Month?: number; \r\n Date?:Date;\r\n BalanceNameId?: number; \r\n BalanceNameAr?:string;\r\n BalanceNameEn?: string;\r\n StoreDataId?: number; \r\n StoreAr?: string;\r\n StoreEn?: string;\r\n TotalValue?: number; \r\n Description?: string; \r\n IsPosted?: Boolean; \r\n Footer?:FooterModel[];\r\n // Items?:ItemsModel[];\r\n\r\n\r\n constructor(item?:ItemBalanceModel){\r\n item = item? item:{};\r\n this.Id = item.Id? item.Id:0;\r\n this.CompanyDataId = item.CompanyDataId? item.CompanyDataId:0;\r\n this.BranchesDataId = item.BranchesDataId? item.BranchesDataId:0;\r\n this.Year = item.Year? item.Year:0;\r\n this.Month = item.Month? item.Month:0;\r\n this.Date = item.Date? item.Date:this.Date;\r\n this.BalanceNameId = item.BalanceNameId? item.BalanceNameId:0;\r\n this.BalanceNameAr=item.BalanceNameAr ? item.BalanceNameAr:'';\r\n this.BalanceNameEn=item.BalanceNameEn ? item.BalanceNameEn:'';\r\n this.StoreDataId = item.StoreDataId? item.StoreDataId:0;\r\n this.StoreAr=item.StoreAr ? item.StoreAr:'';\r\n this.StoreEn=item.StoreEn ? item.StoreEn:'';\r\n\r\n this.TotalValue = item.TotalValue? item.TotalValue:0;\r\n \r\n this.Description=item.Description ? item.Description:'';\r\n this.IsPosted=item.IsPosted ? item.IsPosted:false; \r\n this.Footer = item.Footer ? item.Footer : [];\r\n // this.Items=item.Items? item.Items:[];\r\n \r\n }\r\n\r\n}","export class ItemsModel{\r\n Id?: Number;\r\n Code?: String;\r\n NameAr?: String\r\n NameEn?: String;\r\n TaxApiCode?: String;\r\n Cost?:Number;\r\n Stock?: Number;\r\n Total?: Number;\r\n CodingType?: String;\r\n Description?: String;\r\n ProductTypeAr?: String;\r\n ProductTypeEn?: String;\r\n ProductTypeId?: Number;\r\n MeasurCode?: String;\r\n CodingUnitsId?: Number;\r\n \r\n constructor(item?:ItemsModel){\r\n item = item? item:{};\r\n this.Id = item.Id? item.Id:0;\r\n this.Code = item.Code? item.Code:'';\r\n this.NameAr = item.NameAr? item.NameAr:'';\r\n this.NameEn = item.NameEn? item.NameEn:'';\r\n this.TaxApiCode = item.TaxApiCode? item.TaxApiCode:'';\r\n this.Cost = item.Cost? item.Cost:0;\r\n this.Stock = item.Stock? item.Stock:0;\r\n this.Total = item.Total? item.Total:0;\r\n this.CodingType = item.CodingType? item.CodingType:'';\r\n this.Description = item.Description? item.Description:'';\r\n this.ProductTypeAr = item.ProductTypeAr? item.ProductTypeAr:'';\r\n this.ProductTypeEn = item.ProductTypeEn? item.ProductTypeEn:'';\r\n this.ProductTypeId = item.ProductTypeId? item.ProductTypeId:0;\r\n this.MeasurCode = item.MeasurCode? item.MeasurCode:'';\r\n this.CodingUnitsId = item.CodingUnitsId? item.CodingUnitsId:0;\r\n \r\n \r\n \r\n }\r\n\r\n}","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { environment } from 'src/environments/environment';\nimport { FooterModel } from './Models/FooterModel';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FooterService {\n\n constructor(private http:HttpClient ) { }\n\n \n baseUrl = environment.baseApiUrl;\n token = localStorage.getItem(\"token\");\n httpOptions = {\n headers: new HttpHeaders({\n // 'Content-Type': 'application/json; charset=utf-8',\n // 'Authorization': \"Bearer \" + token,\n \"Authorization\": \"Bearer \" + this.token,\n \"Content-Type\": \"application/json\"\n })\n };\n\n getAllBalanceFooter(Id): Observable {\n \n return this.http\n .get(`${this.baseUrl}ItemsBalanceFooter/GetAll/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ngetAllItems(): Observable {\n \n return this.http\n .get(`${this.baseUrl}Item/GetAll`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ngetByIdBalanceFooter(Id:number): Observable {\n\n return this.http\n .get(`${this.baseUrl}ItemsBalanceFooter/GetById/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ngetItemsById(Id:number): Observable {\n\n return this.http\n .get(`${this.baseUrl}Item/GetById/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ninsertBalanceFooter(payload: FooterModel): Observable {\n \n return this.http\n .post(`${this.baseUrl}ItemsBalanceFooter/Insert`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\nupdateBalanceFooter(payload: FooterModel): Observable {\n return this.http\n .put(`${this.baseUrl}ItemsBalanceFooter/Update`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ndeleteBalanceFooter(payload: FooterModel): Observable {\n return this.http\n .put(`${this.baseUrl}ItemsBalanceFooter/Delete`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\n deleteListBalanceFooter(payload: FooterModel []): Observable {\n return this.http\n .put(`${this.baseUrl}ItemsBalanceFooter/DeleteList`,JSON.stringify(payload),this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n}\nfunction catchError(arg0: (error: any) => Observable): import(\"rxjs\").OperatorFunction {\n throw new Error('Function not implemented.');\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { ItemBalanceModel } from './Models/ItemBalanceModel';\n@Injectable({\n providedIn: 'root'\n})\nexport class ItemBalanceService {\n constructor(private http: HttpClient) {\n \n }\n\n baseUrl = environment.baseApiUrl;\n token = localStorage.getItem(\"token\");\n httpOptions = {\n headers: new HttpHeaders({\n // 'Content-Type': 'application/json; charset=utf-8',\n // 'Authorization': \"Bearer \" + token,\n \"Authorization\": \"Bearer \" + this.token,\n \"Content-Type\": \"application/json\"\n })\n };\n getAll(): Observable {\n \n return this.http\n .get(`${this.baseUrl}ItemsBalanceHeader/GetAll/0,0`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n getById(id:number): Observable {\n \n return this.http\n .get(`${this.baseUrl}ItemsBalanceHeader/GetById/${id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n getAllItems(): Observable {\n \n return this.http\n .get(`${this.baseUrl}Item/GetAll`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n insert(payload: ItemBalanceModel): Observable {\n \n return this.http\n .post(`${this.baseUrl}ItemsBalanceHeader/Insert`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n \n update(payload: ItemBalanceModel): Observable {\n return this.http\n .put(`${this.baseUrl}ItemsBalanceHeader/Update`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n \n delete(payload: ItemBalanceModel): Observable {\n return this.http\n .put(`${this.baseUrl}ItemsBalanceHeader/Delete/${payload.Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n \n deleteList(payload: ItemBalanceModel []): Observable {\n return this.http\n .put(`${this.baseUrl}ItemsBalanceHeader/DeleteList`,JSON.stringify(payload),this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n \n}\n \n\n","export class CountryCodeModel {\r\n Id?: Number;\r\n CodeTaxTabel?: string;\r\n NameAr?: string;\r\n NameEn?: string;\r\n IsPosted?: Boolean;\r\n\r\n constructor(obj?:CountryCodeModel){\r\n obj=obj?obj:{};\r\n this.Id=obj?.Id? obj.Id:0;\r\n this.NameAr=obj?.NameAr? obj.NameAr:'';\r\n this.NameEn=obj?.NameEn? obj.NameEn:'';\r\n this.CodeTaxTabel=obj?.CodeTaxTabel? obj.CodeTaxTabel:'';\r\n this.IsPosted=obj?.IsPosted? obj.IsPosted:false;\r\n\r\n }\r\n}","export class GovernorateCodeModel{\r\n GovernorateId?:Number;\r\n CountryCodeId?: Number;\r\n GovernorateNameL1?: string;\r\n GovernorateNameL2?: string;\r\n IsPosted?: Boolean;\r\n \r\n\r\n constructor(obj?:GovernorateCodeModel){\r\n obj=obj?obj:{};\r\n this.GovernorateId=obj?.GovernorateId? obj.GovernorateId:0;\r\n this.CountryCodeId=obj?.CountryCodeId? obj.CountryCodeId:0;\r\n this.GovernorateNameL1=obj?.GovernorateNameL1? obj.GovernorateNameL1:'';\r\n this.GovernorateNameL2=obj?.GovernorateNameL2? obj.GovernorateNameL2:'';\r\n this.IsPosted=obj?.IsPosted? obj.IsPosted:false;\r\n \r\n }\r\n}","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport {CityCodeModel} from '../CityCodeModel';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CityCodeService {\n\n constructor(private http:HttpClient ) { }\n\n \n baseUrl = environment.baseApiUrl;\n token = localStorage.getItem(\"token\");\n httpOptions = {\n headers: new HttpHeaders({\n // 'Content-Type': 'application/json; charset=utf-8',\n // 'Authorization': \"Bearer \" + token,\n \"Authorization\": \"Bearer \" + this.token,\n \"Content-Type\": \"application/json\"\n })\n };\n\n getAll(Id): Observable {\n \n return this.http\n .get(`${this.baseUrl}CityCode/GetAll/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ngetById(id:number): Observable {\n\n return this.http\n .get(`${this.baseUrl}CityCode/GetById/${id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ninsert(payload: CityCodeModel): Observable {\n \n return this.http\n .post(`${this.baseUrl}CityCode/Insert`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\nupdate(payload: CityCodeModel): Observable {\n return this.http\n .put(`${this.baseUrl}CityCode/Update`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ndelete(payload: CityCodeModel): Observable {\n return this.http\n .get(`${this.baseUrl}CityCode/Delete/${payload.CityId}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\n deleteList(payload: CityCodeModel []): Observable {\n return this.http\n .put(`${this.baseUrl}CityCode/DeleteList`,JSON.stringify(payload),this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport {CountryCodeModel} from '../CountryCodeModel';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CountryCodeService {\n\n constructor(private http:HttpClient ) { }\n\n \n baseUrl = environment.baseApiUrl;\n token = localStorage.getItem(\"token\");\n httpOptions = {\n headers: new HttpHeaders({\n // 'Content-Type': 'application/json; charset=utf-8',\n // 'Authorization': \"Bearer \" + token,\n \"Authorization\": \"Bearer \" + this.token,\n \"Content-Type\": \"application/json\"\n })\n };\n\n getAll(): Observable {\n \n return this.http\n .get(`${this.baseUrl}CountryCode/GetAll`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ngetById(id:number): Observable {\n\n return this.http\n .get(`${this.baseUrl}CountryCode/GetById/${id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ninsert(payload: CountryCodeModel): Observable {\n \n return this.http\n .post(`${this.baseUrl}CountryCode/Insert`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\nupdate(payload: CountryCodeModel): Observable {\n return this.http\n .put(`${this.baseUrl}CountryCode/Update`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ndelete(payload: CountryCodeModel): Observable {\n return this.http\n .get(`${this.baseUrl}CountryCode/Delete/${payload.Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\n deleteList(payload: CountryCodeModel []): Observable {\n return this.http\n .put(`${this.baseUrl}CountryCode/DeleteList`,JSON.stringify(payload),this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { CountryCodeModel } from '../CountryCodeModel';\nimport {GovernorateCodeModel} from '../GovernorateCodeModel';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class GovernorateCodeService {\n\n constructor(private http:HttpClient ) { }\n\n \n baseUrl = environment.baseApiUrl;\n token = localStorage.getItem(\"token\");\n httpOptions = {\n headers: new HttpHeaders({\n // 'Content-Type': 'application/json; charset=utf-8',\n // 'Authorization': \"Bearer \" + token,\n \"Authorization\": \"Bearer \" + this.token,\n \"Content-Type\": \"application/json\"\n })\n };\n\n getAll(CountryCodeId): Observable {\n debugger;\n return this.http\n .get(`${this.baseUrl}GovernorateCode/GetAll/${CountryCodeId}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ngetById(id:number): Observable {\n\n return this.http\n .get(`${this.baseUrl}BalanceNames/GetById/${id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ninsert(payload: GovernorateCodeModel): Observable {\n \n return this.http\n .post(`${this.baseUrl}BalanceNames/Insert`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\nupdate(payload: GovernorateCodeModel): Observable {\n return this.http\n .put(`${this.baseUrl}BalanceNames/Update`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ndelete(payload: GovernorateCodeModel): Observable {\n return this.http\n .get(`${this.baseUrl}BalanceNames/Delete/${payload.GovernorateId}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\n deleteList(payload: GovernorateCodeModel []): Observable {\n return this.http\n .put(`${this.baseUrl}BalanceNames/DeleteList`,JSON.stringify(payload),this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n}\n","\r\nexport class StoreDataModel{ \r\n Id?: number;\r\n CompanyDataId?: number;\r\n BranchesDataId?: number;\r\n NameAr?: string;\r\n NameEn?: string;\r\n CountryCodeId?: number;\r\n GovernorateCodeId?: number;\r\n CityCodeId?: number;\r\n StoreAddress?: string;\r\n StoreMobil?: string;\r\n StorePhone?: string;\r\n StoreFax?: string;\r\n StoreWhatsapp?: string;\r\n StoreEmail?: string;\r\n StoreManager?: number;\r\n Description?: string;\r\n\r\n\r\n constructor(obj?:StoreDataModel){\r\n obj =obj? obj:{};\r\n this.Id =obj?.Id? obj.Id:0;\r\n this.CompanyDataId =obj?.CompanyDataId? obj.CompanyDataId:0;\r\n this.BranchesDataId=obj?.BranchesDataId? obj?.BranchesDataId:0;\r\n this.NameAr = obj.NameAr? obj.NameAr:'';\r\n this.NameEn = obj.NameEn? obj.NameEn:'';\r\n this.CountryCodeId = obj.CountryCodeId? obj.CountryCodeId:0;\r\n this.GovernorateCodeId = obj.GovernorateCodeId? obj.GovernorateCodeId:0;\r\n this.CityCodeId = obj.CityCodeId? obj.CityCodeId:0;\r\n this.StoreAddress = obj.StoreAddress? obj.StoreAddress:'';\r\n this.StoreMobil = obj.StoreMobil? obj.StoreMobil:'';\r\n this.StorePhone = obj.StorePhone? obj.StorePhone:'';\r\n this.StoreFax = obj.StoreFax? obj.StoreFax:'';\r\n this.StoreWhatsapp = obj.StoreWhatsapp? obj.StoreWhatsapp:'';\r\n this.StoreEmail = obj.StoreEmail? obj.StoreEmail:'';\r\n this.StoreManager = obj.StoreManager? obj.StoreManager:0;\r\n this.Description = obj.Description? obj.Description:'';\r\n}\r\n}","import { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationsService } from 'angular2-notifications';\nimport { StoreDataService } from '../store-data/store-data.service';\nimport { CountryCodeService } from './Helper/./Service/country-code.service';\nimport { CityCodeService } from './Helper/./Service/city-code.service';\nimport { GovernorateCodeService } from './Helper/./Service/governorate-code.service';\nimport { TableEngine } from 'src/app/invoices/TableEngine';\nimport { StoreDataModel } from './StoreDataModel';\nimport { SidePopupComponent } from 'src/app/views/app/aio/shared/side-popup/side-popup.component';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { CityCodeModel } from './Helper/CityCodeModel';\nimport { CountryCodeModel } from './Helper/CountryCodeModel';\nimport { GovernorateCodeModel } from './Helper/GovernorateCodeModel';\n\n\n@Component({\n // moduleId: module.id,\n selector: 'store-data',\n templateUrl: 'store-data.component.html',\n styleUrls: ['store-data.component.scss']\n})\nexport class StoreDataComponent {\n\n constructor(private formBuilder: FormBuilder, private modelService: StoreDataService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService\n , private cityCodeService: CityCodeService, private countryService: CountryCodeService\n , private governorateCodeService: GovernorateCodeService) {\n }\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n tableView: any = true;\n CountryCodeList : CountryCodeModel[]=[];\n StoreDataList: StoreDataModel[] = [];\n cityCodeList: CityCodeModel[] = []; \n GovernorateCodeList: GovernorateCodeModel[] = [];\n translationName: string = 'Store'\n sortableKeys = [];\n searchableKeys = ['NameEn', 'NameAr'];\n modelObject: StoreDataModel = new StoreDataModel();\n\n ogData: StoreDataModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n // CompanyDataId: new FormControl(),\n // BranchesDataId: new FormControl(),\n NameAr: new FormControl(),\n NameEn: new FormControl(),\n CountryCodeId: new FormControl(),\n GovernorateCodeId: new FormControl(),\n CityCodeId: new FormControl(),\n StoreAddress: new FormControl(),\n StoreMobil: new FormControl(),\n StorePhone: new FormControl(),\n StoreFax: new FormControl(),\n StoreWhatsapp: new FormControl(),\n StoreEmail: new FormControl(),\n StoreManager: new FormControl(),\n Description: new FormControl(),\n\n });\n\n\n\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n this.getAllCountryCode();\n \n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'StoreName', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' };\n this.sortableKeys = [\n { label: 'StoreName', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' },\n { label: 'StoreCompanyDataId', property: 'CompanyDataId' },\n { label: 'StoreBranchesDataId', property: 'BranchesDataId' },\n { label: 'CountryCodeId', property: 'CountryCodeId' },\n { label: 'StoreGovernorateCodeId', property: 'GovernorateCodeId' },\n { label: 'StoreCityCodeId', property: 'CityCodeId' },\n { label: 'StoreAddress', property: 'StoreAddress' },\n { label: 'StoreMobil', property: 'StoreMobil' },\n { label: 'StorePhone', property: 'StorePhone' },\n { label: 'StoreFax', property: 'StoreFax' },\n { label: 'StoreWhatsapp', property: 'StoreWhatsapp' },\n { label: 'StoreEmail', property: 'StoreEmail' },\n { label: 'StoreManager', property: 'StoreEmail' },\n { label: 'StoreDescription', property: 'Description' },\n\n ];\n this.loadServices();\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n\n\n }\n\n addedItemList: StoreDataModel[] = [];\n\n showModal(Id, action) {\n if (action === 'Add') {\n this.modelObject = new StoreDataModel();\n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n }\n else if (action === 'Edit') {\n\n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder)\n\n }\n else if (action === 'Info') {\n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder)\n }\n this.tableView = false;\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n }\n\n\n createForm(modelObject, formBuilder): FormGroup {\n return formBuilder.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n // CompanyDataId: [modelObject.CompanyDataId, Validators.compose([Validators.required,Validators.minLength(2)])],\n // BranchesDataId: [modelObject.BranchesDataId, Validators.compose([Validators.required, Validators.minLength(2)])],\n NameEn: [modelObject.NameEn, Validators.compose([Validators.required, Validators.minLength(2)])],\n NameAr: [modelObject.NameAr, Validators.compose([Validators.required, Validators.pattern(/^[\\u0621-\\u064A\\u0660-\\u06690-9]+([\\s]*[\\u0621-\\u064A\\u0660-\\u06690-9]+)*$/)])],\n\n CountryCodeId: [modelObject.CountryCodeId, Validators.compose([Validators.required])],\n GovernorateCodeId: [modelObject.GovernorateCodeId, Validators.compose([Validators.required])],\n CityCodeId: [modelObject.CityCodeId, Validators.compose([Validators.required])],\n StoreAddress: [modelObject.StoreAddress, Validators.compose([Validators.required, Validators.minLength(2)])],\n\n StoreMobil: [modelObject.StoreMobil, Validators.compose([Validators.required, Validators.pattern(/^\\d{11}$/)])],\n StorePhone: [modelObject.StorePhone, Validators.compose([Validators.required, Validators.pattern(/^\\d{11}$/)])],\n StoreFax: [modelObject.StoreFax, Validators.compose([Validators.minLength(2)])],\n StoreWhatsapp: [modelObject.StoreWhatsapp, Validators.compose([])],\n StoreEmail: [modelObject.StoreEmail, Validators.compose([Validators.required, Validators.minLength(2)])],\n StoreManager: [modelObject.StoreManager, Validators.compose([])],\n Description: [modelObject.Description, Validators.compose([Validators.minLength(2)])],\n });\n }\n\n addObject() {\n debugger;\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n this.modelObject = new StoreDataModel();\n this.modelObject.Id = 0;\n this.modelObject.CompanyDataId = 0;\n this.modelObject.BranchesDataId = 0;\n this.modelObject.NameEn = this.mainForm.getRawValue().NameEn;\n this.modelObject.NameAr = this.mainForm.getRawValue().NameAr;\n this.modelObject.CountryCodeId = this.mainForm.getRawValue().CountryCodeId;\n this.modelObject.GovernorateCodeId = this.mainForm.getRawValue().GovernorateCodeId;\n this.modelObject.CityCodeId = this.mainForm.getRawValue().CityCodeId;\n this.modelObject.StoreAddress = this.mainForm.getRawValue().StoreAddress;\n this.modelObject.StoreMobil = this.mainForm.getRawValue().StoreMobil;\n this.modelObject.StorePhone = this.mainForm.getRawValue().StorePhone;\n\n this.modelObject.StoreFax = this.mainForm.getRawValue().StoreFax;\n this.modelObject.StoreWhatsapp = this.mainForm.getRawValue().StoreWhatsapp;\n this.modelObject.StoreEmail = this.mainForm.getRawValue().StoreEmail;\n this.modelObject.StoreManager = 0;\n this.modelObject.Description = this.mainForm.getRawValue().Description;\n this.executeAddObject();\n // this.getAllCountryCode();\n }\n\n executeAddObject() {\ndebugger;\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n if (this.sideModalRef === undefined) {\n if (this.smallModal != undefined) {\n this.tableEngine.smallModal.hide();\n }\n else {\n this.tableView = this.prevAction === 'AddThenNew' ? false : true;\n }\n }\n else {\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n editObject() {\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n\n let tempObj = new StoreDataModel({\n Id: this.modelObject.Id,\n CompanyDataId: this.mainForm.getRawValue().CompanyDataId,\n BranchesDataId: this.mainForm.getRawValue().BranchesDataId,\n NameAr: this.mainForm.getRawValue().NameAr,\n NameEn: this.mainForm.getRawValue().NameEn,\n CountryCodeId: this.mainForm.getRawValue().CountryCodeId,\n GovernorateCodeId: this.mainForm.getRawValue().GovernorateCodeId,\n CityCodeId: this.mainForm.getRawValue().CityCodeId,\n StoreAddress: this.mainForm.getRawValue().StoreAddress,\n StoreMobil: this.mainForm.getRawValue().StoreMobil,\n StorePhone: this.mainForm.getRawValue().StorePhone,\n StoreFax: this.mainForm.getRawValue().StoreFax,\n StoreWhatsapp: this.mainForm.getRawValue().StoreWhatsapp,\n StoreEmail: this.mainForm.getRawValue().StoreEmail,\n StoreManager: this.mainForm.getRawValue().StoreManager,\n Description: this.mainForm.getRawValue().Description,\n\n\n // PostalCode : this.mainForm.getRawValue().PostalCode\n });\n\n if (JSON.stringify(tempObj) != JSON.stringify(this.modelObject)) {\n this.executeEditObject(tempObj);\n }\n else {\n if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n }\n executeEditObject(Object) {\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n\n if (this.sideModalRef === undefined) {\n if (this.smallModal != undefined) {\n this.tableEngine.smallModal.hide();\n }\n else {\n this.tableView = true;\n }\n }\n else {\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n // this.savedPage = this.currentPage;\n // //prevent multiclicks. re enable after API response\n // this.currentAction = 'loading';\n // this.executeDeleteObject(tempObj);\n let tempObj = new StoreDataModel({\n Id: this.modelObject.Id,\n CompanyDataId: this.mainForm.getRawValue().CompanyDataId,\n BranchesDataId: this.mainForm.getRawValue().BranchesDataId,\n NameAr: this.mainForm.getRawValue().NameAr,\n NameEn: this.mainForm.getRawValue().NameEn,\n CountryCodeId: this.mainForm.getRawValue().CountryCodeId,\n GovernorateCodeId: this.mainForm.getRawValue().GovernorateCodeId,\n CityCodeId: this.mainForm.getRawValue().CityCodeId,\n StoreAddress: this.mainForm.getRawValue().StoreAddress,\n StoreMobil: this.mainForm.getRawValue().StoreMobil,\n StorePhone: this.mainForm.getRawValue().StorePhone,\n StoreFax: this.mainForm.getRawValue().StoreFax,\n StoreWhatsapp: this.mainForm.getRawValue().StoreWhatsapp,\n StoreEmail: this.mainForm.getRawValue().StoreEmail,\n StoreManager: this.mainForm.getRawValue().StoreManager,\n Description: this.mainForm.getRawValue().Description,\n\n\n // PostalCode : this.mainForm.getRawValue().PostalCode\n });\n this.executeDeleteObject(tempObj);\n\n // if (JSON.stringify(tempObj) == JSON.stringify(this.modelObject)) {\n // this.executeDeleteObject(tempObj);\n // }\n // else {\n \n // // if (this.sideModalRef === undefined) {\n\n // // this.tableEngine.smallModal.hide();\n\n // // } else {\n\n // // this.tableEngine.sideModalRef.modalRef.hide();\n // // }\n // }\n }\n\n //Same here...\n executeDeleteObject(Object) {\n\n // this.modelService.delete(Object).subscribe()\n this.modelService.delete(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n prevAction = '';\n addAndNew() {\n this.prevAction = 'AddThenNew';\n this.addObject();\n this.showModal(null, 'Add');\n }\n\n getAllGovernorateCode(){\n debugger;\n var CountryId = this.mainForm.controls['CountryCodeId'].value;\n this.governorateCodeService.getAll(CountryId).subscribe(\n governorateData => {\n this.GovernorateCodeList = governorateData;\n \n }\n )\n }\n getAllCityCode() {\n debugger;\n var GovernorateId = this.mainForm.controls[\"GovernorateCodeId\"].value;\n this.cityCodeService.getAll(GovernorateId).subscribe(\n CityData => {\n this.cityCodeList = CityData;\n\n }\n )\n }\n getAllCountryCode() {\n this.countryService.getAll().subscribe(\n data => { \n this.CountryCodeList = data; \n }\n )\n // var CountryId = this.mainForm.controls[\"CountryCodeId\"].value;\n \n \n\n }\n loadServices() {\n\n this.currentAction = 'loading';\n this.countryService.getAll().subscribe(\n countryData => {\n this.CountryCodeList = countryData;\n\n this.tableEngine.loadData();\n\n }\n )\n\n }\n \n getCountryCodeById(Id: any): any {\n if (Id > 0) {\n return this.CountryCodeList.find(i => i.Id === Id);\n }\n else {\n return new CountryCodeModel();\n }\n }\n getGovernorateCodeById(Id: any): any {\n debugger;\n if (Id > 0) {\n return this.GovernorateCodeList.find(i => i.GovernorateId === Id);\n }\n else {\n return new CountryCodeModel();\n }\n }\n getCityCodeById(Id: any): any {\n debugger;\n\n if (Id>0){\n return this.cityCodeList.find(i => i.CityId === Id);\n\n }\n else{\n return new GovernorateCodeModel();\n }\n }\n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepChangeSort(sortKey) {\n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n}\n","\n\n
    \n
    \n
    \n\n
    \n \n \n \n \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"NameArRequired\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"NameEnRequired\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"StoreAddressRequired\" | translate}}
    \n \n
    \n
    \n\n
    \n\n
    \n
    \n \n \n \n
    \n {{\"StoreMobilRequired\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"StorePhoneRequired\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n
    \n \n
    \n
    \n\n
    \n \n
    \n
    \n \n \n \n
    \n
    \n \n
    \n
    \n \n \n \n
    \n {{\"StoreEmailRequired\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"StoreManagerRequired\" | translate}}
    \n \n
    \n \n
    \n\n
    \n \n
    \n
    \n \n
    \n \n \n {{lang==='ar-EG'?country.NameAr:country.NameEn}}\n \n
    \n \n
    \n {{\"StoreCountryRequired\" | translate}}
    \n \n
    \n\n\n
    \n \n
    \n \n \n {{lang==='ar-EG'?Governorate.GovernorateNameL1:Governorate.GovernorateNameL2}}\n \n
    \n \n
    \n {{\"StoreGovernorateRequired\" | translate}}
    \n \n
    \n\n \n
    \n \n
    \n \n \n {{lang==='ar-EG'?city.CityNameL1:city.CityNameL2}}\n \n
    \n \n
    \n {{\"StoreCityRequired\" | translate}}
    \n \n
    \n \n
    \n
    \n\n
    \n \n
    \n \n
    \n
    \n \n \n \n \n
    \n
    \n\n
    \n\n \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n tableEngine.deletionList.length === tableEngine.ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n  \n
    \n
    \n \n\n
    \n
    \n\n
    \n\n\n
    \n\n
    \n
    \n \n \n \n\n \n \n\n \n \n\n \n \n\n\n \n \n\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n \n \n \n {{\"StoreName\" | translate}}\n \n \n \n \n {{\"StoreAddress\" | translate}}\n \n \n \n \n {{\"StoreEmail\" | translate}}\n \n \n \n \n {{\"StoreMobil\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{lang==='ar-EG'?obj.NameAr:obj.NameEn}}{{obj.StoreAddress}}{{obj.StoreEmail}}{{obj.StoreMobil}}
    \n
    \n
    \n
    \n\n
    \n\n
     
    \n\n
    \n\n
    \n \n \n \n \n
    \n
    \n\n
     
    \n\n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport {StoreDataModel} from '../store-data/StoreDataModel';\n@Injectable({\n providedIn: 'root'\n})\nexport class StoreDataService {\n constructor(private http:HttpClient ) { }\n\n \n baseUrl = environment.baseApiUrl;\n token = localStorage.getItem(\"token\");\n httpOptions = {\n headers: new HttpHeaders({\n // 'Content-Type': 'application/json; charset=utf-8',\n // 'Authorization': \"Bearer \" + token,\n \"Authorization\": \"Bearer \" + this.token,\n \"Content-Type\": \"application/json\"\n })\n };\n\n getAll(): Observable {\n \n return this.http\n .get(`${this.baseUrl}StoreData/GetAll/0,0`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ngetById(Id:number): Observable {\n\n return this.http\n .get(`${this.baseUrl}StoreData/GetById/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ninsert(payload: StoreDataModel): Observable {\n \n return this.http\n .post(`${this.baseUrl}StoreData/Insert`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\nupdate(payload: StoreDataModel): Observable {\n return this.http\n .put(`${this.baseUrl}StoreData/Update`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ndelete(payload: StoreDataModel): Observable {\n return this.http\n .put(`${this.baseUrl}StoreData/Delete`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\n deleteList(payload: StoreDataModel []): Observable {\n return this.http\n .put(`${this.baseUrl}StoreData/DeleteList`,JSON.stringify(payload),this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n}\n","import { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { BrandServiceService } from '../../warehouses/brand-service.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { BrandModel } from '../../models/BrandModel';\nimport { DataFilterer } from 'src/app/views/app/aio/shared/DataFilterer';\nimport { DataSorter } from 'src/app/views/app/aio/shared/DataSorter';\nimport { DataPaginator } from 'src/app/views/invoice/shared/DataPaginator';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { of } from 'rxjs';\n\n@Component({\n // moduleId: module.id,\n selector: 'brand',\n templateUrl: 'brand.component.html',\n styleUrls: ['brand.component.scss']\n})\nexport class BrandComponent {\n lang: string;\n itemOrder: { label: string; property: string; };\n constructor(private formBuilder: FormBuilder, private modelService: BrandServiceService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService) {\n }\n currentScreen: any = 'Table';\n \n translationName: string = 'Brand'\n \n sortableKeys = [];\n searchableKeys = ['Name'];\n \n modelObject: BrandModel = new BrandModel();\n ogData: BrandModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Name: new FormControl(),\n Image: new FormControl(),\n });\n \n \n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: this.lang === 'ar-EG' ? 'Name' : 'Name' };\n this.sortableKeys = [\n { label: 'Name',property: this.lang === 'ar-EG' ? 'Name' : 'Name'},\n { label: 'Image', property: 'Image' },\n ];\n this.loadData();\n //this.dataSorter.sortData('NameEn', this.ogData);\n }\n \n createForm(): FormGroup {\n return this.formBuilder.group({\n Id: [this.modelObject.Id >= 0 ? this.modelObject.Id : 0],\n Name: [this.modelObject.Name, Validators.compose([Validators.required, Validators.minLength(2)])],\n Image: [this.modelObject.Image],\n });\n }\n\n \n\n\n addObject() {\n //prevent multiclick submits. enable again after API response.\n this.currentAction = 'loading';\n \n this.modelObject = new BrandModel();\n this.modelObject.Id = 0;\n this.modelObject.Name = this.mainForm.getRawValue().Name;\n this.modelObject.Image = this.mainForm.getRawValue().Image;\n \n \n this.executeAddObject();\n }\n \n executeAddObject(){\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n this.smallModal.hide();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n \n editObject() {\n this.savedPage = this.currentPage;\n this.currentAction = 'loading';\n \n let tempObj = new BrandModel({\n Id: this.modelObject.Id,\n Name: this.mainForm.getRawValue().Name,\n Image: this.mainForm.getRawValue().Image,\n });\n \n if(tempObj != this.modelObject){\n this.executeEditObject(tempObj);\n }\n else{\n this.smallModal.hide();\n }\n }\n \n executeEditObject(Object)\n {\n \n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n \n this.smallModal.hide();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n \n //Deletion methods:\n //Customize if needed.\n //Pass the target object as paraMetre if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject(){\n this.modelService.deleteList(this.deletionList).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.finalizeDeletion();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n \n \n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n // lang: any;\n // itemOrder: any;\n currentFormMode: string = '';\n currentAction: string = '';\n \n \n //ogData = [];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n \n SelectAllBox: any = false;\n \n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n orderAsc: boolean = true;\n \n currentPage = 1;\n savedPage = 0;\n \n \n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n \n loadData() {\n debugger;\n this.currentAction = 'loading';\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.sortData();\n this.loadSearch();\n this.currentAction = '';\n }\n )\n \n }\n \n sortData() {\n debugger;\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n \n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n \n filterData() {\n debugger;\n\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n \n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n debugger;\n\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n \n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n \n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n \n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n \n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n \n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n \n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n \n isSelected(p: BrandModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n \n onSelect(item: BrandModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n \n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n \n @ViewChild('smallModal') smallModal: ModalDirective;\n @ViewChild('delModal') delModal: ModalDirective;\n showAddNewModalRef(): void {\n this.currentFormMode = 'Add'\n this.modelObject = new BrandModel;\n this.mainForm = this.createForm();\n this.smallModal.show();\n }\n \n showEditModalRef(Id: any): void {\n this.currentFormMode = 'Edit'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.smallModal.show();\n }\n \n showInfoModalRef(Id: any): void {\n this.currentFormMode = 'Info'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.smallModal.show();\n }\n \n deletionList: BrandModel[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n \n SearchTerm: any = '';\n \n \n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n \n this.deletionList = [];\n this.selected = [];\n \n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n \n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n \n loadAllData() {\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.loadSearch();\n }\n )\n }\n \n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n}\n","\n\n\n
    \n
    \n
    \n \n
    \n

    \n {{currentFormMode+\"Brand\" | translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"BrandNamerequired\" | translate}}
    \n \n
    \n\n \n \n \n \n \n \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Name\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{obj.Name}}\n \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { CategoryServiceService } from '../../warehouses/category-service.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { CategoryModel } from '../../models/CategoryModel';\nimport { DataSorter } from 'src/app/views/app/aio/shared/DataSorter';\nimport { DataFilterer } from 'src/app/views/app/aio/shared/DataFilterer';\nimport { DataPaginator } from 'src/app/views/invoice/shared/DataPaginator';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { of } from 'rxjs';\n\n@Component({\n // moduleId: module.id,\n selector: 'category',\n templateUrl: 'category.component.html',\n styleUrls: ['category.component.scss']\n})\nexport class CategoryComponent {\n lang: string;\n itemOrder: { label: string; property: string; };\n constructor(private formBuilder: FormBuilder, private modelService: CategoryServiceService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService) {\n }\n currentScreen: any = 'Table';\n \n translationName: string = 'Category'\n \n sortableKeys = [];\n searchableKeys = ['Name'];\n \n modelObject: CategoryModel = new CategoryModel();\n ogData: CategoryModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Name: new FormControl(),\n Image: new FormControl(),\n CategoryId: new FormControl(),\n });\n \n \n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: this.lang === 'ar-EG' ? 'Name' : 'Name' };\n this.sortableKeys = [\n { label: 'Name',property: this.lang === 'ar-EG' ? 'Name' : 'Name'},\n { label: 'Image', property: 'Image' },\n ];\n this.loadData();\n //this.dataSorter.sortData('NameEn', this.ogData);\n }\n \n createForm(): FormGroup {\n return this.formBuilder.group({\n Id: [this.modelObject.Id >= 0 ? this.modelObject.Id : 0],\n Name: [this.modelObject.Name, Validators.compose([Validators.required, Validators.minLength(2)])],\n Image: [this.modelObject.Image],\n CategoryId: [this.modelObject.CategoryId],\n });\n }\n\n \n\n\n addObject() {\n //prevent multiclick submits. enable again after API response.\n this.currentAction = 'loading';\n \n this.modelObject = new CategoryModel();\n this.modelObject.Id = 0;\n this.modelObject.Name = this.mainForm.getRawValue().Name;\n this.modelObject.Image = this.mainForm.getRawValue().Image;\n this.modelObject.CategoryId = this.mainForm.getRawValue().CategoryId;\n \n \n this.executeAddObject();\n }\n \n executeAddObject(){\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n this.smallModal.hide();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n \n editObject() {\n this.savedPage = this.currentPage;\n this.currentAction = 'loading';\n \n let tempObj = new CategoryModel({\n Id: this.modelObject.Id,\n Name: this.mainForm.getRawValue().Name,\n Image: this.mainForm.getRawValue().Image,\n CategoryId: this.mainForm.getRawValue().CategoryId,\n });\n \n if(tempObj != this.modelObject){\n this.executeEditObject(tempObj);\n }\n else{\n this.smallModal.hide();\n }\n }\n \n executeEditObject(Object)\n {\n \n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n \n this.smallModal.hide();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n \n //Deletion methods:\n //Customize if needed.\n //Pass the target object as paraMetre if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject(){\n this.modelService.deleteList(this.deletionList).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.finalizeDeletion();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n \n \n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n // lang: any;\n // itemOrder: any;\n currentFormMode: string = '';\n currentAction: string = '';\n \n \n //ogData = [];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n \n SelectAllBox: any = false;\n \n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n orderAsc: boolean = true;\n \n currentPage = 1;\n savedPage = 0;\n \n \n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n \n loadData() {\n debugger;\n this.currentAction = 'loading';\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.sortData();\n this.loadSearch();\n this.currentAction = '';\n }\n )\n \n }\n \n sortData() {\n debugger;\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n \n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n \n filterData() {\n debugger;\n\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n \n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n debugger;\n\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n \n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n \n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n \n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n \n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n \n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n \n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n \n isSelected(p: CategoryModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n \n onSelect(item: CategoryModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n \n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n \n @ViewChild('smallModal') smallModal: ModalDirective;\n @ViewChild('delModal') delModal: ModalDirective;\n showAddNewModalRef(): void {\n this.currentFormMode = 'Add'\n this.modelObject = new CategoryModel;\n this.mainForm = this.createForm();\n this.smallModal.show();\n }\n \n showEditModalRef(Id: any): void {\n this.currentFormMode = 'Edit'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.smallModal.show();\n }\n \n showInfoModalRef(Id: any): void {\n this.currentFormMode = 'Info'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.smallModal.show();\n }\n \n deletionList: CategoryModel[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n \n SearchTerm: any = '';\n \n \n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n \n this.deletionList = [];\n this.selected = [];\n \n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n \n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n \n loadAllData() {\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.loadSearch();\n }\n )\n }\n \n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n}\n","\n\n
    \n
    \n
    \n \n
    \n

    \n {{currentFormMode+\"Category\" | translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"CategoryNameRequired\" | translate}}
    \n \n
    \n\n \n \n \n \n \n \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Name\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{obj.Name}}\n \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { Component, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { InventoryManagementService } from '../inventory-management.service';\nimport {WarehouseService}from '../../warehouses/warehouse-service.service';\nimport { ProductesService}from '../../ProductesAndServices/productes.service';\nimport { NotificationsService } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\nimport { TableEngine } from 'src/app/views/app/aio/shared/TableEngine';\nimport { InventoryManagementModel } from '../../models/InventoryManagementModel';\nimport { SidePopupComponent } from 'src/app/views/app/aio/shared/side-popup/side-popup.component';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { InventoryItemsModel } from '../../models/InventoryItemsModel';\nimport { StoreItemsModel } from '../../models/StoreItemsModel';\nimport { WarehouseModel } from '../../models/WarehouseModel';\n\n@Component({\n // moduleId: module.id,\n selector: 'add-inventory-management',\n templateUrl: 'add-inventory-management.component.html',\n styleUrls: ['add-inventory-management.component.scss']\n})\nexport class AddInventoryManagementComponent {\n\n Id :number = 0;\n\n constructor(\n public router: Router,\n private fb: FormBuilder,\n private modelService:InventoryManagementService,\n private WarehouseService: WarehouseService,\n private ProductesService:ProductesService,\n private notifications: NotificationsService,\n private translate: TranslateService,\n private route: ActivatedRoute\n ) {\n this.Id = +route.snapshot.paramMap.get(\"Id\");\n }\n \n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = \"Table\";\n translationName: string = \"BellType\";\n sortableKeys = [];\n searchableKeys = [\"BellType\", \"Date\"];\n tableView: any = true;\n \n // StoreItemsModel:StoreItemsModel[]=[];\n \n \n modelObject: InventoryManagementModel = new InventoryManagementModel();\n Form: FormGroup;\n declare lang: any;\n declare itemOrder: any;\n currentAction = \"\";\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n prevAction = \"\";\n addToListId = 0;\n ItemsBalanceHeaderId = 0;\n ItemBalanceId = 0;\n currentFormMode: string = \"\";\n type = 0;\n visable = \"\";\n visable2 = \"\";\n visable3 = \"\";\n ogData: InventoryManagementModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n InventoryNumber: new FormControl(),\n WarehouseId: new FormControl(),\n Notes: new FormControl(),\n Time: new FormControl(),\n Date: new FormControl(),\n IsSettlement: new FormControl(),\n \n });\n @ViewChild(\"sideModalRef\", { static: true })\n sideModalRef: SidePopupComponent = null;\n @ViewChild(\"delModal\", { static: true }) delModal: ModalDirective;\n @ViewChild(\"smallModal\", { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n // this.getAllCountryCode();\n \n this.lang = localStorage.getItem(\"theme_lang\");\n this.itemOrder = {\n label: \"Date\",\n property: this.lang === \"ar-EG\" ? \"Date\" : \"Date\",\n };\n \n this.tableEngine.loadTableEngine(\n this.ogData,\n this.modelService,\n this.modelObject,\n this.searchableKeys,\n this.sortableKeys,\n this.mainForm,\n this.translationName,\n this.itemOrder,\n this.sideModalRef,\n this.delModal,\n this.smallModal,\n this.lang\n );\n \n \n this.loadServices();\n this.modelService.getAll().subscribe((data) => {\n this.modelObject = data;\n });\n \n this.modelService.getLastNumber().subscribe((data) => {\n debugger;\n this.modelObject.InventoryNumber = data;\n this.mainForm.controls['InventoryNumber'].setValue(this.modelObject.InventoryNumber+1);\n });\n \n this.WarehouseService.getAll().subscribe((data) => {\n this.WarehouseList = data;\n });\n this.ProductesService.getAll().subscribe(data=>{\n this.ProducteList=data;\n })\n if(this.Id > 0)\n { debugger; \n this.modelService.getById(this.Id).subscribe(data=>{ \n this.modelObject = data; \n this.InventoryItemsList=data.InventoryItems;\n this.InventoryItemsList=this.modelObject.InventoryItems;\n this.mainForm = this.createForm(this.modelObject);\n \n });\n \n \n }\n else{\n \n this.mainForm = this.createForm(this.modelObject); \n \n \n }\n // this.mainForm = this.createForm(this.modelObject);\n \n }\n\n createForm(modelObject): FormGroup {\n debugger;\n return this.fb.group({\n // Id:[this.ItemBalance.Id],\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n InventoryNumber: [modelObject.InventoryNumber,Validators.compose([Validators.required])], \n WarehouseId: [modelObject.WarehouseId,Validators.compose([Validators.required])],\n Time: [modelObject.Time],\n Date: [modelObject.Date],\n IsSettlement: [modelObject.IsSettlement],\n Notes: [modelObject.Notes],\n \n });\n }\n WarehouseList: WarehouseModel[] = [];\n ProducteList:StoreItemsModel[]=[];\n InventoryItemsList:InventoryItemsModel[]=[];\n\n loadServices() {\n // debugger;\n this.currentAction = \"loading\";\n this.tableEngine.loadData();\n }\n\n getItemsById(Id:any):any{\n if(Id>0)\n {\n return this.ProducteList.find(i=>i.Id===Id)\n }\n else\n {\n return new StoreItemsModel();\n }\n }\n setItem(bell){\n debugger;\n var i = this.ProducteList.findIndex(x=>x.Id == bell.ItemId);\n if(i>-1){\n bell.SalePrice = this.ProducteList[i].SalePrice;\n bell.Quantity = this.ProducteList[i].Quantity;\n }\n // this.calculateTotalItemValue();\n }\n currentTotal = 0;\n\n calculateQuantity() {\n let total = 0;\n this.InventoryItemsList.forEach(item => {\n total += item.QuantityNumberInStock*item.QuantityNumberInProgram;\n });\n this.currentTotal = total;\n return total;\n }\n\n\n addproductes() {\n debugger;\n var i = this.ProducteList.findIndex((x) => x.Id == this.addToListId);\n if (i >= 0) {\n var item = this.ProducteList[i];\n\n this.ProducteList.push(item);\n this.ProducteList.splice(i, 1);\n this.addToListId = 0;\n\n }\n }\n AddonClick(){\n var InventoryList= new InventoryItemsModel();\n InventoryList.Id = 0, \n InventoryList.InventoryId =this.Id, \n InventoryList.ItemId = 0, \n InventoryList.UnitId=0,\n // ItemStoreList.IsDeleted= false, \n this.InventoryItemsList.push(InventoryList);\n // this.mainForm.controls['StoreBillId'].setValue(0);\n InventoryList={}; \n }\n\n removeItemsFooter(Id: any): any {\n debugger;\n let index = this.InventoryItemsList.findIndex(x => x.ItemId === Id);\n this.InventoryItemsList.splice(index, 1); \n this.calculateQuantity(); \n }\n \n \n goBack() {\n this.router.navigate([\"app/aio/Inventory/List-All-InventoryManagement\"]);\n }\n goInventory(){\n this.router.navigate(['app/aio/Inventory/InventorySheet/',this.Id]) \n \n }\n Save() {\n debugger;\n this.currentAction = \"loading\";\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n this.modelObject = new InventoryManagementModel();\n this.modelObject.Id = this.Id;\n this.modelObject.InventoryNumber = this.mainForm.getRawValue().InventoryNumber;\n this.modelObject.Date = new Date(this.mainForm.getRawValue().Date);\n this.modelObject.Notes = this.mainForm.getRawValue().Notes;\n this.modelObject.Time =\n this.mainForm.getRawValue().Time;\n this.modelObject.IsSettlement =false;\n this.modelObject.WarehouseId =+\n this.mainForm.getRawValue().WarehouseId;\n this.modelObject.InventoryItems = this.InventoryItemsList;\n \n if (this.Id == 0) {\n this.modelObject.Id = 0;\n this.modelService.insert(this.modelObject).subscribe((data) => {\n this.router.navigate(['app/aio/Inventory/InventorySheet/',data]);\n\n });\n } else {\n debugger;\n this.modelService.update(this.modelObject).subscribe((data) => {\n this.router.navigate(['app/aio/Inventory/InventorySheet/',this.Id]);\n });\n }\n\n }\n\n}\n","\n\n
    \n
    \n
    \n
    \n \n
    \n \n {{ \"TakeInventory\" | translate }}\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n
    \n \n
    \n
    \n \n \n \n {{ \"InventoryNumberRequired\" | translate }}\n
    \n
    \n
    \n \n 0\">\n {{modelObject.WarehouseName}}\n \n \n \n \n {{warehouse.Name }}\n \n \n
    \n
    \n \n \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n {{ \"DateRequired\" | translate }}\n
    \n
    \n \n
    \n \n \n \n \n {{ \"NameRequired\" | translate }}\n
    \n
    \n
    \n \n
    \n \n \n \n \n \n \n \n\n \n
    \n
    \n
    \n \n \n
    \n \n
    \n \n
    \n \n \n \n \n {{ \"NotesRequired\" | translate }}\n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n \n \n \n ","import { Component, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { InventoryManagementService } from '../inventory-management.service';\nimport {WarehouseService}from '../../warehouses/warehouse-service.service';\nimport { ProductesService}from '../../ProductesAndServices/productes.service';\nimport { NotificationsService } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\nimport { TableEngine } from 'src/app/views/app/aio/shared/TableEngine';\nimport { InventoryManagementModel } from '../../models/InventoryManagementModel';\nimport { SidePopupComponent } from 'src/app/views/app/aio/shared/side-popup/side-popup.component';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { InventoryItemsModel } from '../../models/InventoryItemsModel';\nimport { StoreItemsModel } from '../../models/StoreItemsModel';\nimport { WarehouseModel } from '../../models/WarehouseModel';\n\n@Component({\n // moduleId: module.id,\n selector: 'info-inventory-management',\n templateUrl: 'info-inventory-management.component.html',\n styleUrls: ['info-inventory-management.component.scss']\n})\nexport class InfoInventoryManagementComponent {\n\n Id = 0;\n\n constructor(\n public router: Router,\n private fb: FormBuilder,\n private modelService:InventoryManagementService,\n private WarehouseService: WarehouseService,\n private ProductesService:ProductesService,\n private notifications: NotificationsService,\n private translate: TranslateService,\n private route: ActivatedRoute\n ) {\n this.Id = +route.snapshot.paramMap.get(\"Id\");\n }\n \n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = \"Table\";\n translationName: string = \"BellType\";\n sortableKeys = [];\n searchableKeys = [\"BellType\", \"Date\"];\n tableView: any = true;\n \n // StoreItemsModel:StoreItemsModel[]=[];\n \n \n modelObject: InventoryManagementModel = new InventoryManagementModel();\n Form: FormGroup;\n declare lang: any;\n declare itemOrder: any;\n currentAction = \"\";\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n prevAction = \"\";\n addToListId = 0;\n ItemsBalanceHeaderId = 0;\n ItemBalanceId = 0;\n currentFormMode: string = \"\";\n type = 0;\n visable = \"\";\n visable2 = \"\";\n visable3 = \"\";\n ogData: InventoryManagementModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n InventoryNumber: new FormControl(),\n WarehouseId: new FormControl(),\n Notes: new FormControl(),\n Time: new FormControl(),\n Date: new FormControl(),\n IsSettlement: new FormControl(),\n \n });\n @ViewChild(\"sideModalRef\", { static: true })\n sideModalRef: SidePopupComponent = null;\n @ViewChild(\"delModal\", { static: true }) delModal: ModalDirective;\n @ViewChild(\"smallModal\", { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n // this.getAllCountryCode();\n \n this.lang = localStorage.getItem(\"theme_lang\");\n this.itemOrder = {\n label: \"Date\",\n property: this.lang === \"ar-EG\" ? \"Date\" : \"Date\",\n };\n \n this.tableEngine.loadTableEngine(\n this.ogData,\n this.modelService,\n this.modelObject,\n this.searchableKeys,\n this.sortableKeys,\n this.mainForm,\n this.translationName,\n this.itemOrder,\n this.sideModalRef,\n this.delModal,\n this.smallModal,\n this.lang\n );\n \n \n // this.loadServices();\n // this.modelService.getAll().subscribe((data) => {\n // this.modelObject = data;\n // });\n \n // this.modelService.getLastNumber().subscribe((data) => {\n // this.modelObject.InventoryNumber = data;\n // this.mainForm.controls['InventoryNumber'].setValue(this.modelObject.InventoryNumber+1);\n // });\n \n // this.WarehouseService.getAll().subscribe((data) => {\n // this.WarehouseList = data;\n // });\n// this.ProductesService.getAll().subscribe(data=>{\n// this.ProducteList=data;\n// })\n if(this.Id > 0)\n { debugger; \n this.modelService.getById(this.Id).subscribe(data=>{ \n this.modelObject = data; \n this.InventoryItemsList=data.InventoryItems;\n this.InventoryItemsList=this.modelObject.InventoryItems;\n this.calculateQuantity()\n \n });\n this.mainForm = this.createForm(this.modelObject);\n \n }\n else{\n \n this.mainForm = this.createForm(this.modelObject); \n \n \n }\n // this.mainForm = this.createForm(this.modelObject);\n \n }\n\n createForm(modelObject): FormGroup {\n debugger;\n return this.fb.group({\n // Id:[this.ItemBalance.Id],\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n InventoryNumber: [modelObject.InventoryNumber,Validators.compose([Validators.required])], \n WarehouseId: [modelObject.WarehouseId,Validators.compose([Validators.required])],\n Time: [modelObject.Time],\n Date: [modelObject.Date],\n IsSettlement: [modelObject.IsSettlement],\n Notes: [modelObject.Notes],\n \n });\n }\n WarehouseList: WarehouseModel[] = [];\n ProducteList:StoreItemsModel[]=[];\n InventoryItemsList:InventoryItemsModel[]=[];\n\n loadServices() {\n // debugger;\n this.currentAction = \"loading\";\n this.tableEngine.loadData();\n }\n\n getItemsById(Id:any):any{\n if(Id>0)\n {\n return this.ProducteList.find(i=>i.Id===Id)\n }\n else\n {\n return new StoreItemsModel();\n }\n }\n setItem(bell){\n debugger;\n var i = this.ProducteList.findIndex(x=>x.Id == bell.ItemId);\n if(i>-1){\n bell.SalePrice = this.ProducteList[i].SalePrice;\n bell.Quantity = this.ProducteList[i].Quantity;\n }\n // this.calculateTotalItemValue();\n }\n currentTotal = 0;\n\n calculateQuantity() {\n debugger;\n let total = 0;\n let total2 = 0;\n this.InventoryItemsList.forEach(item => {\n var totalQuantity = (item.QuantityNumberInProgram-item.QuantityNumberInStock);\n total=(totalQuantity*item.SalePrice);\n total2+=total;\n });\n this.currentTotal = total2;\n return total2;\n }\n\n\n addproductes() {\n debugger;\n var i = this.ProducteList.findIndex((x) => x.Id == this.addToListId);\n if (i >= 0) {\n var item = this.ProducteList[i];\n\n this.ProducteList.push(item);\n this.ProducteList.splice(i, 1);\n this.addToListId = 0;\n\n }\n }\n AddonClick(){\n var InventoryList= new InventoryItemsModel();\n InventoryList.Id = 0, \n InventoryList.InventoryId =this.Id, \n InventoryList.ItemId = 0, \n InventoryList.UnitId=0,\n // ItemStoreList.IsDeleted= false, \n this.InventoryItemsList.push(InventoryList);\n // this.mainForm.controls['StoreBillId'].setValue(0);\n InventoryList={}; \n }\n\n removeItemsFooter(Id: any): any {\n debugger;\n let index = this.InventoryItemsList.findIndex(x => x.ItemId === Id);\n this.InventoryItemsList.splice(index, 1); \n this.calculateQuantity(); \n }\n \n IsSettlement(item){\n debugger;\n this.modelService.IsSettlement(item.Id).subscribe(result => {\n if(item.IsSettlement==false)\n { \n item.IsSettlement=true;\n }\n})\n}\nshowModal(Id, action) {\n \n if (action === 'Add') { \n debugger;\n // this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n this.router.navigate(['app/aio/Inventory/Add-Bell/',0]) \n }\n else if (action === 'Edit') {\n debugger;\n this.router.navigate(['app/aio/Inventory/InventorySheet/',Id]) \n \n }\n else if (action === 'Info') {\n debugger;\n \n this.router.navigate(['app/aio/Inventory/Info-Bell/',Id])\n \n // // this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder) \n // this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder)\n }\n //this.mainForm.get('IsActive').setValue(true);\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n \n }\n \n goBack() {\n this.router.navigate([\"app/aio/Inventory/List-All-InventoryManagement\"]);\n }\n goInventory(){\n this.router.navigate(['app/aio/Inventory/InventorySheet/',this.Id]) \n \n }\n Save() {\n debugger;\n this.currentAction = \"loading\";\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n this.modelObject = new InventoryManagementModel();\n this.modelObject.Id = 0;\n this.modelObject.InventoryNumber = this.mainForm.getRawValue().InventoryNumber;\n this.modelObject.Date = new Date(this.mainForm.getRawValue().Date);\n this.modelObject.Notes = this.mainForm.getRawValue().Notes;\n this.modelObject.Time =\n this.mainForm.getRawValue().Time;\n this.modelObject.IsSettlement =true;\n this.modelObject.WarehouseId =+\n this.mainForm.getRawValue().WarehouseId;\n this.modelObject.InventoryItems = this.InventoryItemsList;\n if (this.Id == 0) {\n this.modelService.insert(this.modelObject).subscribe((data) => {\n this.router.navigate(['app/aio/Inventory/InventorySheet/',data]);\n\n });\n } else {\n debugger;\n this.modelService.update(this.modelObject).subscribe((data) => {\n this.router.navigate(['app/aio/Inventory/InventorySheet/',data]);\n });\n }\n\n }\n}\n","\n\n
    \n
    \n
    \n
    \n {{modelObject.InventoryNumber}}#\n {{'IsSettlement' | translate}}\n {{'Draft' | translate}}\n \n
    \n \n {{ \"Back\" | translate }}\n \n \n \n {{ \"Settlement\" | translate }}\n \n \n \n \n \n {{ \"TakeInventory\" | translate }}\n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{'Warehouse'|translate}}{{'Date'|translate}}{{'InventoryNumber'|translate}}{{'Summary'|translate}}
    \n {{modelObject.WarehouseName}}\n \n {{modelObject.Date}}\n \n \n {{modelObject.InventoryNumber}}#\n \n \n \n
    {{'Notes'|translate}}
    \n {{modelObject.Notes}}\n
    \n
    \n \n
    \n \n \n \n \n
    \n
    \n

    {{'ProducteLIst' | translate}}

    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{'Item'|translate}}{{'Unit'|translate}}{{'NumberInStock'|translate}}{{'NumberInProgram'|translate}}{{'decrease/excess'|translate}}
    \n {{item.ItemName}}\n \n {{item.UnitId}}\n \n {{item.QuantityNumberInProgram}}\n \n {{item.QuantityNumberInStock}}\n \n {{item.QuantityNumberInStock-item.QuantityNumberInProgram}}\n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    ","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport {InventoryManagementModel} from '../models/InventoryManagementModel';\n@Injectable({\n providedIn: 'root'\n})\nexport class InventoryManagementService {\n\n\n\n constructor(private http:HttpClient ) { }\n\n \n baseUrl = environment.baseApiUrl;\n token = localStorage.getItem(\"token\");\n httpOptions = {\n headers: new HttpHeaders({\n // 'Content-Type': 'application/json; charset=utf-8',\n // 'Authorization': \"Bearer \" + token,\n \"Authorization\": \"Bearer \" + this.token,\n \"Content-Type\": \"application/json\"\n })\n };\n\n getAll(): Observable {\n \n return this.http\n .get(`${this.baseUrl}InventoryManagement/GetAll`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\nGetAllSubAccountes(Id:number): Observable {\n \n return this.http\n .get(`${this.baseUrl}InventoryManagement/GetAll/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ngetLastNumber(): Observable {\n \n return this.http\n .get(`${this.baseUrl}InventoryManagement/GetLastNumber`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ngetById(Id:number): Observable {\n\n return this.http\n .get(`${this.baseUrl}InventoryManagement/GetById/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ninsert(payload: InventoryManagementModel): Observable {\n \n return this.http\n .post(`${this.baseUrl}InventoryManagement/Insert`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\nupdate(payload: InventoryManagementModel): Observable {\n return this.http\n .post(`${this.baseUrl}InventoryManagement/Update`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ndelete(Id:number): Observable {\n return this.http\n .get(`${this.baseUrl}InventoryManagement/Delete/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\nIsSettlement(Id:number): Observable {\n return this.http\n .get(`${this.baseUrl}InventoryManagement/IsSettlement/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n deleteList(payload: InventoryManagementModel []): Observable {\n return this.http\n .post(`${this.baseUrl}InventoryManagement/DeleteList`,JSON.stringify(payload),this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n}\n","import { Component, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { InventoryManagementService } from '../inventory-management.service';\nimport {WarehouseService}from '../../warehouses/warehouse-service.service';\nimport { ProductesService}from '../../ProductesAndServices/productes.service';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\nimport { TableEngine } from 'src/app/views/app/aio/shared/TableEngine';\nimport { InventoryManagementModel } from '../../models/InventoryManagementModel';\nimport { SidePopupComponent } from 'src/app/views/app/aio/shared/side-popup/side-popup.component';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { InventoryItemsModel } from '../../models/InventoryItemsModel';\nimport { StoreItemsModel } from '../../models/StoreItemsModel';\nimport { WarehouseModel } from '../../models/WarehouseModel';\n\n@Component({\n // moduleId: module.id,\n selector: 'inventory-sheet',\n templateUrl: 'inventory-sheet.component.html',\n styleUrls: ['inventory-sheet.component.scss']\n})\nexport class InventorySheetComponent {\n\n Id = 0;\n\n constructor(\n public router: Router,\n private fb: FormBuilder,\n private modelService:InventoryManagementService,\n private WarehouseService: WarehouseService,\n private ProductesService:ProductesService,\n private notifications: NotificationsService,\n private translate: TranslateService,\n private route: ActivatedRoute\n ) {\n this.Id = +route.snapshot.paramMap.get(\"Id\");\n }\n \n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = \"Table\";\n translationName: string = \"IventoryManagement\";\n sortableKeys = [];\n searchableKeys = [\"Date\"];\n tableView: any = true;\n \n // StoreItemsModel:StoreItemsModel[]=[];\n \n \n modelObject: InventoryManagementModel = new InventoryManagementModel();\n InventoryItemObject: InventoryItemsModel = new InventoryItemsModel();\n Form: FormGroup;\n declare lang: any;\n declare itemOrder: any;\n currentAction = \"\";\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n prevAction = \"\";\n addToListId = 0;\n ItemsBalanceHeaderId = 0;\n ItemBalanceId = 0;\n currentFormMode: string = \"\";\n type = 0;\n visable = \"\";\n visable2 = \"\";\n visable3 = \"\";\n ogData: InventoryManagementModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n InventoryNumber: new FormControl(),\n WarehouseId: new FormControl(),\n Notes: new FormControl(),\n Time: new FormControl(),\n Date: new FormControl(),\n IsSettlement: new FormControl(),\n \n });\n\n mainItemForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n ItemId: new FormControl(),\n InventoryId: new FormControl(),\n UnitId: new FormControl(),\n QuantityNumberInStock: new FormControl(),\n QuantityNumberInProgram: new FormControl(),\n ItemName: new FormControl(),\n \n });\n @ViewChild(\"sideModalRef\", { static: true })\n sideModalRef: SidePopupComponent = null;\n @ViewChild('smallModal') smallModal: ModalDirective;\n @ViewChild('delModal') delModal: ModalDirective;\n\n \n formPresentationModal: any;\n ngOnInit(): void {\n // this.getAllCountryCode();\n \n this.lang = localStorage.getItem(\"theme_lang\");\n this.itemOrder = {\n label: \"Date\",\n property: this.lang === \"ar-EG\" ? \"Date\" : \"Date\",\n };\n \n this.tableEngine.loadTableEngine(\n this.ogData,\n this.modelService,\n this.modelObject,\n this.searchableKeys,\n this.sortableKeys,\n this.mainForm,\n this.translationName,\n this.itemOrder,\n this.sideModalRef,\n this.delModal,\n this.smallModal,\n this.lang\n );\n \n \n this.loadServices();\n this.modelService.getAll().subscribe((data) => {\n this.modelObject = data;\n });\n \n this.modelService.getLastNumber().subscribe((data) => {\n this.modelObject.InventoryNumber = data;\n this.mainForm.controls['InventoryNumber'].setValue(+this.modelObject.InventoryNumber+1);\n });\n \n this.WarehouseService.getAll().subscribe((data) => {\n this.WarehouseList = data;\n });\n\n if(this.Id > 0)\n { debugger; \n \n this.modelService.getById(this.Id).subscribe(data=>{ \n this.modelObject = data; \n this.InventoryItemsList=data.InventoryItems;\n this.InventoryItemsList=this.modelObject.InventoryItems;\n this.mainForm = this.createForm(this.modelObject);\n this.ProductesService.GetAllByInventoryId( this.modelObject.WarehouseId).subscribe(data=>{\n this.ProducteList=data;\n }) \n });\n \n \n }\n else{\n \n this.mainForm = this.createForm(this.modelObject); \n \n \n }\n // this.mainForm = this.createForm(this.modelObject);\n \n }\n creatsmallForm(){\n\n }\n createForm(modelObject): FormGroup {\n debugger;\n return this.fb.group({\n // Id:[this.ItemBalance.Id],\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n InventoryNumber: [modelObject.InventoryNumber,Validators.compose([Validators.required])],\n \n WarehouseId: [modelObject.WarehouseId,Validators.compose([Validators.required])],\n Time: [modelObject.Time],\n Date: [modelObject.Date],\n IsSettlement: [modelObject.IsSettlement],\n Notes: [modelObject.Notes],\n \n });\n }\n createItemForm(InventoryItemObject): FormGroup {\n debugger;\n return this.fb.group({\n // Id:[this.ItemBalance.Id],\n Id: [InventoryItemObject.Id >= 0 ? InventoryItemObject.Id : 0],\n ItemId: [InventoryItemObject.ItemId],\n \n InventoryId: [InventoryItemObject.InventoryId],\n UnitId: [InventoryItemObject.UnitId],\n QuantityNumberInStock: [InventoryItemObject.QuantityNumberInStock],\n QuantityNumberInProgram: [InventoryItemObject.QuantityNumberInProgram],\n ItemName: [InventoryItemObject.ItemName],\n \n });\n }\n WarehouseList: WarehouseModel[] = [];\n ProducteList:StoreItemsModel[]=[];\n InventoryItemsList:InventoryItemsModel[]=[];\n showAddNewModalRef(): void {\n debugger;\n this.currentFormMode = 'Add'\n this.InventoryItemObject = new InventoryItemsModel;\n this.mainItemForm = this.createItemForm(this.InventoryItemObject);\n this.smallModal.show();\n }\n loadServices() {\n // debugger;\n this.currentAction = \"loading\";\n this.tableEngine.loadData();\n }\n\n getItemsById(Id:any):any{\n if(Id>0)\n {\n return this.ProducteList.find(i=>i.Id===Id)\n }\n else\n {\n return new StoreItemsModel();\n }\n }\n setItem(){\n debugger;\n var item = this.mainItemForm.getRawValue()\n var i = this.ProducteList.findIndex(x=>x.Id == item.ItemId);\n if(i>-1){\n item.QuantityNumberInProgram = this.ProducteList[i].Quantity;\n }\n // this.calculateTotalItemValue();\n }\n currentTotal = 0;\n\n // calculateQuantity() {\n // let total = 0;\n // this.InventoryItemsList.forEach(item => {\n // total += item.QuantityNumberInStock*item.QuantityNumberInProgram;\n // });\n // this.currentTotal = total;\n // this.mainItemForm = this.createItemForm(new InventoryItemsModel());\n // return total;\n // }\n\n setItemQuentity(){\n debugger;\n var item = this.mainItemForm.getRawValue();\n var i = this.ProducteList.findIndex(x=>x.Id == item.ItemId);\n if(i > -1){\n this.mainItemForm.controls['QuantityNumberInProgram'].setValue(this.ProducteList[i].Quantity)\n }\n \n }\n\n\n\n // calcTotalQuentity(item){\n // var Quantity = 0;\n // item.WarhouseItem.forEach(element2 => {\n // Quantity+=element2.Quantity\n \n // });\n // return Quantity;\n // }\n \n addproductes() {\n debugger;\n var item = this.mainItemForm.getRawValue();\n var Inventory= new InventoryItemsModel();\n Inventory.Id = 0;\n Inventory.InventoryId = this.Id;\n Inventory.ItemId = +item.ItemId;\n\n Inventory.QuantityNumberInProgram = item.QuantityNumberInProgram;\n Inventory.QuantityNumberInStock = item.QuantityNumberInStock;\n Inventory.UnitId = item.UnitId;\n var i = this.ProducteList.findIndex(x=>x.Id == item.ItemId);\n if(i > -1){\n Inventory.ItemName = this.ProducteList[i].Name;\n this.ProducteList.splice(i,1);\n }\n this.InventoryItemsList.push(Inventory);\n var Inventory= new InventoryItemsModel();\n this.mainItemForm = this.createItemForm(Inventory);\n }\n \n removeItemsFooter(Id: any): any {\n debugger;\n let index = this.InventoryItemsList.findIndex(x => x.ItemId === Id);\n this.InventoryItemsList.splice(index, 1); \n // this.calculateQuantity(); \n }\n QuantityNumberInProgram = 0;\n AddObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeAddeObject();\n }\n \n //Same here...\n executeAddeObject(){\n debugger;\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.delModal.hide();\n // this.finalizeDeletion();\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\"));\n if (this.sideModalRef === undefined) {\n \n this.tableEngine.smallModal.hide();\n \n } else {\n \n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n selected : any[] = [];\n\n showDelModal(Id: any): void {\n debugger;\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n \n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n goBack() {\n this.router.navigate([\"app/aio/Inventory/List-All-InventoryManagement\"]);\n }\n goInventory(){\n \n }\n Save() {\n debugger;\n this.currentAction = \"loading\";\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n this.modelObject = new InventoryManagementModel();\n this.modelObject.Id =this.Id;\n this.modelObject.InventoryNumber = this.mainForm.getRawValue().InventoryNumber;\n this.modelObject.Date = new Date(this.mainForm.getRawValue().Date);\n this.modelObject.Notes = this.mainForm.getRawValue().Notes;\n this.modelObject.WarehouseName = this.mainForm.getRawValue().WarehouseName;\n \n this.modelObject.Time =\n this.mainForm.getRawValue().Time;\n this.modelObject.IsSettlement =false;\n this.modelObject.WarehouseId =+\n this.mainForm.getRawValue().WarehouseId;\n \n this.modelObject.InventoryItems = this.InventoryItemsList;\n if (this.Id == 0) {\n this.modelService.insert(this.modelObject).subscribe((data) => {\n this.router.navigate([\"app/aio/Inventory/List-All-InventoryManagement\"]);\n });\n } else {\n debugger;\n this.modelService.update(this.modelObject).subscribe((data) => {\n this.router.navigate([\"app/aio/Inventory/List-All-InventoryManagement\"]);\n });\n }\n }\n\n}\n","\n
    \n
    \n
    \n
    \n \n
    \n \n {{ \"Back\" | translate }}\n \n \n {{ \"Save\" | translate }}\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n

    \n {{\"AddItem\"|translate}}

    \n
    \n
    \n \n
    \n \n \n \n \n {{Item.Name }}\n \n \n \n \n \n \n\n \n
    \n \n \n \n
    \n \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n \n \n \n
    \n \n
    \n \n \n 0\">\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{'Item'|translate}}{{'Unit'|translate}}{{'NumberInStock'|translate}}{{'NumberInProgram'|translate}}{{'decrease/excess'|translate}}
    \n {{item.ItemName}}\n \n {{item.UnitId}}\n \n {{item.QuantityNumberInProgram}}\n \n {{item.QuantityNumberInStock}}\n \n {{item.QuantityNumberInStock-item.QuantityNumberInProgram}}\n \n \n
    \n
    \n
    \n\n
    \n \n
    \n
    \n
    ","import { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport {InventoryManagementService }from '../inventory-management.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { TableEngine } from 'src/app/views/app/aio/shared/TableEngine';\nimport { InventoryManagementModel } from '../../models/InventoryManagementModel';\nimport { SidePopupComponent } from 'src/app/views/app/aio/shared/side-popup/side-popup.component';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { DataFilterer } from 'src/app/views/app/aio/shared/DataFilterer';\nimport { DataSorter } from 'src/app/views/app/aio/shared/DataSorter';\nimport { DataPaginator } from 'src/app/views/app/aio/shared/DataPaginator';\nimport {InventoryWarehouseDataModel} from '../../models/InventoryWarehouseDataModel';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { WarehouseService } from '../../warehouses/warehouse-service.service';\nimport { WarehouseModel } from '../../models/WarehouseModel';\nimport { StoreItemsModel } from '../../models/StoreItemsModel';\nimport { InventoryItemsModel } from '../../models/InventoryItemsModel';\n@Component({\n // moduleId: module.id,\n selector: 'list-inventory-management',\n templateUrl: 'list-inventory-management.component.html',\n styleUrls: ['list-inventory-management.component.scss']\n})\nexport class ListInventoryManagementComponent {\n Id=0;\n\n constructor(private formBuilder: FormBuilder, private modelService: InventoryManagementService\n , private WarehouseService: WarehouseService\n , private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService, private router : Router,\n private route: ActivatedRoute\n ) { this.Id = + route.snapshot.paramMap.get('Id'); }\n\ntableEngine = new TableEngine(this.translate, this.notifications);\ncurrentScreen: any = 'Table';\ntableView: any = true;\n// PriceList : PriceListModel[]=[];\n\nMessage:string='An item that has been normalized cannot be modified'\ntranslationName: string = ' PruductList' \nsortableKeys = [];\nsearchableKeys = ['Date'];\nmodelObject: InventoryManagementModel = new InventoryManagementModel();\nWarehouseData:InventoryWarehouseDataModel[]=[];\ndebugMode = true;\n\nogData: InventoryManagementModel[] = [];\nmainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n InventoryNumber: new FormControl(),\n WarehouseId: new FormControl(),\n Notes: new FormControl(),\n Time: new FormControl(),\n Date: new FormControl(),\n IsSettlement: new FormControl(),\n WarehouseName: new FormControl(),\n \n\n });\n\n\ndeclare lang: any;\ndeclare itemOrder: any;\ncurrentAction = '';\ncurrentFormMode: string = '';\nsavedPage = 0;\ncurrentPage = 1; \ndeletionList: any[] = [];\n\n@ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n@ViewChild('delModal', { static: true }) delModal: ModalDirective;\n@ViewChild('smallModal', { static: true }) smallModal: ModalDirective = null;\nformPresentationModal: any;\nngOnInit(): void {\n // this.getAllCountryCode(); \n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Date', property: 'Date' }; \n this.sortableKeys = [ \n { label: 'Time', property: 'Time' }, \n { label: 'InventoryNumber', property: 'InventoryNumber' }, \n { label: 'Date', property: 'Date' },\n \n ];\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n this.loadServices(); \n\n} \n\nWarehouseList: WarehouseModel[] = [];\nProducteList:StoreItemsModel[]=[];\nInventoryItemsList:InventoryItemsModel[]=[];\nIsApproval(item){\n debugger;\n this.modelService.IsSettlement(item.Id).subscribe(result => {\n if(item.IsSettlement==false)\n { \n item.IsSettlement=true;\n }\n})\n}\nshowInfoModalRef(Id: any): void {\n this.router.navigate(['app/aio/Inventory/Info-Price-InventoryManagement',Id])\n }\n showDelModal(Id: any): void {\n debugger;\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n \n }\n \n showModal(Id, action) {\n \n if (action === 'Add') { \n debugger;\n // this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n this.router.navigate(['app/aio/Inventory/Add-InventoryManagement/',0]) \n }\n else if (action === 'Edit') {\n debugger;\n this.router.navigate(['app/aio/Inventory/Add-InventoryManagement/',Id]) \n \n }\n else if (action === 'Info') {\n debugger;\n \n this.router.navigate(['app/aio/Inventory/Info-InventoryManagement/',Id])\n \n // // this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder) \n // this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder)\n }\n //this.mainForm.get('IsActive').setValue(true);\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n \n }\n \ndeleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject(){\n debugger;\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.delModal.hide();\n // this.finalizeDeletion();\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\"));\n if (this.sideModalRef === undefined) {\n \n this.tableEngine.smallModal.hide();\n \n } else {\n \n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n \n \n createForm(modelObject): FormGroup {\n debugger;\n return this.formBuilder.group({\n // Id:[this.ItemBalance.Id],\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n InventoryNumber: [modelObject.InventoryNumber],\n \n WarehouseId: [modelObject.WarehouseId],\n Time: [modelObject.Time], \n Date: [modelObject.Date],\n IsSettlement: [modelObject.IsSettlement],\n Notes: [modelObject.Notes],\n WarehouseName: [modelObject.WarehouseName],\n \n \n });\n }\n addObject() {\n // debugger;\n this.currentAction = 'loading';\n this.modelObject = new InventoryManagementModel();\n this.modelObject.Id = 0;\n this.modelObject.Date = this.mainForm.getRawValue().Date;\n this.modelObject.Notes = this.mainForm.getRawValue().Notes;\n this.modelObject.InventoryNumber = this.mainForm.getRawValue().InventoryNumber;\n this.modelObject.Time = this.mainForm.getRawValue().Time;\n this.modelObject.IsSettlement = this.mainForm.getRawValue().IsSettlement;\n this.modelObject.WarehouseId = this.mainForm.getRawValue().WarehouseId;\n this.modelObject.WarehouseName = this.mainForm.getRawValue().WarehouseName;\n this.executeAddObject();\n }\n executeAddObject() {\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n if (this.sideModalRef === undefined) {\n \n this.tableEngine.smallModal.hide();\n \n } else {\n \n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n \n editObject() {\n debugger;\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n \n let tempObj = new InventoryManagementModel({\n Id: this.modelObject.Id,\n InventoryNumber: this.mainForm.getRawValue().InventoryNumber,\n Date: this.mainForm.getRawValue().Date,\n Time:this.mainForm.getRawValue().Time,\n IsSettlement:this.mainForm.getRawValue().IsSettlement,\n WarehouseId:this.mainForm.getRawValue().WarehouseId,\n Notes:this.mainForm.getRawValue().Notes,\n WarehouseName:this.mainForm.getRawValue().WarehouseName,\n \n });\n \n if (JSON.stringify(tempObj) != JSON.stringify(this.modelObject)) {\n this.executeEditObject(tempObj);\n }\n else {if (this.sideModalRef === undefined) {\n \n this.tableEngine.smallModal.hide();\n \n \n } else {\n \n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n }\n \n executeEditObject(Object) {\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n if (this.sideModalRef === undefined) {\n \n this.tableEngine.smallModal.hide();\n \n } else {\n \n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n \n loadServices(){\n // debugger;\n this.currentAction = 'loading';\n this.tableEngine.loadData(); \n \n \n }\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n \n selected : any[] = [];\n selectAllState = '';\n SearchFrom: Date = null;\n SearchTo: Date = null;\n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n SearchTerm: any = '';\n \n clearSearch() {\n this.SearchFrom = null;\n this.SearchTo = null;\n }\n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n filterData() {\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n isSelected(p: InventoryManagementModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n \n onSelect(item: InventoryManagementModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n \n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n \n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n \n prepChangeSort(sortKey) {\n this.SearchFrom = null;\n this.SearchTo = null;\n \n \n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n \n getFormattedDate(dateString: any){\n let splitDate: number[] = dateString.toString().split(\"/\");\n \n return new Date(splitDate[2], splitDate[1]-1, splitDate[0])\n }\n ///////////////////////////////////////////////////////\n \n displayMode = 'list';\n changeDisplayMode(mode): void {\n this.displayMode = mode;\n }\n itemsPerPageChange(perPage: number): void {\n this.tableEngine.paginateData(perPage, 1)\n }\n}\n","\n\n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n\n \n \n \n {{ \"Status\" | translate }}\n \n \n \n \n \n \n {{ \"ResultCount\" | translate }}\n \n \n \n {{ tableEngine.itemsPerPage }}\n \n \n \n {{ item }}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n \n  \n \n
    \n \n \n \n \n
  • \n \n \n {{ \"DeleteSelected\" | translate }}\n \n
  • \n \n
    \n
    \n
    \n {{ \"Results\" | translate }}\n \n \n \n \n \n
    \n \n \n \n \n \n
    \n \n #{{obj.InventoryNumber}}\n \n \n {{\n obj.Date | date:'dd/MM/yyyy'\n }}\n \n \n {{\n obj.Time \n }}\n \n
    \n
    \n \n {{\n obj.WarehouseName\n }}\n \n
    \n
    \n 0\">{{'IsSettlement' | translate}}\n {{'Draft' | translate}} \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n
    \n \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","import { Component, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { PriceListService } from '../price-list/price-list.service';\nimport{StoreItemsService} from 'src/app/Invintory/store-items-service.service'\nimport { NotificationsService } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\nimport { TableEngine } from 'src/app/invoices/TableEngine';\nimport { PriceListModel } from '../../models/PriceListModel';\nimport { StoreItemsModel } from '../../models/StoreItemsModel';\nimport { SidePopupComponent } from 'src/app/views/invoice/side-popup/side-popup.component';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport {ItemsPriceListModel} from 'src/app/Invintory/models/ItemsPriceListModel';\n@Component({\n // moduleId: module.id,\n selector: 'add-price-list',\n templateUrl: 'add-price-list.component.html',\n styleUrls: ['add-price-list.component.scss']\n})\nexport class AddPriceListComponent {\n Id=0;\n\n constructor(public router:Router, \n private fb:FormBuilder,\n private modelService: PriceListService,\n private StoreItemsService: StoreItemsService, \n private notifications: NotificationsService, private translate: TranslateService,\n private route: ActivatedRoute\n ){\n this.Id = + route.snapshot.paramMap.get('Id'); \n }\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n translationName: string = 'Item'\n sortableKeys = [];\n searchableKeys = ['BalanceNameEn', 'BalanceNameAr'];\n tableView: any = true;\n \n // StoreItemsModel:StoreItemsModel[]=[]; \n \n itemsData:StoreItemsModel[]=[];\n modelObject: PriceListModel = new PriceListModel();\n // ItemsModel:ItemsModel[]=[]\n Form:FormGroup;\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n prevAction = ''; \n addToListId = 0;\n ItemsBalanceHeaderId=0;\n ItemBalanceId=0;\ncurrentFormMode: string = '';\n\n\nogData: PriceListModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n NameAr: new FormControl(),\n NameEn: new FormControl(),\n IsActive: new FormControl(),\n \n });\n\n@ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n@ViewChild('delModal', { static: true }) delModal: ModalDirective;\n@ViewChild('smallModal', { static: true }) smallModal: ModalDirective = null;\nformPresentationModal: any;\nngOnInit(): void {\n // this.getAllCountryCode(); \n \n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'PriceListName', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' }; \n this.sortableKeys = [ \n // { label: 'Date', property: 'Date' }, \n { label: 'PriceListName', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' }, \n { label: 'IsActive', property: 'IsActive' },\n \n ];\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n //this.tableEngine.modelObject = {}\n \n this.loadServices();\n this.StoreItemsService.getAll() \n .subscribe(data=>\n {\n this.itemsData=data\n });\n\n\n if(this.Id > 0)\n { debugger; \n this.modelService.getById(this.Id).subscribe(data=>{ \n this.modelObject = data;\n this.ItemsPriceList=data;\n this.ItemsPriceList=this.modelObject.Items\n this.mainForm = this.createForm(this.modelObject);\n\n });\n \n \n }\n else{\n \n this.mainForm = this.createForm(this.modelObject); \n\n \n }\n this.mainForm = this.createForm(this.modelObject);\n} \n\n createForm(modelObject):FormGroup{\n debugger;\n return this.fb.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0], \n NameEn: [modelObject.NameEn, Validators.compose([Validators.required, Validators.minLength(2)])],\n NameAr: [modelObject.NameAr, Validators.compose([Validators.required, Validators.pattern(/^[\\u0621-\\u064A\\u0660-\\u06690-9]+([\\s]*[\\u0621-\\u064A\\u0660-\\u06690-9]+)*$/)])],\n IsActive: [modelObject.IsActive==null?true:modelObject.IsActive],\n \n }) \n }\n\n // ListStoreItems:StoreItemsModel[]=[]; \n PriceList:PriceListModel[]=[]; \n ItemsPriceList:ItemsPriceListModel[]=[];\n loadServices(){\n // debugger;\n this.currentAction = 'loading';\n this.tableEngine.loadData(); \n \n \n }\n addToList(){ \n debugger; \n var i = this.ItemsPriceList.findIndex(x=>x.Id == this.addToListId);\n if(i >= 0){\n var item = this.ItemsPriceList[i];\n \n this.ItemsPriceList.push(item); \n this.ItemsPriceList.splice(i,1);\n this.addToListId = 0;\n }\n }\n getItemsById(Id:any):any{\n if(Id>0)\n {\n return this.itemsData.find(i=>i.Id===Id)\n }\n else\n {\n return new StoreItemsModel();\n }\n }\n setItem(Item){\n debugger;\n var i = this.itemsData.findIndex(x=>x.Id == Item.ItemId);\n if(i>-1){\n Item.SalePrice = this.itemsData[i].SalePrice;\n }\n }\n AddonClick(){\ndebugger;\n var ItemsModel= new ItemsPriceListModel();\n ItemsModel.Id = 0, \n ItemsModel.ItemId = 0, \n ItemsModel.PriceListId = 0, \n ItemsModel.IsDeleted= false, \n // ItemsModel.Items=[]\n this.ItemsPriceList.push(ItemsModel);\n ItemsModel={};\n \n }\n removeItemsFooter(Id: any): any {\n\n let index = this.ItemsPriceList.findIndex(x => x.PriceListId === Id);\n this.ItemsPriceList.splice(index, 1);\n \n }\n addItems(){\n\n }\n\n goBack(){\n this.router.navigate(['app/aio/Inventory/List-All-PriceList']);\n }\n Save(){\n \n debugger;\n this.currentAction = 'loading'; \n this.tableEngine.savedPage = this.tableEngine.currentPage;\n this.modelObject = new PriceListModel();\n this.modelObject.NameAr=this.mainForm.getRawValue().NameAr;\n this.modelObject.NameEn=this.mainForm.getRawValue().NameEn;\n this.modelObject.IsActive=this.mainForm.getRawValue().IsActive;\n // this.modelObject.ItemsPriceList=this.mainForm.getRawValue().ItemsPriceList;\n this.modelObject.Id=0;\n this.modelObject.Items=this.ItemsPriceList;\n // this.sideModalRef.modalRef.hide();\n \n if(this.Id == 0){\n this.modelService.insert(this.modelObject)\n .subscribe(data => {\n this.router.navigate(['app/aio/Inventory/List-All-PriceList']);\n })\n }\n else{\n debugger;\n this.modelService.update(this.modelObject)\n .subscribe(data => {\n \n this.router.navigate(['app/aio/Inventory/List-All-PriceList']);\n })\n }\n }\n \n}\n","
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    {{ \"Create Price List\" | translate }}
    \n
    \n \n {{ \"Back\" | translate }}\n \n \n {{ \"Save\" | translate }}\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n
    \n \n
    \n
    \n \n \n \n {{ \"NameArRequired\" | translate }}\n
    \n
    \n
    \n \n \n \n {{ \"NameEnRequired\" | translate }}\n
    \n
    \n
    \n
    \n \n \n \n
    \n \n
    \n \n \n
    \n \n \n
    \n
    \n \n
    \n
    \n \n \n \n
    \n
    \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n
    {{ \"Items\" | translate }}{{ \"Sale Price\" | translate }}
    \n \n \n \n {{ lang === \"ar-EG\" ? item.Name : item.Name }}\n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n \n\n","import { Component, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationsService } from 'angular2-notifications';\nimport { TableEngine } from 'src/app/invoices/TableEngine';\nimport { StoreItemsModel } from '../../models/StoreItemsModel';\nimport { PriceListService } from '../price-list/price-list.service';\nimport{StoreItemsService} from 'src/app/Invintory/store-items-service.service'\nimport { PriceListModel } from '../../models/PriceListModel';\nimport { SidePopupComponent } from 'src/app/views/invoice/side-popup/side-popup.component';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { ItemsPriceListModel } from '../../models/ItemsPriceListModel';\n\n@Component({\n // moduleId: module.id,\n selector: 'info-price-list',\n templateUrl: 'info-price-list.component.html',\n styleUrls: ['info-price-list.component.scss']\n})\nexport class InfoPriceListComponent {\n Id=0;\n\n constructor(public router:Router, \n private fb:FormBuilder,\n private modelService: PriceListService,\n private StoreItemsService: StoreItemsService, \n private notifications: NotificationsService, private translate: TranslateService,\n private route: ActivatedRoute\n ){\n this.Id = + route.snapshot.paramMap.get('Id'); \n }\n \n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n translationName: string = 'Item'\n sortableKeys = [];\n searchableKeys = ['BalanceNameEn', 'BalanceNameAr'];\n tableView: any = true;\n \n // StoreItemsModel:StoreItemsModel[]=[]; \n \n itemsData:StoreItemsModel[]=[];\n modelObject: PriceListModel = new PriceListModel();\n // ItemsModel:ItemsModel[]=[]\n Form:FormGroup;\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n prevAction = ''; \n addToListId = 0;\n ItemsBalanceHeaderId=0;\n ItemBalanceId=0;\n currentFormMode: string = '';\n \n \n ogData: PriceListModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n NameAr: new FormControl(),\n NameEn: new FormControl(),\n IsActive: new FormControl(),\n \n });\n \n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n // this.getAllCountryCode(); \n \n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'PriceListName', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' }; \n this.sortableKeys = [ \n // { label: 'Date', property: 'Date' }, \n { label: 'PriceListName', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' }, \n { label: 'IsActive', property: 'IsActive' },\n \n ];\n \n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n //this.tableEngine.modelObject = {}\n this.loadServices();\n this.StoreItemsService.getAll() \n .subscribe(data=>\n {\n this.itemsData=data\n });\n \n \n if(this.Id > 0)\n { debugger; \n this.modelService.getById(this.Id).subscribe(data=>{ \n this.modelObject = data;\n this.ItemsPriceList=data.Items;\n this.mainForm = this.createForm(this.modelObject);\n \n });\n \n \n }\n else{\n this.mainForm = this.createForm(this.modelObject); \n }\n } \n \n createForm(modelObject):FormGroup{\n debugger;\n return this.fb.group({\n // Id:[this.ItemBalance.Id],\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0], \n NameEn: [modelObject.NameEn, Validators.compose([Validators.required, Validators.minLength(2)])],\n NameAr: [modelObject.NameAr, Validators.compose([Validators.required, Validators.pattern(/^[\\u0621-\\u064A\\u0660-\\u06690-9]+([\\s]*[\\u0621-\\u064A\\u0660-\\u06690-9]+)*$/)])],\n IsActive: [modelObject.IsActive==null?true:modelObject.IsActive],\n \n }) \n }\n \n // ListStoreItems:StoreItemsModel[]=[]; \n PriceList:PriceListModel[]=[]; \n ItemsPriceList:ItemsPriceListModel[]=[];\n loadServices(){\n // debugger;\n this.currentAction = 'loading';\n this.tableEngine.loadData(); \n \n \n }\n addToList(){ \n debugger; \n var i = this.ItemsPriceList.findIndex(x=>x.Id == this.addToListId);\n if(i >= 0){\n var item = this.ItemsPriceList[i];\n \n this.ItemsPriceList.push(item); \n this.ItemsPriceList.splice(i,1);\n this.addToListId = 0;\n }\n }\n getItemsById(Id:any):any{\n if(Id>0)\n {\n return this.itemsData.find(i=>i.Id===Id)\n }\n else\n {\n return new StoreItemsModel();\n }\n }\n setItem(Item){\n debugger;\n var i = this.itemsData.findIndex(x=>x.Id == Item.ItemId);\n if(i>-1){\n Item.SalePrice = this.itemsData[i].SalePrice;\n }\n }\n AddonClick(){\n \n var ItemsModel= new ItemsPriceListModel();\n ItemsModel.Id = 0, \n ItemsModel.ItemId = 0, \n ItemsModel.PriceListId = 0, \n ItemsModel.IsDeleted= false, \n // ItemsModel.Items=[]\n this.ItemsPriceList.push(ItemsModel);\n ItemsModel={};\n \n }\n removeItemsFooter(Id: any): any {\n \n let index = this.ItemsPriceList.findIndex(x => x.PriceListId === Id);\n this.ItemsPriceList.splice(index, 1);\n \n }\n addItems(){\n \n }\n \n goBack(){\n this.router.navigate(['app/aio/Inventory/List-All-PriceList']);\n }\n // Save(){\n \n // debugger;\n // this.currentAction = 'loading'; \n // this.tableEngine.savedPage = this.tableEngine.currentPage;\n // this.modelObject = new PriceListModel();\n // this.modelObject.NameAr=this.mainForm.getRawValue().NameAr;\n // this.modelObject.NameEn=this.mainForm.getRawValue().NameEn;\n // this.modelObject.IsActive=this.mainForm.getRawValue().IsActive;\n // // this.modelObject.ItemsPriceList=this.mainForm.getRawValue().ItemsPriceList;\n // this.modelObject.Id=0;\n // this.modelObject.Items=this.ItemsPriceList;\n // this.sideModalRef.modalRef.hide();\n \n // if(this.Id == 0){\n // this.modelService.insert(this.modelObject)\n // .subscribe(data => {\n // this.router.navigate(['app/aio/Inventory/List-All-PriceList']);\n // })\n // }\n // else{\n // this.modelService.update(this.modelObject)\n // .subscribe(data => {\n // this.router.navigate(['app/aio/Inventory/List-All-PriceList']);\n // })\n // }\n // }\n \n}\n","
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n {{'Active' | translate}}\n {{'NotActive' | translate}}\n \n
    {{ \"Create Price List\" | translate }}
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n
    \n \n\n
    \n
    \n
    \n \n \n
    \n {{\"NameArRequired\" | translate}}
    \n
    \n
    \n \n \n
    \n {{\"NameEnRequired\" | translate}}
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n \n \n\n \n \n \n \n \\\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{\"Items\" | translate}}{{\"Sale Price\" | translate}}
    \n \n \n \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n
    \n
    \n ","import { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { of } from 'rxjs';\nimport { TableEngine } from 'src/app/invoices/TableEngine';\nimport { DataFilterer } from 'src/app/views/invoice/shared/DataFilterer';\nimport { DataPaginator } from 'src/app/views/invoice/shared/DataPaginator';\nimport { DataSorter } from 'src/app/views/invoice/shared/DataSorter';\nimport { SidePopupComponent } from 'src/app/views/invoice/side-popup/side-popup.component';\nimport { PriceListModel } from '../../models/PriceListModel';\nimport {PriceListService} from './price-list.service';\n\n@Component({\n selector: 'price-list',\n templateUrl: 'price-list.component.html',\n styleUrls: ['price-list.component.scss']\n})\nexport class PriceListComponent {\n\n Id=0;\n\n constructor(private formBuilder: FormBuilder, private modelService: PriceListService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService, private router : Router,\n private route: ActivatedRoute\n ) { this.Id = + route.snapshot.paramMap.get('Id'); }\n\ntableEngine = new TableEngine(this.translate, this.notifications);\ncurrentScreen: any = 'Table';\ntableView: any = true;\nPriceList : PriceListModel[]=[];\n\n\ntranslationName: string = ' Price List' \nsortableKeys = [];\nsearchableKeys = ['NameEn','IsActive'];\nmodelObject: PriceListModel = new PriceListModel();\n\ndebugMode = true;\n\nogData: PriceListModel[] = [];\nmainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n NameAr: new FormControl(),\n NameEn: new FormControl(),\n IsActive: new FormControl(),\n Items:new FormControl(),\n});\n\n\ndeclare lang: any;\ndeclare itemOrder: any;\ncurrentAction = '';\ncurrentFormMode: string = '';\nsavedPage = 0;\ncurrentPage = 1; \ndeletionList: any[] = [];\n\n@ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n@ViewChild('delModal', { static: true }) delModal: ModalDirective;\n@ViewChild('smallModal', { static: true }) smallModal: ModalDirective = null;\nformPresentationModal: any;\nngOnInit(): void {\n // this.getAllCountryCode(); \n \n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'PriceListName', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' }; \n this.sortableKeys = [ \n // { label: 'Date', property: 'Date' }, \n { label: 'PriceListName', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' }, \n { label: 'IsActive', property: 'IsActive' },\n \n ];\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n //this.tableEngine.modelObject = {}\n this.loadServices();\n} \n\nshowInfoModalRef(Id: any): void {\n this.router.navigate(['app/aio/Inventory/Info-Price-List',Id])\n}\nshowDelModal(Id: any): void {\n debugger;\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n \n}\n\nshowModal(Id, action) {\n\n if (action === 'Add') { \n debugger;\n // this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n this.router.navigate(['app/aio/Inventory/Add-Price-List/',0]) \n }\n else if (action === 'Edit') {\n debugger;\n this.router.navigate(['app/aio/Inventory/Add-Price-List/',Id]) \n \n }\n else if (action === 'Info') {\n debugger;\n \n this.router.navigate(['app/aio/Inventory/Info-Price-List/',Id])\n \n // // this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder) \n // this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder)\n }\n //this.mainForm.get('IsActive').setValue(true);\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n\n}\n\n// showEditModalRef(Id: any): void {\n\n// this.router.navigate(['app/aio/Inventory/Add-Price-List/',Id])\n\n// // this.currentFormMode = 'Edit'\n// // this.modelObject = this.ogData.find(i => i.Id === Id);\n// // of(this.modelObject).subscribe(data => {\n// // this.modelObject = data;\n// // })\n// // this.mainForm = this.createForm();\n// // this.smallModal.show();\n// }\n\ndeleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n}\n\n//Same here...\nexecuteDeleteObject(){\n debugger;\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.delModal.hide();\n // this.finalizeDeletion();\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\"));\n if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n}\n\ncreateForm(modelObject, formBuilder): FormGroup {\n debugger;\n //debugger;\n return formBuilder.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0], \n NameEn: [modelObject.NameEn, Validators.compose([Validators.required, Validators.minLength(2)])],\n NameAr: [modelObject.NameAr, Validators.compose([Validators.required, Validators.pattern(/^[\\u0621-\\u064A\\u0660-\\u06690-9]+([\\s]*[\\u0621-\\u064A\\u0660-\\u06690-9]+)*$/)])],\n IsActive: [modelObject.IsActive==null?true:modelObject.IsActive],\n \n });\n}\n\n//////////////////////////////////////////\naddObject() {\n // debugger;\n this.currentAction = 'loading';\n this.modelObject = new PriceListModel();\n this.modelObject.Id = 0;\n this.modelObject.NameEn = this.mainForm.getRawValue().NameEn;\n this.modelObject.NameAr = this.mainForm.getRawValue().NameAr;\n this.modelObject.IsActive = this.mainForm.getRawValue().IsActive;\n this.executeAddObject();\n}\n\nexecuteAddObject() {\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n}\n\neditObject() {\n debugger;\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n\n let tempObj = new PriceListModel({\n Id: this.modelObject.Id,\n NameEn: this.mainForm.getRawValue().NameEn,\n NameAr: this.mainForm.getRawValue().NameAr,\n IsActive:this.mainForm.getRawValue().IsActive,\n Items:this.mainForm.getRawValue().Items,\n // PostalCode : this.mainForm.getRawValue().PostalCode\n });\n\n if (JSON.stringify(tempObj) != JSON.stringify(this.modelObject)) {\n this.executeEditObject(tempObj);\n }\n else {if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n \n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n}\n\nexecuteEditObject(Object) {\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n}\n\n//Deletion methods:\n//Customize if needed.\n//Pass the target object as parameter if the target API can only delete singular objects and not lists.\n\n//////////////////////////////////////////////////\n\ntoastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n}\n\nloadServices(){\n // debugger;\n this.currentAction = 'loading';\n this.tableEngine.loadData(); \n \n \n}\nfilteredData = [...this.ogData];\nsortedData = [...this.filteredData];\npaginatedData = [...this.filteredData];\nitemsPerPage = 10;\nitemOptionsPerPage = [5, 10, 20];\n\nselected : any[] = [];\nselectAllState = '';\nSearchFrom: Date = null;\nSearchTo: Date = null;\n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n SearchTerm: any = '';\n\nclearSearch() {\n this.SearchFrom = null;\n this.SearchTo = null;\n}\nchangeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n}\nfilterData() {\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n}\nchangePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n}\n isSelected(p: PriceListModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n\n onSelect(item: PriceListModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n\n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n\n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n\nprepChangeSort(sortKey) {\n this.SearchFrom = null;\n this.SearchTo = null;\n \n \n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey));\n this.itemOrder = this.tableEngine.itemOrder;\n}\n\ngetFormattedDate(dateString: any){\n let splitDate: number[] = dateString.toString().split(\"/\");\n\n return new Date(splitDate[2], splitDate[1]-1, splitDate[0])\n}\n///////////////////////////////////////////////////////\n\ndisplayMode = 'list';\nchangeDisplayMode(mode): void {\n this.displayMode = mode;\n}\nitemsPerPageChange(perPage: number): void {\n this.tableEngine.paginateData(perPage, 1)\n}\n}\n","\n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n\n \n \n\n \n \n\n \n {{ \"Status\" | translate }}\n \n \n\n \n \n \n {{ \"ResultCount\" | translate }}\n \n \n \n {{ tableEngine.itemsPerPage }}\n \n \n \n {{ item }}\n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n \n  \n \n
    \n \n \n \n \n
  • \n \n \n {{ \"DeleteSelected\" | translate }}\n \n
  • \n \n
    \n
    \n
    \n {{ \"Name\" | translate }}\n \n \n \n \n
    \n \n \n \n \n \n {{\n lang === \"ar-EG\" ? obj.NameAr : obj.NameEn\n }}\n \n {{'Active' | translate}}\n {{'Not Active' | translate}}\n \n \n \n \n \n \n
    \n \n
    \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n\n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport {PriceListModel} from '../../models/PriceListModel';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PriceListService {\n\n constructor(private http:HttpClient ) { }\n\n \n baseUrl = environment.baseApiUrl;\n token = localStorage.getItem(\"token\");\n httpOptions = {\n headers: new HttpHeaders({\n // 'Content-Type': 'application/json; charset=utf-8',\n // 'Authorization': \"Bearer \" + token,\n \"Authorization\": \"Bearer \" + this.token,\n \"Content-Type\": \"application/json\"\n })\n };\n\n getAll(): Observable {\n \n return this.http\n .get(`${this.baseUrl}PriceList/GetAll`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ngetById(Id:number): Observable {\n\n return this.http\n .get(`${this.baseUrl}PriceList/GetById/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ninsert(payload: PriceListModel): Observable {\n \n return this.http\n .post(`${this.baseUrl}PriceList/Insert`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\nupdate(payload: PriceListModel): Observable {\n return this.http\n .post(`${this.baseUrl}PriceList/Update`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ndelete(Id:number): Observable {\n return this.http\n .put(`${this.baseUrl}PriceList/Delete/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\n deleteList(payload: PriceListModel []): Observable {\n return this.http\n .post(`${this.baseUrl}PriceList/DeleteList`,JSON.stringify(payload),this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n}\n","import { Component, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ServiceService } from '../service.service';\nimport { PriceListService } from \"src/app/Invintory/Price List/price-list/price-list.service\";\nimport { BrandServiceService } from 'src/app/Invintory/warehouses/brand-service.service';\nimport { CategoryServiceService } from 'src/app/Invintory/warehouses/category-service.service';\nimport { NotificationsService } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\nimport { TableEngine } from 'src/app/invoices/TableEngine';\nimport { ServiceModel } from 'src/app/Invintory/models/ServiceModel';\nimport { WarehouseModel } from 'src/app/Invintory/models/WarehouseModel';\nimport { SidePopupComponent } from 'src/app/views/invoice/side-popup/side-popup.component';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { PriceListModel } from 'src/app/Invintory/models/PriceListModel';\nimport { CategoryModel } from 'src/app/Invintory/models/CategoryModel';\nimport { ItemsPriceListModel } from 'src/app/Invintory/models/ItemsPriceListModel';\nimport { CategoryItemsModel } from 'src/app/Invintory/models/CategoryItemsMosel';\nimport { ItemTaxModel } from 'src/app/Invintory/models/ItemTaxModel';\nimport { ServiceCategoryModel } from 'src/app/Invintory/models/ServiceCategoryModel';\n\n@Component({\n // moduleId: module.id,\n selector: 'add-services',\n templateUrl: 'add-services.component.html',\n styleUrls: ['add-services.component.scss']\n})\nexport class AddServicesComponent {\n Id = 0;\n\n constructor(\n public router: Router,\n private fb: FormBuilder,\n private modelService: ServiceService,\n private PriceListService: PriceListService,\n \n private CategorySevice: CategoryServiceService,\n private notifications: NotificationsService,\n private translate: TranslateService,\n private route: ActivatedRoute\n ) {\n this.Id = +route.snapshot.paramMap.get(\"Id\");\n }\n \n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = \"Table\";\n translationName: string = \"Item\";\n sortableKeys = [];\n searchableKeys = [\"Name\", \"Address\"];\n tableView: any = true;\n \n StoreItemsModel:ServiceModel[]=[];\n \n // WarehouseData: WarehouseModel[] = [];\n \n modelObject: ServiceModel = new ServiceModel();\n Form: FormGroup;\n declare lang: any;\n declare itemOrder: any;\n currentAction = \"\";\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n prevAction = \"\";\n addToListId = 0;\n ItemsBalanceHeaderId = 0;\n ItemBalanceId = 0;\n currentFormMode: string = \"\";\n type = 0;\n visable = \"\";\n visable2 = \"\";\n visable3 = \"\";\n\n\n\n ogData: ServiceModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Name: new FormControl(),\n ServiceCode:new FormControl(),\n Description:new FormControl(),\n PurchasingPrice:new FormControl(),\n SalePrice:new FormControl(),\n FirstTaxId:new FormControl(),\n SecondTaxId:new FormControl(),\n LowestSellingPrice:new FormControl(),\n Discount:new FormControl(),\n ProfitPercentage:new FormControl(),\n PriceListId:new FormControl(),\n UnitPrice:new FormControl(),\n Time:new FormControl(),\n Notes:new FormControl(),\n Tags:new FormControl(),\n IsDisable:new FormControl(),\n AvailableOnline:new FormControl(),\n FeaturedProduct:new FormControl(),\n \n \n });\n \n @ViewChild(\"sideModalRef\", { static: true })\n sideModalRef: SidePopupComponent = null;\n @ViewChild(\"delModal\", { static: true }) delModal: ModalDirective;\n @ViewChild(\"smallModal\", { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n // this.getAllCountryCode();\n \n this.lang = localStorage.getItem(\"theme_lang\");\n this.itemOrder = {\n label: \"Name\",\n property: this.lang === \"ar-EG\" ? \"Name\" : \"Name\",\n };\n this.sortableKeys = [\n // { label: 'Date', property: 'Date' },\n { label: \"Name\", property: this.lang === \"ar-EG\" ? \"Name\" : \"Name\" },\n { label: \"ServiceCode\", property: \"ServiceCode\" },\n { label: \"Description\", property: \"Description\" },\n { label: \"PurchasingPrice\", property: \"PurchasingPrice\" },\n { label: \"SalePrice\", property: \"SalePrice\" },\n { label: \"FirstTaxId\", property: \"FirstTaxId\" },\n { label: \"SecondTaxId\", property: \"SecondTaxId\" },\n { label: \"LowestSellingPrice\", property: \"LowestSellingPrice\" },\n { label: \"Discount\", property: \"Discount\" },\n { label: \"ProfitPercentage\", property: \"ProfitPercentage\" },\n { label: \"PriceListId\", property: \"PriceListId\" },\n { label: \"UnitPrice\", property: \"UnitPrice\" },\n { label: \"Time\", property: \"Time\" },\n { label: \"Notes\", property: \"Notes\" },\n { label: \"Tags\", property: \"Tags\" },\n { label: \"IsDisable\", property: \"IsDisable\" },\n { label: \"IsAlertDisable\", property: \"Alert\" },\n { label: \"FeaturedProduct\", property: \"FeaturedProduct\" },\n { label: \"AvailableOnline\", property: \"AvailableOnline\" },\n \n ];\n \n this.tableEngine.loadTableEngine(\n this.ogData,\n this.modelService,\n this.modelObject,\n this.searchableKeys,\n this.sortableKeys,\n this.mainForm,\n this.translationName,\n this.itemOrder,\n this.sideModalRef,\n this.delModal,\n this.smallModal,\n this.lang\n );\n //this.tableEngine.modelObject = {}\n this.loadServices();\n this.modelService.getAll().subscribe((data) => {\n this.modelObject = data;\n });\n this.modelService.getAllTaxes().subscribe((data) => {\n this.FirstTaxesList = data;\n });\n this.modelService.getAllTaxes().subscribe((data) => {\n this.SecondTaxesList = data;\n });\n this.modelService.getLastNumber().subscribe((data) => {\n this.modelObject.ServiceCode = data;\n this.mainForm.controls['ServiceCode'].setValue(this.modelObject.ServiceCode+1);\n });\n \n \n this.PriceListService.getAll() \n .subscribe(data=>\n {\n this.PriceList=data\n });\n \n \n this.CategorySevice.getAll() \n .subscribe(data=>\n {\n this.CategoryList=data\n });\n \n // this.selectAllForDropdownItems(this.getCategoryById(this.Id));\n \n if(this.Id > 0)\n { debugger; \n this.modelService.getById(this.Id).subscribe(data=>{ \n this.modelObject = data;\n this.ItemsPriceList=data.ServicePriceList;\n this.CategoryList=data.ServiceCategory;\n this.mainForm = this.createForm(this.modelObject);\n \n });\n \n \n }\n else{\n \n this.mainForm = this.createForm(this.modelObject); \n \n \n }\n this.mainForm = this.createForm(this.modelObject);\n \n }\n \n createForm(modelObject): FormGroup {\n debugger;\n return this.fb.group({\n // Id:[this.ItemBalance.Id],\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n Name: [modelObject.Name, Validators.compose([Validators.required])],\n ServiceCode: [\n modelObject.ServiceCode,Validators.compose([Validators.required, Validators.minLength(2)])],\n PurchasingPrice: [\n modelObject.PurchasingPrice,\n Validators.compose([Validators.required]),\n ],\n SalePrice: [modelObject.SalePrice],\n FirstTaxId: [modelObject.FirstTaxId],\n SecondTaxId: [modelObject.SecondTaxId],\n LowestSellingPrice: [modelObject.LowestSellingPrice],\n Description: [modelObject.Description],\n Discount: [modelObject.Discount],\n ProfitPercentage: [modelObject.ProfitPercentage],\n PriceListId: [modelObject.PriceListId],\n UnitPrice:[modelObject.UnitPrice],\n Time: [modelObject.Time],\n Notes: [modelObject.Notes],\n Tags: [modelObject.Tags],\n WarehouseName: [modelObject.WarehouseName],\n AvailableOnline: [modelObject.AvailableOnline],\n FeaturedProduct: [modelObject.FeaturedProduct],\n IsDisable: [modelObject.IsDisable == null ? true : modelObject.IsDisable],\n \n });\n }\n \n FirstTaxesList: ItemTaxModel[] = [];\n SecondTaxesList: ItemTaxModel[] = [];\n \n PriceList: PriceListModel[] = [];\n CategoryList: CategoryModel[] = [];\n SelectedCategoryList: CategoryModel[] = [];\n loadServices() {\n // debugger;\n this.currentAction = \"loading\";\n this.tableEngine.loadData();\n }\n calcSalePrice(){\n // var i = this.StoreItemsModel.findIndex(x=>x.Id == Item);\n this.modelObject.PurchasingPrice = +this.mainForm.getRawValue().PurchasingPrice;\n this.modelObject.ProfitPercentage = +this.mainForm.getRawValue().ProfitPercentage;\n \n \n var pre=+(this.modelObject.ProfitPercentage/100)*this.modelObject.PurchasingPrice;\n this.modelObject.SalePrice = +this.modelObject.PurchasingPrice +pre;\n this.mainForm.controls['SalePrice'].setValue(this.modelObject.SalePrice)\n \n }\n calcProfitPrice(){\n this.modelObject.PurchasingPrice = +this.mainForm.getRawValue().PurchasingPrice;\n this.modelObject.SalePrice = +this.mainForm.getRawValue().SalePrice;\n \n // var pre=+(this.modelObject.SalePrice-this.modelObject.PurchasingPrice);\n \n var pre=this.modelObject.SalePrice-this.modelObject.PurchasingPrice;\n this.modelObject.ProfitPercentage = +((pre/this.modelObject.PurchasingPrice)*100);\n // this.modelObject.ProfitPercentage = +(pre/(this.modelObject.PurchasingPrice*100));\n \n this.mainForm.controls['ProfitPercentage'].setValue(this.modelObject.ProfitPercentage)\n }\n addPriceList() {\n debugger;\n var i = this.PriceList.findIndex((x) => x.Id == this.addToListId);\n if (i >= 0) {\n var item = this.PriceList[i];\n \n this.PriceList.push(item);\n this.PriceList.splice(i, 1);\n this.addToListId = 0;\n }\n }\n ItemsPriceList:ItemsPriceListModel[]=[];\n CategoryItemList: CategoryItemsModel[]=[{Id:0,CategoryId:0,ItemId:this.Id}];\n AddonClick(){\n \n var PriceList= new ItemsPriceListModel();\n PriceList.Id = 0, \n PriceList.ItemId =this.Id, \n PriceList.PriceListId = this.mainForm.controls['PriceListId'].value, \n PriceList.IsDeleted= false, \n // ItemsModel.Items=[]\n this.ItemsPriceList.push(PriceList);\n this.mainForm.controls['PriceListId'].setValue(0);\n PriceList={};\n \n }\n \n removeItemsFooter(Id: any): any {\n \n let index = this.ItemsPriceList.findIndex(x => x.PriceListId === Id);\n this.ItemsPriceList.splice(index, 1);\n \n }\n\n \nonMaterialGroupChange(event) {\n this.SelectedCategoryList = event;\n }\n goBack() {\n this.router.navigate([\"app/aio/Inventory/List-All-Services\"]);\n }\n Save() {\n debugger;\n this.currentAction = \"loading\";\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n this.modelObject = new ServiceModel();\n this.modelObject.Id = 0;\n this.modelObject.Name = this.mainForm.getRawValue().Name;\n this.modelObject.ServiceCode = this.mainForm.getRawValue().ServiceCode;\n this.modelObject.IsDisable = this.mainForm.getRawValue().IsDisable;\n this.modelObject.Description = this.mainForm.getRawValue().Description;\n this.modelObject.Discount = this.mainForm.getRawValue().Discount;\n this.modelObject.Time = this.mainForm.getRawValue().Time;\n \n this.modelObject.LowestSellingPrice =\n this.mainForm.getRawValue().LowestSellingPrice;\n this.modelObject.ProfitPercentage =\n this.mainForm.getRawValue().ProfitPercentage;\n this.modelObject.PurchasingPrice =\n this.mainForm.getRawValue().PurchasingPrice;\n this.modelObject.SalePrice = this.mainForm.getRawValue().SalePrice;\n this.modelObject.Notes = this.mainForm.getRawValue().Notes;\n // this.modelObject.PriceListId = this.mainForm.getRawValue().PriceListId;\n this.modelObject.FirstTaxId = this.mainForm.getRawValue().FirstTaxId;\n this.modelObject.SecondTaxId = this.mainForm.getRawValue().SecondTaxId;\n this.modelObject.UnitPrice = this.mainForm.getRawValue().UnitPrice;\n this.modelObject.ServicePriceList = this.ItemsPriceList;\n this.SelectedCategoryList.forEach(element => {\n var cat = new ServiceCategoryModel();\n cat.CategoryId = element.Id;\n cat.Id = 0;\n cat.ServiceId = this.Id;\n this.modelObject.ServiceCategory.push(cat);\n });\n // this.modelObject.Category=this.SelectedCategoryList;\n \n this.modelObject.Tags = this.mainForm.getRawValue().Tags;\n this.modelObject.AvailableOnline = this.mainForm.getRawValue().AvailableOnline;\n this.modelObject.FeaturedProduct = this.mainForm.getRawValue().FeaturedProduct;\n if (this.Id == 0) {\n this.modelService.insert(this.modelObject).subscribe((data) => {\n this.router.navigate([\"app/aio/Inventory/List-All-Services\"]);\n });\n } else {\n debugger;\n this.modelService.update(this.modelObject).subscribe((data) => {\n this.router.navigate([\"app/aio/Inventory/List-All-Services\"]);\n });\n }\n }\n \n}\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    {{ \"Create Service\" | translate }}
    \n
    \n \n {{ \"Back\" | translate }}\n \n \n {{ \"Save\" | translate }}\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n
    \n \n
    \n
    \n \n \n \n {{ \"ServiceCodeRequired\" | translate }}\n
    \n
    \n \n
    \n \n \n \n {{ \"NameRequired\" | translate }}\n
    \n
    \n \n \n
    \n \n \n \n \n {{ \"DescriptionRequired\" | translate }}\n
    \n
    \n \n \n
    \n \n \n\n \n \n Select All\n \n \n \n
    \n \n \n \n
    \n \n \n \n
    \n
    \n \n \n
    \n \n \n \n
    \n
    \n \n
    \n \n \n \n \n \n \n \n \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n \n {{ \"PurchasingPriceRequired\" | translate }}\n
    \n
    \n
    \n \n \n \n {{ \"SalePriceRequired\" | translate }}\n
    \n
    \n \n \n \n
    \n \n \n \n \n {{ lang === \"ar-EG\" ? tax.NameAr : tax.NameEn }}\n \n \n
    \n \n
    \n \n \n \n \n {{ lang === \"ar-EG\" ? tax.NameAr : tax.NameEn }}\n \n \n
    \n \n \n
    \n \n \n \n {{ \"LowestSellingPriceRequired\" | translate }}\n
    \n
    \n
    \n \n \n \n {{ \"DiscountRequired\" | translate }}\n
    \n
    \n \n
    \n \n \n \n {{ \"ProfitPercentageRequired\" | translate }}\n
    \n \n \n \n \n
    \n \n
    \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n \n \n {{ lang === \"ar-EG\" ? Itsm.NameAr : Itsm.NameEn }}\n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n \n \n \n
    \n \n
    \n \n \n \n
    \n \n
    \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n \n {{ \"NotesRequired\" | translate }}\n
    \n
    \n \n
    \n \n \n \n {{ \"TagsRequired\" | translate }}\n
    \n
    \n
    \n \n \n \n
    \n
    \n
    \n \n \n \n
    \n \n \n \n \n \n ","import { Component, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ServiceService } from '../service.service';\nimport { CategoryServiceService } from 'src/app/Invintory/warehouses/category-service.service';\nimport { NotificationsService } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\nimport {PriceListService} from 'src/app/Invintory/Price List/price-list/price-list.service';\nimport { TableEngine } from 'src/app/invoices/TableEngine';\nimport { ServiceModel } from 'src/app/Invintory/models/ServiceModel';\nimport { SidePopupComponent } from 'src/app/views/invoice/side-popup/side-popup.component';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { ItemTaxModel } from 'src/app/Invintory/models/ItemTaxModel';\nimport { PriceListModel } from 'src/app/Invintory/models/PriceListModel';\nimport { CategoryModel } from 'src/app/Invintory/models/CategoryModel';\nimport { ItemsPriceListModel } from 'src/app/Invintory/models/ItemsPriceListModel';\nimport { CategoryItemsModel } from 'src/app/Invintory/models/CategoryItemsMosel';\n\n@Component({\n // moduleId: module.id,\n selector: 'info-service',\n templateUrl: 'info-service.component.html',\n styleUrls: ['info-service.component.scss']\n})\nexport class InfoServiceComponent {\n Id = 0;\n\n constructor(\n public router: Router,\n private fb: FormBuilder,\n private modelService: ServiceService,\n private PriceListService: PriceListService,\n \n private CategorySevice: CategoryServiceService,\n private notifications: NotificationsService,\n private translate: TranslateService,\n private route: ActivatedRoute\n ) {\n this.Id = +route.snapshot.paramMap.get(\"Id\");\n }\n \n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = \"Table\";\n translationName: string = \"Item\";\n sortableKeys = [];\n searchableKeys = [\"Name\", \"Address\"];\n tableView: any = true;\n \n StoreItemsModel:ServiceModel[]=[];\n \n // WarehouseData: WarehouseModel[] = [];\n \n modelObject: ServiceModel = new ServiceModel();\n Form: FormGroup;\n declare lang: any;\n declare itemOrder: any;\n currentAction = \"\";\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n prevAction = \"\";\n addToListId = 0;\n ItemsBalanceHeaderId = 0;\n ItemBalanceId = 0;\n currentFormMode: string = \"\";\n type = 0;\n visable = \"\";\n visable2 = \"\";\n visable3 = \"\";\n\n\n\n ogData: ServiceModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Name: new FormControl(),\n ServiceCode:new FormControl(),\n Description:new FormControl(),\n PurchasingPrice:new FormControl(),\n SalePrice:new FormControl(),\n FirstTaxId:new FormControl(),\n SecondTaxId:new FormControl(),\n LowestSellingPrice:new FormControl(),\n Discount:new FormControl(),\n ProfitPercentage:new FormControl(),\n PriceListId:new FormControl(),\n UnitPrice:new FormControl(),\n Time:new FormControl(),\n Notes:new FormControl(),\n Tags:new FormControl(),\n IsDisable:new FormControl(),\n AvailableOnline:new FormControl(),\n FeaturedProduct:new FormControl(),\n \n \n });\n \n @ViewChild(\"sideModalRef\", { static: true })\n sideModalRef: SidePopupComponent = null;\n @ViewChild(\"delModal\", { static: true }) delModal: ModalDirective;\n @ViewChild(\"smallModal\", { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n // this.getAllCountryCode();\n \n this.lang = localStorage.getItem(\"theme_lang\");\n this.itemOrder = {\n label: \"Name\",\n property: this.lang === \"ar-EG\" ? \"Name\" : \"Name\",\n };\n this.sortableKeys = [\n // { label: 'Date', property: 'Date' },\n { label: \"Name\", property: this.lang === \"ar-EG\" ? \"Name\" : \"Name\" },\n { label: \"ServiceCode\", property: \"ServiceCode\" },\n { label: \"Description\", property: \"Description\" },\n { label: \"PurchasingPrice\", property: \"PurchasingPrice\" },\n { label: \"SalePrice\", property: \"SalePrice\" },\n { label: \"FirstTaxId\", property: \"FirstTaxId\" },\n { label: \"SecondTaxId\", property: \"SecondTaxId\" },\n { label: \"LowestSellingPrice\", property: \"LowestSellingPrice\" },\n { label: \"Discount\", property: \"Discount\" },\n { label: \"ProfitPercentage\", property: \"ProfitPercentage\" },\n { label: \"PriceListId\", property: \"PriceListId\" },\n { label: \"UnitPrice\", property: \"UnitPrice\" },\n { label: \"Time\", property: \"Time\" },\n { label: \"Notes\", property: \"Notes\" },\n { label: \"Tags\", property: \"Tags\" },\n { label: \"IsDisable\", property: \"IsDisable\" },\n { label: \"IsAlertDisable\", property: \"Alert\" },\n { label: \"FeaturedProduct\", property: \"FeaturedProduct\" },\n { label: \"AvailableOnline\", property: \"AvailableOnline\" },\n \n ];\n \n this.tableEngine.loadTableEngine(\n this.ogData,\n this.modelService,\n this.modelObject,\n this.searchableKeys,\n this.sortableKeys,\n this.mainForm,\n this.translationName,\n this.itemOrder,\n this.sideModalRef,\n this.delModal,\n this.smallModal,\n this.lang\n );\n \n \n // this.loadServices();\n \n if(this.Id > 0)\n { debugger; \n this.modelService.getById(this.Id).subscribe(data=>{ \n this.modelObject = data;\n this.CategoryItemList=data.ServiceCategory;\n // this.mainForm = this.createForm(this.modelObject); \n \n \n });\n \n \n }\n else{\n \n // this.mainForm = this.createForm(this.modelObject); \n \n \n }\n // this.mainForm = this.createForm(this.modelObject);\n \n }\n // createForm(modelObject): FormGroup {\n // debugger;\n // return this.fb.group({\n // // Id:[this.ItemBalance.Id],\n // Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n // Name: [modelObject.Name, Validators.compose([Validators.required])],\n // ServiceCode: [\n // modelObject.ServiceCode,\n // Validators.compose([Validators.required, Validators.minLength(2)]),\n // ],\n // PurchasingPrice: [\n // modelObject.PurchasingPrice,\n // Validators.compose([Validators.required]),\n // ],\n // SalePrice: [modelObject.SalePrice],\n // FirstTaxId: [modelObject.FirstTaxId],\n // SecondTaxId: [modelObject.SecondTaxId],\n // LowestSellingPrice: [modelObject.LowestSellingPrice],\n // Description: [modelObject.Description],\n // Discount: [modelObject.Discount],\n // ProfitPercentage: [modelObject.ProfitPercentage],\n // PriceListId: [modelObject.PriceListId],\n // UnitPrice:[modelObject.UnitPrice],\n // Time: [modelObject.Time],\n // Notes: [modelObject.Notes],\n // Tags: [modelObject.Tags],\n // WarehouseName: [modelObject.WarehouseName],\n // AvailableOnline: [modelObject.AvailableOnline],\n // FeaturedProduct: [modelObject.FeaturedProduct],\n // IsDisable: [modelObject.IsDisable == null ? true : modelObject.IsDisable],\n \n // });\n // }\n \n FirstTaxesList: ItemTaxModel[] = [];\n SecondTaxesList: ItemTaxModel[] = [];\n \n PriceList: PriceListModel[] = [];\n CategoryList: CategoryModel[] = [];\n loadServices() {\n // debugger;\n this.currentAction = \"loading\";\n this.tableEngine.loadData();\n }\n\n ItemsPriceList:ItemsPriceListModel[]=[{Id:0,IsDeleted:false,ItemId:this.Id,PriceListId:0,SalePrice:0}];\n CategoryItemList: CategoryItemsModel[]=[{Id:0,CategoryId:0,ItemId:this.Id}];\n goBack() {\n this.router.navigate([\"app/aio/Inventory/List-All-Services\"]);\n }\n Save() {\n debugger;\n this.currentAction = \"loading\";\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n this.modelObject = new ServiceModel();\n this.modelObject.Id = 0;\n this.modelObject.Name = this.mainForm.getRawValue().Name;\n this.modelObject.ServiceCode = this.mainForm.getRawValue().ServiceCode;\n this.modelObject.IsDisable = this.mainForm.getRawValue().IsDisable;\n this.modelObject.Description = this.mainForm.getRawValue().Description;\n this.modelObject.Discount = this.mainForm.getRawValue().Discount;\n this.modelObject.Time = this.mainForm.getRawValue().Time;\n \n this.modelObject.LowestSellingPrice =\n this.mainForm.getRawValue().LowestSellingPrice;\n this.modelObject.ProfitPercentage =\n this.mainForm.getRawValue().ProfitPercentage;\n this.modelObject.PurchasingPrice =\n this.mainForm.getRawValue().PurchasingPrice;\n this.modelObject.SalePrice = this.mainForm.getRawValue().SalePrice;\n this.modelObject.Notes = this.mainForm.getRawValue().Notes;\n // this.modelObject.PriceListId = this.mainForm.getRawValue().PriceListId;\n this.modelObject.FirstTaxId = this.mainForm.getRawValue().FirstTaxId;\n this.modelObject.SecondTaxId = this.mainForm.getRawValue().SecondTaxId;\n this.modelObject.UnitPrice = this.mainForm.getRawValue().UnitPrice;\n this.modelObject.ServicePriceList = this.ItemsPriceList;\n this.modelObject.ServiceCategory=this.CategoryItemList;\n \n this.modelObject.Tags = this.mainForm.getRawValue().Tags;\n this.modelObject.AvailableOnline = this.mainForm.getRawValue().AvailableOnline;\n this.modelObject.FeaturedProduct = this.mainForm.getRawValue().FeaturedProduct;\n \n \n if (this.Id == 0) {\n this.modelService.insert(this.modelObject).subscribe((data) => {\n this.router.navigate([\"app/aio/Inventory/List-All-Services\"]);\n });\n } else {\n debugger;\n this.modelService.update(this.modelObject).subscribe((data) => {\n this.router.navigate([\"app/aio/Inventory/List-All-Services\"]);\n });\n }\n }\n\n}\n","
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n {{ \"Back\" | translate }}\n \n \n {{ \"Edit\" | translate }}\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    {{ \"TotalPiecesSold\" | translate }}
    \n \n
    \n
    \n\n
    \n
    {{ \"The last 28 days\" | translate }}
    \n \n \n
    \n
    \n\n
    \n
    {{ \"The last 7 days\" | translate }}
    \n \n \n
    \n
    \n\n
    \n
    {{ \"AverageCostPrice\" | translate }}
    \n \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n

    التفاصيل

    \n
    \n
    \n\n
    \n
    \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n
    {{'Producte Code:'|translate}}{{modelObject.ServiceCode>0?modelObject.ServiceCode:modelObject.ServiceCode}}\n
    {{'SalePrice:'|translate}}{{modelObject.SalePrice>0?modelObject.SalePrice:modelObject.SalePrice}}\n
    {{'ProfitPercentage:'|translate}}{{modelObject.ProfitPercentage>0?modelObject.ProfitPercentage:modelObject.ProfitPercentage}}%\n
    {{'ProfitPercentage:'|translate}}{{modelObject.Time>0?modelObject.Time:modelObject.Time}}\n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{'PurchasingPrice:'|translate}}{{modelObject.PurchasingPrice>0?modelObject.PurchasingPrice:modelObject.PurchasingPrice}}\n
    {{'Category:'|translate}}\n
    \n
    \n
    \n \n
    \n \n \n \n \n \n \n
    \n
    \n ","import { Component, Renderer2, ViewChild } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport{ServiceService}from '../service.service';\nimport { TableEngine } from 'src/app/invoices/TableEngine';\nimport{ServiceModel}from 'src/app/Invintory/models/ServiceModel';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { SidePopupComponent } from 'src/app/views/invoice/side-popup/side-popup.component';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { DataFilterer } from 'src/app/views/invoice/shared/DataFilterer';\nimport { DataSorter } from 'src/app/views/invoice/shared/DataSorter';\nimport { DataPaginator } from 'src/app/views/invoice/shared/DataPaginator';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\n\n@Component({\n selector: 'list-all-services',\n templateUrl: 'list-all-services.component.html',\n styleUrls: ['list-all-services.component.scss']\n})\nexport class ListAllServicesComponent {\n Id=0;\n\n constructor(private modelService: ServiceService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService, private router : Router,\n private route: ActivatedRoute\n ) { this.Id = + route.snapshot.paramMap.get('Id'); }\n\n \ntableEngine = new TableEngine(this.translate, this.notifications);\ncurrentScreen: any = 'Table';\ntableView: any = true;\n// PriceList : WarehouseModel[]=[];\n\n\ntranslationName: string = 'Warehouse' \nsortableKeys = [];\nsearchableKeys = ['Name','Address'];\nmodelObject: ServiceModel = new ServiceModel();\n\ndebugMode = true;\n\nogData: ServiceModel[] = [];\nmainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Name: new FormControl(),\n ServiceCode:new FormControl(),\n Description:new FormControl(),\n PurchasingPrice:new FormControl(),\n SalePrice:new FormControl(),\n FirstTaxId:new FormControl(),\n SecondTaxId:new FormControl(),\n LowestSellingPrice:new FormControl(),\n Discount:new FormControl(),\n ProfitPercentage:new FormControl(),\n PriceListId:new FormControl(),\n UnitPrice:new FormControl(),\n Time:new FormControl(),\n Notes:new FormControl(),\n Tags:new FormControl(),\n IsDisable:new FormControl(),\n AvailableOnline:new FormControl(),\n FeaturedProduct:new FormControl(),\n \n\n});\n\n\ndeclare lang: any;\ndeclare itemOrder: any;\ncurrentAction = '';\ncurrentFormMode: string = '';\nsavedPage = 0;\ncurrentPage = 1; \ndeletionList: any[] = [];\n\n@ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n@ViewChild('delModal', { static: true }) delModal: ModalDirective;\n@ViewChild('smallModal', { static: true }) smallModal: ModalDirective = null;\nformPresentationModal: any;\nngOnInit(): void {\n // this.getAllCountryCode(); \n \n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: this.lang === 'ar-EG' ? 'Name' : 'Name' }; \n this.sortableKeys = [ \n // { label: 'Date', property: 'Date' }, \n { label: 'Name', property: this.lang === 'ar-EG' ? 'Name' : 'Name' }, \n // { label: 'Address', property: this.lang === 'ar-EG' ? 'Address' : 'Address' }, \n // { label: 'Mobil', property: this.lang === 'ar-EG' ? 'Mobil' : 'Mobil' }, \n // { label: 'IsPrime', property: 'IsPrime' },\n \n ];\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n //this.tableEngine.modelObject = {}\n this.loadServices();\n}\nshowInfoModalRef(Id: any): void {\n this.router.navigate(['app/aio/Inventory/Info-Productes',Id])\n }\n showDelModal(Id: any): void {\n debugger;\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n \n }\n \n showModal(Id, action) {\n \n if (action === 'Add') { \n debugger;\n // this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n this.router.navigate(['app/aio/Inventory/Add-Services/',0]) \n }\n else if (action === 'Edit') {\n debugger;\n this.router.navigate(['app/aio/Inventory/Add-Services/',Id])\n \n \n }\n else if (action === 'Info') {\n debugger;\n \n this.router.navigate(['app/aio/Inventory/Info-Services/',Id])\n \n \n }\n //this.mainForm.get('IsActive').setValue(true);\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n \n }\n \n \n \n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject(){\n debugger;\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.delModal.hide();\n // this.finalizeDeletion();\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\"));\n if (this.sideModalRef === undefined) {\n \n this.tableEngine.smallModal.hide();\n \n } else {\n \n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n \n editObject() {\n debugger;\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n \n let tempObj = new ServiceModel({\n Id: this.modelObject.Id,\n Name: this.mainForm.getRawValue().Name,\n ServiceCode: this.mainForm.getRawValue().SkuNumber,\n Description: this.mainForm.getRawValue().Description,\n PurchasingPrice: this.mainForm.getRawValue().PurchasingPrice,\n SalePrice: this.mainForm.getRawValue().SalePrice,\n FirstTaxId: this.mainForm.getRawValue().FirstTaxId,\n SecondTaxId: this.mainForm.getRawValue().SecondTaxId,\n LowestSellingPrice: this.mainForm.getRawValue().LowestSellingPrice,\n Discount: this.mainForm.getRawValue().Discount,\n ProfitPercentage:this.mainForm.getRawValue().ProfitPercentage,\n PriceListId: this.mainForm.getRawValue().PriceListId,\n UnitPrice: this.mainForm.getRawValue().UnitPrice,\n Time: this.mainForm.getRawValue().Time,\n Notes: this.mainForm.getRawValue().Notes,\n Tags: this.mainForm.getRawValue().Tags,\n IsDisable: this.mainForm.getRawValue().IsDisable, \n AvailableOnline: this.mainForm.getRawValue().AvailableOnline, \n FeaturedProduct: this.mainForm.getRawValue().FeaturedProduct, \n \n });\n \n if (JSON.stringify(tempObj) != JSON.stringify(this.modelObject)) {\n this.executeEditObject(tempObj);\n }\n else {if (this.sideModalRef === undefined) {\n \n this.tableEngine.smallModal.hide();\n \n \n } else {\n \n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n }\n \n executeEditObject(Object) {\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n if (this.sideModalRef === undefined) {\n \n this.tableEngine.smallModal.hide();\n \n } else {\n \n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n \n loadServices(){\n // debugger;\n this.currentAction = 'loading';\n this.tableEngine.loadData(); \n \n \n }\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n \n selected : any[] = [];\n selectAllState = '';\n SearchFrom: Date = null;\n SearchTo: Date = null;\n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n SearchTerm: any = '';\n \n clearSearch() {\n this.SearchFrom = null;\n this.SearchTo = null;\n }\n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n filterData() {\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n isSelected(p: ServiceModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n \n onSelect(item: ServiceModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n \n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n \n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n \n prepChangeSort(sortKey) {\n this.SearchFrom = null;\n this.SearchTo = null;\n \n \n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n \n getFormattedDate(dateString: any){\n let splitDate: number[] = dateString.toString().split(\"/\");\n \n return new Date(splitDate[2], splitDate[1]-1, splitDate[0])\n }\n ///////////////////////////////////////////////////////\n \n displayMode = 'list';\n changeDisplayMode(mode): void {\n this.displayMode = mode;\n }\n itemsPerPageChange(perPage: number): void {\n this.tableEngine.paginateData(perPage, 1)\n }\n}\n","\n\n\n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n\n
    \n
    \n
    \n
    \n
    \n \n \n \n\n \n \n\n \n \n\n \n \n \n \n {{ \"FeaturedProduct\" | translate }}\n \n\n\n \n \n \n \n {{ \"ResultCount\" | translate }}\n \n \n \n {{ tableEngine.itemsPerPage }}\n \n \n \n {{ item }}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n \n  \n \n
    \n \n \n \n \n
  • \n \n \n {{ \"DeleteSelected\" | translate }}\n \n
  • \n \n
    \n
    \n
    \n \n \n {{ \"Name\" | translate }}\n
    \n \n \n \n \n \n {{\n lang === \"ar-EG\" ? obj.Name : obj.Name\n }}\n \n {{'Featured' | translate}}\n {{'NotFeatured' | translate}}\n \n {{'Disable' | translate}}\n {{'NotDisable' | translate}}\n \n \n \n \n \n \n
    \n \n
    \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n\n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { ServiceModel } from '../../models/ServiceModel';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ServiceService {\n\n\n constructor(private http:HttpClient ) { }\n\n \n baseUrl = environment.baseApiUrl;\n token = localStorage.getItem(\"token\");\n httpOptions = {\n headers: new HttpHeaders({\n // 'Content-Type': 'application/json; charset=utf-8',\n // 'Authorization': \"Bearer \" + token,\n \"Authorization\": \"Bearer \" + this.token,\n \"Content-Type\": \"application/json\"\n })\n };\n\n getAll(): Observable {\n \n return this.http\n .get(`${this.baseUrl}Services/GetAll`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ngetAllTaxes(): Observable {\n \n return this.http\n .get(`${this.baseUrl}TaxType/GetAll`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ngetLastNumber(): Observable {\n \n return this.http\n .get(`${this.baseUrl}Services/GetLastNumber`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ngetById(Id:number): Observable {\n\n return this.http\n .get(`${this.baseUrl}Services/GetById/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ninsert(payload: ServiceModel): Observable {\n \n return this.http\n .post(`${this.baseUrl}Services/Insert`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\nupdate(payload: ServiceModel): Observable {\n return this.http\n .post(`${this.baseUrl}Services/Update`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ndelete(Id:number): Observable {\n return this.http\n .get(`${this.baseUrl}Services/Delete/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\n deleteList(payload: ServiceModel []): Observable {\n return this.http\n .post(`${this.baseUrl}Services/DeleteList`,JSON.stringify(payload),this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }}\n","import { Component, ViewChild } from \"@angular/core\";\nimport {\n FormBuilder,\n FormControl,\n FormGroup,\n Validators,\n} from \"@angular/forms\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { NotificationsService } from \"angular2-notifications\";\nimport { ModalDirective } from \"ngx-bootstrap/modal\";\nimport { TableEngine } from \"src/app/invoices/TableEngine\";\nimport { SidePopupComponent } from \"src/app/views/invoice/side-popup/side-popup.component\";\nimport { ItemsPriceListModel } from \"../../models/ItemsPriceListModel\";\nimport { ItemTaxModel } from \"../../models/ItemTaxModel\";\nimport { PriceListModel } from \"../../models/PriceListModel\";\nimport { StoreItemsModel } from \"../../models/StoreItemsModel\";\nimport { WarehouseModel } from \"../../models/WarehouseModel\";\nimport { PriceListService } from \"../../Price List/price-list/price-list.service\";\nimport { WarehouseService } from \"../../warehouses/warehouse-service.service\";\nimport { ProductesService } from \"../productes.service\";\nimport { BrandItemsModel } from \"../../models/BrandItemsModel\";\nimport { CategoryItemsModel } from \"../../models/CategoryItemsMosel\";\nimport{BrandServiceService}from'src/app/Invintory/warehouses/brand-service.service';\nimport{CategoryServiceService}from'src/app/Invintory/warehouses/category-service.service';\nimport { BrandModel } from \"../../models/BrandModel\";\nimport { CategoryModel } from \"../../models/CategoryModel\";\nimport { WarehouseItemModel } from \"../../models/WarehouseItem\";\nimport {UnitTypeService} from '../../unit-type.service';\nimport { UnitTypeModel } from \"../../models/UnitTypeModel\";\n\n@Component({\n // moduleId: module.id,\n selector: \"add-productes\",\n templateUrl: \"add-productes.component.html\",\n styleUrls: [\"add-productes.component.scss\"],\n})\nexport class AddProductesComponent {\n Id = 0;\n\n constructor(\n public router: Router,\n private fb: FormBuilder,\n private modelService: ProductesService,\n private PriceListService: PriceListService,\n private UnitTypeService:UnitTypeService,\n private WarehouseService: WarehouseService,private BrandService: BrandServiceService,\n private CategorySevice: CategoryServiceService,\n private notifications: NotificationsService,\n private translate: TranslateService,\n private route: ActivatedRoute\n ) {\n this.Id = +route.snapshot.paramMap.get(\"Id\");\n }\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = \"Table\";\n translationName: string = \"Item\";\n sortableKeys = [];\n searchableKeys = [\"Name\", \"Address\"];\n tableView: any = true;\n\n StoreItemsModel:StoreItemsModel[]=[];\n\n WarehouseData: WarehouseModel[] = [];\n\n modelObject: StoreItemsModel = new StoreItemsModel();\n Form: FormGroup;\n declare lang: any;\n declare itemOrder: any;\n currentAction = \"\";\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n prevAction = \"\";\n addToListId = 0;\n ItemsBalanceHeaderId = 0;\n ItemBalanceId = 0;\n currentFormMode: string = \"\";\n type = 0;\n visable = \"\";\n visable2 = \"\";\n visable3 = \"\";\nAlertMessage :string=\"Alert me when the quantity reaches less than\";\n ogData: StoreItemsModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Name: new FormControl(),\n SkuNumber: new FormControl(),\n Description: new FormControl(),\n PurchasingPrice: new FormControl(),\n SalePrice: new FormControl(),\n FirstTaxId: new FormControl(),\n SecondTaxId: new FormControl(),\n LowestSellingPrice: new FormControl(),\n Discount: new FormControl(),\n ProfitPercentage: new FormControl(),\n PriceListId: new FormControl(),\n StoreDataId: new FormControl(),\n Quantity: new FormControl(),\n Notes: new FormControl(),\n Tags: new FormControl(),\n IsDisable: new FormControl(),\n WarehouseName: new FormControl(),\n Alert: new FormControl(),\n AvailableOnline: new FormControl(),\n FeaturedProduct: new FormControl(),\n Barcode:new FormControl(),\n UnitId:new FormControl(),\n DiscountType:new FormControl(),\n \n });\n\n @ViewChild(\"sideModalRef\", { static: true })\n sideModalRef: SidePopupComponent = null;\n @ViewChild(\"delModal\", { static: true }) delModal: ModalDirective;\n @ViewChild(\"smallModal\", { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n // this.getAllCountryCode();\n\n this.lang = localStorage.getItem(\"theme_lang\");\n this.itemOrder = {\n label: \"Name\",\n property: this.lang === \"ar-EG\" ? \"Name\" : \"Name\",\n };\n this.sortableKeys = [\n // { label: 'Date', property: 'Date' },\n { label: \"Name\", property: this.lang === \"ar-EG\" ? \"Name\" : \"Name\" },\n { label: \"SkuNumber\", property: \"SkuNumber\" },\n { label: \"Description\", property: \"Description\" },\n { label: \"PurchasingPrice\", property: \"PurchasingPrice\" },\n { label: \"SalePrice\", property: \"SalePrice\" },\n { label: \"FirstTaxId\", property: \"FirstTaxId\" },\n { label: \"SecondTaxId\", property: \"SecondTaxId\" },\n { label: \"LowestSellingPrice\", property: \"LowestSellingPrice\" },\n { label: \"Discount\", property: \"Discount\" },\n { label: \"ProfitPercentage\", property: \"ProfitPercentage\" },\n { label: \"PriceListId\", property: \"PriceListId\" },\n { label: \"StoreDataId\", property: \"StoreDataId\" },\n { label: \"Quantity\", property: \"Quantity\" },\n { label: \"Notes\", property: \"Notes\" },\n { label: \"Tags\", property: \"Tags\" },\n { label: \"IsDisable\", property: \"IsDisable\" },\n { label: \"IsAlertDisable\", property: \"Alert\" },\n { label: \"FeaturedProduct\", property: \"FeaturedProduct\" },\n { label: \"AvailableOnline\", property: \"AvailableOnline\" },\n { label: \"Barcode\", property: \"Barcode\" },\n \n \n ];\n\n this.tableEngine.loadTableEngine(\n this.ogData,\n this.modelService,\n this.modelObject,\n this.searchableKeys,\n this.sortableKeys,\n this.mainForm,\n this.translationName,\n this.itemOrder,\n this.sideModalRef,\n this.delModal,\n this.smallModal,\n this.lang\n );\n \n this.loadServices();\n \n this.modelService.getAllTaxes().subscribe((data) => {\n this.FirstTaxesList = data;\n });\n this.modelService.getAllTaxes().subscribe((data) => {\n this.SecondTaxesList = data;\n });\n this.modelService.getLastNumber().subscribe((data) => {\n debugger;\n this.modelObject.SkuNumber = data;\n this.mainForm.controls['SkuNumber'].setValue(this.modelObject.SkuNumber+1);\n });\n \n this.WarehouseService.getAll().subscribe((data) => {\n this.WarehouseList = data;\n });\n this.UnitTypeService.getAll().subscribe(data=>{\n this.UnitList=data;\n })\n\n this.PriceListService.getAll() \n .subscribe(data=>\n {\n this.PriceList=data\n });\n this.BrandService.getAll() \n .subscribe(data=>\n {\n this.BrandList=data\n });\n \n this.CategorySevice.getAll() \n .subscribe(data=>\n {\n this.CategoryList=data\n });\n\n\n if(this.Id > 0)\n { debugger; \n this.modelService.getById(this.Id).subscribe(data=>{ \n this.modelObject = data;\n this.ItemsPriceList2=data.ItemPriceList;\n this.SelectedBrandList=data.ItemBrand;\n this.SelectedCategoryList=data.ItemCategory;\n this.WarehouseList2=data.WarhouseItem;\n \n this.mainForm = this.createForm(this.modelObject);\n \n\n });\n \n\n }\n else{\n \n this.mainForm = this.createForm(this.modelObject); \n\n\n }\n this.mainForm = this.createForm(this.modelObject);\n\n }\n\n createForm(modelObject): FormGroup {\n debugger;\n return this.fb.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n Name: [modelObject.Name, Validators.compose([Validators.required])],\n SkuNumber: [\n modelObject.SkuNumber,\n Validators.compose([Validators.required, Validators.minLength(2)]),\n ],\n PurchasingPrice: [\n modelObject.PurchasingPrice,\n Validators.compose([Validators.required]),\n ],\n SalePrice: [modelObject.SalePrice],\n FirstTaxId: [modelObject.FirstTaxId],\n SecondTaxId: [modelObject.SecondTaxId],\n LowestSellingPrice: [modelObject.LowestSellingPrice],\n Description: [modelObject.Description],\n Discount: [modelObject.Discount],\n ProfitPercentage: [modelObject.ProfitPercentage],\n // WarehouseDataId:[modelObject.WarehouseDataId],\n // Quantity: [modelObject.Quantity],\n Notes: [modelObject.Notes],\n Tags: [modelObject.Tags],\n WarehouseName: [modelObject.WarehouseName],\n Alert: [modelObject.Alert],\n AvailableOnline: [modelObject.AvailableOnline],\n FeaturedProduct: [modelObject.FeaturedProduct],\n Barcode: [modelObject.Barcode],\n IsDisable: [modelObject.IsDisable == null ? true : modelObject.IsDisable],\n UnitId:[modelObject.UnitId],\n DiscountType:[modelObject.DiscountType],\n \n \n });\n }\n DiscountList:[{\"%\",\"$\"}];\n FirstTaxesList: ItemTaxModel[] = [];\n SecondTaxesList: ItemTaxModel[] = [];\n UnitList:UnitTypeModel[]=[];\n PriceList: PriceListModel[] = [];\n WarehouseList: WarehouseModel[] = [];\n BrandList: BrandModel[] = [];\n CategoryList: CategoryModel[] = [];\n loadServices() {\n this.currentAction = \"loading\";\n this.tableEngine.loadData();\n }\n calcSalePrice(){\n // var i = this.StoreItemsModel.findIndex(x=>x.Id == Item);\n this.modelObject.PurchasingPrice = +this.mainForm.getRawValue().PurchasingPrice;\n this.modelObject.ProfitPercentage = +this.mainForm.getRawValue().ProfitPercentage;\n\n\n var pre=+(this.modelObject.ProfitPercentage/100)*this.modelObject.PurchasingPrice;\n this.modelObject.SalePrice = +this.modelObject.PurchasingPrice +pre;\n this.mainForm.controls['SalePrice'].setValue(this.modelObject.SalePrice)\n \n }\n calcProfitPrice(){\n this.modelObject.PurchasingPrice = +this.mainForm.getRawValue().PurchasingPrice;\n this.modelObject.SalePrice = +this.mainForm.getRawValue().SalePrice;\n\n // var pre=+(this.modelObject.SalePrice-this.modelObject.PurchasingPrice);\n\n var pre=this.modelObject.SalePrice-this.modelObject.PurchasingPrice;\n this.modelObject.ProfitPercentage = +((pre/this.modelObject.PurchasingPrice)*100);\n // this.modelObject.ProfitPercentage = +(pre/(this.modelObject.PurchasingPrice*100));\n\n this.mainForm.controls['ProfitPercentage'].setValue(this.modelObject.ProfitPercentage)\n }\n \n \n \n ItemsPriceList2:ItemsPriceListModel[]=[];\n WarehouseList2:WarehouseItemModel[]=[{Id:0,ItemId:this.Id,WarehouseDataId:0,Alert:0,Quantity:0}];\nPriceListId=0;\n AddonClick(){\ndebugger;\n var PriceList= new ItemsPriceListModel();\n PriceList.Id = 0, \n PriceList.ItemId = this.Id, \n PriceList.PriceListId = 0, \n PriceList.SalePrice=0;\n PriceList.IsDeleted= false, \n // ItemsModel.Items=[]\n this.ItemsPriceList2.push(PriceList);\n PriceList={};\n\n \n}\nAddonWarehouseOnClick(){\n debugger;\n var WarehouseList= new WarehouseItemModel();\n WarehouseList.Id = 0, \n WarehouseList.ItemId = this.Id, \n WarehouseList.WarehouseDataId =+ 0, \n WarehouseList.Alert=0;\n WarehouseList.Quantity=0, \n // ItemsModel.Items=[]\n this.WarehouseList2.push(WarehouseList);\n WarehouseList={};\n \n \n }\n\nremoveItemsFooter(Id: any): any {\n\n let index = this.ItemsPriceList2.findIndex(x => x.PriceListId === Id);\n this.ItemsPriceList2.splice(index, 1);\n \n }\n\n\nonMaterialGroupChangeCategory(event) {\n this.SelectedCategoryList = event;\n\n}\nonMaterialGroupChangeBrand(event) {\n this.SelectedBrandList = event;\n\n}\nselectAllForDropdownItems(items: any[]) {\n let allSelect = (items) => {\n items.forEach((element) => {\n element['selectedAllGroup'] = 'selectedAllGroup';\n });\n };\n\n allSelect(items);\n}\n getCategoryById(Id:any):any{\n if(Id>0)\n {\n return this.CategoryList.find(i=>i.Id===Id)\n }\n else\n {\n return new CategoryModel();\n }\n }\n\n\n\n SelectedCategoryList: CategoryModel[] = [];\n SelectedBrandList:BrandModel[]=[];\n goBack() {\n this.router.navigate([\"app/aio/Inventory/List-All-Productes\"]);\n }\n Save() {\n debugger;\n this.currentAction = \"loading\";\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n this.modelObject = new StoreItemsModel();\n this.modelObject.Id = 0;\n this.modelObject.Name = this.mainForm.getRawValue().Name;\n this.modelObject.SkuNumber = this.mainForm.getRawValue().SkuNumber;\n this.modelObject.IsDisable = this.mainForm.getRawValue().IsDisable;\n this.modelObject.Description = this.mainForm.getRawValue().Description;\n this.modelObject.Discount = this.mainForm.getRawValue().Discount;\n this.modelObject.LowestSellingPrice =\n +this.mainForm.getRawValue().LowestSellingPrice;\n this.modelObject.ProfitPercentage =\n this.mainForm.getRawValue().ProfitPercentage;\n this.modelObject.PurchasingPrice =\n +this.mainForm.getRawValue().PurchasingPrice;\n this.modelObject.SalePrice = +this.mainForm.getRawValue().SalePrice;\n this.modelObject.Notes = this.mainForm.getRawValue().Notes;\n this.modelObject.FirstTaxId = +this.mainForm.getRawValue().FirstTaxId;\n this.modelObject.SecondTaxId = +this.mainForm.getRawValue().SecondTaxId;\n this.modelObject.UnitId = +this.mainForm.getRawValue().UnitId;\n this.modelObject.Quantity = 0;\n this.modelObject.Barcode = this.mainForm.getRawValue().Barcode;\n this.modelObject.ItemPriceList = this.ItemsPriceList2;\n this.modelObject.WarhouseItem = this.WarehouseList2; \n this.modelObject.Tags = this.mainForm.getRawValue().Tags;\n this.modelObject.AvailableOnline = this.mainForm.getRawValue().AvailableOnline;\n this.modelObject.FeaturedProduct = this.mainForm.getRawValue().FeaturedProduct;\n this.modelObject.DiscountType = this.mainForm.getRawValue().DiscountType;\n this.modelObject.Alert = +this.mainForm.getRawValue().Alert;\n \n this.SelectedCategoryList.forEach(element => {\n var cat = new CategoryItemsModel();\n cat.CategoryId = element.Id;\n cat.Id = 0;\n cat.ItemId = this.Id;\n this.modelObject.ItemCategory.push(cat);\n });\n this.SelectedBrandList.forEach(element => {\n var cat = new BrandItemsModel();\n cat.BrandId = element.Id;\n cat.Id = 0;\n cat.ItemId = this.Id;\n this.modelObject.ItemBrand.push(cat);\n });\n if (this.Id == 0) {\n this.modelService.insert(this.modelObject).subscribe((data) => {\n this.router.navigate([\"app/aio/Inventory/List-All-Productes\"]);\n });\n } else {\n debugger;\n this.modelService.update(this.modelObject).subscribe((data) => {\n this.router.navigate([\"app/aio/Inventory/List-All-Productes\"]);\n });\n }\n }\n}\n","\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    {{ \"Create Product\" | translate }}
    \n
    \n \n {{ \"Back\" | translate }}\n \n \n {{ \"Save\" | translate }}\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n
    \n \n
    \n
    \n \n \n \n
    \n \n
    \n \n \n \n
    \n \n\n
    \n \n \n \n \n
    \n\n\n
    \n \n \n \n \n
    \n\n\n
    \n \n \n >\n\n \n Select All\n \n \n \n
    \n\n\n
    \n \n \n >\n\n \n Select All\n \n \n\n
    \n\n
    \n \n \n \n
    \n
    \n\n
    \n \n \n \n
    \n
    \n\n
    \n
    \n \n \n
    \n \n \n
    \n\n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n \n \n \n
    \n
    \n \n \n \n
    \n
    \n \n
    \n
    \n \n \n \n \n {{ lang === \"ar-EG\" ? tax.NameAr : tax.NameEn }}\n \n \n
    \n \n
    \n \n \n \n \n {{ lang === \"ar-EG\" ? tax.NameAr : tax.NameEn }}\n \n \n
    \n
    \n\n
    \n
    \n \n \n \n {{ \"LowestSellingPriceRequired\" | translate }}\n
    \n
    \n
    \n \n \n \n {{ \"DiscountRequired\" | translate }}\n
    \n
    \n\n
    \n \n \n \n \n \n \n \n
    \n
    \n\n
    \n
    \n \n \n \n {{ \"ProfitPercentageRequired\" | translate }}\n
    \n
    \n\n
    \n \n \n \n \n {{ lang === \"ar-EG\" ? Unit.NameAr : Unit.NameEn }}\n \n \n
    \n
    \n\n\n\n
    \n \n
    \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n \n \n {{ lang === \"ar-EG\" ? Itsm.NameAr : Itsm.NameEn }}\n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n \n \n\n \n\n\n\n\n \n\n\n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n \n\n \n \n \n \n \n \n \n \n \n
    \n \n\n \n \n \n {{ Itsm.Name }}\n \n \n \n \n \n \n \n \n \n \n \n
    \n \n \n
    \n \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n {{ \"QuantityRequired\" | translate }}\n
    \n \n \n
    \n
    \n
    \n \n
    \n \n\n
    \n
    \n\n\n\n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n \n {{ \"NotesRequired\" | translate }}\n
    \n
    \n\n
    \n \n \n \n {{ \"TagsRequired\" | translate }}\n
    \n
    \n\n
    \n \n \n
    \n
    \n \n \n \n
    \n\n\n
    \n\n\n","import { Component, ViewChild } from \"@angular/core\";\nimport {\n FormBuilder,\n FormControl,\n FormGroup,\n Validators,\n} from \"@angular/forms\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { NotificationsService } from \"angular2-notifications\";\nimport { ModalDirective } from \"ngx-bootstrap/modal\";\nimport { TableEngine } from \"src/app/invoices/TableEngine\";\nimport { SidePopupComponent } from \"src/app/views/invoice/side-popup/side-popup.component\";\nimport { ItemsPriceListModel } from \"../../models/ItemsPriceListModel\";\nimport { ItemTaxModel } from \"../../models/ItemTaxModel\";\nimport { PriceListModel } from \"../../models/PriceListModel\";\nimport { StoreItemsModel } from \"../../models/StoreItemsModel\";\nimport { WarehouseModel } from \"../../models/WarehouseModel\";\nimport { PriceListService } from \"../../Price List/price-list/price-list.service\";\nimport { WarehouseService } from \"../../warehouses/warehouse-service.service\";\nimport { ProductesService } from \"../productes.service\";\nimport{WarehouseItemModel}from\"src/app/Invintory/models/WarehouseItem\";\nimport { BrandServiceService } from \"../../warehouses/brand-service.service\";\nimport { CategoryServiceService } from \"../../warehouses/category-service.service\";\nimport { CategoryItemsModel } from \"../../models/CategoryItemsMosel\";\nimport { BrandItemsModel } from \"../../models/BrandItemsModel\";\nimport { StockAdjustmentModel } from \"../../models/StockAdjustmentModel\";\nimport { StockAdjustmentService } from \"../stock-adjustment/Add-stock-adjustment.service\";\n@Component({\n // moduleId: module.id,\n selector: 'info-productes',\n templateUrl: 'info-productes.component.html',\n styleUrls: ['info-productes.component.scss']\n})\nexport class InfoProductesComponent {\n Id = 0;\n\n constructor(\n public router: Router,\n private fb: FormBuilder,\n private modelService: ProductesService,\n private PriceListService: PriceListService,\n private CategoryService: CategoryServiceService,\n private BrandService: BrandServiceService,\n private StockAdjustmentService: StockAdjustmentService,\n \n private WarehouseService: WarehouseService,\n private notifications: NotificationsService,\n private translate: TranslateService,\n private route: ActivatedRoute\n ) {\n this.Id = +route.snapshot.paramMap.get(\"Id\");\n }\n \n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = \"Table\";\n translationName: string = \"Item\";\n sortableKeys = [];\n searchableKeys = [\"Name\", \"Address\"];\n tableView: any = true;\n \n StoreItemsModel:StoreItemsModel[]=[];\n \n // WarehouseData: WarehouseModel[] = [];\n \n modelObject: StoreItemsModel = new StoreItemsModel();\n Form: FormGroup;\n declare lang: any;\n declare itemOrder: any;\n currentAction = \"\";\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n prevAction = \"\";\n addToListId = 0;\n ItemsBalanceHeaderId = 0;\n ItemBalanceId = 0;\n currentFormMode: string = \"\";\n \n ogData: StoreItemsModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Name: new FormControl(),\n SkuNumber: new FormControl(),\n Description: new FormControl(),\n PurchasingPrice: new FormControl(),\n SalePrice: new FormControl(),\n FirstTaxId: new FormControl(),\n SecondTaxId: new FormControl(),\n LowestSellingPrice: new FormControl(),\n Discount: new FormControl(),\n ProfitPercentage: new FormControl(),\n PriceListId: new FormControl(),\n WarehouseDataId: new FormControl(),\n Quantity: new FormControl(),\n Notes: new FormControl(),\n Tags: new FormControl(),\n IsDisable: new FormControl(),\n WarehouseName: new FormControl(),\n TotalQuantitySoled: new FormControl(),\n Last28DayesQuantitySoled: new FormControl(),\n Last7DayesQuantitySoled: new FormControl(),\n AverageUnitPrice: new FormControl(),\n \n });\n \n @ViewChild(\"sideModalRef\", { static: true })\n sideModalRef: SidePopupComponent = null;\n @ViewChild(\"delModal\", { static: true }) delModal: ModalDirective;\n @ViewChild(\"smallModal\", { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n // this.getAllCountryCode();\n \n this.lang = localStorage.getItem(\"theme_lang\");\n this.itemOrder = {\n label: \"Name\",\n property: this.lang === \"ar-EG\" ? \"Name\" : \"Name\",\n };\n this.sortableKeys = [\n // { label: 'Date', property: 'Date' },\n { label: \"Name\", property: this.lang === \"ar-EG\" ? \"Name\" : \"Name\" },\n { label: \"SkuNumber\", property: \"SkuNumber\" },\n { label: \"Description\", property: \"Description\" },\n { label: \"PurchasingPrice\", property: \"PurchasingPrice\" },\n { label: \"SalePrice\", property: \"SalePrice\" },\n { label: \"FirstTaxId\", property: \"FirstTaxId\" },\n { label: \"SecondTaxId\", property: \"SecondTaxId\" },\n { label: \"LowestSellingPrice\", property: \"LowestSellingPrice\" },\n { label: \"Discount\", property: \"Discount\" },\n { label: \"ProfitPercentage\", property: \"ProfitPercentage\" },\n { label: \"PriceListId\", property: \"PriceListId\" },\n { label: \"WarehouseDataId\", property: \"WarehouseDataId\" },\n { label: \"Quantity\", property: \"Quantity\" },\n { label: \"Notes\", property: \"Notes\" },\n { label: \"Tags\", property: \"Tags\" },\n { label: \"IsDisable\", property: \"IsDisable\" },\n { label: \"WarehouseName\", property: \"WarehouseName\" },\n \n ];\n \n this.tableEngine.loadTableEngine(\n this.ogData,\n this.modelService,\n this.modelObject,\n this.searchableKeys,\n this.sortableKeys,\n this.mainForm,\n this.translationName,\n this.itemOrder,\n this.sideModalRef,\n this.delModal,\n this.smallModal,\n this.lang\n );\n\n // this.mainForm = this.createForm(this.modelObject);\n \n // this.loadServices();\n // this.modelService.getById(this.Id).subscribe((data) => {\n // this.modelObject = data;\n // }); \n \n if(this.Id > 0)\n { debugger; \n this.modelService.getById(this.Id).subscribe(data=>{ \n this.modelObject = data;\n this.ItemsPriceList2=data.ItemPriceList;\n this.ItemsPriceList2=this.modelObject.ItemPriceList;\n this.WarehouseList2=data.WarhouseItem;\n this.mainForm = this.createForm(this.modelObject);\n this.calculateQuantity(); \n\n \n });\n this.StockAdjustmentService.getByItemId(this.Id).subscribe(data=>{\n this.StockAdjustmentList=data;\n })\n debugger;\n \n this.mainForm = this.createForm(this.modelObject);\n \n }\n else{\n \n this.mainForm = this.createForm(this.modelObject); \n }\n }\n \n\n // calcTotalQuentity(item){\n // var Quantity = 0;\n // item.WarhouseItem.forEach(element2 => {\n // Quantity+=element2.Quantity\n \n // });\n // return Quantity;\n // }\n createForm(modelObject): FormGroup {\n debugger;\n return this.fb.group({\n // Id:[this.ItemBalance.Id],\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n Name: [modelObject.Name, Validators.compose([Validators.required])],\n SkuNumber: [\n modelObject.SkuNumber,\n Validators.compose([Validators.required, Validators.minLength(2)]),\n ],\n PurchasingPrice: [\n modelObject.PurchasingPrice,\n Validators.compose([Validators.required]),\n ],\n SalePrice: [modelObject.SalePrice],\n FirstTaxId: [modelObject.FirstTaxId],\n SecondTaxId: [modelObject.SecondTaxId],\n LowestSellingPrice: [modelObject.LowestSellingPrice],\n Description: [modelObject.Description],\n Discount: [modelObject.Discount],\n ProfitPercentage: [modelObject.ProfitPercentage],\n PriceListId: [modelObject.PriceListId],\n WarehouseDataId:[modelObject.WarehouseDataId],\n Quantity: [modelObject.Quantity],\n Alert: [modelObject.Alert],\n Notes: [modelObject.Notes],\n Tags: [modelObject.Tags],\n WarehouseName: [modelObject.WarehouseName],\n TotalQuantitySoled: [modelObject.TotalQuantitySoled],\n Last7DayesQuantitySoled: [modelObject.Last7DayesQuantitySoled],\n Last28DayesQuantitySoled: [modelObject.Last28DayesQuantitySoled],\n AverageUnitPrice: [modelObject.AverageUnitPrice],\n IsDisable: [modelObject.IsDisable == null ? true : modelObject.IsDisable],\n \n });\n }\n \n\n showModal(Id, action) {\n \n if (action === 'Add') { \n debugger;\n // this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n this.router.navigate(['app/aio/Inventory/Add-Productes/',0]) \n }\n else if (action === 'Edit') {\n debugger;\n this.router.navigate(['app/aio/Inventory/Add-Productes/',Id])\n \n \n }\n else if (action === 'Info') {\n debugger;\n \n this.router.navigate(['app/aio/Inventory/Info-Productes/',Id])\n \n \n }\n //this.mainForm.get('IsActive').setValue(true);\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n \n }\n \n StockAdjustmentList:StockAdjustmentModel[]=[];\n PriceList: PriceListModel[] = [];\n WarehouseList: WarehouseModel[] = [];\n loadServices() {\n // debugger;\n this.currentAction = \"loading\";\n this.tableEngine.loadData();\n }\n \n \n ItemsPriceList2:ItemsPriceListModel[]=[{Id:0,IsDeleted:false,ItemId:this.Id,PriceListId:0,SalePrice:0}];\n WarehouseList2:WarehouseItemModel[]=[{Id:0,ItemId:this.Id,WarehouseDataId:0,Alert:0,Quantity:0,WarehouseName:''}];\n CategoryList:CategoryItemsModel[]=[];\n BrandList:BrandItemsModel[]=[];\n \n getWarehouseById(Id: any): any { \n debugger;\n return this.WarehouseList.find(i => i.Id === Id);\n }\n StockAdjustment(){\n this.router.navigate(['app/aio/Inventory/Stock-Adjustment/',this.Id]) \n\n }\n currentTotal = 0;\n\n calculateQuantity() {\n debugger;\n let total = 0;\n this.WarehouseList2.forEach(item => {\n total += item.Quantity;\n });\n this.currentTotal = total;\n return total;\n }\n type = 0;\n visable = \"\";\n visable2 = \"\";\n visable3 = \"\";\n \n \n \n goBack() {\n this.router.navigate([\"app/aio/Inventory/List-All-Productes\"]);\n }\n Save() {\n debugger;\n this.currentAction = \"loading\";\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n this.modelObject = new StoreItemsModel();\n\n this.modelObject.Id = 0;\n this.modelObject.Name = this.mainForm.getRawValue().Name;\n this.modelObject.SkuNumber = this.mainForm.getRawValue().SkuNumber;\n this.modelObject.IsDisable = this.mainForm.getRawValue().IsDisable;\n this.modelObject.Description = this.mainForm.getRawValue().Description;\n this.modelObject.Discount = this.mainForm.getRawValue().Discount;\n \n this.modelObject.LowestSellingPrice =\n this.mainForm.getRawValue().LowestSellingPrice;\n this.modelObject.ProfitPercentage =\n this.mainForm.getRawValue().ProfitPercentage;\n this.modelObject.PurchasingPrice =\n this.mainForm.getRawValue().PurchasingPrice;\n this.modelObject.SalePrice = this.mainForm.getRawValue().SalePrice;\n this.modelObject.Notes = this.mainForm.getRawValue().Notes;\n // this.modelObject.PriceListId = this.mainForm.getRawValue().PriceListId;\n this.modelObject.FirstTaxId = this.mainForm.getRawValue().FirstTaxId;\n this.modelObject.SecondTaxId = this.mainForm.getRawValue().SecondTaxId;\n this.modelObject.Quantity = this.mainForm.getRawValue().Quantity;\n this.modelObject.Alert = this.mainForm.getRawValue().Alert;\n \n this.modelObject.ItemPriceList = this.ItemsPriceList2;\n this.modelObject.WarhouseItem = this.WarehouseList2;\n // this.modelObject.WarehouseDataId =\n // this.mainForm.getRawValue().WarehouseDataId;\n this.modelObject.Tags = this.mainForm.getRawValue().Tags;\n if (this.Id == 0) {\n this.modelService.insert(this.modelObject).subscribe((data) => {\n this.router.navigate([\"app/aio/Inventory/List-All-Productes\"]);\n });\n } else {\n debugger;\n this.modelService.update(this.modelObject).subscribe((data) => {\n this.router.navigate([\"app/aio/Inventory/List-All-Productes\"]);\n });\n }\n }\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n \n {{modelObject.Name}}\n {{modelObject.SkuNumber}}#\n currentTotal&&modelObject.Alert!=0\">{{'LowStock' | translate}}\n {{'Notavailable' | translate}}\n {{'available' | translate}}\n \n \n \n
    \n \n {{ \"Back\" | translate }}\n \n \n {{ \"Edit\" | translate }}\n \n
    \n

    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    {{ \"StockQuantity\" | translate }}
    \n \n
    \n \n \n \n \n \n \n
    \n \n
    \n \n
    \n
    \n
    \n
    {{ \"TotalPiecesSold\" | translate }}
    \n \n \n
    \n
    \n\n
    \n
    {{ \"The last 28 days\" | translate }}
    \n \n \n
    \n
    \n\n
    \n
    {{ \"The last 7 days\" | translate }}
    \n \n \n
    \n
    \n\n
    \n
    {{ \"AverageCostPrice\" | translate }}\n \n \n \n
    \n \n \n
    \n
    \n
    \n \n
    \n
    \n \n {{ \"Adding a process to the inventory\" | translate }}\n \n \n
    \n\n \n
    \n
    \n

    التفاصيل

    \n
    \n
    \n\n
    \n
    \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n \n
    {{'Product Code:'|translate}}{{modelObject.SkuNumber}}\n
    {{'SalePrice:'|translate}}{{modelObject.SalePrice}}\n
    {{'ProfitPercentage:'|translate}}{{modelObject.ProfitPercentage}}%\n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n
    {{'PurchasingPrice:'|translate}}{{modelObject.PurchasingPrice}}\n
    {{'Category:'|translate}}\n
    {{'Alert:'|translate}} \n {{modelObject.Alert}} \n \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n\n \n
    {{'DateOperation'|translate}}\n {{'TimeOperation'|translate}}\n {{'Movement'|translate}}{{'InventoryAfterQuantity'|translate}}
    \n
    \n \n ({{obj.MoveNumber}}#)\n {{obj.Date}}\n \n \n
    \n \n
    \n \n\n
    \n \n \n
    {{obj.Time}}\n
    \n {{'+' | translate}}\n {{'-' | translate}}\n {{\n obj.Quantity\n }} \n
    \n \n
    \n
    \n {{obj.InventoryAfterQuantity}}\n
    \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n
    \n
    \n \n \n \n \n \n ","import { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { TableEngine } from 'src/app/invoices/TableEngine';\nimport { DataFilterer } from 'src/app/views/invoice/shared/DataFilterer';\nimport { DataPaginator } from 'src/app/views/invoice/shared/DataPaginator';\nimport { DataSorter } from 'src/app/views/invoice/shared/DataSorter';\nimport { SidePopupComponent } from 'src/app/views/invoice/side-popup/side-popup.component';\nimport { StoreItemsModel } from '../../models/StoreItemsModel';\nimport { ProductesService } from '../productes.service';\nimport { WarehouseItemModel } from '../../models/WarehouseItem';\n\n\n@Component({\n selector: 'list-all-productes',\n templateUrl: 'list-all-productes.component.html',\n styleUrls: ['list-all-productes.component.scss']\n})\nexport class ListAllProductesComponent {\n \n Id=0;\n\n constructor(private formBuilder: FormBuilder, private modelService: ProductesService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService, private router : Router,\n private route: ActivatedRoute\n ) { this.Id = + route.snapshot.paramMap.get('Id'); }\n\ntableEngine = new TableEngine(this.translate, this.notifications);\ncurrentScreen: any = 'Table';\ntableView: any = true;\n// PriceList : WarehouseModel[]=[];\n\n\ntranslationName: string = 'Warehouse' \nsortableKeys = [];\nsearchableKeys = ['Name','Address'];\nmodelObject: StoreItemsModel = new StoreItemsModel();\nProducteList:StoreItemsModel[]=[];\n\ndebugMode = true;\n\nogData: StoreItemsModel[] = [];\nmainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Name: new FormControl(),\n SkuNumber:new FormControl(),\n Description:new FormControl(),\n PurchasingPrice:new FormControl(),\n SalePrice:new FormControl(),\n FirstTaxId:new FormControl(),\n SecondTaxId:new FormControl(),\n LowestSellingPrice:new FormControl(),\n Discount:new FormControl(),\n ProfitPercentage:new FormControl(),\n PriceListId:new FormControl(),\n WarehouseDataId:new FormControl(),\n Quantity:new FormControl(),\n Notes:new FormControl(),\n Tags:new FormControl(),\n IsDisable:new FormControl(),\n WarehouseName:new FormControl(),\n DiscountType:new FormControl(),\n UnitId:new FormControl(),\n Barcode:new FormControl(),\n Alert:new FormControl(),\n \n});\n\n\ndeclare lang: any;\ndeclare itemOrder: any;\ncurrentAction = '';\ncurrentFormMode: string = '';\nsavedPage = 0;\ncurrentPage = 1; \ndeletionList: any[] = [];\n\n@ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n@ViewChild('delModal', { static: true }) delModal: ModalDirective;\n@ViewChild('smallModal', { static: true }) smallModal: ModalDirective = null;\nformPresentationModal: any;\nngOnInit(): void {\n // this.getAllCountryCode(); \n \n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: this.lang === 'ar-EG' ? 'Name' : 'Name' }; \n this.sortableKeys = [ \n // { label: 'Date', property: 'Date' }, \n { label: 'Name', property: this.lang === 'ar-EG' ? 'Name' : 'Name' }, \n { label: 'Address', property: this.lang === 'ar-EG' ? 'Address' : 'Address' }, \n { label: 'Mobil', property: this.lang === 'ar-EG' ? 'Mobil' : 'Mobil' }, \n { label: 'IsPrime', property: 'IsPrime' },\n \n ];\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n //this.tableEngine.modelObject = {}\n this.loadServices();\n this.modelService.getAll().subscribe(data=>{\n this.modelObject=data;\n })\n this.modelService.getAll().subscribe(data=>{\n debugger;\n\n this.ProducteList=data;\n this.WarehouseItemList=[];\n \n\n });\n\n} \ncalcTotalQuentity(item){\n var Quantity = 0;\n item.WarhouseItem.forEach(element2 => {\n Quantity+=element2.Quantity\n \n });\n return Quantity;\n}\n// calcAlert(item){\n// var Alert = 0;\n// item.WarhouseItem.forEach(element2 => {\n// Alert+=element2.Alert\n \n// });\n// return Alert;\n// }\nshowInfoModalRef(Id: any): void {\n this.router.navigate(['app/aio/Inventory/Info-Productes',Id])\n }\n showDelModal(Id: any): void {\n debugger;\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n \n }\n // WarehouseList:WarehouseItemModel[]=[];\n WarehouseItemList: WarehouseItemModel[] = [];\n\n showModal(Id, action) {\n \n if (action === 'Add') { \n debugger;\n // this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n this.router.navigate(['app/aio/Inventory/Add-Productes/',0]) \n }\n else if (action === 'Edit') {\n debugger;\n this.router.navigate(['app/aio/Inventory/Add-Productes/',Id])\n \n \n }\n else if (action === 'Info') {\n debugger;\n \n this.router.navigate(['app/aio/Inventory/Info-Productes/',Id])\n \n \n }\n //this.mainForm.get('IsActive').setValue(true);\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n \n }\n \n currentTotal = 0;\n\n // calculateQuantity() {\n // debugger;\n // let total = 0;\n // var i= this.WarehouseItemList.findIndex(x=>x.ItemId==this.Id);\n // if(i>-1){ \n // this.WarehouseItemList.forEach(item => {\n // total += item.Quantity;\n // });\n // this.currentTotal = total;\n // return total;\n // }\n \n // }\n \n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject(){\n debugger;\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.delModal.hide();\n // this.finalizeDeletion();\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\"));\n if (this.sideModalRef === undefined) {\n \n this.tableEngine.smallModal.hide();\n \n } else {\n \n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n \n// addObject() {\n// // debugger;\n// this.currentAction = 'loading';\n// this.modelObject = new WarehouseModel();\n// this.modelObject.Id = 0;\n// this.modelObject.Name = this.mainForm.getRawValue().Name;\n// this.modelObject.Address = this.mainForm.getRawValue().Address;\n// this.modelObject.Mobil = this.mainForm.getRawValue().Mobil;\n// this.executeAddObject();\n// }\n \n// executeAddObject() {\n \n// this.modelService.insert(this.modelObject).subscribe(result => {\n// if (result === true) {\n// this.tableEngine.loadData();\n// this.currentAction = '';\n// this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n// if (this.sideModalRef === undefined) {\n \n// this.tableEngine.smallModal.hide();\n \n// } else {\n \n// this.tableEngine.sideModalRef.modalRef.hide();\n// }\n// }\n// else {\n// this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n// this.currentAction = '';\n// }\n// })\n// }\n \n editObject() {\n debugger;\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n \n let tempObj = new StoreItemsModel({\n Id: this.modelObject.Id,\n Name: this.mainForm.getRawValue().Name,\n SkuNumber: this.mainForm.getRawValue().SkuNumber,\n Description: this.mainForm.getRawValue().Description,\n PurchasingPrice: this.mainForm.getRawValue().PurchasingPrice,\n SalePrice: this.mainForm.getRawValue().SalePrice,\n FirstTaxId: this.mainForm.getRawValue().FirstTaxId,\n SecondTaxId: this.mainForm.getRawValue().SecondTaxId,\n LowestSellingPrice: this.mainForm.getRawValue().LowestSellingPrice,\n Discount: this.mainForm.getRawValue().Discount,\n ProfitPercentage:this.mainForm.getRawValue().ProfitPercentage,\n PriceListId: this.mainForm.getRawValue().PriceListId,\n WarehouseDataId: this.mainForm.getRawValue().WarehouseDataId,\n Quantity: this.mainForm.getRawValue().Quantity,\n Alert: this.mainForm.getRawValue().Alert,\n Notes: this.mainForm.getRawValue().Notes,\n Tags: this.mainForm.getRawValue().Tags,\n IsDisable: this.mainForm.getRawValue().IsDisable, \n WarehouseName: this.mainForm.getRawValue().IsDisable, \n Barcode:this.mainForm.getRawValue().Barcode, \n DiscountType: this.mainForm.getRawValue().DiscountType, \n UnitId: this.mainForm.getRawValue().UnitId, \n \n });\n \n if (JSON.stringify(tempObj) != JSON.stringify(this.modelObject)) {\n this.executeEditObject(tempObj);\n }\n else {if (this.sideModalRef === undefined) {\n \n this.tableEngine.smallModal.hide();\n \n \n } else {\n \n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n }\n \n executeEditObject(Object) {\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n if (this.sideModalRef === undefined) {\n \n this.tableEngine.smallModal.hide();\n \n } else {\n \n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n \n loadServices(){\n // debugger;\n this.currentAction = 'loading';\n this.tableEngine.loadData(); \n \n \n }\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n \n selected : any[] = [];\n selectAllState = '';\n SearchFrom: Date = null;\n SearchTo: Date = null;\n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n SearchTerm: any = '';\n \n clearSearch() {\n this.SearchFrom = null;\n this.SearchTo = null;\n }\n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n filterData() {\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n isSelected(p: StoreItemsModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n \n onSelect(item: StoreItemsModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n \n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n \n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n \n prepChangeSort(sortKey) {\n this.SearchFrom = null;\n this.SearchTo = null;\n \n \n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n \n getFormattedDate(dateString: any){\n let splitDate: number[] = dateString.toString().split(\"/\");\n \n return new Date(splitDate[2], splitDate[1]-1, splitDate[0])\n }\n ///////////////////////////////////////////////////////\n \n displayMode = 'list';\n changeDisplayMode(mode): void {\n this.displayMode = mode;\n }\n itemsPerPageChange(perPage: number): void {\n this.tableEngine.paginateData(perPage, 1)\n }\n}\n","\n\n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n\n \n \n\n \n \n {{ \"Quantity\" | translate }}\n\n \n \n \n \n \n \n \n \n \n\n \n\n\n \n \n \n \n {{ \"ResultCount\" | translate }}\n \n \n \n {{ tableEngine.itemsPerPage }}\n \n \n \n {{ item }}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n \n  \n \n
    \n \n \n \n \n
  • \n \n \n {{ \"DeleteSelected\" | translate }}\n \n
  • \n \n
    \n
    \n
    \n \n {{ \"Name\" | translate }}\n \n\n
    \n \n \n \n \n \n {{\n lang === \"ar-EG\" ? obj.Name : obj.Name\n }}\n {{calcTotalQuentity(obj)}}\n {{'Disable' | translate}}\n {{'NotDisable' | translate}}\n \n calcTotalQuentity(obj)&&obj.Alert!=0\">{{'LowStock' | translate}}\n {{'Notavailable' | translate}}\n {{'available' | translate}}\n \n \n
    \n \n
    \n {{obj.SalePrice}} جم\n\n \n \n \n
    \n
    \n
    \n\n
    \n {{obj.PurchasingPrice}} جم\n\n \n \n \n
    \n
    \n
    \n \n \n \n \n \n
    \n \n
    \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n\n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { StoreItemsModel } from '../models/StoreItemsModel';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ProductesService {\n\n\n\n constructor(private http:HttpClient ) { }\n\n \n baseUrl = environment.baseApiUrl;\n token = localStorage.getItem(\"token\");\n httpOptions = {\n headers: new HttpHeaders({\n // 'Content-Type': 'application/json; charset=utf-8',\n // 'Authorization': \"Bearer \" + token,\n \"Authorization\": \"Bearer \" + this.token,\n \"Content-Type\": \"application/json\"\n })\n };\n\n getAll(): Observable {\n \n return this.http\n .get(`${this.baseUrl}StoreItems/GetAll`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\nGetAllByInventoryId(InventoryId:number): Observable {\n \n return this.http\n .get(`${this.baseUrl}StoreItems/GetAllByInventoryId/${InventoryId}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ngetAllTaxes(): Observable {\n \n return this.http\n .get(`${this.baseUrl}TaxType/GetAll`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ngetLastNumber(): Observable {\n \n return this.http\n .get(`${this.baseUrl}StoreItems/GetLastNumber`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ngetById(Id:number): Observable {\n\n return this.http\n .get(`${this.baseUrl}StoreItems/GetById/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ninsert(payload: StoreItemsModel): Observable {\n \n return this.http\n .post(`${this.baseUrl}StoreItems/Insert`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\nupdate(payload: StoreItemsModel): Observable {\n return this.http\n .post(`${this.baseUrl}StoreItems/Update`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ndelete(Id:number): Observable {\n return this.http\n .get(`${this.baseUrl}StoreItems/Delete/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\n deleteList(payload: StoreItemsModel []): Observable {\n return this.http\n .post(`${this.baseUrl}StoreItems/DeleteList`,JSON.stringify(payload),this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { StockAdjustmentModel }from 'src/app/Invintory/models/StockAdjustmentModel';\n@Injectable({\n providedIn: 'root'\n})\nexport class StockAdjustmentService {\n\n\n constructor(private http:HttpClient ) { }\n\n \n baseUrl = environment.baseApiUrl;\n token = localStorage.getItem(\"token\");\n httpOptions = {\n headers: new HttpHeaders({\n // 'Content-Type': 'application/json; charset=utf-8',\n // 'Authorization': \"Bearer \" + token,\n \"Authorization\": \"Bearer \" + this.token,\n \"Content-Type\": \"application/json\"\n })\n };\n\n getAll(): Observable {\n \n return this.http\n .get(`${this.baseUrl}AddToStock/GetAll`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\nGetAllSubAccountes(Id:number): Observable {\n \n return this.http\n .get(`${this.baseUrl}AccountsName/GetAll/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ngetLastMoveNumber(): Observable {\n \n return this.http\n .get(`${this.baseUrl}AddToStock/GetLastMoveNumber`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ngetById(Id:number): Observable {\n\n return this.http\n .get(`${this.baseUrl}AddToStock/GetById/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ngetByItemId(Id:number): Observable {\n\n return this.http\n .get(`${this.baseUrl}AddToStock/GetAll/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ninsert(payload: StockAdjustmentModel): Observable {\n \n return this.http\n .post(`${this.baseUrl}AddToStock/Insert`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\nupdate(payload: StockAdjustmentModel): Observable {\n return this.http\n .post(`${this.baseUrl}AddToStock/Update`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ndelete(Id:number): Observable {\n return this.http\n .get(`${this.baseUrl}AddToStock/Delete/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\n deleteList(payload: StockAdjustmentModel []): Observable {\n return this.http\n .post(`${this.baseUrl}AddToStock/DeleteList`,JSON.stringify(payload),this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { OperationTypeModel}from '../../models/OperationTypeModel';\n@Injectable({\n providedIn: 'root'\n})\nexport class OperationTypeService {\n\n\n constructor(private http:HttpClient ) { }\n\n \n baseUrl = environment.baseApiUrl;\n token = localStorage.getItem(\"token\");\n httpOptions = {\n headers: new HttpHeaders({\n // 'Content-Type': 'application/json; charset=utf-8',\n // 'Authorization': \"Bearer \" + token,\n \"Authorization\": \"Bearer \" + this.token,\n \"Content-Type\": \"application/json\"\n })\n };\n\n getAll(): Observable {\n \n return this.http\n .get(`${this.baseUrl}Operation/GetAll`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ngetById(Id:number): Observable {\n\n return this.http\n .get(`${this.baseUrl}Operation/GetById/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ninsert(payload: OperationTypeModel): Observable {\n \n return this.http\n .post(`${this.baseUrl}Operation/Insert`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\nupdate(payload: OperationTypeModel): Observable {\n return this.http\n .post(`${this.baseUrl}Operation/Update`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ndelete(Id:number): Observable {\n return this.http\n .get(`${this.baseUrl}Operation/Delete/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\n deleteList(payload: OperationTypeModel []): Observable {\n return this.http\n .post(`${this.baseUrl}Operation/DeleteList`,JSON.stringify(payload),this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n}\n","import { Component, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport{StockAdjustmentService}from './Add-stock-adjustment.service';\nimport { WarehouseService } from '../../warehouses/warehouse-service.service';\nimport { ProductesService } from '../productes.service';\nimport { NotificationsService } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\nimport { TableEngine } from 'src/app/views/app/aio/shared/TableEngine';\nimport { StockAdjustmentModel } from '../../models/StockAdjustmentModel';\nimport { SidePopupComponent } from 'src/app/views/invoice/side-popup/side-popup.component';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { WarehouseModel } from '../../models/WarehouseModel';\nimport { StoreItemsModel } from '../../models/StoreItemsModel';\nimport {AccountesNameModel} from '../../models/AccountesNameModel';\nimport {OperationTypeModel }from '../../models/OperationTypeModel';\nimport {OperationTypeService} from '../stock-adjustment/operation-type.service';\nimport {AdjustmentOperationModel} from 'src/app/Invintory/models/AdjustmentOperationModel';\nimport { WarehouseItemModel } from '../../models/WarehouseItem';\nimport { SubtractStockAdjustmentService} from '../../ProductesAndServices/stock-adjustment/subtract-stock-adjustment.service';\n@Component({\n // moduleId: module.id,\n selector: 'stock-adjustment',\n templateUrl: 'stock-adjustment.component.html',\n styleUrls: ['stock-adjustment.component.scss']\n})\nexport class StockAdjustmentComponent {\n Id = 0;\n\n constructor(\n public router: Router,\n private fb: FormBuilder,\n private modelService: StockAdjustmentService,\n private SubtractService:SubtractStockAdjustmentService,\n private WarehouseService: WarehouseService,\n private OperationTypeService: OperationTypeService,\n \n private ProductesService: ProductesService,\n private notifications: NotificationsService,\n private translate: TranslateService,\n private route: ActivatedRoute\n ) {\n this.Id = +route.snapshot.paramMap.get(\"Id\");\n }\n \n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = \"Table\";\n translationName: string = \"Item\";\n sortableKeys = [];\n searchableKeys = [\"Name\", \"Address\"];\n tableView: any = true;\n \n StockAdjustmentModel:StockAdjustmentModel[]=[];\n \n // WarehouseData: WarehouseModel[] = [];\n \n modelObject: StockAdjustmentModel = new StockAdjustmentModel();\n Form: FormGroup;\n declare lang: any;\n declare itemOrder: any;\n currentAction = \"\";\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n prevAction = \"\";\n addToListId = 0;\n ItemsBalanceHeaderId = 0;\n ItemBalanceId = 0;\n currentFormMode: string = \"\";\n type = 0;\n visable = \"\";\n visable2 = \"\";\n visable3 = \"\";\n MovementNumber=0;\n\n\n ogData: StockAdjustmentModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n QuantityEditType: new FormControl(),\n OperationTypeId:new FormControl(),\n WarehouseId:new FormControl(),\n SubAccountId:new FormControl(),\n InventoryBeforeQuantity:new FormControl(),\n InventoryAfterQuantity:new FormControl(),\n ItemId:new FormControl(),\n Quantity:new FormControl(),\n UnitPrice:new FormControl(),\n Notes:new FormControl(),\n Time:new FormControl(),\n Date:new FormControl(),\n \n });\n \n @ViewChild(\"sideModalRef\", { static: true })\n sideModalRef: SidePopupComponent = null;\n @ViewChild(\"delModal\", { static: true }) delModal: ModalDirective;\n @ViewChild(\"smallModal\", { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n // this.getAllCountryCode();\n \n this.lang = localStorage.getItem(\"theme_lang\");\n this.itemOrder = {\n label: \"Quantity\",\n property: this.lang === \"ar-EG\" ? \"Quantity\" : \"Quantity\",\n };\n // this.sortableKeys = [\n // { label: \"Name\", property: this.lang === \"ar-EG\" ? \"Name\" : \"Name\" },\n // { label: \"ServiceCode\", property: \"ServiceCode\" },\n // { label: \"Description\", property: \"Description\" },\n // { label: \"PurchasingPrice\", property: \"PurchasingPrice\" },\n // { label: \"SalePrice\", property: \"SalePrice\" },\n // { label: \"FirstTaxId\", property: \"FirstTaxId\" },\n // { label: \"SecondTaxId\", property: \"SecondTaxId\" },\n // { label: \"LowestSellingPrice\", property: \"LowestSellingPrice\" },\n // { label: \"Discount\", property: \"Discount\" },\n // { label: \"ProfitPercentage\", property: \"ProfitPercentage\" },\n // { label: \"PriceListId\", property: \"PriceListId\" },\n // { label: \"UnitPrice\", property: \"UnitPrice\" },\n // { label: \"Time\", property: \"Time\" },\n // { label: \"Notes\", property: \"Notes\" },\n // { label: \"Tags\", property: \"Tags\" },\n // { label: \"IsDisable\", property: \"IsDisable\" },\n // { label: \"IsAlertDisable\", property: \"Alert\" },\n // { label: \"FeaturedProduct\", property: \"FeaturedProduct\" },\n // { label: \"AvailableOnline\", property: \"AvailableOnline\" },\n \n // ];\n \n this.tableEngine.loadTableEngine(\n this.ogData,\n this.modelService,\n this.modelObject,\n this.searchableKeys,\n this.sortableKeys,\n this.mainForm,\n this.translationName,\n this.itemOrder,\n this.sideModalRef,\n this.delModal,\n this.smallModal,\n this.lang\n );\n\n this.loadServices();\n \n this.modelService.GetAllSubAccountes(0).subscribe((data)=>{\n this.AccountesList=data;\n })\n this.WarehouseService.getAll().subscribe((data)=>{\n this.WarehouseList=data;\n })\n this.modelService.getLastMoveNumber().subscribe(data=>{\n this.MovementNumber=data;\n })\n this.OperationTypeService.getAll().subscribe(data=>{\n this.OperationList=data;\n })\n \n \n \n if(this.Id > 0)\n { debugger; \n this.ProductesService.getById(this.Id).subscribe(data=>{ \n this.ProducteList = data;\n this.modelObject.InventoryAfterQuantity = this.ProducteList.Quantity;\n this.WarehouseItemList=data.WarhouseItem;\n this.mainForm = this.createForm(this.modelObject);\n \n });\n // this.mainForm = this.createForm(this.modelObject);\n \n \n }\n else{\n \n this.mainForm = this.createForm(this.modelObject); \n \n \n }\n // this.mainForm = this.createForm(this.modelObject);\n}\n\n\ncreateForm(modelObject): FormGroup {\n debugger;\n return this.fb.group({\n // Id:[this.ItemBalance.Id],\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n InventoryAfterQuantity: [modelObject.InventoryAfterQuantity],\n InventoryBeforeQuantity: [ modelObject.InventoryBeforeQuantity],\n ItemId: [modelObject.ItemId],\n Notes: [modelObject.Notes],\n OperationTypeId: [modelObject.OperationTypeId],\n QuantityEditType: [modelObject.QuantityEditType],\n SubAccountId: [modelObject.SubAccountId],\n Discount: [modelObject.Discount],\n Quantity: [modelObject.Quantity],\n WarehouseId:[modelObject.WarehouseId],\n UnitPrice:[modelObject.UnitPrice],\n Time: [modelObject.Time],\n Date:[modelObject.Date],\n \n \n });\n }\n\n\n AccountesList: AccountesNameModel[] = [];\n OperationList:OperationTypeModel []=[];\n WarehouseList: WarehouseModel[] = [];\n WarehouseItemList: WarehouseItemModel[] = [];\n selectedWarehouse:WarehouseItemModel={};\n ProducteList:StoreItemsModel={}\n onMaterialGroupChange(event) {\n this.OperationList = event;\n \n }\n QuantityBefour()\n {\n debugger;\n var WarehouseId = this.mainForm.controls['WarehouseId'].value;\n var i = this.WarehouseItemList.findIndex(x=>x.WarehouseDataId == WarehouseId);\n if(i>-1){\n this.selectedWarehouse = this.WarehouseItemList[i];\n }\n \n else{\n this.selectedWarehouse=new WarehouseItemModel();\n\n }\n }\n QuantityAfter(){\n debugger;\n this.modelObject.InventoryAfterQuantity = this.selectedWarehouse.Quantity;\n if(this.mainForm.getRawValue().QuantityEditType==1 && this.mainForm.getRawValue().Quantity > 0){\n this.modelObject.InventoryAfterQuantity += +this.mainForm.getRawValue().Quantity;\n this.mainForm.controls['InventoryAfterQuantity'].setValue(this.modelObject.InventoryAfterQuantity)\n\n }\n else if(this.mainForm.getRawValue().QuantityEditType==2&& this.mainForm.getRawValue().Quantity > 0){\n this.modelObject.InventoryAfterQuantity -= +this.mainForm.getRawValue().Quantity;\n this.mainForm.controls['InventoryAfterQuantity'].setValue(this.modelObject.InventoryAfterQuantity)\n }\n else\n {\nreturn;\n }\n\n\n }\n goBack(Id) {\n this.router.navigate(['app/aio/Inventory/Info-Productes/',Id])\n}\n loadServices() {\n // debugger;\n this.currentAction = \"loading\";\n this.tableEngine.loadData();\n }\n \n Save(QuantityEditType) {\n debugger;\n this.currentAction = \"loading\";\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n this.modelObject = new StockAdjustmentModel();\n this.modelObject.Id = 0;\n this.modelObject.InventoryAfterQuantity = this.mainForm.getRawValue().InventoryAfterQuantity;\n this.modelObject.InventoryBeforeQuantity = this.mainForm.getRawValue().InventoryBeforeQuantity;\n this.modelObject.ItemId = this.Id;\n this.modelObject.Notes = this.mainForm.getRawValue().Notes;\n this.modelObject.OperationTypeId = 0;\n this.modelObject.MoveNumber=this.MovementNumber;\n this.modelObject.QuantityEditType = +this.mainForm.getRawValue().QuantityEditType;\n this.modelObject.SubAccountId =+ this.mainForm.getRawValue().SubAccountId;\n this.modelObject.WarehouseId =+ this.mainForm.getRawValue().WarehouseId;\n this.modelObject.UnitPrice =+ this.ProducteList.SalePrice;\n this.modelObject.Quantity =+ this.mainForm.getRawValue().Quantity;\n this.modelObject.Date = new Date(this.mainForm.getRawValue().Date);\n this.modelObject.Time = this.mainForm.getRawValue().Time;\n this.OperationList.forEach(element => {\n var cat = new AdjustmentOperationModel();\n cat.OperationTypeId = element.Id;\n cat.Id = 0;\n cat.StockAdjustmentId = this.Id;\n this.modelObject.OperationType.push(cat);\n });\n if(QuantityEditType==1)\n this.modelService.insert(this.modelObject).subscribe((data) => {\n this.router.navigate(['app/aio/Inventory/Info-Productes/',this.Id])\n });\n if(QuantityEditType==2){\n this.SubtractService.insert(this.modelObject).subscribe((data) => {\n this.router.navigate(['app/aio/Inventory/Info-Productes/',this.Id])\n });\n }\n }\n\n}\n","\n
    \n
    \n
    \n
    \n
    {{ \"AddAdjustment\" | translate }}
    \n
    \n \n {{ \"Back\" | translate }}\n \n \n {{ \"Save\" | translate }}\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n
    \n \n
    \n
    \n \n
    \n
    \n \n \n \n \n
    \n \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n \n \n
    \n \n\n
    \n \n \n \n
    \n \n \n
    \n
    \n
    \n \n \n \n \n {{ Warehouse.Name }}\n\n \n \n
    \n\n
    \n \n \n \n \n \n Select All\n \n \n \n
    \n\n\n
    \n \n \n \n \n {{ lang === \"ar-EG\" ? Account.NameAr : Account.NameEn }}\n \n \n
    \n
    \n
    \n
    \n \n \n \n
    \n
    \n\n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n
    ","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { StockAdjustmentModel } from '../../models/StockAdjustmentModel';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SubtractStockAdjustmentService {\n\n\n constructor(private http:HttpClient ) { }\n\n \n baseUrl = environment.baseApiUrl;\n token = localStorage.getItem(\"token\");\n httpOptions = {\n headers: new HttpHeaders({\n // 'Content-Type': 'application/json; charset=utf-8',\n // 'Authorization': \"Bearer \" + token,\n \"Authorization\": \"Bearer \" + this.token,\n \"Content-Type\": \"application/json\"\n })\n };\n\n getAll(): Observable {\n \n return this.http\n .get(`${this.baseUrl}SubtractToStock/GetAll`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\nGetAllSubAccountes(Id:number): Observable {\n \n return this.http\n .get(`${this.baseUrl}AccountsName/GetAll/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ngetById(Id:number): Observable {\n\n return this.http\n .get(`${this.baseUrl}SubtractToStock/GetById/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ngetByItemId(Id:number): Observable {\n\n return this.http\n .get(`${this.baseUrl}SubtractToStock/GetAll/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\nGetLastMoveNumber(): Observable {\n \n return this.http\n .get(`${this.baseUrl}AddToStock/GetLastMoveNumber`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ninsert(payload: StockAdjustmentModel): Observable {\n \n return this.http\n .post(`${this.baseUrl}SubtractToStock/Insert`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\nupdate(payload: StockAdjustmentModel): Observable {\n return this.http\n .post(`${this.baseUrl}SubtractToStock/Update`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ndelete(Id:number): Observable {\n return this.http\n .get(`${this.baseUrl}SubtractToStock/Delete/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\n deleteList(payload: StockAdjustmentModel []): Observable {\n return this.http\n .post(`${this.baseUrl}SubtractToStock/DeleteList`,JSON.stringify(payload),this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { StoreBillModel } from '../models/StoreBillModel';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StoreBillService {\n\n \n\n constructor(private http:HttpClient ) { }\n\n \n baseUrl = environment.baseApiUrl;\n token = localStorage.getItem(\"token\");\n httpOptions = {\n headers: new HttpHeaders({\n // 'Content-Type': 'application/json; charset=utf-8',\n // 'Authorization': \"Bearer \" + token,\n \"Authorization\": \"Bearer \" + this.token,\n \"Content-Type\": \"application/json\"\n })\n };\n\n getAll(): Observable {\n \n return this.http\n .get(`${this.baseUrl}AddStoreBill/GetAll`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\nGetAllSubAccountes(Id:number): Observable {\n \n return this.http\n .get(`${this.baseUrl}AccountsName/GetAll/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ngetLastNumber(): Observable {\n \n return this.http\n .get(`${this.baseUrl}AddStoreBill/GetLastNumber`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ngetLastMoveNumber(): Observable {\n \n return this.http\n .get(`${this.baseUrl}AddStoreBill/GetLastMoveNumber`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\n\n\ngetById(Id:number): Observable {\n\n return this.http\n .get(`${this.baseUrl}AddStoreBill/GetById/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ninsert(payload: StoreBillModel): Observable {\n \n return this.http\n .post(`${this.baseUrl}AddStoreBill/Insert`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\nupdate(payload: StoreBillModel): Observable {\n return this.http\n .post(`${this.baseUrl}AddStoreBill/Update`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ndelete(Id:number): Observable {\n return this.http\n .get(`${this.baseUrl}AddStoreBill/Delete/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\nIsApproval(Id:number): Observable {\n return this.http\n .get(`${this.baseUrl}AddStoreBill/IsApproval/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n deleteList(payload: StoreBillModel []): Observable {\n console.log(JSON.stringify(payload))\n return this.http\n .post(`${this.baseUrl}AddStoreBill/DeleteList`,JSON.stringify(payload),this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n}\n","import { Component, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { StoreBillService}from '../Add-store-bill.service';\nimport {WarehouseService} from '../../warehouses/warehouse-service.service';\nimport { NotificationsService } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\nimport {ProductesService} from '../../ProductesAndServices/productes.service';\nimport { TableEngine } from 'src/app/invoices/TableEngine';\nimport { StoreItemsModel } from '../../models/StoreItemsModel';\nimport { WarehouseModel } from '../../models/WarehouseModel';\nimport {StoreBillModel} from '../../models/StoreBillModel';\nimport { SidePopupComponent } from 'src/app/views/app/aio/shared/side-popup/side-popup.component';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { ItemsStoreBellModel } from '../../models/ItemsStoreBillModel';\nimport { AccountesNameModel } from '../../models/AccountesNameModel';\nimport { WarehouseItemModel } from '../../models/WarehouseItem';\n@Component({\n // moduleId: module.id,\n selector: 'add-store-bell',\n templateUrl: 'add-store-bell.component.html',\n styleUrls: ['add-store-bell.component.scss']\n})\nexport class AddStoreBellComponent {\n Id = 0;\n\n constructor(\n public router: Router,\n private fb: FormBuilder,\n private modelService: StoreBillService,\n private WarehouseService: WarehouseService,\n private ProductesService:ProductesService,\n private notifications: NotificationsService,\n private translate: TranslateService,\n private route: ActivatedRoute\n ) {\n this.Id = +route.snapshot.paramMap.get(\"Id\");\n }\n \n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = \"Table\";\n translationName: string = \"BellType\";\n sortableKeys = [];\n searchableKeys = [\"BellType\", \"Date\"];\n tableView: any = true;\n \n // StoreItemsModel:StoreItemsModel[]=[];\n \n \n modelObject: StoreBillModel = new StoreBillModel();\n Form: FormGroup;\n declare lang: any;\n declare itemOrder: any;\n currentAction = \"\";\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n prevAction = \"\";\n addToListId = 0;\n ItemsBalanceHeaderId = 0;\n ItemBalanceId = 0;\n currentFormMode: string = \"\";\n MessagChoice:string=\"Please choose the type of ear first\"\n type = 0;\n visable = \"\";\n visable2 = \"\";\n visable3 = \"\";\n MovementNumber=0;\n ogData: StoreBillModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n BillType: new FormControl(),\n SkuNumber: new FormControl(),\n WarehouseId: new FormControl(),\n SubAccountId: new FormControl(),\n Notes: new FormControl(),\n Time: new FormControl(),\n Date: new FormControl(),\n IsApproval: new FormControl(),\n SecondWarehouseId: new FormControl(),\n \n \n });\n @ViewChild(\"sideModalRef\", { static: true })\n sideModalRef: SidePopupComponent = null;\n @ViewChild(\"delModal\", { static: true }) delModal: ModalDirective;\n @ViewChild(\"smallModal\", { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n // this.getAllCountryCode();\n \n this.lang = localStorage.getItem(\"theme_lang\");\n this.itemOrder = {\n label: \"Date\",\n property: this.lang === \"ar-EG\" ? \"Date\" : \"Date\",\n };\n \n this.tableEngine.loadTableEngine(\n this.ogData,\n this.modelService,\n this.modelObject,\n this.searchableKeys,\n this.sortableKeys,\n this.mainForm,\n this.translationName,\n this.itemOrder,\n this.sideModalRef,\n this.delModal,\n this.smallModal,\n this.lang\n );\n \n \n this.loadServices();\n this.modelService.getAll().subscribe((data) => {\n this.modelObject = data;\n console.log(\"WarehouseValidity\", this.modelObject);\n this.modelService.getLastNumber().subscribe((data) => {\n debugger;\n this.modelObject.SkuNumber = data;\n this.mainForm.controls['SkuNumber'].setValue(this.modelObject.SkuNumber+1);\n console.log(\"SkuNumber\", this.modelObject.SkuNumber);\n this.modelService.getLastMoveNumber().subscribe(data=>{\n this.MovementNumber=data;\n })\n this.modelService.GetAllSubAccountes(0).subscribe((data)=>{\n this.AccountesList=data;\n this.WarehouseService.getAll().subscribe((data) => {\n this.WarehouseList = data;\n \n this.ProductesService.getAll().subscribe(data=>{\n debugger;\n this.ProducteList=data;\n this.WarehouseItemList=[];\n this.ProducteList.forEach(element => {\n element.WarhouseItem.forEach(element => {\n this.WarehouseItemList.push(element)\n });\n \n });\n if(this.Id > 0)\n { debugger; \n this.modelService.getById(this.Id).subscribe(data=>{ \n this.modelObject = data; \n this.ItemsStoreBell=this.modelObject.ItemsStoreBillList;\n this.mainForm = this.createForm(this.modelObject);\n this.ItemsStoreBell.forEach(element => {\n this.setQiantity(element.ItemId);\n \n });\n this.setQuantityByWarehouse();\n this.calculateTotalItemValue();\n });\n \n \n }\n else{\n \n this.mainForm = this.createForm(this.modelObject); \n \n \n }\n })\n });\n })\n });\n });\n \n \n }\n\n createForm(modelObject): FormGroup {\n debugger;\n return this.fb.group({\n // Id:[this.ItemBalance.Id],\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n BillType: [modelObject.BillType=this.lang === \"ar-EG\" ? 'اذن اضافة' : 'Inbound Requisition',Validators.compose([Validators.required])],\n SkuNumber: [modelObject.SkuNumber],\n \n WarehouseId: [modelObject.WarehouseId],\n SubAccountId: [modelObject.SubAccountId],\n Time: [modelObject.Time],\n Date: [modelObject.Date],\n IsApproval: [modelObject.IsApproval],\n Notes: [modelObject.Notes],\n SecondWarehouseId: [modelObject.SecondWarehouseId],\n \n \n });\n }\n WarehouseList: WarehouseModel[] = [];\n ProducteList:StoreItemsModel[]=[];\n ItemsStoreBell:ItemsStoreBellModel[]=[{Id:0,ItemId:0,StoreBillId:this.Id,Quantity:0,SalePrice:0,AdjustedQuantity:0,Total:0,Name:''}];\n AccountesList: AccountesNameModel[] = [];\n selectedWarehouse:WarehouseItemModel={};\n WarehouseItemList: WarehouseItemModel[] = [];\ncalcQuantityAfter(){\n\n}\n\n\n\n loadServices() {\n // debugger;\n this.currentAction = \"loading\";\n this.tableEngine.loadData();\n }\n\n getItemsById(Id:any):any{\n if(Id>0)\n {\n return this.ProducteList.find(i=>i.Id===Id)\n }\n else\n {\n return new StoreItemsModel();\n }\n }\n setItem(bell){\n debugger;\n var i = this.ProducteList.findIndex(x=>x.Id == bell.ItemId);\n if(i>-1){\n bell.SalePrice = this.ProducteList[i].SalePrice;\n }\n \n // this.calculateTotalItemValue();\n }\n\n setQiantity(itemId){\n debugger;\n var WarehouseId = this.mainForm.controls['WarehouseId'].value;\n // var ItemId = this.mainForm.controls['WarehouseId'].value;\n var i = this.WarehouseItemList.findIndex(x=>x.WarehouseDataId == WarehouseId&&x.ItemId==itemId);\n if(i>-1){\n this.selectedWarehouse = this.WarehouseItemList[i];\n }\n else{\n this.selectedWarehouse.Quantity=0\n }\n \n }\n setQuantityByWarehouse(){\n debugger;\n var WarehouseId = this.mainForm.controls['WarehouseId'].value;\n // var ItemId = this.mainForm.controls['WarehouseId'].value;\n this.ItemsStoreBell.forEach(element => {\n var i = this.WarehouseItemList.findIndex(x=>x.WarehouseDataId == WarehouseId&&x.ItemId==element.ItemId);\n if(i>-1){\n this.selectedWarehouse = this.WarehouseItemList[i];\n this. calculateTotalQuantity();\n }\n else{\n this.selectedWarehouse.Quantity=0\n }\n });\n \n }\n \n \n\n currentTotal = 0;\n\n calculateTotalItemValue() {\n let total = 0;\n this.ItemsStoreBell.forEach(item => {\n total += item.AdjustedQuantity*item.SalePrice;\n });\n this.currentTotal = total;\n return total;\n }\n calculateTotalQuantity() {\n this.ItemsStoreBell.forEach(element => {\n element.Quantity =this.selectedWarehouse.Quantity+element.AdjustedQuantity\n });\n }\n addproductes() {\n debugger;\n var i = this.ProducteList.findIndex((x) => x.Id == this.addToListId);\n if (i >= 0) {\n var item = this.ProducteList[i];\n\n this.ProducteList.push(item);\n this.ProducteList.splice(i, 1);\n this.addToListId = 0;\n\n }\n }\n AddonClick(){\n var ItemStoreList= new ItemsStoreBellModel();\n ItemStoreList.Id = 0, \n ItemStoreList.StoreBillId =this.Id, \n ItemStoreList.ItemId = 0, \n // ItemStoreList.IsDeleted= false, \n this.ItemsStoreBell.push(ItemStoreList);\n // this.mainForm.controls['StoreBillId'].setValue(0);\n ItemStoreList={}; \n }\n\n removeItemsFooter(Id: any): any {\n debugger;\n let index = this.ItemsStoreBell.findIndex(x => x.ItemId === Id);\n this.ItemsStoreBell.splice(index, 1); \n this.calculateTotalItemValue(); \n }\n \n \n goBack() {\n this.router.navigate([\"app/aio/Inventory/List-All-Bells\"]);\n }\nSave() {\n debugger;\n \n this.currentAction = \"loading\";\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n this.modelObject = new StoreBillModel();\n this.modelObject.Id = 0;\n this.modelObject.SkuNumber = this.mainForm.getRawValue().SkuNumber;\n this.modelObject.BillType = this.mainForm.getRawValue().BillType;\n this.modelObject.MoveNumber=this.MovementNumber+1;\n this.modelObject.Date = new Date(this.mainForm.getRawValue().Date);\n this.modelObject.Notes ='';\n this.modelObject.SubAccountId = +this.mainForm.getRawValue().SubAccountId; \n this.modelObject.Time =\n this.mainForm.getRawValue().Time;\n this.modelObject.IsApproval =true;\n this.modelObject.WarehouseId =\n +this.mainForm.getRawValue().WarehouseId;\n \n this.modelObject.ItemsStoreBillList = this.ItemsStoreBell;\n console.log(\"Obj\",this.modelObject);\n console.log(this.modelObject);\n \n if (this.Id == 0) {\n this.modelService.insert(this.modelObject).subscribe((data) => {\n this.router.navigate([\"app/aio/Inventory/List-All-Bells\"]);\n });\n } else {\n debugger;\n this.modelService.update(this.modelObject).subscribe((data) => {\n this.router.navigate([\"app/aio/Inventory/List-All-Bells\"]);\n });\n }\n \n }\n\n}\n","\n
    \n
    \n
    \n
    \n
    {{ \"StorePermission\" | translate }}
    \n
    \n \n {{ \"Back\" | translate }}\n \n \n {{ \"Save\" | translate }}\n \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n \n\n
    \n
    \n \n
    \n \n
    \n \n \n \n
    \n \n
    \n
    \n \n \n \n {{ \"SkuNumberRequired\" | translate }}\n
    \n
    \n \n
    \n \n \n \n {{ \"BillTypeRequired\" | translate }}\n
    \n
    \n\n\n
    \n \n \n \n \n {{ \"DateRequired\" | translate }}\n
    \n
    \n \n \n \n
    \n \n \n \n \n {{ \"NameRequired\" | translate }}\n
    \n
    \n \n \n \n \n \n
    \n
    \n \n \n \n \n \n \n \n
    \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n {{warehouse.Name }}\n \n \n
    \n\n \n
    \n
    \n
    \n \n \n \n \n {{ lang === \"ar-EG\" ? Account.NameAr : Account.NameEn }}\n \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n \n
    \n
    \n
    \n \n \n \n \n \n \n 0\">\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{'Item'|translate}}\n {{'UnitPrice'|translate}}\n {{'Quantity'|translate}}{{'InventoryBeforeQuantity'|translate}}{{'InventoryAfterQuantity'|translate}}{{'Total'|translate}}
    \n \n \n \n {{producte.Name }}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    ","import { Component, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { StoreBillService } from '../Add-store-bill.service';\nimport { NotificationsService } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\nimport { TableEngine } from 'src/app/views/app/aio/shared/TableEngine';\nimport { StoreBillModel } from '../../models/StoreBillModel';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { WarehouseModel } from '../../models/WarehouseModel';\nimport { StoreItemsModel } from '../../models/StoreItemsModel';\nimport { ItemsStoreBellModel } from '../../models/ItemsStoreBillModel';\nimport { AccountesNameModel } from '../../models/AccountesNameModel';\nimport { SidePopupComponent } from 'src/app/views/app/aio/shared/side-popup/side-popup.component';\n\n@Component({\n // moduleId: module.id,\n selector: 'info-store-bell',\n templateUrl: 'info-store-bell.component.html',\n styleUrls: ['info-store-bell.component.scss']\n})\nexport class InfoStoreBellComponent {\n Id = 0;\n constructor(\n public router: Router,\n private fb: FormBuilder,\n private modelService: StoreBillService,\n private notifications: NotificationsService,\n private translate: TranslateService,\n private route: ActivatedRoute\n ) {\n this.Id = +route.snapshot.paramMap.get(\"Id\");\n }\n \n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = \"Table\";\n translationName: string = \"BellType\";\n sortableKeys = [];\n searchableKeys = [\"BellType\", \"Date\"];\n tableView: any = true;\n \n // StoreItemsModel:StoreItemsModel[]=[];\n \n \n modelObject: StoreBillModel = new StoreBillModel();\n Form: FormGroup;\n declare lang: any;\n declare itemOrder: any;\n currentAction = \"\";\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n prevAction = \"\";\n addToListId = 0;\n ItemsBalanceHeaderId = 0;\n ItemBalanceId = 0;\n currentFormMode: string = \"\";\n type = 0;\n visable = \"\";\n visable2 = \"\";\n visable3 = \"\";\n ogData: StoreBillModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n BillType: new FormControl(),\n SkuNumber: new FormControl(),\n WarehouseId: new FormControl(),\n SubAccountId: new FormControl(),\n Notes: new FormControl(),\n Time: new FormControl(),\n Date: new FormControl(),\n IsApproval: new FormControl(),\n Name: new FormControl(),\n \n \n });\n @ViewChild(\"sideModalRef\", { static: true })\n sideModalRef: SidePopupComponent = null;\n @ViewChild(\"delModal\", { static: true }) delModal: ModalDirective;\n @ViewChild(\"smallModal\", { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n // this.getAllCountryCode();\n \n this.lang = localStorage.getItem(\"theme_lang\");\n this.itemOrder = {\n label: \"Date\",\n property: this.lang === \"ar-EG\" ? \"Date\" : \"Date\",\n };\n \n this.tableEngine.loadTableEngine(\n this.ogData,\n this.modelService,\n this.modelObject,\n this.searchableKeys,\n this.sortableKeys,\n this.mainForm,\n this.translationName,\n this.itemOrder,\n this.sideModalRef,\n this.delModal,\n this.smallModal,\n this.lang\n );\n \n this.loadServices();\n this.modelService.getById(this.Id).subscribe((data) => {\n this.modelObject = data;\n console.log(\"BillInfo\", this.modelObject);\n });\n \n \n if(this.Id > 0)\n { debugger; \n this.modelService.getById(this.Id).subscribe(data=>{ \n this.modelObject = data; \n this.ItemsStoreBell=data.ItemsStoreBillList;\n this.ItemsStoreBell=this.modelObject.ItemsStoreBillList;\n this.calculateTotalItemValue();\n this.mainForm = this.createForm(this.modelObject);\n \n });\n \n \n }\n else{\n \n this.mainForm = this.createForm(this.modelObject); \n \n \n }\n // this.mainForm = this.createForm(this.modelObject);\n \n }\n\n\n createForm(modelObject): FormGroup {\n debugger;\n return this.fb.group({\n // Id:[this.ItemBalance.Id],\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n BillType: [modelObject.BillType],\n SkuNumber: [modelObject.SkuNumber],\n WarehouseName: [modelObject.WarehouseName],\n SubAccountName: [modelObject.SubAccountName],\n \n WarehouseId: [modelObject.WarehouseId],\n SubAccountId: [modelObject.SubAccountId],\n Time: [modelObject.Time],\n Date: [modelObject.Date],\n IsApproval: [modelObject.IsApproval],\n Notes: [modelObject.Notes],\n Name:[modelObject.Name]\n \n \n });\n }\n WarehouseList: WarehouseModel[] = [];\n ProducteList:StoreItemsModel[]=[];\n ItemsStoreBell:ItemsStoreBellModel[]=[];\n AccountesList: AccountesNameModel[] = [];\n \n loadServices() {\n // debugger;\n this.currentAction = \"loading\";\n this.tableEngine.loadData();\n }\n \n getItemsById(Id:any):any{\n if(Id>0)\n {\n return this.ProducteList.find(i=>i.Id===Id)\n }\n else\n {\n return new StoreItemsModel();\n }\n }\n setItem(bell){\n debugger;\n var i = this.ProducteList.findIndex(x=>x.Id == bell.ItemId);\n if(i>-1){\n bell.SalePrice = this.ProducteList[i].SalePrice;\n bell.Quantity = this.ProducteList[i].Quantity;\n }\n // this.calculateTotalItemValue();\n }\n currentTotal = 0;\n \n calculateTotalItemValue() {\n let total = 0;\n this.ItemsStoreBell.forEach(item => {\n total += item.AdjustedQuantity*item.SalePrice;\n });\n this.currentTotal = total;\n return total;\n }\n \n \n addproductes() {\n debugger;\n var i = this.ProducteList.findIndex((x) => x.Id == this.addToListId);\n if (i >= 0) {\n var item = this.ProducteList[i];\n \n this.ProducteList.push(item);\n this.ProducteList.splice(i, 1);\n this.addToListId = 0;\n \n }\n }\n AddonClick(){\n var ItemStoreList= new ItemsStoreBellModel();\n ItemStoreList.Id = 0, \n ItemStoreList.StoreBillId =this.Id, \n ItemStoreList.ItemId = 0, \n // ItemStoreList.IsDeleted= false, \n this.ItemsStoreBell.push(ItemStoreList);\n // this.mainForm.controls['StoreBillId'].setValue(0);\n ItemStoreList={}; \n }\n \n removeItemsFooter(Id: any): any {\n debugger;\n let index = this.ItemsStoreBell.findIndex(x => x.ItemId === Id);\n this.ItemsStoreBell.splice(index, 1); \n }\n \n \n goBack() {\n this.router.navigate([\"app/aio/Inventory/List-All-Bells\"]);\n }\n Save() {\n debugger;\n this.currentAction = \"loading\";\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n this.modelObject = new StoreBillModel();\n this.modelObject.Id = 0;\n this.modelObject.BillType = this.mainForm.getRawValue().BillType;\n this.modelObject.SkuNumber = this.mainForm.getRawValue().SkuNumber;\n this.modelObject.Date = new Date(this.mainForm.getRawValue().Date);\n this.modelObject.Notes = this.mainForm.getRawValue().Notes;\n this.modelObject.SubAccountId = this.mainForm.getRawValue().SubAccountId; \n \n this.modelObject.Time =\n this.mainForm.getRawValue().Time;\n this.modelObject.IsApproval =true;\n this.modelObject.WarehouseId =\n this.mainForm.getRawValue().WarehouseId;\n \n this.modelObject.ItemsStoreBillList = this.ItemsStoreBell;\n console.log(this.modelObject);\n console.log(this.modelObject);\n \n if (this.Id == 0) {\n this.modelService.insert(this.modelObject).subscribe((data) => {\n this.router.navigate([\"app/aio/Inventory/List-All-Bells\"]);\n });\n } else {\n debugger;\n this.modelService.update(this.modelObject).subscribe((data) => {\n this.router.navigate([\"app/aio/Inventory/List-All-Bells\"]);\n });\n }\n }\n}\n","\n
    \n
    \n
    \n
    \n {{modelObject.BillType}}\n \n {{modelObject.SkuNumber}}#\n {{'Approval' | translate}}\n {{'NotApproval' | translate}}\n \n
    \n \n {{ \"Back\" | translate }}\n \n \n {{ \"Edit\" | translate }}\n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n
    {{'BillType'|translate}}{{'Date'|translate}}{{'SkuNumber'|translate}}{{'Ref'|translate}}{{'Warehouse'|translate}}
    \n \n \n {{modelObject.BillType}}\n \n {{modelObject.Date}}\n \n \n {{modelObject.SkuNumber}}#\n \n \n \n\n \n \n \n \n {{modelObject.WarehouseName}}\n
    {{'SubAccount'|translate}}{{'Notes'|translate}}
    \n {{modelObject.SubAccountName}}\n \n {{modelObject.Notes}}\n
    \n
    \n \n \n
    \n \n \n \n \n
    \n
    \n

    {{'ProducteLIst' | translate}}

    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{'Items'|translate}}{{'UnitPrice'|translate}}{{'Quantity'|translate}}{{'Total'|translate}}
    \n \n {{ bell.Name }}\n \n \n {{bell.SalePrice}}\n \n \n {{bell.AdjustedQuantity}}\n \n \n {{bell.SalePrice*bell.AdjustedQuantity}}\n \n
    \n {{\"Total\" | translate}}\n \n \n\n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    ","import { Component, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NotificationsService } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\nimport { TableEngine } from 'src/app/views/app/aio/shared/TableEngine';\nimport { StoreBillModel } from '../../models/StoreBillModel';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { WarehouseModel } from '../../models/WarehouseModel';\nimport { StoreItemsModel } from '../../models/StoreItemsModel';\nimport { ItemsStoreBellModel } from '../../models/ItemsStoreBillModel';\nimport { AccountesNameModel } from '../../models/AccountesNameModel';\nimport { SubtractStoreBillService } from '../subtract-store-bill.service';\nimport { SidePopupComponent } from 'src/app/views/app/aio/shared/side-popup/side-popup.component';\n@Component({\n // moduleId: module.id,\n selector: 'info-subtruct-bill',\n templateUrl: 'info-subtruct-bill.component.html',\n styleUrls: ['info-subtruct-bill.component.scss']\n})\nexport class InfoSubtructBillComponent {\n Id = 0;\n constructor(\n public router: Router,\n private fb: FormBuilder,\n private modelService: SubtractStoreBillService,\n \n private notifications: NotificationsService,\n private translate: TranslateService,\n private route: ActivatedRoute\n ) {\n this.Id = +route.snapshot.paramMap.get(\"Id\");\n }\n \n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = \"Table\";\n translationName: string = \"BellType\";\n sortableKeys = [];\n searchableKeys = [\"BellType\", \"Date\"];\n tableView: any = true;\n \n // StoreItemsModel:StoreItemsModel[]=[];\n \n \n modelObject: StoreBillModel = new StoreBillModel();\n Form: FormGroup;\n declare lang: any;\n declare itemOrder: any;\n currentAction = \"\";\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n prevAction = \"\";\n addToListId = 0;\n ItemsBalanceHeaderId = 0;\n ItemBalanceId = 0;\n currentFormMode: string = \"\";\n type = 0;\n visable = \"\";\n visable2 = \"\";\n visable3 = \"\";\n ogData: StoreBillModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n BillType: new FormControl(),\n SkuNumber: new FormControl(),\n WarehouseId: new FormControl(),\n SubAccountId: new FormControl(),\n Notes: new FormControl(),\n Time: new FormControl(),\n Date: new FormControl(),\n IsApproval: new FormControl(),\n Name: new FormControl(),\n \n \n });\n @ViewChild(\"sideModalRef\", { static: true })\n sideModalRef: SidePopupComponent = null;\n @ViewChild(\"delModal\", { static: true }) delModal: ModalDirective;\n @ViewChild(\"smallModal\", { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n // this.getAllCountryCode();\n \n this.lang = localStorage.getItem(\"theme_lang\");\n this.itemOrder = {\n label: \"Date\",\n property: this.lang === \"ar-EG\" ? \"Date\" : \"Date\",\n };\n \n this.tableEngine.loadTableEngine(\n this.ogData,\n this.modelService,\n this.modelObject,\n this.searchableKeys,\n this.sortableKeys,\n this.mainForm,\n this.translationName,\n this.itemOrder,\n this.sideModalRef,\n this.delModal,\n this.smallModal,\n this.lang\n );\n \n this.loadServices();\n this.modelService.getById(this.Id).subscribe((data) => {\n this.modelObject = data;\n console.log(\"BillInfo\", this.modelObject);\n });\n \n \n if(this.Id > 0)\n { debugger; \n this.modelService.getById(this.Id).subscribe(data=>{ \n this.modelObject = data; \n this.ItemsStoreBell=data.ItemsStoreBillList;\n this.ItemsStoreBell=this.modelObject.ItemsStoreBillList;\n this.calculateTotalItemValue();\n this.mainForm = this.createForm(this.modelObject);\n \n });\n \n \n }\n else{\n \n this.mainForm = this.createForm(this.modelObject); \n \n \n }\n // this.mainForm = this.createForm(this.modelObject);\n \n }\n\n\n createForm(modelObject): FormGroup {\n debugger;\n return this.fb.group({\n // Id:[this.ItemBalance.Id],\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n BillType: [modelObject.BillType],\n SkuNumber: [modelObject.SkuNumber],\n WarehouseName: [modelObject.WarehouseName],\n SubAccountName: [modelObject.SubAccountName],\n \n WarehouseId: [modelObject.WarehouseId],\n SubAccountId: [modelObject.SubAccountId],\n Time: [modelObject.Time],\n Date: [modelObject.Date],\n IsApproval: [modelObject.IsApproval],\n Notes: [modelObject.Notes],\n Name:[modelObject.Name]\n \n \n });\n }\n WarehouseList: WarehouseModel[] = [];\n ProducteList:StoreItemsModel[]=[];\n ItemsStoreBell:ItemsStoreBellModel[]=[];\n AccountesList: AccountesNameModel[] = [];\n \n loadServices() {\n // debugger;\n this.currentAction = \"loading\";\n this.tableEngine.loadData();\n }\n \n getItemsById(Id:any):any{\n if(Id>0)\n {\n return this.ProducteList.find(i=>i.Id===Id)\n }\n else\n {\n return new StoreItemsModel();\n }\n }\n setItem(bell){\n debugger;\n var i = this.ProducteList.findIndex(x=>x.Id == bell.ItemId);\n if(i>-1){\n bell.SalePrice = this.ProducteList[i].SalePrice;\n bell.Quantity = this.ProducteList[i].Quantity;\n }\n // this.calculateTotalItemValue();\n }\n currentTotal = 0;\n \n calculateTotalItemValue() {\n let total = 0;\n this.ItemsStoreBell.forEach(item => {\n total += item.AdjustedQuantity*item.SalePrice;\n });\n this.currentTotal = total;\n return total;\n }\n \n \n addproductes() {\n debugger;\n var i = this.ProducteList.findIndex((x) => x.Id == this.addToListId);\n if (i >= 0) {\n var item = this.ProducteList[i];\n \n this.ProducteList.push(item);\n this.ProducteList.splice(i, 1);\n this.addToListId = 0;\n \n }\n }\n AddonClick(){\n var ItemStoreList= new ItemsStoreBellModel();\n ItemStoreList.Id = 0, \n ItemStoreList.StoreBillId =this.Id, \n ItemStoreList.ItemId = 0, \n // ItemStoreList.IsDeleted= false, \n this.ItemsStoreBell.push(ItemStoreList);\n // this.mainForm.controls['StoreBillId'].setValue(0);\n ItemStoreList={}; \n }\n \n removeItemsFooter(Id: any): any {\n debugger;\n let index = this.ItemsStoreBell.findIndex(x => x.ItemId === Id);\n this.ItemsStoreBell.splice(index, 1); \n }\n \n \n goBack() {\n this.router.navigate([\"app/aio/Inventory/List-All-Bells\"]);\n }\n Save() {\n debugger;\n this.currentAction = \"loading\";\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n this.modelObject = new StoreBillModel();\n this.modelObject.Id = 0;\n this.modelObject.BillType = this.mainForm.getRawValue().BillType;\n this.modelObject.SkuNumber = this.mainForm.getRawValue().SkuNumber;\n this.modelObject.Date = new Date(this.mainForm.getRawValue().Date);\n this.modelObject.Notes = this.mainForm.getRawValue().Notes;\n this.modelObject.SubAccountId = this.mainForm.getRawValue().SubAccountId; \n \n this.modelObject.Time =\n this.mainForm.getRawValue().Time;\n this.modelObject.IsApproval =true;\n this.modelObject.WarehouseId =\n this.mainForm.getRawValue().WarehouseId;\n \n this.modelObject.ItemsStoreBillList = this.ItemsStoreBell;\n console.log(this.modelObject);\n console.log(this.modelObject);\n \n if (this.Id == 0) {\n this.modelService.insert(this.modelObject).subscribe((data) => {\n this.router.navigate([\"app/aio/Inventory/List-All-Bells\"]);\n });\n } else {\n debugger;\n this.modelService.update(this.modelObject).subscribe((data) => {\n this.router.navigate([\"app/aio/Inventory/List-All-Bells\"]);\n });\n }\n }\n}\n","\n\n
    \n
    \n
    \n
    \n {{modelObject.BillType}}\n \n {{modelObject.SkuNumber}}#\n {{'Approval' | translate}}\n {{'NotApproval' | translate}}\n \n
    \n \n {{ \"Back\" | translate }}\n \n \n {{ \"Edit\" | translate }}\n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n
    {{'BillType'|translate}}{{'Date'|translate}}{{'SkuNumber'|translate}}{{'Ref'|translate}}{{'Warehouse'|translate}}
    \n \n \n {{modelObject.BillType}}\n \n {{modelObject.Date}}\n \n \n {{modelObject.SkuNumber}}#\n \n \n \n\n \n \n \n \n {{modelObject.WarehouseName}}\n
    {{'SubAccount'|translate}}{{'Notes'|translate}}
    \n {{modelObject.SubAccountName}}\n \n {{modelObject.Notes}}\n
    \n
    \n \n \n
    \n \n \n \n \n
    \n
    \n

    {{'ProducteLIst' | translate}}

    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{'Items'|translate}}{{'UnitPrice'|translate}}{{'Quantity'|translate}}{{'Total'|translate}}
    \n \n {{ bell.Name }}\n \n \n {{bell.SalePrice}}\n \n \n {{bell.AdjustedQuantity}}\n \n \n {{bell.SalePrice*bell.AdjustedQuantity}}\n \n
    \n {{\"Total\" | translate}}\n \n \n\n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    ","import { Component, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NotificationsService } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\nimport { TableEngine } from 'src/app/views/app/aio/shared/TableEngine';\nimport { StoreBillModel } from '../../models/StoreBillModel';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { WarehouseModel } from '../../models/WarehouseModel';\nimport { StoreItemsModel } from '../../models/StoreItemsModel';\nimport { ItemsStoreBellModel } from '../../models/ItemsStoreBillModel';\nimport { AccountesNameModel } from '../../models/AccountesNameModel';\nimport { TransfareBillService } from '../transfare-bill.service';\nimport { SidePopupComponent } from 'src/app/views/app/aio/shared/side-popup/side-popup.component';\n@Component({\n // moduleId: module.id,\n selector: 'info-transfer-bill',\n templateUrl: 'info-transfer-bill.component.html',\n styleUrls: ['info-transfer-bill.component.scss']\n})\nexport class InfoTransferBillComponent {\n Id = 0;\n constructor(\n public router: Router,\n private fb: FormBuilder,\n private modelService: TransfareBillService,\n private notifications: NotificationsService,\n private translate: TranslateService,\n private route: ActivatedRoute\n ) {\n this.Id = +route.snapshot.paramMap.get(\"Id\");\n }\n \n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = \"Table\";\n translationName: string = \"BellType\";\n sortableKeys = [];\n searchableKeys = [\"BellType\", \"Date\"];\n tableView: any = true;\n \n // StoreItemsModel:StoreItemsModel[]=[];\n \n \n modelObject: StoreBillModel = new StoreBillModel();\n Form: FormGroup;\n declare lang: any;\n declare itemOrder: any;\n currentAction = \"\";\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n prevAction = \"\";\n addToListId = 0;\n ItemsBalanceHeaderId = 0;\n ItemBalanceId = 0;\n currentFormMode: string = \"\";\n type = 0;\n visable = \"\";\n visable2 = \"\";\n visable3 = \"\";\n ogData: StoreBillModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n BillType: new FormControl(),\n SkuNumber: new FormControl(),\n WarehouseId: new FormControl(),\n SubAccountId: new FormControl(),\n Notes: new FormControl(),\n Time: new FormControl(),\n Date: new FormControl(),\n IsApproval: new FormControl(),\n SecondWarehouseId: new FormControl(),\n SecondWarehouseName: new FormControl(),\n SubAccountName: new FormControl(),\n \n \n });\n @ViewChild(\"sideModalRef\", { static: true })\n sideModalRef: SidePopupComponent = null;\n @ViewChild(\"delModal\", { static: true }) delModal: ModalDirective;\n @ViewChild(\"smallModal\", { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n // this.getAllCountryCode();\n \n this.lang = localStorage.getItem(\"theme_lang\");\n this.itemOrder = {\n label: \"Date\",\n property: this.lang === \"ar-EG\" ? \"Date\" : \"Date\",\n };\n \n this.tableEngine.loadTableEngine(\n this.ogData,\n this.modelService,\n this.modelObject,\n this.searchableKeys,\n this.sortableKeys,\n this.mainForm,\n this.translationName,\n this.itemOrder,\n this.sideModalRef,\n this.delModal,\n this.smallModal,\n this.lang\n );\n \n this.loadServices();\n // this.modelService.getById(this.Id).subscribe((data) => {\n // this.modelObject = data;\n // console.log(\"BillInfo\", this.modelObject);\n // });\n \n \n if(this.Id > 0)\n { debugger; \n this.modelService.getById(this.Id).subscribe(data=>{ \n this.modelObject = data; \n this.ItemsStoreBell=data.ItemsStoreBillList;\n this.ItemsStoreBell=this.modelObject.ItemsStoreBillList;\n this.calculateTotalItemValue();\n this.mainForm = this.createForm(this.modelObject);\n \n });\n \n \n }\n else{\n \n this.mainForm = this.createForm(this.modelObject); \n \n \n }\n // this.mainForm = this.createForm(this.modelObject);\n \n }\n\n\n createForm(modelObject): FormGroup {\n debugger;\n return this.fb.group({\n // Id:[this.ItemBalance.Id],\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n BillType: [modelObject.BillType],\n SkuNumber: [modelObject.SkuNumber],\n WarehouseName: [modelObject.WarehouseName],\n SubAccountName: [modelObject.SubAccountName],\n \n WarehouseId: [modelObject.WarehouseId],\n SubAccountId: [modelObject.SubAccountId],\n Time: [modelObject.Time],\n Date: [modelObject.Date],\n IsApproval: [modelObject.IsApproval],\n Notes: [modelObject.Notes],\n SecondWarehouseId:[modelObject.SecondWarehouseId],\n SecondWarehouseName:[modelObject.SecondWarehouseName],\n \n \n });\n }\n WarehouseList: WarehouseModel[] = [];\n ProducteList:StoreItemsModel[]=[];\n ItemsStoreBell:ItemsStoreBellModel[]=[];\n AccountesList: AccountesNameModel[] = [];\n \n loadServices() {\n // debugger;\n this.currentAction = \"loading\";\n this.tableEngine.loadData();\n }\n \n getItemsById(Id:any):any{\n if(Id>0)\n {\n return this.ProducteList.find(i=>i.Id===Id)\n }\n else\n {\n return new StoreItemsModel();\n }\n }\n setItem(bell){\n debugger;\n var i = this.ProducteList.findIndex(x=>x.Id == bell.ItemId);\n if(i>-1){\n bell.SalePrice = this.ProducteList[i].SalePrice;\n bell.Quantity = this.ProducteList[i].Quantity;\n }\n // this.calculateTotalItemValue();\n }\n currentTotal = 0;\n \n calculateTotalItemValue() {\n let total = 0;\n this.ItemsStoreBell.forEach(item => {\n total += item.AdjustedQuantity*item.SalePrice;\n });\n this.currentTotal = total;\n return total;\n }\n \n \n addproductes() {\n debugger;\n var i = this.ProducteList.findIndex((x) => x.Id == this.addToListId);\n if (i >= 0) {\n var item = this.ProducteList[i];\n \n this.ProducteList.push(item);\n this.ProducteList.splice(i, 1);\n this.addToListId = 0;\n \n }\n }\n AddonClick(){\n var ItemStoreList= new ItemsStoreBellModel();\n ItemStoreList.Id = 0, \n ItemStoreList.StoreBillId =this.Id, \n ItemStoreList.ItemId = 0, \n // ItemStoreList.IsDeleted= false, \n this.ItemsStoreBell.push(ItemStoreList);\n // this.mainForm.controls['StoreBillId'].setValue(0);\n ItemStoreList={}; \n }\n \n removeItemsFooter(Id: any): any {\n debugger;\n let index = this.ItemsStoreBell.findIndex(x => x.ItemId === Id);\n this.ItemsStoreBell.splice(index, 1); \n }\n \n \n goBack() {\n this.router.navigate([\"app/aio/Inventory/List-All-Bells\"]);\n }\n Save() {\n debugger;\n this.currentAction = \"loading\";\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n this.modelObject = new StoreBillModel();\n this.modelObject.Id = 0;\n this.modelObject.BillType = this.mainForm.getRawValue().BillType;\n this.modelObject.SkuNumber = this.mainForm.getRawValue().SkuNumber;\n this.modelObject.Date = new Date(this.mainForm.getRawValue().Date);\n this.modelObject.Notes = this.mainForm.getRawValue().Notes;\n this.modelObject.SubAccountId = this.mainForm.getRawValue().SubAccountId; \n \n this.modelObject.Time =\n this.mainForm.getRawValue().Time;\n this.modelObject.IsApproval =true;\n this.modelObject.WarehouseId =\n this.mainForm.getRawValue().WarehouseId;\n \n this.modelObject.ItemsStoreBillList = this.ItemsStoreBell;\n console.log(this.modelObject);\n console.log(this.modelObject);\n \n if (this.Id == 0) {\n this.modelService.insert(this.modelObject).subscribe((data) => {\n this.router.navigate([\"app/aio/Inventory/List-All-Bells\"]);\n });\n } else {\n debugger;\n this.modelService.update(this.modelObject).subscribe((data) => {\n this.router.navigate([\"app/aio/Inventory/List-All-Bells\"]);\n });\n }\n }\n\n}\n","\n\n
    \n
    \n
    \n
    \n {{modelObject.BillType}}\n \n {{modelObject.SkuNumber}}#\n {{'Approval' | translate}}\n {{'NotApproval' | translate}}\n \n
    \n \n {{ \"Back\" | translate }}\n \n \n {{ \"Edit\" | translate }}\n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n
    {{'BillType'|translate}}{{'Date'|translate}}{{'SkuNumber'|translate}}{{'Ref'|translate}}{{'Warehouse'|translate}}
    \n \n \n {{modelObject.BillType}}\n \n {{modelObject.Date}}\n \n \n {{modelObject.SkuNumber}}#\n \n \n \n\n \n \n \n \n {{modelObject.WarehouseName}}\n \n {{modelObject.SecondWarehouseName}}\n
    {{'SubAccount'|translate}}{{'Notes'|translate}}
    \n {{modelObject.SubAccountName}}\n \n {{modelObject.Notes}}\n
    \n
    \n \n \n
    \n \n \n \n \n
    \n
    \n

    {{'ProducteLIst' | translate}}

    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{'Items'|translate}}{{'UnitPrice'|translate}}{{'Quantity'|translate}}{{'Total'|translate}}
    \n \n {{ bell.Name }}\n \n \n {{bell.SalePrice}}\n \n \n {{bell.AdjustedQuantity}}\n \n \n {{bell.SalePrice*bell.AdjustedQuantity}}\n \n
    \n {{\"Total\" | translate}}\n \n \n\n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    ","import { Component, Input, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { StoreBillService } from '../Add-store-bill.service';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TableEngine } from 'src/app/views/app/aio/shared/TableEngine';\nimport { StoreBillModel } from '../../models/StoreBillModel';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { DataFilterer } from 'src/app/views/app/aio/shared/DataFilterer';\nimport { DataSorter } from 'src/app/views/app/aio/shared/DataSorter';\nimport { DataPaginator } from 'src/app/views/app/aio/shared/DataPaginator';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { SidePopupComponent } from 'src/app/views/app/aio/shared/side-popup/side-popup.component';\n\n@Component({\n // moduleId: module.id,\n selector: 'list-store-bell',\n templateUrl: 'list-store-bell.component.html',\n styleUrls: ['list-store-bell.component.scss']\n})\nexport class ListStoreBellComponent {\n\n Id=0;\n constructor(private formBuilder: FormBuilder, private modelService: StoreBillService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService, private router : Router,\n private route: ActivatedRoute\n ) { this.Id = + route.snapshot.paramMap.get('Id');\n }\n\ntableEngine = new TableEngine(this.translate, this.notifications);\ncurrentScreen: any = 'Table';\ntableView: any = true;\n// PriceList : PriceListModel[]=[];\n@Input() dateSearch: boolean = true;\n\n\ntranslationName: string = ' PruductList' \nsortableKeys = [];\nsearchableKeys = ['Date'];\nmodelObject: StoreBillModel = new StoreBillModel();\n\ndebugMode = true;\n\nogData: StoreBillModel[] = [];\nmainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n BillType: new FormControl(),\n SkuNumber: new FormControl(),\n WarehouseId: new FormControl(),\n SubAccountId: new FormControl(),\n Notes: new FormControl(),\n Time: new FormControl(),\n Date: new FormControl(),\n IsApproval: new FormControl(),\n SecondWarehouseId: new FormControl(),\n \n \n });\n\n\ndeclare lang: any;\ndeclare itemOrder: any;\ncurrentAction = '';\ncurrentFormMode: string = '';\nsavedPage = 0;\ncurrentPage = 1; \ndeletionList: any[] = [];\n\n@ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n@ViewChild('delModal', { static: true }) delModal: ModalDirective;\n@ViewChild('smallModal', { static: true }) smallModal: ModalDirective = null;\nformPresentationModal: any;\nngOnInit(): void {\n // this.getAllCountryCode(); \n \n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Date', property: 'Date' }; \n this.sortableKeys = [ \n { label: 'Time', property: 'Time' }, \n { label: 'SkuNumber', property: 'SkuNumber' }, \n { label: 'Date', property: 'Date' },\n \n ];\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n //this.tableEngine.modelObject = {}\n console.log(\"KEEEEEEEEEEEEMO\");\n \n console.log(this.tableEngine.modelObject);\n console.log(this.tableEngine.modelObject.constructor.name);\n \n this.loadServices();\n} \nIsApproval(item){\n debugger;\n this.modelService.IsApproval(item.Id).subscribe(result => {\n if(item.IsApproval==false)\n { \n item.IsApproval=true;\n }\n})\n}\nshowInfoModalRef(Id: any): void {\n this.router.navigate(['app/aio/Inventory/Info-Price-List',Id])\n }\n GoToTransfer(Id: any): void {\n this.router.navigate(['app/aio/Inventory/Transfer-Bell',Id])\n } \n GoToSubtractBill(Id: any): void {\n this.router.navigate(['app/aio/Inventory/Subtract-Bell',Id])\n }\n GoToAddBill(Id: any): void {\n this.router.navigate(['app/aio/Inventory/Add-Bell',Id])\n }\n showDelModal(Id: any): void {\n debugger;\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n \n }\n \n showModal(Id, action,BillType) {\n \n if (action === 'Add') { \n debugger;\n // this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n this.router.navigate(['app/aio/Inventory/Add-Bell/',0]) \n }\n else if (action === 'Edit') {\n debugger;\n if(BillType=='Inbound Requisition'||BillType=='اذن اضافة'){\n this.router.navigate(['app/aio/Inventory/Add-Bell/',Id]) \n }\n if(BillType=='Outbound Requisition'||BillType=='اذن صرف'){\n this.router.navigate(['app/aio/Inventory/Subtract-Bell/',Id]) \n }\n if(BillType=='Transfer Manual'||BillType=='تحويل يدوي'){\n this.router.navigate(['app/aio/Inventory/Transfer-Bell/',Id]) \n }\n }\n else if (action === 'Info') {\n debugger;\n if(BillType=='Inbound Requisition'||BillType=='اذن اضافة'){\n this.router.navigate(['app/aio/Inventory/Info-Bell/',Id])\n\n }\n if(BillType=='Outbound Requisition'||BillType=='اذن صرف'){\n this.router.navigate(['app/aio/Inventory/Info-Sub-Bell/',Id]) \n }\n if(BillType=='Transfer Manual'||BillType=='تحويل يدوي'){\n this.router.navigate(['app/aio/Inventory/Info-Transfer-Bell/',Id]) \n }\n \n }\n //this.mainForm.get('IsActive').setValue(true);\n console.log(\"component object\", this.modelObject);\n console.log(\"TE object\", this.tableEngine.modelObject);\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n \n }\n \ndeleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject(){\n debugger;\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.delModal.hide();\n // this.finalizeDeletion();\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\"));\n if (this.sideModalRef === undefined) {\n \n this.tableEngine.smallModal.hide();\n \n } else {\n \n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n \n \n createForm(modelObject): FormGroup {\n debugger;\n return this.formBuilder.group({\n // Id:[this.ItemBalance.Id],\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n BillType: [modelObject.BellType],\n SkuNumber: [modelObject.SkuNumber],\n \n WarehouseId: [modelObject.WarehouseId],\n SubAccountId: [modelObject.SubAccountId],\n Time: [modelObject.Time],\n Date: [modelObject.Date],\n IsApproval: [modelObject.IsApproval],\n Notes: [modelObject.Notes],\n SecondWarehouseId: [modelObject.SecondWarehouseId],\n \n \n });\n }\n addObject() {\n // debugger;\n console.log(this.mainForm.getRawValue().IsActive);\n console.log(\"before\",this.modelObject);\n this.currentAction = 'loading';\n this.modelObject = new StoreBillModel();\n this.modelObject.Id = 0;\n this.modelObject.BillType = this.mainForm.getRawValue().BillType;\n this.modelObject.Date = this.mainForm.getRawValue().Date;\n this.modelObject.Notes = this.mainForm.getRawValue().Notes;\n this.modelObject.SkuNumber = this.mainForm.getRawValue().SkuNumber;\n this.modelObject.SubAccountId = this.mainForm.getRawValue().SubAccountId;\n this.modelObject.Time = this.mainForm.getRawValue().Time;\n this.modelObject.IsApproval = this.mainForm.getRawValue().IsApproval;\n this.modelObject.WarehouseId = this.mainForm.getRawValue().WarehouseId;\n console.log(\"after\",this.modelObject);\n \n this.executeAddObject();\n }\n executeAddObject() {\n console.log(this.modelObject);\n \n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n if (this.sideModalRef === undefined) {\n \n this.tableEngine.smallModal.hide();\n \n } else {\n \n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n \n editObject() {\n debugger;\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n \n let tempObj = new StoreBillModel({\n Id: this.modelObject.Id,\n SkuNumber: this.mainForm.getRawValue().SkuNumber,\n Date: this.mainForm.getRawValue().Date,\n Time:this.mainForm.getRawValue().Time,\n IsApproval:this.mainForm.getRawValue().IsApproval,\n SubAccountId:this.mainForm.getRawValue().SubAccountId,\n WarehouseId:this.mainForm.getRawValue().WarehouseId,\n Notes:this.mainForm.getRawValue().Notes,\n BillType:this.mainForm.getRawValue().BillType,\n SecondWarehouseId:this.mainForm.getRawValue().SecondWarehouseId,\n \n });\n \n if (JSON.stringify(tempObj) != JSON.stringify(this.modelObject)) {\n this.executeEditObject(tempObj);\n }\n else {if (this.sideModalRef === undefined) {\n \n this.tableEngine.smallModal.hide();\n \n \n } else {\n \n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n }\n \n executeEditObject(Object) {\n console.log(\"ObjectObject\", Object);\n \n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n if (this.sideModalRef === undefined) {\n \n this.tableEngine.smallModal.hide();\n \n } else {\n \n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n \n loadServices(){\n // debugger;\n this.currentAction = 'loading';\n this.tableEngine.loadData(); \n \n \n }\n searchUsingKeys(): void {\n this.tableEngine.filterData();\n }\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n \n selected : any[] = [];\n selectAllState = '';\n SearchFrom: Date = null;\n SearchTo: Date = null;\n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n SearchTerm: any = '';\n \n clearSearch() {\n this.SearchFrom = null;\n this.SearchTo = null;\n }\n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n filterData() {\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n console.log('paginatedData',this.paginatedData)\n }\n isSelected(p: StoreBillModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n \n onSelect(item: StoreBillModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n \n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n \n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n \n prepChangeSort(sortKey) {\n this.SearchFrom = null;\n this.SearchTo = null;\n \n \n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n \n getFormattedDate(dateString: any){\n let splitDate: number[] = dateString.toString().split(\"/\");\n \n return new Date(splitDate[2], splitDate[1]-1, splitDate[0])\n }\n ///////////////////////////////////////////////////////\n \n displayMode = 'list';\n changeDisplayMode(mode): void {\n this.displayMode = mode;\n }\n itemsPerPageChange(perPage: number): void {\n this.tableEngine.paginateData(perPage, 1)\n }\n}\n","\n\n\n\n\n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n\n
    \n
    \n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n {{ \"Status\" | translate }}\n \n \n \n \n \n \n {{ \"ResultCount\" | translate }}\n \n \n \n {{ tableEngine.itemsPerPage }}\n \n \n \n {{ item }}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n \n  \n \n
    \n \n \n \n \n
  • \n \n \n {{ \"DeleteSelected\" | translate }}\n \n
  • \n \n
    \n
    \n
    \n {{ \"Date\" | translate }}\n \n {{ \"BillType\" | translate }}\n \n \n
    \n \n \n \n \n \n {{\n obj.Date | date:'dd/MM/yyyy'\n }}\n {{\n obj.Time\n }}\n \n {{\n obj.BillType\n }}\n \n {{'Approval' | translate}}\n \n \n \n \n \n \n \n \n
    \n \n
    \n \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { StoreBillModel } from '../models/StoreBillModel';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SubtractStoreBillService {\n\n\n constructor(private http:HttpClient ) { }\n\n \n baseUrl = environment.baseApiUrl;\n token = localStorage.getItem(\"token\");\n httpOptions = {\n headers: new HttpHeaders({\n // 'Content-Type': 'application/json; charset=utf-8',\n // 'Authorization': \"Bearer \" + token,\n \"Authorization\": \"Bearer \" + this.token,\n \"Content-Type\": \"application/json\"\n })\n };\n\n getAll(): Observable {\n \n return this.http\n .get(`${this.baseUrl}SubtractStoreBill/GetAll`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\nGetAllSubAccountes(Id:number): Observable {\n \n return this.http\n .get(`${this.baseUrl}AccountsName/GetAll/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ngetLastNumber(): Observable {\n \n return this.http\n .get(`${this.baseUrl}SubtractStoreBill/GetLastNumber`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ngetLastMoveNumber(): Observable {\n \n return this.http\n .get(`${this.baseUrl}SubtractStoreBill/GetLastMoveNumber`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ngetById(Id:number): Observable {\n\n return this.http\n .get(`${this.baseUrl}SubtractStoreBill/GetById/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ninsert(payload: StoreBillModel): Observable {\n \n return this.http\n .post(`${this.baseUrl}SubtractStoreBill/Insert`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\nupdate(payload: StoreBillModel): Observable {\n return this.http\n .post(`${this.baseUrl}SubtractStoreBill/Update`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ndelete(Id:number): Observable {\n return this.http\n .get(`${this.baseUrl}SubtractStoreBill/Delete/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\nIsApproval(Id:number): Observable {\n return this.http\n .get(`${this.baseUrl}SubtractStoreBill/IsApproval/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n deleteList(payload: StoreBillModel []): Observable {\n console.log(JSON.stringify(payload))\n return this.http\n .post(`${this.baseUrl}SubtractStoreBill/DeleteList`,JSON.stringify(payload),this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n}\n","import { Component, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport {WarehouseService} from '../../warehouses/warehouse-service.service';\nimport { NotificationsService } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\nimport {ProductesService} from '../../ProductesAndServices/productes.service';\nimport { TableEngine } from 'src/app/invoices/TableEngine';\nimport { StoreItemsModel } from '../../models/StoreItemsModel';\nimport { WarehouseModel } from '../../models/WarehouseModel';\nimport {StoreBillModel} from '../../models/StoreBillModel';\nimport { SidePopupComponent } from 'src/app/views/app/aio/shared/side-popup/side-popup.component';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { ItemsStoreBellModel } from '../../models/ItemsStoreBillModel';\nimport { AccountesNameModel } from '../../models/AccountesNameModel';\nimport { WarehouseItemModel } from '../../models/WarehouseItem';\nimport {SubtractStoreBillService} from '../../Stores-Bells/subtract-store-bill.service';\n@Component({\n // moduleId: module.id,\n selector: 'subtract-store-bill',\n templateUrl: 'subtract-store-bill.component.html',\n styleUrls: ['subtract-store-bill.component.scss']\n})\nexport class SubtractStoreBillComponent {\n Id = 0;\n\n constructor(\n public router: Router,\n private fb: FormBuilder,\n private modelService: SubtractStoreBillService,\n private WarehouseService: WarehouseService,\n private ProductesService:ProductesService,\n private notifications: NotificationsService,\n private translate: TranslateService,\n private route: ActivatedRoute\n ) {\n this.Id = +route.snapshot.paramMap.get(\"Id\");\n }\n \n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = \"Table\";\n translationName: string = \"BellType\";\n sortableKeys = [];\n searchableKeys = [\"BellType\", \"Date\"];\n tableView: any = true;\n \n // StoreItemsModel:StoreItemsModel[]=[];\n \n \n modelObject: StoreBillModel = new StoreBillModel();\n Form: FormGroup;\n declare lang: any;\n declare itemOrder: any;\n currentAction = \"\";\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n prevAction = \"\";\n addToListId = 0;\n ItemsBalanceHeaderId = 0;\n ItemBalanceId = 0;\n currentFormMode: string = \"\";\n MessagChoice:string=\"Please choose the type of ear first\"\n type = 0;\n visable = \"\";\n visable2 = \"\";\n visable3 = \"\";\n MovementNumber=0;\n ogData: StoreBillModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n BillType: new FormControl(),\n SkuNumber: new FormControl(),\n WarehouseId: new FormControl(),\n SubAccountId: new FormControl(),\n Notes: new FormControl(),\n Time: new FormControl(),\n Date: new FormControl(),\n IsApproval: new FormControl(),\n SecondWarehouseId: new FormControl(),\n \n \n });\n itemId=0;\n\n @ViewChild(\"sideModalRef\", { static: true })\n sideModalRef: SidePopupComponent = null;\n @ViewChild(\"delModal\", { static: true }) delModal: ModalDirective;\n @ViewChild(\"smallModal\", { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n // this.getAllCountryCode();\n \n this.lang = localStorage.getItem(\"theme_lang\");\n this.itemOrder = {\n label: \"Date\",\n property: this.lang === \"ar-EG\" ? \"Date\" : \"Date\",\n };\n \n this.tableEngine.loadTableEngine(\n this.ogData,\n this.modelService,\n this.modelObject,\n this.searchableKeys,\n this.sortableKeys,\n this.mainForm,\n this.translationName,\n this.itemOrder,\n this.sideModalRef,\n this.delModal,\n this.smallModal,\n this.lang\n );\n \n this.loadServices();\n this.modelService.getAll().subscribe((data) => {\n this.modelObject = data;\n console.log(\"WarehouseValidity\", this.modelObject);\n this.modelService.getLastNumber().subscribe((data) => {\n debugger;\n this.modelObject.SkuNumber = data;\n this.mainForm.controls['SkuNumber'].setValue(this.modelObject.SkuNumber+1);\n console.log(\"SkuNumber\", this.modelObject.SkuNumber);\n console.log(\"SkuNumber\", this.modelObject.SkuNumber);\n this.modelService.getLastMoveNumber().subscribe(data=>{\n this.MovementNumber=data;\n })\n this.modelService.GetAllSubAccountes(0).subscribe((data)=>{\n this.AccountesList=data;\n this.WarehouseService.getAll().subscribe((data) => {\n this.WarehouseList = data;\n \n this.ProductesService.getAll().subscribe(data=>{\n debugger;\n this.ProducteList=data;\n this.WarehouseItemList=[];\n this.ProducteList.forEach(element => {\n element.WarhouseItem.forEach(element => {\n this.WarehouseItemList.push(element)\n });\n \n });\n if(this.Id > 0)\n { debugger; \n this.modelService.getById(this.Id).subscribe(data=>{ \n this.modelObject = data; \n this.ItemsStoreBell=this.modelObject.ItemsStoreBillList;\n this.mainForm = this.createForm(this.modelObject);\n this.ItemsStoreBell.forEach(element => {\n this.setQiantity(element.ItemId);\n \n });\n this.setQuantityByWarehouse();\n this.calculateTotalItemValue();\n \n });\n \n \n }\n else{\n \n this.mainForm = this.createForm(this.modelObject); \n \n \n }\n })\n });\n })\n });\n });\n \n\n \n\n\n \n // this.mainForm = this.createForm(this.modelObject);\n \n }\n\n createForm(modelObject): FormGroup {\n debugger;\n return this.fb.group({\n // Id:[this.ItemBalance.Id],\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n BillType: [modelObject.BillType=this.lang === \"ar-EG\" ? 'اذن صرف' : 'Outbound Requisition',Validators.compose([Validators.required])],\n SkuNumber: [modelObject.SkuNumber],\n WarehouseId: [modelObject.WarehouseId],\n SubAccountId: [modelObject.SubAccountId],\n Time: [modelObject.Time],\n Date: [modelObject.Date],\n IsApproval: [modelObject.IsApproval],\n Notes: [modelObject.Notes],\n SecondWarehouseId: [modelObject.SecondWarehouseId],\n \n \n });\n }\n WarehouseList: WarehouseModel[] = [];\n ProducteList:StoreItemsModel[]=[];\n ItemsStoreBell:ItemsStoreBellModel[]=[{Id:0,ItemId:0,StoreBillId:this.Id,Quantity:0,SalePrice:0,AdjustedQuantity:0,Total:0,Name:''}];\n AccountesList: AccountesNameModel[] = [];\n selectedWarehouse:WarehouseItemModel={};\n WarehouseItemList: WarehouseItemModel[] = [];\n\n loadServices() {\n // debugger;\n this.currentAction = \"loading\";\n this.tableEngine.loadData();\n }\n\n getItemsById(Id:any):any{\n if(Id>0)\n {\n return this.ProducteList.find(i=>i.Id===Id)\n }\n else\n {\n return new StoreItemsModel();\n }\n }\n setItem(bell){\n debugger;\n var i = this.ProducteList.findIndex(x=>x.Id == bell.ItemId);\n if(i>-1){\n bell.SalePrice = this.ProducteList[i].SalePrice;\n }\n \n // this.calculateTotalItemValue();\n }\n\n setQiantity(itemId){\n debugger;\n var WarehouseId = this.mainForm.controls['WarehouseId'].value;\n // var ItemId = this.mainForm.controls['WarehouseId'].value;\n var i = this.WarehouseItemList.findIndex(x=>x.WarehouseDataId == WarehouseId&&x.ItemId==itemId);\n if(i>-1){\n this.selectedWarehouse = this.WarehouseItemList[i];\n }\n else{\n this.selectedWarehouse.Quantity=0\n }\n }\n setQuantityByWarehouse(){\n debugger;\n var WarehouseId = this.mainForm.controls['WarehouseId'].value;\n // var ItemId = this.mainForm.controls['WarehouseId'].value;\n this.ItemsStoreBell.forEach(element => {\n var i = this.WarehouseItemList.findIndex(x=>x.WarehouseDataId == WarehouseId&&x.ItemId==element.ItemId);\n if(i>-1){\n this.selectedWarehouse = this.WarehouseItemList[i];\n this. calculateTotalQuantity();\n\n }\n else{\n this.selectedWarehouse.Quantity=0\n }\n });\n \n }\n \n\n\n currentTotal = 0;\n\n calculateTotalItemValue() {\n let total = 0;\n this.ItemsStoreBell.forEach(item => {\n total += item.AdjustedQuantity*item.SalePrice;\n });\n this.currentTotal = total;\n return total;\n }\n\n calculateTotalQuantity() {\n this.ItemsStoreBell.forEach(element => {\n element.Quantity =this.selectedWarehouse.Quantity-element.AdjustedQuantity\n });\n }\n addproductes() {\n debugger;\n var i = this.ProducteList.findIndex((x) => x.Id == this.addToListId);\n if (i >= 0) {\n var item = this.ProducteList[i];\n\n this.ProducteList.push(item);\n this.ProducteList.splice(i, 1);\n this.addToListId = 0;\n\n }\n }\n AddonClick(){\n var ItemStoreList= new ItemsStoreBellModel();\n ItemStoreList.Id = 0, \n ItemStoreList.StoreBillId =this.Id, \n ItemStoreList.ItemId = 0, \n\n this.ItemsStoreBell.push(ItemStoreList);\n ItemStoreList={}; \n }\n\n removeItemsFooter(Id: any): any {\n debugger;\n let index = this.ItemsStoreBell.findIndex(x => x.ItemId === Id);\n this.ItemsStoreBell.splice(index, 1); \n this.calculateTotalItemValue(); \n }\n \n \n goBack() {\n this.router.navigate([\"app/aio/Inventory/List-All-Bells\"]);\n }\nSave() {\n debugger;\n \n this.currentAction = \"loading\";\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n this.modelObject = new StoreBillModel();\n this.modelObject.Id = 0;\n this.modelObject.SkuNumber = this.mainForm.getRawValue().SkuNumber;\n this.modelObject.BillType = this.mainForm.getRawValue().BillType;\n this.modelObject.MoveNumber=this.MovementNumber;\n\n this.modelObject.Date = new Date(this.mainForm.getRawValue().Date);\n this.modelObject.Notes ='';\n this.modelObject.SubAccountId = +this.mainForm.getRawValue().SubAccountId; \n \n this.modelObject.Time =\n this.mainForm.getRawValue().Time;\n this.modelObject.IsApproval =true;\n this.modelObject.WarehouseId =\n +this.mainForm.getRawValue().WarehouseId;\n \n this.modelObject.ItemsStoreBillList = this.ItemsStoreBell;\n console.log(\"Obj\",this.modelObject);\n console.log(this.modelObject);\n \n if (this.Id == 0) {\n this.modelService.insert(this.modelObject).subscribe((data) => {\n this.router.navigate([\"app/aio/Inventory/List-All-Bells\"]);\n });\n } else {\n debugger;\n this.modelService.update(this.modelObject).subscribe((data) => {\n this.router.navigate([\"app/aio/Inventory/List-All-Bells\"]);\n });\n }\n \n \n }\n\n}\n","\n\n
    \n
    \n
    \n
    \n
    {{ \"StorePermission\" | translate }}
    \n
    \n \n {{ \"Back\" | translate }}\n \n \n {{ \"Save\" | translate }}\n \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n \n\n
    \n
    \n \n
    \n \n
    \n \n \n \n
    \n \n
    \n
    \n \n \n \n {{ \"SkuNumberRequired\" | translate }}\n
    \n
    \n \n
    \n \n \n \n {{ \"SkuNumberRequired\" | translate }}\n
    \n
    \n \n\n\n
    \n \n \n \n \n {{ \"DateRequired\" | translate }}\n
    \n
    \n \n \n \n
    \n \n \n \n \n {{ \"NameRequired\" | translate }}\n
    \n
    \n \n \n \n \n \n
    \n
    \n \n \n \n \n \n \n \n
    \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n {{warehouse.Name }}\n \n \n
    \n\n \n
    \n
    \n
    \n \n \n \n \n {{ lang === \"ar-EG\" ? Account.NameAr : Account.NameEn }}\n \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n \n
    \n
    \n
    \n \n \n \n \n \n \n 0\">\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{'Item'|translate}}\n {{'UnitPrice'|translate}}\n {{'Quantity'|translate}}{{'InventoryBeforeQuantity'|translate}}{{'InventoryAfterQuantity'|translate}}{{'Total'|translate}}
    \n \n \n \n {{producte.Name }}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    ","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { StoreBillModel } from '../models/StoreBillModel';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TransfareBillService {\n\n\n constructor(private http:HttpClient ) { }\n\n \n baseUrl = environment.baseApiUrl;\n token = localStorage.getItem(\"token\");\n httpOptions = {\n headers: new HttpHeaders({\n // 'Content-Type': 'application/json; charset=utf-8',\n // 'Authorization': \"Bearer \" + token,\n \"Authorization\": \"Bearer \" + this.token,\n \"Content-Type\": \"application/json\"\n })\n };\n\n getAll(): Observable {\n \n return this.http\n .get(`${this.baseUrl}TransferStoreBill/GetAll`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\nGetAllSubAccountes(Id:number): Observable {\n \n return this.http\n .get(`${this.baseUrl}AccountsName/GetAll/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ngetLastNumber(): Observable {\n \n return this.http\n .get(`${this.baseUrl}TransferStoreBill/GetLastNumber`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ngetLastMoveNumber(): Observable {\n \n return this.http\n .get(`${this.baseUrl}TransferStoreBill/GetLastMoveNumber`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ngetById(Id:number): Observable {\n\n return this.http\n .get(`${this.baseUrl}TransferStoreBill/GetById/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ninsert(payload: StoreBillModel): Observable {\n \n return this.http\n .post(`${this.baseUrl}TransferStoreBill/Insert`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\nupdate(payload: StoreBillModel): Observable {\n return this.http\n .post(`${this.baseUrl}TransferStoreBill/Update`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ndelete(Id:number): Observable {\n return this.http\n .get(`${this.baseUrl}TransferStoreBill/Delete/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\nIsApproval(Id:number): Observable {\n return this.http\n .get(`${this.baseUrl}TransferStoreBill/IsApproval/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n deleteList(payload: StoreBillModel []): Observable {\n console.log(JSON.stringify(payload))\n return this.http\n .post(`${this.baseUrl}TransferStoreBill/DeleteList`,JSON.stringify(payload),this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n }\n","import { Component, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport {WarehouseService} from '../../warehouses/warehouse-service.service';\nimport { NotificationsService } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\nimport {ProductesService} from '../../ProductesAndServices/productes.service';\nimport { TableEngine } from 'src/app/invoices/TableEngine';\nimport { StoreItemsModel } from '../../models/StoreItemsModel';\nimport { WarehouseModel } from '../../models/WarehouseModel';\nimport {StoreBillModel} from '../../models/StoreBillModel';\nimport { SidePopupComponent } from 'src/app/views/app/aio/shared/side-popup/side-popup.component';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { ItemsStoreBellModel } from '../../models/ItemsStoreBillModel';\nimport { AccountesNameModel } from '../../models/AccountesNameModel';\nimport { WarehouseItemModel } from '../../models/WarehouseItem';\nimport {TransfareBillService}from '../../Stores-Bells/transfare-bill.service';\n@Component({\n // moduleId: module.id,\n selector: 'transfer-store-bill',\n templateUrl: 'transfer-store-bill.component.html',\n styleUrls: ['transfer-store-bill.component.scss']\n})\nexport class TransferStoreBillComponent {\n Id = 0;\n\n constructor(\n public router: Router,\n private fb: FormBuilder,\n private modelService: TransfareBillService,\n private WarehouseService: WarehouseService,\n private ProductesService:ProductesService,\n private notifications: NotificationsService,\n private translate: TranslateService,\n private route: ActivatedRoute\n ) {\n this.Id = +route.snapshot.paramMap.get(\"Id\");\n }\n \n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = \"Table\";\n translationName: string = \"BellType\";\n sortableKeys = [];\n searchableKeys = [\"BellType\", \"Date\"];\n tableView: any = true;\n \n // StoreItemsModel:StoreItemsModel[]=[];\n \n \n modelObject: StoreBillModel = new StoreBillModel();\n Form: FormGroup;\n declare lang: any;\n declare itemOrder: any;\n currentAction = \"\";\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n prevAction = \"\";\n addToListId = 0;\n ItemsBalanceHeaderId = 0;\n ItemBalanceId = 0;\n currentFormMode: string = \"\";\n MessagChoice:string=\"Please choose the type of ear first\"\n type = 0;\n visable = \"\";\n visable2 = \"\";\n visable3 = \"\";\n MovementNumber=0;\n ogData: StoreBillModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n BillType: new FormControl(),\n SkuNumber: new FormControl(),\n WarehouseId: new FormControl(),\n SubAccountId: new FormControl(),\n Notes: new FormControl(),\n Time: new FormControl(),\n Date: new FormControl(),\n IsApproval: new FormControl(),\n SecondWarehouseId: new FormControl(),\n // SubAccountName: new FormControl(),\n \n\n });\n @ViewChild(\"sideModalRef\", { static: true })\n sideModalRef: SidePopupComponent = null;\n @ViewChild(\"delModal\", { static: true }) delModal: ModalDirective;\n @ViewChild(\"smallModal\", { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n // this.getAllCountryCode();\n \n this.lang = localStorage.getItem(\"theme_lang\");\n this.itemOrder = {\n label: \"Date\",\n property: this.lang === \"ar-EG\" ? \"Date\" : \"Date\",\n };\n \n this.tableEngine.loadTableEngine(\n this.ogData,\n this.modelService,\n this.modelObject,\n this.searchableKeys,\n this.sortableKeys,\n this.mainForm,\n this.translationName,\n this.itemOrder,\n this.sideModalRef,\n this.delModal,\n this.smallModal,\n this.lang\n );\n \n \n this.loadServices();\n this.modelService.getAll().subscribe((data) => {\n this.modelObject = data;\n console.log(\"WarehouseValidity\", this.modelObject);\n this.modelService.getLastNumber().subscribe((data) => {\n debugger;\n this.modelObject.SkuNumber = data;\n this.mainForm.controls['SkuNumber'].setValue(this.modelObject.SkuNumber+1);\n console.log(\"SkuNumber\", this.modelObject.SkuNumber);\n\n this.modelService.getLastMoveNumber().subscribe(data=>{\n this.MovementNumber=data;\n })\n this.modelService.GetAllSubAccountes(0).subscribe((data)=>{\n this.AccountesList=data;\n this.WarehouseService.getAll().subscribe((data) => {\n this.WarehouseList = data;\n \n this.ProductesService.getAll().subscribe(data=>{\n debugger;\n this.ProducteList=data;\n this.WarehouseItemList=[];\n this.ProducteList.forEach(element => {\n element.WarhouseItem.forEach(element => {\n this.WarehouseItemList.push(element)\n });\n \n });\n if(this.Id > 0)\n { debugger; \n this.modelService.getById(this.Id).subscribe(data=>{ \n this.modelObject = data; \n this.ItemsStoreBell=data.ItemsStoreBillList;\n this.ItemsStoreBell=this.modelObject.ItemsStoreBillList;\n this.mainForm = this.createForm(this.modelObject);\n this.ItemsStoreBell.forEach(element => {\n this.setQiantity(element.ItemId);\n \n });\n this.setQuantityByWarehouse();\n this.calculateTotalItemValue();\n \n });\n \n \n }\n else{\n \n this.mainForm = this.createForm(this.modelObject); \n \n \n }\n })\n });\n })\n });\n });\n \n\n \n\n\n \n // this.mainForm = this.createForm(this.modelObject);\n \n }\n\n createForm(modelObject): FormGroup {\n debugger;\n return this.fb.group({\n // Id:[this.ItemBalance.Id],\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n BillType: [modelObject.BillType=this.lang === \"ar-EG\" ? 'تحويل يدوي' : 'Transfer Manual',Validators.compose([Validators.required])],\n SkuNumber: [modelObject.SkuNumber],\n \n WarehouseId: [modelObject.WarehouseId],\n SubAccountId: [modelObject.SubAccountId],\n Time: [modelObject.Time],\n Date: [modelObject.Date],\n IsApproval: [modelObject.IsApproval],\n Notes: [modelObject.Notes],\n SecondWarehouseId: [modelObject.SecondWarehouseId],\n // SubAccountName: [modelObject.SubAccountName],\n \n \n });\n }\n WarehouseList: WarehouseModel[] = [];\n ProducteList:StoreItemsModel[]=[];\n ItemsStoreBell:ItemsStoreBellModel[]=[{Id:0,ItemId:0,StoreBillId:this.Id,Quantity:0,SalePrice:0,AdjustedQuantity:0,Total:0,Name:''}];\n AccountesList: AccountesNameModel[] = [];\n selectedWarehouse:WarehouseItemModel={};\n WarehouseItemList: WarehouseItemModel[] = [];\n\n loadServices() {\n // debugger;\n this.currentAction = \"loading\";\n this.tableEngine.loadData();\n }\n\n getItemsById(Id:any):any{\n if(Id>0)\n {\n return this.ProducteList.find(i=>i.Id===Id)\n }\n else\n {\n return new StoreItemsModel();\n }\n }\n setItem(bell){\n debugger;\n var i = this.ProducteList.findIndex(x=>x.Id == bell.ItemId);\n if(i>-1){\n bell.SalePrice = this.ProducteList[i].SalePrice;\n }\n \n // this.calculateTotalItemValue();\n }\n\n setQiantity(itemId){\n debugger;\n var WarehouseId = this.mainForm.controls['WarehouseId'].value;\n // var ItemId = this.mainForm.controls['WarehouseId'].value;\n var i = this.WarehouseItemList.findIndex(x=>x.WarehouseDataId == WarehouseId&&x.ItemId==itemId);\n if(i>-1){\n this.selectedWarehouse = this.WarehouseItemList[i];\n }\n else{\n this.selectedWarehouse.Quantity=0\n }\n }\n setQuantityByWarehouse(){\n debugger;\n var WarehouseId = this.mainForm.controls['WarehouseId'].value;\n // var ItemId = this.mainForm.controls['WarehouseId'].value;\n this.ItemsStoreBell.forEach(element => {\n var i = this.WarehouseItemList.findIndex(x=>x.WarehouseDataId == WarehouseId&&x.ItemId==element.ItemId);\n if(i>-1){\n this.selectedWarehouse = this.WarehouseItemList[i];\n this. calculateTotalQuantity();\n\n }\n else{\n this.selectedWarehouse.Quantity=0\n }\n });\n \n }\n \n\n\n currentTotal = 0;\n\n calculateTotalItemValue() {\n let total = 0;\n this.ItemsStoreBell.forEach(item => {\n total += item.AdjustedQuantity*item.SalePrice;\n });\n this.currentTotal = total;\n return total;\n }\n calculateTotalQuantity() {\n this.ItemsStoreBell.forEach(element => {\n element.Quantity =this.selectedWarehouse.Quantity-element.AdjustedQuantity\n });\n }\n\n addproductes() {\n debugger;\n var i = this.ProducteList.findIndex((x) => x.Id == this.addToListId);\n if (i >= 0) {\n var item = this.ProducteList[i];\n\n this.ProducteList.push(item);\n this.ProducteList.splice(i, 1);\n this.addToListId = 0;\n\n }\n }\n AddonClick(){\n var ItemStoreList= new ItemsStoreBellModel();\n ItemStoreList.Id = 0, \n ItemStoreList.StoreBillId =this.Id, \n ItemStoreList.ItemId = 0, \n // ItemStoreList.IsDeleted= false, \n this.ItemsStoreBell.push(ItemStoreList);\n // this.mainForm.controls['StoreBillId'].setValue(0);\n ItemStoreList={}; \n }\n\n removeItemsFooter(Id: any): any {\n debugger;\n let index = this.ItemsStoreBell.findIndex(x => x.ItemId === Id);\n this.ItemsStoreBell.splice(index, 1); \n this.calculateTotalItemValue(); \n }\n \n \n goBack() {\n this.router.navigate([\"app/aio/Inventory/List-All-Bells\"]);\n }\nSave() {\n debugger;\n \n this.currentAction = \"loading\";\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n this.modelObject = new StoreBillModel();\n this.modelObject.Id = 0;\n this.modelObject.SkuNumber = this.mainForm.getRawValue().SkuNumber;\n this.modelObject.BillType = this.mainForm.getRawValue().BillType;\n this.modelObject.Date = new Date(this.mainForm.getRawValue().Date);\n this.modelObject.Notes ='';\n this.modelObject.SubAccountId = +this.mainForm.getRawValue().SubAccountId; \n this.modelObject.SecondWarehouseId = +this.mainForm.getRawValue().SecondWarehouseId; \n this.modelObject.MoveNumber=this.MovementNumber;\n this.modelObject.Time =\n this.mainForm.getRawValue().Time;\n this.modelObject.IsApproval =true;\n this.modelObject.WarehouseId =\n +this.mainForm.getRawValue().WarehouseId;\n \n this.modelObject.ItemsStoreBillList = this.ItemsStoreBell;\n console.log(\"Obj\",this.modelObject);\n console.log(this.modelObject);\n \n if (this.Id == 0) {\n this.modelService.insert(this.modelObject).subscribe((data) => {\n this.router.navigate([\"app/aio/Inventory/List-All-Bells\"]);\n });\n }\n else {\n debugger;\n this.modelService.update(this.modelObject).subscribe((data) => {\n this.router.navigate([\"app/aio/Inventory/List-All-Bells\"]);\n });\n }\n } \n \n\n}\n","\n\n
    \n
    \n
    \n
    \n
    {{ \"StorePermission\" | translate }}
    \n
    \n \n {{ \"Back\" | translate }}\n \n \n {{ \"Save\" | translate }}\n \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n \n\n
    \n
    \n \n
    \n \n
    \n \n \n \n
    \n \n
    \n
    \n \n \n \n {{ \"SkuNumberRequired\" | translate }}\n
    \n
    \n \n
    \n \n \n \n {{ \"BillTypeRequired\" | translate }}\n
    \n
    \n \n\n\n
    \n \n \n \n \n {{ \"DateRequired\" | translate }}\n
    \n
    \n \n \n \n
    \n \n \n \n \n {{ \"NameRequired\" | translate }}\n
    \n
    \n \n \n \n \n \n
    \n
    \n \n \n \n \n \n \n \n
    \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n {{warehouse.Name }}\n \n \n
    \n\n
    \n \n \n \n \n {{warehouse.Name }}\n \n \n
    \n
    \n
    \n
    \n \n \n \n \n {{ lang === \"ar-EG\" ? Account.NameAr : Account.NameEn }}\n \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n \n
    \n
    \n
    \n \n \n \n \n \n \n 0\">\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{'Item'|translate}}\n {{'UnitPrice'|translate}}\n {{'Quantity'|translate}}{{'InventoryBeforeQuantity'|translate}}{{'InventoryAfterQuantity'|translate}}{{'Total'|translate}}
    \n \n \n \n {{producte.Name }}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    ","import { Component } from '@angular/core';\n\n@Component({\n // moduleId: module.id,\n selector: 'invintory-dashbord',\n templateUrl: 'invintory-dashbord.component.html',\n styleUrls: ['invintory-dashbord.component.scss']\n})\nexport class InvintoryDashbordComponent {\n\n}\n","\n\n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n

    {{\"Categories\" | translate}}

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

    {{\"Brands\" | translate}}

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

    {{\"TheWarehouses\" | translate}}

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

    {{\"Productes\" | translate}}

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

    {{\"PriceLists\" | translate}}

    \n
    \n
    \n
    \n
    \n\n
    \n
    \n","// import { StoreItemsModel } from \"./StoreItemsModel\";\r\n\r\n\r\nexport class AdjustmentOperationModel{\r\n Id?: number;\r\n StockAdjustmentId?:number;\r\n OperationTypeId?:number;\r\n\r\n\r\n constructor(item?:AdjustmentOperationModel){\r\n item = item? item:{};\r\n this.Id = item.Id? item.Id:0;\r\n this.StockAdjustmentId = item.StockAdjustmentId? item.StockAdjustmentId:0;\r\n this.OperationTypeId = item.OperationTypeId? item.OperationTypeId:0; \r\n\r\n }\r\n\r\n}","// import { StoreItemsModel } from \"./StoreItemsModel\";\r\n\r\n\r\nexport class BrandItemsModel{\r\n Id?: number;\r\n ItemId?:number;\r\n BrandId?:number;\r\n\r\n\r\n constructor(item?:BrandItemsModel){\r\n item = item? item:{};\r\n this.Id = item.Id? item.Id:0;\r\n this.ItemId = item.ItemId? item.ItemId:0;\r\n this.BrandId = item.BrandId? item.BrandId:0; \r\n\r\n }\r\n\r\n}","// import { StoreItemsModel } from \"./StoreItemsModel\";\r\n\r\n\r\nexport class BrandModel{\r\n Id?: number;\r\n Name?:string;\r\n Image?:string;\r\n \r\n constructor(item?:BrandModel){\r\n item = item? item:{};\r\n this.Id = item.Id? item.Id:0;\r\n this.Name = item.Name? item.Name:'';\r\n this.Image = item.Image? item.Image:''; \r\n\r\n }\r\n\r\n}","\r\n\r\nexport class CategoryItemsModel{\r\n Id?: number;\r\n ItemId?:number;\r\n CategoryId?:number;\r\n CategoryName?:string;\r\n\r\n\r\n constructor(item?:CategoryItemsModel){\r\n item = item? item:{};\r\n this.Id = item.Id? item.Id:0;\r\n this.ItemId = item.ItemId? item.ItemId:0;\r\n this.CategoryId = item.CategoryId? item.CategoryId:0; \r\n this.CategoryName = item.CategoryName? item.CategoryName:''; \r\n\r\n }\r\n\r\n}","// import { StoreItemsModel } from \"./StoreItemsModel\";\r\n\r\n\r\nexport class CategoryModel{\r\n Id?: number;\r\n Name?:string;\r\n Image?:string;\r\n CategoryId?: number;\r\n\r\n constructor(item?:CategoryModel){\r\n item = item? item:{};\r\n this.Id = item.Id? item.Id:0;\r\n this.Name = item.Name? item.Name:'';\r\n this.Image = item.Image? item.Image:''; \r\n this.CategoryId = item.CategoryId? item.CategoryId:0;\r\n\r\n }\r\n\r\n}","export class InventoryItemsModel{\r\n Id?: number;\r\n ItemId?:number;\r\n InventoryId?:number;\r\n UnitId?:number;\r\n QuantityNumberInStock?:number;\r\n QuantityNumberInProgram?:number;\r\n SalePrice?:number;\r\n ItemName?:string;\r\n\r\n \r\n constructor(item?:InventoryItemsModel){\r\n item = item? item:{};\r\n this.Id = item.Id? item.Id:0;\r\n this.ItemId = item.ItemId? item.ItemId:0;\r\n this.InventoryId = item.InventoryId? item.InventoryId:0; \r\n this.UnitId = item.UnitId? item.UnitId:0; \r\n this.QuantityNumberInStock = item.QuantityNumberInStock? item.QuantityNumberInStock:0; \r\n this.QuantityNumberInProgram = item.QuantityNumberInProgram? item.QuantityNumberInProgram:0; \r\n this.SalePrice = item.SalePrice? item.SalePrice:0; \r\n this.ItemName = item.ItemName? item.ItemName:''; \r\n\r\n }\r\n\r\n}","import { InventoryItemsModel } from \"./InventoryItemsModel\";\r\n\r\nexport class InventoryManagementModel{\r\n Id?: number;\r\n InventoryNumber?:number;\r\n WarehouseId?:number;\r\n Notes?:string;\r\n Time?:string;\r\n WarehouseName?:string;\r\n Date?:Date;\r\n \r\n IsSettlement?:boolean;\r\n InventoryItems?:InventoryItemsModel[]\r\n tooltip?:string;\r\n constructor(item?:InventoryManagementModel){\r\n item = item? item:{};\r\n this.Id = item.Id? item.Id:0;\r\n this.InventoryNumber = item.InventoryNumber? item.InventoryNumber:0;\r\n this.WarehouseId = item.WarehouseId? item.WarehouseId:0; \r\n this.Notes = item.Notes? item.Notes:''; \r\n this.IsSettlement = item.IsSettlement? item.IsSettlement:true; \r\n \r\n this.WarehouseName = item.WarehouseName? item.WarehouseName:''; \r\n this.Time = item.Time? item.Time:''; \r\n this.Date = item.Date? item.Date:new Date(); \r\n this.InventoryItems = item.InventoryItems? item.InventoryItems:[];\r\n this.tooltip = item.tooltip?item.tooltip:'';\r\n }\r\n\r\n}","// import { StoreItemsModel } from \"./StoreItemsModel\";\r\n\r\n\r\nexport class ItemsPriceListModel{\r\n Id?: number;\r\n ItemId?:number;\r\n PriceListId?:number;\r\n SalePrice?:number;\r\n IsDeleted?: boolean;\r\n PriceListNameAr?:string;\r\n PriceListNameEn?:string;\r\n\r\n // Items? :StoreItemsModel[];\r\n\r\n constructor(item?:ItemsPriceListModel){\r\n item = item? item:{};\r\n this.Id = item.Id? item.Id:0;\r\n this.ItemId = item.ItemId? item.ItemId:0;\r\n this.PriceListId = item.PriceListId? item.PriceListId:0; \r\n this.SalePrice = item.SalePrice? item.SalePrice:0; \r\n this.PriceListNameAr = item.PriceListNameAr? item.PriceListNameAr:''; \r\n this.PriceListNameEn = item.PriceListNameEn? item.PriceListNameEn:''; \r\n this.IsDeleted = item.IsDeleted? item.IsDeleted:true;\r\n // this.Items = item.Items? item.Items:[];\r\n\r\n }\r\n\r\n}","export class ItemsStoreBellModel{\r\n Id?: number;\r\n ItemId?:number;\r\n StoreBillId?:number;\r\n SalePrice?:number;\r\n Quantity?:number;\r\n AdjustedQuantity?:number;\r\n Total?:number;\r\n Name?:string;\r\n\r\n \r\n constructor(item?:ItemsStoreBellModel){\r\n item = item? item:{};\r\n this.Id = item.Id? item.Id:0;\r\n this.ItemId = item.ItemId? item.ItemId:0;\r\n this.StoreBillId = item.StoreBillId? item.StoreBillId:0; \r\n this.SalePrice = item.SalePrice? item.SalePrice:0; \r\n this.Quantity = item.Quantity? item.Quantity:0; \r\n this.AdjustedQuantity = item.AdjustedQuantity? item.AdjustedQuantity:0; \r\n this.Total = item.Total? item.Total:0; \r\n\r\n }\r\n\r\n}","import { ItemsPriceListModel } from \"./ItemsPriceListModel\";\r\n\r\n\r\nexport class PriceListModel{\r\n Id?: number;\r\n NameAr?:string;\r\n NameEn?: string; \r\n IsActive?: boolean;\r\n Items?:ItemsPriceListModel[];\r\n constructor(item?:PriceListModel){\r\n item = item? item:{};\r\n this.Id = item.Id? item.Id:0;\r\n this.NameAr = item.NameAr? item.NameAr:'';\r\n this.NameEn = item.NameEn? item.NameEn:''; \r\n this.IsActive = item.IsActive? item.IsActive:true;\r\n this.Items = item.Items? item.Items:[];\r\n\r\n }\r\n\r\n}","\r\n\r\nexport class ServiceCategoryModel{\r\n Id?: number;\r\n ServiceId?:number;\r\n CategoryId?:number;\r\n CategoryName?:string;\r\n\r\n constructor(item?:ServiceCategoryModel){\r\n item = item? item:{};\r\n this.Id = item.Id? item.Id:0;\r\n this.ServiceId = item.ServiceId? item.ServiceId:0;\r\n this.CategoryId = item.CategoryId? item.CategoryId:0; \r\n this.CategoryName = item.CategoryName? item.CategoryName:''; \r\n\r\n }\r\n\r\n}","import { ServicePriceListModel } from './ServicePriceListModel';\r\nimport { ServiceCategoryModel } from './ServiceCategoryModel';\r\n\r\nexport class ServiceModel{\r\n Id?: number;\r\n Name?:string;\r\n ServiceCode?: number; \r\n Description?: string; \r\n PurchasingPrice?: number; \r\n SalePrice?: number;\r\n FirstTaxId?: number;\r\n SecondTaxId?: number;\r\n LowestSellingPrice?: number;\r\n Discount?: number;\r\n ProfitPercentage?: number;\r\n PriceListId?: number;\r\n UnitPrice?: number;\r\n Notes?: string;\r\n Tags?: string;\r\n IsDisable?: boolean;\r\n AvailableOnline?: boolean;\r\n FeaturedProduct?: boolean;\r\n Time?:number;\r\n ServicePriceList?:ServicePriceListModel[];\r\n\r\n ServiceCategory?:ServiceCategoryModel[];\r\n\r\n\r\n\r\n constructor(item?:ServiceModel){\r\n item = item? item:{};\r\n this.Id = item.Id? item.Id:0;\r\n this.Name = item.Name? item.Name:'';\r\n this.ServiceCode = item.ServiceCode? item.ServiceCode:0;\r\n this.Description = item.Description? item.Description:'';\r\n this.PurchasingPrice = item.PurchasingPrice? item.PurchasingPrice:0;\r\n this.SalePrice = item.SalePrice? item.SalePrice:0;\r\n this.FirstTaxId = item.FirstTaxId? item.FirstTaxId:0;\r\n this.SecondTaxId = item.SecondTaxId? item.SecondTaxId:0;\r\n this.LowestSellingPrice = item.LowestSellingPrice? item.LowestSellingPrice:0;\r\n this.Discount = item.Discount? item.Discount:0;\r\n this.ProfitPercentage = item.ProfitPercentage? item.ProfitPercentage:0;\r\n this.PriceListId = item.PriceListId? item.PriceListId:0;\r\n this.UnitPrice = item.UnitPrice? item.UnitPrice:0;\r\n this.Time = item.Time? item.Time:0;\r\n this.Notes = item.Notes? item.Notes:'';\r\n this.Tags = item.Tags? item.Tags:'';\r\n this.IsDisable = item.IsDisable? item.IsDisable:false;\r\n this.AvailableOnline = item.AvailableOnline? item.AvailableOnline:false;\r\n this.FeaturedProduct = item.FeaturedProduct? item.FeaturedProduct:false;\r\n\r\n this.ServicePriceList = item.ServicePriceList? item.ServicePriceList:[];\r\n\r\n this.ServiceCategory = item.ServiceCategory? item.ServiceCategory:[];\r\n \r\n \r\n }\r\n\r\n}","import { OperationTypeModel } from \"./OperationTypeModel\";\r\n\r\n\r\nexport class StockAdjustmentModel{\r\n Id?: number;\r\n QuantityEditType?:number;\r\n OperationTypeId?:number;\r\n WarehouseId?:number;\r\n SubAccountId?:number;\r\n InventoryBeforeQuantity?:number;\r\n InventoryAfterQuantity?:number;\r\n ItemId?:number;\r\n Quantity?:number;\r\n UnitPrice?:number;\r\n MoveNumber?:number;\r\n Notes?:string;\r\n \r\n WarehouseName?:string;\r\n Time?:Date;\r\n Date?:Date;\r\n \r\n OperationType?:OperationTypeModel[];\r\n\r\n constructor(item?:StockAdjustmentModel){\r\n item = item? item:{};\r\n this.Id = item.Id? item.Id:0;\r\n this.QuantityEditType = item.QuantityEditType? item.QuantityEditType:1;\r\n this.OperationTypeId = item.OperationTypeId? item.OperationTypeId:0; \r\n this.MoveNumber = item.MoveNumber? item.MoveNumber:0; \r\n this.InventoryBeforeQuantity = item.InventoryBeforeQuantity? item.InventoryBeforeQuantity:0; \r\n this.InventoryAfterQuantity = item.InventoryAfterQuantity? item.InventoryAfterQuantity:0; \r\n this.SubAccountId = item.SubAccountId? item.SubAccountId:0; \r\n this.WarehouseId = item.WarehouseId? item.WarehouseId:0; \r\n this.ItemId = item.ItemId? item.ItemId:0; \r\n this.Quantity = item.Quantity? item.Quantity:0; \r\n this.UnitPrice = item.UnitPrice? item.UnitPrice:0; \r\n this.Notes = item.Notes? item.Notes:''; \r\n this.WarehouseName = item.WarehouseName? item.WarehouseName:''; \r\n this.Time = item.Time? item.Time:new Date(); \r\n this.Date = item.Date? item.Date:new Date(); \r\n this.OperationType = item.OperationType? item.OperationType:[];\r\n \r\n }\r\n\r\n}","import { ItemsStoreBellModel } from \"./ItemsStoreBillModel\";\r\n\r\nexport class StoreBillModel{\r\n Id?: number;\r\n SkuNumber?:number;\r\n BillType?:string;\r\n WarehouseName?:string;\r\n WarehouseId?:number;\r\n SecondWarehouseId?:number;\r\n MoveNumber?:number;\r\n SubAccountName?:string;\r\n SecondWarehouseName?:string;\r\n \r\n SubAccountId?:number;\r\n Notes?:string;\r\n Time?:Date;\r\n Date?:Date;\r\n IsApproval?:boolean;\r\n ItemsStoreBillList?:ItemsStoreBellModel[]\r\n\r\n constructor(item?:StoreBillModel){\r\n item = item? item:{};\r\n this.Id = item.Id? item.Id:0;\r\n this.SkuNumber = item.SkuNumber? item.SkuNumber:1;\r\n this.MoveNumber = item.MoveNumber? item.MoveNumber:1;\r\n \r\n this.BillType = item.BillType? item.BillType:''; \r\n this.WarehouseName = item.WarehouseName? item.WarehouseName:''; \r\n this.SecondWarehouseName = item.SecondWarehouseName? item.SecondWarehouseName:''; \r\n this.SubAccountName = item.SubAccountName? item.SubAccountName:''; \r\n this.WarehouseId = item.WarehouseId? item.WarehouseId:0; \r\n this.Notes = item.Notes? item.Notes:''; \r\n this.SubAccountId = item.SubAccountId? item.SubAccountId:0; \r\n this.WarehouseId = item.WarehouseId? item.WarehouseId:0; \r\n this.SecondWarehouseId = item.SecondWarehouseId? item.SecondWarehouseId:0; \r\n this.IsApproval = item.IsApproval? item.IsApproval:true; \r\n \r\n this.Notes = item.Notes? item.Notes:''; \r\n this.Time = item.Time? item.Time:new Date(); \r\n this.Date = item.Date? item.Date:new Date(); \r\n this.ItemsStoreBillList = item.ItemsStoreBillList? item.ItemsStoreBillList:[];\r\n\r\n }\r\n\r\n}","import { ItemsPriceListModel } from './ItemsPriceListModel';\r\nimport { WarehouseItemModel } from './WarehouseItem';\r\nimport{BrandItemsModel}from '../models/BrandItemsModel';\r\nimport{CategoryItemsModel}from '../models/CategoryItemsMosel';\r\n\r\nexport class StoreItemsModel{\r\n Id?: number;\r\n Name?:string;\r\n SkuNumber?: number; \r\n Description?: string; \r\n PurchasingPrice?: number; \r\n SalePrice?: number;\r\n FirstTaxId?: number;\r\n SecondTaxId?: number;\r\n LowestSellingPrice?: number;\r\n Discount?: number;\r\n ProfitPercentage?: number;\r\n PriceListId?: number;\r\n WarehouseDataId?: number;\r\n UnitId?: number;\r\n Quantity?: number;\r\n Alert?:number;\r\n TotalQuantitySoled?: number;\r\n Last28DayesQuantitySoled?: number;\r\n Last7DayesQuantitySoled?: number;\r\n AverageUnitPrice?:number;\r\n Notes?: string;\r\n Tags?: string;\r\n IsDisable?: boolean;\r\n AvailableOnline?: boolean;\r\n FeaturedProduct?: boolean;\r\n WarehouseName?:string;\r\n Barcode?:string;\r\n DiscountType?:string;\r\n \r\n ItemPriceList?:ItemsPriceListModel[];\r\n WarhouseItem?:WarehouseItemModel[];\r\n ItemBrand?:BrandItemsModel[];\r\n ItemCategory?:CategoryItemsModel[];\r\n\r\n constructor(item?:StoreItemsModel){\r\n item = item? item:{};\r\n this.Id = item.Id? item.Id:0;\r\n this.Name = item.Name? item.Name:'';\r\n this.SkuNumber = item.SkuNumber? item.SkuNumber:0;\r\n this.Description = item.Description? item.Description:'';\r\n this.PurchasingPrice = item.PurchasingPrice? item.PurchasingPrice:0;\r\n this.SalePrice = item.SalePrice? item.SalePrice:0;\r\n this.FirstTaxId = item.FirstTaxId? item.FirstTaxId:0;\r\n this.SecondTaxId = item.SecondTaxId? item.SecondTaxId:0;\r\n this.LowestSellingPrice = item.LowestSellingPrice? item.LowestSellingPrice:0;\r\n this.Discount = item.Discount? item.Discount:0;\r\n this.ProfitPercentage = item.ProfitPercentage? item.ProfitPercentage:0;\r\n this.PriceListId = item.PriceListId? item.PriceListId:0;\r\n this.WarehouseDataId = item.WarehouseDataId? item.WarehouseDataId:0;\r\n this.Quantity = item.Quantity? item.Quantity:0;\r\n this.TotalQuantitySoled = item.TotalQuantitySoled? item.TotalQuantitySoled:0;\r\n this.Last28DayesQuantitySoled = item.Last28DayesQuantitySoled? item.Last28DayesQuantitySoled:0;\r\n this.Last7DayesQuantitySoled = item.Last7DayesQuantitySoled? item.Last7DayesQuantitySoled:0;\r\n this.UnitId = item.UnitId? item.UnitId:0;\r\n this.Notes = item.Notes? item.Notes:'';\r\n this.Tags = item.Tags? item.Tags:'';\r\n this.DiscountType = item.DiscountType? item.DiscountType:'';\r\n this.IsDisable = item.IsDisable? item.IsDisable:false;\r\n this.AvailableOnline = item.AvailableOnline? item.AvailableOnline:false;\r\n this.FeaturedProduct = item.FeaturedProduct? item.FeaturedProduct:false;\r\n this.WarehouseName = item.WarehouseName? item.WarehouseName:'';\r\n this.Barcode = item.Barcode? item.Barcode:'';\r\n this.Alert = item.Alert? item.Alert:0;\r\n this.AverageUnitPrice = item.AverageUnitPrice? item.AverageUnitPrice:0;\r\n \r\n this.ItemPriceList = item.ItemPriceList? item.ItemPriceList:[];\r\n this.WarhouseItem = item.WarhouseItem? item.WarhouseItem:[];\r\n this.ItemBrand = item.ItemBrand? item.ItemBrand:[];\r\n this.ItemCategory = item.ItemCategory? item.ItemCategory:[];\r\n \r\n \r\n }\r\n\r\n}","\r\n\r\nexport class WarehouseBrancheModel{\r\n Id?: number;\r\n BranchId?:number;\r\n WarehouseId?: number; \r\n \r\n constructor(item?:WarehouseBrancheModel){\r\n item = item? item:{};\r\n this.Id = item.Id? item.Id:0;\r\n this.BranchId = item.BranchId? item.BranchId:0;\r\n this.WarehouseId = item.WarehouseId? item.WarehouseId:0;\r\n \r\n \r\n }\r\n\r\n}\r\n","\r\nexport class WarehouseEmployeesModel{\r\n Id?: number;\r\n EmployeeId?:number;\r\n WarehouseId?: number; \r\n \r\n constructor(item?:WarehouseEmployeesModel){\r\n item = item? item:{};\r\n this.Id = item.Id? item.Id:0;\r\n this.EmployeeId = item.EmployeeId? item.EmployeeId:0;\r\n this.WarehouseId = item.WarehouseId? item.WarehouseId:0;\r\n \r\n \r\n }\r\n\r\n}\r\n","\r\nexport class WarehouseJobRoleModel{\r\n Id?: number;\r\n JobRoleId?:number;\r\n WarehouseId?: number; \r\n \r\n constructor(item?:WarehouseJobRoleModel){\r\n item = item? item:{};\r\n this.Id = item.Id? item.Id:0;\r\n this.JobRoleId = item.JobRoleId? item.JobRoleId:0;\r\n this.WarehouseId = item.WarehouseId? item.WarehouseId:0;\r\n \r\n \r\n }\r\n\r\n}\r\n","\r\n\r\nexport class WarehouseItemModel{\r\n Id?: number;\r\n WarehouseDataId?:number;\r\n ItemId?: number; \r\n WarehouseName?:string; \r\n Quantity?: number; \r\n Alert?: number; \r\n\r\n constructor(item?:WarehouseItemModel){\r\n item = item? item:{};\r\n this.Id = item.Id? item.Id:0;\r\n this.WarehouseDataId = item.WarehouseDataId? item.WarehouseDataId:0;\r\n this.ItemId = item.ItemId? item.ItemId:0;\r\n this.WarehouseName = item.WarehouseName? item.WarehouseName:''; \r\n this.Alert = item.Alert? item.Alert:0;\r\n this.Quantity = item.Quantity? item.Quantity:0;\r\n \r\n }\r\n\r\n}\r\n","\r\nimport { WarehouseBrancheModel } from \"./WarehousBranches\";\r\nimport { WarehouseEmployeesModel } from \"./WarehousEmployees\";\r\nimport { WarehouseValidityModel } from \"./WarehouseValidityModel\";\r\nimport { WarehouseJobRoleModel } from \"./WarehousJobRoles\";\r\n\r\nexport class WarehouseModel{\r\n Id?: number;\r\n Name?:string;\r\n Address?: string; \r\n Mobil?:string;\r\n Phone?:string;\r\n Fax?: string;\r\n Description?: string; \r\n EmployeeId?: number; \r\n BranchId?: number; \r\n JobRoleId?: number; \r\n IsPrime?: boolean;\r\n WarehouseValidityList?:WarehouseValidityModel[];\r\n Employees?:WarehouseEmployeesModel[];\r\n JobRoles?:WarehouseJobRoleModel[];\r\n Branches?:WarehouseBrancheModel[];\r\n constructor(item?:WarehouseModel){\r\n item = item? item:{};\r\n this.Id = item.Id? item.Id:0;\r\n this.Mobil = item.Mobil? item.Mobil:'';\r\n this.Phone = item.Phone? item.Phone:'';\r\n this.Fax = item.Fax? item.Fax:'';\r\n this.Address = item.Address? item.Address:'';\r\n this.Description = item.Description? item.Description:'';\r\n this.EmployeeId = item.EmployeeId? item.EmployeeId:0;\r\n this.BranchId = item.BranchId? item.BranchId:0;\r\n this.JobRoleId = item.JobRoleId? item.JobRoleId:0; \r\n this.IsPrime = item.IsPrime? item.IsPrime:false; \r\n this.WarehouseValidityList = item.WarehouseValidityList? item.WarehouseValidityList:[];\r\n this.Employees = item.Employees? item.Employees:[];\r\n this.Branches = item.Branches? item.Branches:[];\r\n this.JobRoles = item.JobRoles? item.JobRoles:[];\r\n \r\n }\r\n\r\n}","\r\nexport class WarehouseValidityModel{\r\n Id?: number;\r\n Name?:string;\r\n \r\n \r\n \r\n constructor(item?:WarehouseValidityModel){\r\n item = item? item:{};\r\n this.Id = item.Id? item.Id:0;\r\n this.Name = item.Name? item.Name:''; \r\n \r\n }\r\n\r\n}","import { Component, OnInit } from '@angular/core';\nimport { DetailedMovementOfInventoryDataModel } from '../../models/detailed-movement-of-inventory-data.model';\nimport { DetailedMovementOfInventoryService } from '../../detailed-movement-of-inventory.service';\nimport { SummaryOfInventoryOperationsSearchModel } from '../../../summary-of-inventory-operations/models/summary-of-inventory-operations-search.model';\nimport html2canvas from 'html2canvas';\nimport jspdf from 'jspdf';\nimport { WarehouseService } from 'src/app/Invintory/warehouses/warehouse-service.service';\n\n\n@Component({\n selector: 'detailed-movement-of-inventory',\n templateUrl: 'detailed-movement-of-inventory.component.html',\n styleUrls: ['detailed-movement-of-inventory.component.scss']\n})\nexport class DetailedMovementOfInventoryComponent implements OnInit{\n declare lang: any;\n today:Date=new Date();\n list:DetailedMovementOfInventoryDataModel[]=[];\n liabilities:DetailedMovementOfInventoryDataModel[]=[];\n PropertyRights:DetailedMovementOfInventoryDataModel[]=[];\n employees=[];\n nodeList:DetailedMovementOfInventoryDataModel[]=[];\n categories=[];\n brnads=[];\n warehouses=[];\n constructor(private DetailedMovementOfInventoryService:DetailedMovementOfInventoryService,\n private warehouseService:WarehouseService\n ){\n this.lang = localStorage.getItem('theme_lang');\n }\n TotalAssets = 0;\n Totalliabilities = 0;\n TotalPropertyRights = 0;\n data:DetailedMovementOfInventoryDataModel[]=[];\n assets:DetailedMovementOfInventoryDataModel[]=[];\n search:SummaryOfInventoryOperationsSearchModel={};\n ngOnInit(): void {\n this.DetailedMovementOfInventoryService.search(this.search)\n .subscribe(data => {\n this.data = data;\n this.assets = data;\n \n this.warehouseService.getAll()\n .subscribe(warehouses=>{\n this.warehouses = warehouses;\n })\n })\n \n }\n Search(){\n this.DetailedMovementOfInventoryService.search(this.search)\n .subscribe(data => {\n this.data = data;\n })\n }\n exportTable(){\n var data = document.getElementById('contentToConvert');\n data.style.display = 'inline-block';\n html2canvas(data,{}).then(canvas => {\n var imgWidth = 208;\n var pageHeight = 295;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n var heightLeft = imgHeight;\n const contentDataURL = canvas.toDataURL('image/png')\n let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF\n var position = 0;\n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n pdf.save('new-file.pdf'); // Generated PDF\n data.style.display = 'block';\n\n // data.style.display = 'none';\n \n });\n }\n print(){\n let printContents, popupWin;\n printContents = document.getElementById('contentToConvert').innerHTML;\n popupWin = window.open('', '_blank', 'top=0,left=0,height=100%,width=auto');\n popupWin.document.open();\n window.print();\n \n }\n}\n","\n\n
    \n
    \n
    \n
    \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n \n
    \n \n \n \n \n \n
    \n \n
    \n {{\" \"}}\n {{\" \"}}\n {{\" \"}}\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    {{ 'Detailed Of Inventory Operations' | translate }}

    \n

    {{ today| date:'dd/MM/yyyy' }}

    \n
    {{ 'Future Core' | translate }}
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{ 'Date' | translate }} {{ 'Type' | translate }} {{ 'Product Name' | translate }}{{ 'Incoming' | translate }} {{ 'The outgoing' | translate }}
    {{item.Date|date:'dd/MM/yyyy'}}{{item.Type | translate}}{{item.ProductName}}{{item.Income}}{{item.Outcome}}
    \n \n
    \n \n
    \n
    \n
    ","import { SummaryOfInventoryOperationsSearchModel } from './../summary-of-inventory-operations/models/summary-of-inventory-operations-search.model';\r\nimport { environment } from './../../../../environments/environment';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DetailedMovementOfInventoryService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n search(search:SummaryOfInventoryOperationsSearchModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}DetailedMovementOfInventory/Search`,search,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n}\r\n ","import { Component, OnInit } from '@angular/core';\nimport { EstimatedinventoryValueDataModel } from '../../models/estimatedinventory-value-data.model';\nimport { EstimatedinventoryValueSearchModel } from '../../models/estimatedinventory-value-search.model';\nimport { EstimatedinventoryValueService } from '../../estimatedinventory-value.service';\nimport { CategoryServiceService } from 'src/app/Invintory/warehouses/category-service.service';\nimport { BrandServiceService } from 'src/app/Invintory/warehouses/brand-service.service';\nimport { WarehouseService } from 'src/app/Invintory/warehouses/warehouse-service.service';\nimport html2canvas from 'html2canvas';\nimport jspdf from 'jspdf';\n\n\n@Component({\n selector: 'estimatedinventory-value',\n templateUrl: 'estimatedinventory-value.component.html',\n styleUrls: ['estimatedinventory-value.component.scss']\n})\nexport class EstimatedinventoryValueComponent implements OnInit{\n declare lang: any;\n today:Date=new Date();\n list:EstimatedinventoryValueDataModel[]=[];\n liabilities:EstimatedinventoryValueDataModel[]=[];\n PropertyRights:EstimatedinventoryValueDataModel[]=[];\n employees=[];\n nodeList:EstimatedinventoryValueDataModel[]=[];\n categories=[];\n brnads=[];\n warehouses=[];\n constructor(private EstimatedinventoryValueService:EstimatedinventoryValueService,\n private categoryService:CategoryServiceService,\n private brandService:BrandServiceService,\n private warehouseService:WarehouseService\n ){\n this.lang = localStorage.getItem('theme_lang');\n }\n TotalAssets = 0;\n Totalliabilities = 0;\n TotalPropertyRights = 0;\n data:EstimatedinventoryValueDataModel[]=[];\n assets:EstimatedinventoryValueDataModel[]=[];\n search:EstimatedinventoryValueSearchModel={};\n ngOnInit(): void {\n this.EstimatedinventoryValueService.search(this.search)\n .subscribe(data => {\n this.data = data;\n this.assets = data;\n this.categoryService.getAll()\n .subscribe(categories=>{\n this.categories = categories;\n })\n this.brandService.getAll()\n .subscribe(brands => {\n this.brnads = brands;\n })\n this.warehouseService.getAll()\n .subscribe(warehouses=>{\n this.warehouses = warehouses;\n })\n })\n \n }\n Search(){\n this.EstimatedinventoryValueService.search(this.search)\n .subscribe(data => {\n this.data = data;\n })\n }\n exportTable(){\n var data = document.getElementById('contentToConvert');\n data.style.display = 'inline-block';\n html2canvas(data,{}).then(canvas => {\n var imgWidth = 208;\n var pageHeight = 295;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n var heightLeft = imgHeight;\n const contentDataURL = canvas.toDataURL('image/png')\n let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF\n var position = 0;\n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n pdf.save('new-file.pdf'); // Generated PDF\n data.style.display = 'block';\n\n // data.style.display = 'none';\n \n });\n }\n print(){\n let printContents, popupWin;\n printContents = document.getElementById('contentToConvert').innerHTML;\n popupWin = window.open('', '_blank', 'top=0,left=0,height=100%,width=auto');\n popupWin.document.open();\n window.print();\n \n }\n}\n","\n\n
    \n
    \n
    \n
    \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n \n
    \n \n \n \n \n \n
    \n
    \n \n \n \n \n \n
    \n
    \n \n \n \n \n \n
    \n
    \n {{\" \"}}\n {{\" \"}}\n {{\" \"}}\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    {{ 'Estimated Inventory Value' | translate }}

    \n

    {{ today| date:'dd/MM/yyyy' }}

    \n
    {{ 'Future Core' | translate }}
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{ 'Code' | translate }} {{ 'Name' | translate }} {{ 'Quantity' | translate }}{{ 'Current selling price' | translate }} {{ 'Average purchase price' | translate }}{{ 'Total expected selling price' | translate }}{{ 'Total purchase price' | translate }}{{ 'Expected profit' | translate }}
    {{item.Code}}{{item.Name}}{{item.Quantity}}{{item.SalsePrice}}{{item.PurchasePrice}}{{item.TotalSalsePrice}}{{item.TotalPurchasePrice}}{{item.ExpectedProfit}}
    \n \n
    \n \n
    \n
    \n
    ","import { environment } from './../../../../environments/environment';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { EstimatedinventoryValueSearchModel } from './models/estimatedinventory-value-search.model';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EstimatedinventoryValueService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n search(search:EstimatedinventoryValueSearchModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}EstimatedinventoryValue/Search`,search,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n}\r\n ","import { CategoryServiceService } from './../../../../warehouses/category-service.service';\nimport { Component, OnInit } from '@angular/core';\nimport { InventorySheetDataModel } from '../../models/inventory-sheet-data.model';\nimport { InventorySheetService } from '../../inventory-sheet.service';\nimport { InventorySheetSearchModel } from '../../models/inventory-sheet-search.model';\nimport html2canvas from 'html2canvas';\nimport jspdf from 'jspdf';\nimport { BrandServiceService } from 'src/app/Invintory/warehouses/brand-service.service';\nimport { WarehouseService } from 'src/app/Invintory/warehouses/warehouse-service.service';\n@Component({\n selector: 'inventory-sheet-report',\n templateUrl: 'inventory-sheet-report.component.html',\n styleUrls: ['inventory-sheet-report.component.scss']\n})\nexport class InventorySheetReportComponent implements OnInit{\n declare lang: any;\n today:Date=new Date();\n list:InventorySheetDataModel[]=[];\n liabilities:InventorySheetDataModel[]=[];\n PropertyRights:InventorySheetDataModel[]=[];\n employees=[];\n nodeList:InventorySheetDataModel[]=[];\n categories=[];\n brnads=[];\n warehouses=[];\n constructor(private InventorySheetService:InventorySheetService,\n private categoryService:CategoryServiceService,\n private brandService:BrandServiceService,\n private warehouseService:WarehouseService\n ){\n this.lang = localStorage.getItem('theme_lang');\n }\n TotalAssets = 0;\n Totalliabilities = 0;\n TotalPropertyRights = 0;\n data:InventorySheetDataModel[]=[];\n assets:InventorySheetDataModel[]=[];\n search:InventorySheetSearchModel={};\n ngOnInit(): void {\n this.InventorySheetService.search(this.search)\n .subscribe(data => {\n this.data = data;\n this.assets = data;\n this.categoryService.getAll()\n .subscribe(categories=>{\n this.categories = categories;\n })\n this.brandService.getAll()\n .subscribe(brands => {\n this.brnads = brands;\n })\n this.warehouseService.getAll()\n .subscribe(warehouses=>{\n this.warehouses = warehouses;\n })\n })\n \n }\n Search(){\n this.InventorySheetService.search(this.search)\n .subscribe(data => {\n this.data = data;\n })\n }\n exportTable(){\n var data = document.getElementById('contentToConvert');\n data.style.display = 'inline-block';\n html2canvas(data,{}).then(canvas => {\n var imgWidth = 208;\n var pageHeight = 295;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n var heightLeft = imgHeight;\n const contentDataURL = canvas.toDataURL('image/png')\n let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF\n var position = 0;\n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n pdf.save('new-file.pdf'); // Generated PDF\n data.style.display = 'block';\n\n // data.style.display = 'none';\n \n });\n }\n print(){\n let printContents, popupWin;\n printContents = document.getElementById('contentToConvert').innerHTML;\n popupWin = window.open('', '_blank', 'top=0,left=0,height=100%,width=auto');\n popupWin.document.open();\n window.print();\n \n }\n}\n","\n\n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n \n \n \n \n \n
    \n
    \n \n \n \n \n \n
    \n
    \n \n \n \n \n \n
    \n \n
    \n {{\" \"}}\n {{\" \"}}\n {{\" \"}}\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    {{ 'Inventory Sheet Report' | translate }}

    \n

    {{ today| date:'dd/MM/yyyy' }}

    \n
    {{ 'Future Core' | translate }}
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{ 'Code' | translate }} {{ 'Name' | translate }} {{ 'Category' | translate }} {{ 'Brand' | translate }}{{ 'Quantity In System' | translate }}{{ 'Quantity' | translate }} {{ 'Description' | translate }}
    {{item.Code}}#{{item.Name}}\n {{catrgory.CategoryName}}
    \n
    \n {{brand.BrandName}}\n {{item.QuantityInSystem}}{{item.Quantity}}{{item.Description}}
    \n \n
    \n \n
    \n
    \n
    ","import { environment } from './../../../../environments/environment';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { InventorySheetSearchModel } from './models/inventory-sheet-search.model';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InventorySheetService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n search(search:InventorySheetSearchModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}InventorySheet/Search`,search,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n}\r\n ","import { StoreBalanceSummaryDataModel } from './../../models/store-balance-summary-data.model';\nimport { Component, OnInit } from '@angular/core';\nimport { StoreBalanceSummaryService } from '../../store-balance-summary.service';\nimport { CategoryServiceService } from 'src/app/Invintory/warehouses/category-service.service';\nimport { BrandServiceService } from 'src/app/Invintory/warehouses/brand-service.service';\nimport { WarehouseService } from 'src/app/Invintory/warehouses/warehouse-service.service';\nimport { StoreBalanceSummarySearchModel } from '../../models/store-balance-summary-search.model';\nimport html2canvas from 'html2canvas';\nimport jspdf from 'jspdf';\n@Component({\n selector: 'store-balance-summary',\n templateUrl: 'store-balance-summary.component.html',\n styleUrls: ['store-balance-summary.component.scss']\n})\nexport class StoreBalanceSummaryComponent implements OnInit{\n declare lang: any;\n today:Date=new Date();\n list:StoreBalanceSummaryDataModel[]=[];\n liabilities:StoreBalanceSummaryDataModel[]=[];\n PropertyRights:StoreBalanceSummaryDataModel[]=[];\n employees=[];\n nodeList:StoreBalanceSummaryDataModel[]=[];\n categories=[];\n brnads=[];\n warehouses=[];\n constructor(private StoreBalanceSummaryService:StoreBalanceSummaryService,\n private categoryService:CategoryServiceService,\n private brandService:BrandServiceService,\n private warehouseService:WarehouseService\n ){\n this.lang = localStorage.getItem('theme_lang');\n }\n TotalAssets = 0;\n Totalliabilities = 0;\n TotalPropertyRights = 0;\n data:StoreBalanceSummaryDataModel[]=[];\n assets:StoreBalanceSummaryDataModel[]=[];\n search:StoreBalanceSummarySearchModel={};\n ngOnInit(): void {\n this.StoreBalanceSummaryService.search(this.search)\n .subscribe(data => {\n this.data = data;\n this.assets = data;\n this.categoryService.getAll()\n .subscribe(categories=>{\n this.categories = categories;\n })\n this.brandService.getAll()\n .subscribe(brands => {\n this.brnads = brands;\n })\n this.warehouseService.getAll()\n .subscribe(warehouses=>{\n this.warehouses = warehouses;\n })\n })\n \n }\n Search(){\n this.StoreBalanceSummaryService.search(this.search)\n .subscribe(data => {\n this.data = data;\n })\n }\n exportTable(){\n var data = document.getElementById('contentToConvert');\n data.style.display = 'inline-block';\n html2canvas(data,{}).then(canvas => {\n var imgWidth = 208;\n var pageHeight = 295;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n var heightLeft = imgHeight;\n const contentDataURL = canvas.toDataURL('image/png')\n let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF\n var position = 0;\n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n pdf.save('new-file.pdf'); // Generated PDF\n data.style.display = 'block';\n\n // data.style.display = 'none';\n \n });\n }\n print(){\n let printContents, popupWin;\n printContents = document.getElementById('contentToConvert').innerHTML;\n popupWin = window.open('', '_blank', 'top=0,left=0,height=100%,width=auto');\n popupWin.document.open();\n window.print();\n \n }\n}\n","\n\n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n \n \n \n \n \n
    \n
    \n \n \n \n \n \n
    \n
    \n \n \n \n \n \n
    \n \n
    \n {{\" \"}}\n {{\" \"}}\n {{\" \"}}\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    {{ 'Store Balance Summaryt' | translate }}

    \n

    {{ today| date:'dd/MM/yyyy' }}

    \n
    {{ 'Future Core' | translate }}
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{ 'Code' | translate }} {{ 'Name' | translate }} {{ 'Category' | translate }} {{ 'Brand' | translate }}{{ 'Quantity' | translate }}
    {{item.Code}}#{{item.Name}}\n {{catrgory.CategoryName}}
    \n
    \n {{brand.BrandName}}\n {{item.Quantity}}
    \n \n
    \n \n
    \n
    \n
    ","import { environment } from './../../../../environments/environment';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { StoreBalanceSummarySearchModel } from './models/store-balance-summary-search.model';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StoreBalanceSummaryService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n search(search:StoreBalanceSummarySearchModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}StoreBalanceSummary/Search`,search,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n}\r\n ","import { Component, OnInit } from '@angular/core';\nimport { SummaryOfInventoryOperationsService } from '../../summary-of-inventory-operations.service';\nimport { CategoryServiceService } from 'src/app/Invintory/warehouses/category-service.service';\nimport { WarehouseService } from 'src/app/Invintory/warehouses/warehouse-service.service';\nimport { SummaryOfInventoryOperationsDataModel } from '../../models/summary-of-inventory-operations-data.model';\nimport { SummaryOfInventoryOperationsSearchModel } from '../../models/summary-of-inventory-operations-search.model';\nimport html2canvas from 'html2canvas';\nimport jspdf from 'jspdf';\n@Component({\n selector: 'summary-of-inventory-operations',\n templateUrl: 'summary-of-inventory-operations.component.html',\n styleUrls: ['summary-of-inventory-operations.component.scss']\n})\nexport class SummaryOfInventoryOperationsComponent implements OnInit{\n declare lang: any;\n today:Date=new Date();\n list:SummaryOfInventoryOperationsComponent[]=[];\n liabilities:SummaryOfInventoryOperationsComponent[]=[];\n PropertyRights:SummaryOfInventoryOperationsComponent[]=[];\n employees=[];\n nodeList:SummaryOfInventoryOperationsComponent[]=[];\n categories=[];\n brnads=[];\n warehouses=[];\n constructor(private SummaryOfInventoryOperationsService:SummaryOfInventoryOperationsService,\n private warehouseService:WarehouseService\n ){\n this.lang = localStorage.getItem('theme_lang');\n }\n TotalAssets = 0;\n Totalliabilities = 0;\n TotalPropertyRights = 0;\n data:SummaryOfInventoryOperationsDataModel[]=[];\n assets:SummaryOfInventoryOperationsDataModel[]=[];\n search:SummaryOfInventoryOperationsSearchModel={};\n ngOnInit(): void {\n this.SummaryOfInventoryOperationsService.search(this.search)\n .subscribe(data => {\n this.data = data;\n this.assets = data;\n \n this.warehouseService.getAll()\n .subscribe(warehouses=>{\n this.warehouses = warehouses;\n })\n })\n \n }\n Search(){\n this.SummaryOfInventoryOperationsService.search(this.search)\n .subscribe(data => {\n this.data = data;\n })\n }\n exportTable(){\n var data = document.getElementById('contentToConvert');\n data.style.display = 'inline-block';\n html2canvas(data,{}).then(canvas => {\n var imgWidth = 208;\n var pageHeight = 295;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n var heightLeft = imgHeight;\n const contentDataURL = canvas.toDataURL('image/png')\n let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF\n var position = 0;\n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n pdf.save('new-file.pdf'); // Generated PDF\n data.style.display = 'block';\n\n // data.style.display = 'none';\n \n });\n }\n print(){\n let printContents, popupWin;\n printContents = document.getElementById('contentToConvert').innerHTML;\n popupWin = window.open('', '_blank', 'top=0,left=0,height=100%,width=auto');\n popupWin.document.open();\n window.print();\n \n }\n}\n","\n\n
    \n
    \n
    \n
    \n \n
    \n \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n \n \n \n
    \n \n
    \n {{\" \"}}\n {{\" \"}}\n {{\" \"}}\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    {{ 'Summary Of Inventory Operations' | translate }}

    \n

    {{ today| date:'dd/MM/yyyy' }}

    \n
    {{ 'Future Core' | translate }}
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{ 'Product Name' | translate }} {{ 'Incoming' | translate }}{{ 'The outgoing' | translate }}{{ 'Total movement' | translate }}
    {{ 'Invoices' | translate }} {{ 'Returned Invoices' | translate }}{{ 'Transfer' | translate }} {{ 'Manual' | translate }}{{ 'Total' | translate }}{{ 'Invoices' | translate }} {{ 'Returned Invoices' | translate }}{{ 'Transfer' | translate }} {{ 'Manual' | translate }}{{ 'Total' | translate }}
    {{item.ProductName}}{{item.PurchaseInvoices}}{{item.ReturnPurchaseInvoices}}{{item.PurchaseTransfer}}{{item.PurchaseManual}}{{item.PurchaseTotal}}{{item.SalesInvoices}}{{item.ReturnSalesInvoices}}{{item.SalesTransfer}}{{item.SalesManual}}{{item.SalesTotal}}{{item.Total}}
    \n \n
    \n \n
    \n
    \n
    ","import { environment } from './../../../../environments/environment';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { SummaryOfInventoryOperationsSearchModel } from './models/summary-of-inventory-operations-search.model';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SummaryOfInventoryOperationsService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n search(search:SummaryOfInventoryOperationsSearchModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}SummaryOfInventoryOperations/Search`,search,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n}\r\n ","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { StoreItemsModel } from './models/StoreItemsModel';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StoreItemsService {\n\n\n constructor(private http:HttpClient ) { }\n\n \n baseUrl = environment.baseApiUrl;\n token = localStorage.getItem(\"token\");\n httpOptions = {\n headers: new HttpHeaders({\n // 'Content-Type': 'application/json; charset=utf-8',\n // 'Authorization': \"Bearer \" + token,\n \"Authorization\": \"Bearer \" + this.token,\n \"Content-Type\": \"application/json\"\n })\n };\n\n getAll(): Observable {\n \n return this.http\n .get(`${this.baseUrl}StoreItems/GetAll`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ngetById(Id:number): Observable {\n\n return this.http\n .get(`${this.baseUrl}StoreItems/GetById/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ninsert(payload: StoreItemsModel): Observable {\n \n return this.http\n .post(`${this.baseUrl}StoreItems/Insert`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\nupdate(payload: StoreItemsModel): Observable {\n return this.http\n .post(`${this.baseUrl}StoreItems/Update`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ndelete(Id:number): Observable {\n return this.http\n .get(`${this.baseUrl}StoreItems/Delete/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\n deleteList(payload: StoreItemsModel []): Observable {\n return this.http\n .post(`${this.baseUrl}StoreItems/DeleteList`,JSON.stringify(payload),this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport {UnitTypeModel} from './models/UnitTypeModel';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UnitTypeService {\n\n\n\n constructor(private http:HttpClient ) { }\n\n \n baseUrl = environment.baseApiUrl;\n token = localStorage.getItem(\"token\");\n httpOptions = {\n headers: new HttpHeaders({\n // 'Content-Type': 'application/json; charset=utf-8',\n // 'Authorization': \"Bearer \" + token,\n \"Authorization\": \"Bearer \" + this.token,\n \"Content-Type\": \"application/json\"\n })\n };\n CompanyId:number =+ localStorage.getItem(\"CompanyId\");\n\n getAll(): Observable {\n \n return this.http\n .get(`${this.baseUrl}CodingUnits/GetAll/${this.CompanyId}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ngetById(Id:number): Observable {\n\n return this.http\n .get(`${this.baseUrl}CodingUnits/GetById/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ninsert(payload: UnitTypeModel): Observable {\n \n return this.http\n .post(`${this.baseUrl}CodingUnits/Insert/${this.CompanyId}`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\nupdate(payload: UnitTypeModel): Observable {\n return this.http\n .post(`${this.baseUrl}CodingUnits/Update`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ndelete(Id:number): Observable {\n return this.http\n .get(`${this.baseUrl}CodingUnits/Delete/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\n deleteList(payload: UnitTypeModel []): Observable {\n return this.http\n .post(`${this.baseUrl}CodingUnits/DeleteList`,JSON.stringify(payload),this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }\n}\n","import { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationsService } from 'angular2-notifications';\nimport { WarehouseModel } from 'src/app/Invintory/models/WarehouseModel';\nimport { TableEngine } from 'src/app/invoices/TableEngine';\nimport { WarehouseService } from '../../warehouse-service.service';\nimport{ValidityService} from 'src/app/Invintory/warehouses/validity.service';\nimport { WarehouseValidityModel } from 'src/app/Invintory/models/WarehouseValidityModel';\nimport { WarehouseEmployeesModel } from 'src/app/Invintory/models/WarehousEmployees';\nimport { WarehouseBrancheModel } from 'src/app/Invintory/models/WarehousBranches';\nimport { WarehouseJobRoleModel } from 'src/app/Invintory/models/WarehousJobRoles';\nimport { SidePopupComponent } from 'src/app/views/invoice/side-popup/side-popup.component';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\n@Component({\n // moduleId: module.id,\n selector: 'info-warehouse',\n templateUrl: 'info-warehouse.component.html',\n styleUrls: ['info-warehouse.component.scss']\n})\nexport class InfoWarehouseComponent {\n Id=0;\n\n constructor(public router:Router, \n private fb:FormBuilder,\n private modelService: WarehouseService,\n private ValidityService: ValidityService,\n // private StoreItemsService: StoreItemsService, \n private notifications: NotificationsService, private translate: TranslateService,\n private route: ActivatedRoute\n ){\n this.Id = + route.snapshot.paramMap.get('Id'); \n }\n \n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n translationName: string = 'Item'\n sortableKeys = [];\n searchableKeys = ['Name', 'Address'];\n tableView: any = true;\n \n // StoreItemsModel:StoreItemsModel[]=[]; \n \n itemsData:WarehouseValidityModel[]=[];\n EmployeesData:WarehouseEmployeesModel[]=[];\n BranchesData:WarehouseBrancheModel[]=[];\n JobRoleData:WarehouseJobRoleModel[]=[];\n modelObject: WarehouseModel = new WarehouseModel();\n // ItemsModel:ItemsModel[]=[]\n Form:FormGroup;\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n prevAction = ''; \n addToListId = 0;\n ItemsBalanceHeaderId=0;\n ItemBalanceId=0;\n currentFormMode: string = '';\n \n \n ogData: WarehouseModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Name: new FormControl(),\n Address: new FormControl(),\n Mobil: new FormControl(),\n Phone:new FormControl(),\n Fax:new FormControl(),\n Description:new FormControl(),\n EmployeeId:new FormControl(),\n BranchId:new FormControl(),\n JobRoleId:new FormControl(),\n IsPrime:new FormControl(),\n \n });\n \n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n // this.getAllCountryCode(); \n \n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: this.lang === 'ar-EG' ? 'Name' : 'Name' }; \n this.sortableKeys = [ \n // { label: 'Date', property: 'Date' }, \n { label: 'Name', property: this.lang === 'ar-EG' ? 'Name' : 'Name' }, \n { label: 'Address', property: this.lang === 'ar-EG' ? 'Address' : 'Address' }, \n { label: 'Mobil', property: this.lang === 'ar-EG' ? 'Mobil' : 'Mobil' }, \n { label: 'Phone', property: this.lang === 'ar-EG' ? 'Phone' : 'Phone' }, \n { label: 'Fax', property: this.lang === 'ar-EG' ? 'Fax' : 'Fax' }, \n { label: 'IsPrime', property: 'IsPrime' },\n ];\n \n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n //this.tableEngine.modelObject = {}\n // console.log(\"KEEEEEEEEEEEEMO\");\n \n // console.log(this.tableEngine.modelObject);\n // console.log(this.tableEngine.modelObject.constructor.name);\n \n this.loadServices();\n this.modelService.getAllWarehouseValidity() \n .subscribe(data=>\n {\n this.itemsData=data\n console.log('WarehouseValidity',this.itemsData)\n }); \n this.mainForm = this.createForm(this.modelObject);\n this.ValidityService.getAllBranches().subscribe(data=>{\n this.BranchesData=data\n })\n this.ValidityService.getAllEmployees().subscribe(data=>{\n this.EmployeesData=data\n })\n this.ValidityService.getAllJobRoles().subscribe(data=>{\n this.JobRoleData=data\n })\n } \n \n createForm(modelObject):FormGroup{\n debugger;\n return this.fb.group({\n // Id:[this.ItemBalance.Id],\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0], \n Name: [modelObject.Name, Validators.compose([Validators.required, Validators.minLength(2)])],\n Address: [modelObject.Address, Validators.compose([Validators.required])],\n Mobil:[modelObject.Mobil, Validators.required],\n Phone:[modelObject.Phone, Validators.required],\n Fax:[modelObject.Fax, Validators.required],\n Description:[modelObject.Description, Validators.required], \n IsPrime: [modelObject.IsPrime==null?true:modelObject.IsPrime],\n \n }) \n }\n \n // ListStoreItems:StoreItemsModel[]=[]; \n // PriceList:WarehouseModel[]=[]; \n WarehouseValidityList:WarehouseValidityModel[]=[];\n loadServices(){\n // debugger;\n this.currentAction = 'loading';\n this.tableEngine.loadData(); \n \n \n }\n // addToList(){ \n // debugger; \n // var i = this.WarehouseValidityList.findIndex(x=>x.Id == this.addToListId);\n // if(i >= 0){\n // var item = this.WarehouseValidityList[i];\n \n // this.WarehouseValidityList.push(item); \n // this.WarehouseValidityList.splice(i,1);\n // this.addToListId = 0;\n // }\n // }\n getItemsById(Id:any):any{\n if(Id>0)\n {\n return this.itemsData.find(i=>i.Id===Id)\n }\n else\n {\n return new WarehouseValidityModel();\n }\n }\n type = 0;\n visable = '';\n visable2 = '';\n visable3 = '';\n // setValidity(){\n // if(this.visable == \"موظف محدد\"){\n // this.type = 2;\n // }\n // else if (this.visable==\"دور وظيفي محدد\")\n // {\n // this.type=3;\n // }\n // }\n AddEmployeesOnClick(){\n \n var EmployeesList= new WarehouseEmployeesModel();\n EmployeesList.Id = 0, \n EmployeesList.EmployeeId = 0, \n EmployeesList.WarehouseId =0, \n\n this.EmployeesData.push(EmployeesList);\n EmployeesList={};\n \n }\n AddBranchesOnClick(){\n \n var BrancheList= new WarehouseBrancheModel();\n BrancheList.Id = 0, \n BrancheList.BranchId =0, \n BrancheList.WarehouseId =0, \n \n this.BranchesData.push(BrancheList);\n BrancheList={};\n \n }\n AddJobRoleOnClick(){\n \n var JobRoleList= new WarehouseJobRoleModel();\n JobRoleList.Id = 0, \n JobRoleList.JobRoleId =0, \n JobRoleList.WarehouseId =0, \n this.BranchesData.push(JobRoleList);\n JobRoleList={};\n \n }\n \n // addItems(){\n \n // }\n \n goBack(){\n this.router.navigate(['app/aio/Inventory/List-All-Warehouse']);\n }\n Save(){\n \n debugger;\n this.currentAction = 'loading'; \n this.tableEngine.savedPage = this.tableEngine.currentPage;\n this.modelObject = new WarehouseModel();\n this.modelObject.Name=this.mainForm.getRawValue().Name;\n this.modelObject.Address=this.mainForm.getRawValue().Address;\n this.modelObject.IsPrime=this.mainForm.getRawValue().IsPrime;\n this.modelObject.Mobil=this.mainForm.getRawValue().Mobil;\n this.modelObject.Phone=this.mainForm.getRawValue().Phone;\n this.modelObject.Description=this.mainForm.getRawValue().Description;\n this.modelObject.Fax=this.mainForm.getRawValue().Fax;\n this.modelObject.Branches=this.BranchesData;\n this.modelObject.Employees=this.EmployeesData;\n this.modelObject.JobRoles=this.JobRoleData;\n console.log(this.modelObject); \n this.modelObject.Id=0;\n console.log(this.modelObject);\n \n if(this.Id == 0){\n this.modelService.insert(this.modelObject)\n .subscribe(data => {\n this.router.navigate(['app/aio/Inventory/List-All-Warehouse']);\n })\n }\n else{\n debugger;\n this.modelService.update(this.modelObject)\n .subscribe(data => {\n \n this.router.navigate(['app/aio/Inventory/List-All-Warehouse']);\n })\n }\n }\n \n}\n","\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    {{ \"Create Price List\" | translate }}
    \n
    \n \n {{ \"Back\" | translate }}\n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n
    \n \n
    \n
    \n \n \n \n {{ \"NameRequired\" | translate }}\n
    \n
    \n
    \n \n \n \n {{ \"AddressRequired\" | translate }}\n
    \n
    \n \n
    \n \n \n \n {{ \"MobilRequired\" | translate }}\n
    \n
    \n \n
    \n \n \n \n {{ \"PhoneRequired\" | translate }}\n
    \n
    \n \n
    \n \n \n \n {{ \"FaxRequired\" | translate }}\n
    \n
    \n \n
    \n \n \n \n {{ \"DescriptionRequired\" | translate }}\n
    \n \n \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ","import { Component, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationsService } from 'angular2-notifications';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { TableEngine } from 'src/app/invoices/TableEngine';\nimport { SidePopupComponent } from 'src/app/views/invoice/side-popup/side-popup.component';\nimport { WarehouseModel } from '../../models/WarehouseModel';\nimport { WarehouseValidityModel } from '../../models/WarehouseValidityModel';\nimport { WarehouseService } from '../warehouse-service.service';\nimport{JobRoleModel} from 'src/app/Invintory/models/JobRoleModel';\nimport{BranchesModel} from 'src/app/Invintory/models/BranchesModel';\nimport{EmployeesModel} from 'src/app/Invintory/models/EmployeesModel';\nimport{ValidityService} from '../validity.service';\nimport{WarehouseEmployeesModel} from 'src/app/Invintory/models/WarehousEmployees';\nimport{WarehouseBrancheModel} from 'src/app/Invintory/models/WarehousBranches';\nimport{WarehouseJobRoleModel} from 'src/app/Invintory/models/WarehousJobRoles';\n\n\n@Component({\n // moduleId: module.id,\n selector: 'add-warehouse',\n templateUrl: 'add-warehouse.component.html',\n styleUrls: ['add-warehouse.component.scss']\n})\nexport class AddWarehouseComponent {\n Id=0;\n\n constructor(public router:Router, \n private fb:FormBuilder,\n private modelService: WarehouseService,\n private ValidityService: ValidityService,\n // private StoreItemsService: StoreItemsService, \n private notifications: NotificationsService, private translate: TranslateService,\n private route: ActivatedRoute\n ){\n this.Id = + route.snapshot.paramMap.get('Id'); \n }\n \n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n translationName: string = 'Item'\n sortableKeys = [];\n searchableKeys = ['Name', 'Address'];\n tableView: any = true;\n \n // StoreItemsModel:StoreItemsModel[]=[]; \n \n itemsData:WarehouseValidityModel[]=[];\n EmployeesData:WarehouseEmployeesModel[]=[];\n BranchesData:WarehouseBrancheModel[]=[];\n JobRoleData:WarehouseJobRoleModel[]=[];\n modelObject: WarehouseModel = new WarehouseModel();\n // ItemsModel:ItemsModel[]=[]\n Form:FormGroup;\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n prevAction = ''; \n addToListId = 0;\n ItemsBalanceHeaderId=0;\n ItemBalanceId=0;\n currentFormMode: string = '';\n \n \n ogData: WarehouseModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Name: new FormControl(),\n Address: new FormControl(),\n Mobil: new FormControl(),\n Phone:new FormControl(),\n Fax:new FormControl(),\n Description:new FormControl(),\n EmployeeId:new FormControl(),\n BranchId:new FormControl(),\n JobRoleId:new FormControl(),\n IsPrime:new FormControl(),\n \n });\n \n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n // this.getAllCountryCode(); \n \n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: this.lang === 'ar-EG' ? 'Name' : 'Name' }; \n this.sortableKeys = [ \n // { label: 'Date', property: 'Date' }, \n { label: 'Name', property: this.lang === 'ar-EG' ? 'Name' : 'Name' }, \n { label: 'Address', property: this.lang === 'ar-EG' ? 'Address' : 'Address' }, \n { label: 'Mobil', property: this.lang === 'ar-EG' ? 'Mobil' : 'Mobil' }, \n { label: 'Phone', property: this.lang === 'ar-EG' ? 'Phone' : 'Phone' }, \n { label: 'Fax', property: this.lang === 'ar-EG' ? 'Fax' : 'Fax' }, \n { label: 'IsPrime', property: 'IsPrime' },\n ];\n \n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n //this.tableEngine.modelObject = {}\n // console.log(\"KEEEEEEEEEEEEMO\");\n \n // console.log(this.tableEngine.modelObject);\n // console.log(this.tableEngine.modelObject.constructor.name);\n \n this.loadServices();\n this.modelService.getAllWarehouseValidity() \n .subscribe(data=>\n {\n this.itemsData=data\n console.log('WarehouseValidity',this.itemsData)\n }); \n this.mainForm = this.createForm(this.modelObject);\n this.ValidityService.getAllBranches().subscribe(data=>{\n this.BranchesData=data\n })\n this.ValidityService.getAllEmployees().subscribe(data=>{\n this.EmployeesData=data\n })\n this.ValidityService.getAllJobRoles().subscribe(data=>{\n this.JobRoleData=data\n })\n } \n \n createForm(modelObject):FormGroup{\n debugger;\n return this.fb.group({\n // Id:[this.ItemBalance.Id],\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0], \n Name: [modelObject.Name, Validators.compose([Validators.required, Validators.minLength(2)])],\n Address: [modelObject.Address, Validators.compose([Validators.required])],\n Mobil:[modelObject.Mobil, Validators.required],\n Phone:[modelObject.Phone, Validators.required],\n Fax:[modelObject.Fax],\n Description:[modelObject.Description], \n IsPrime: [modelObject.IsPrime==null?true:modelObject.IsPrime],\n \n }) \n }\n \n // ListStoreItems:StoreItemsModel[]=[]; \n // PriceList:WarehouseModel[]=[]; \n WarehouseValidityList:WarehouseValidityModel[]=[];\n loadServices(){\n // debugger;\n this.currentAction = 'loading';\n this.tableEngine.loadData(); \n \n \n }\n // addToList(){ \n // debugger; \n // var i = this.WarehouseValidityList.findIndex(x=>x.Id == this.addToListId);\n // if(i >= 0){\n // var item = this.WarehouseValidityList[i];\n \n // this.WarehouseValidityList.push(item); \n // this.WarehouseValidityList.splice(i,1);\n // this.addToListId = 0;\n // }\n // }\n getItemsById(Id:any):any{\n if(Id>0)\n {\n return this.itemsData.find(i=>i.Id===Id)\n }\n else\n {\n return new WarehouseValidityModel();\n }\n }\n type = 0;\n visable = '';\n visable2 = '';\n visable3 = '';\n // setValidity(){\n // if(this.visable == \"موظف محدد\"){\n // this.type = 2;\n // }\n // else if (this.visable==\"دور وظيفي محدد\")\n // {\n // this.type=3;\n // }\n // }\n AddEmployeesOnClick(){\n \n var EmployeesList= new WarehouseEmployeesModel();\n EmployeesList.Id = 0, \n EmployeesList.EmployeeId = 0, \n EmployeesList.WarehouseId =0, \n\n this.EmployeesData.push(EmployeesList);\n EmployeesList={};\n \n }\n AddBranchesOnClick(){\n \n var BrancheList= new WarehouseBrancheModel();\n BrancheList.Id = 0, \n BrancheList.BranchId =0, \n BrancheList.WarehouseId =0, \n this.BranchesData.push(BrancheList);\n BrancheList={};\n \n }\n AddJobRoleOnClick(){\n \n var JobRoleList= new WarehouseJobRoleModel();\n JobRoleList.Id = 0, \n JobRoleList.JobRoleId =0, \n JobRoleList.WarehouseId =0, \n this.BranchesData.push(JobRoleList);\n JobRoleList={};\n \n }\n \n // addItems(){\n \n // }\n \n goBack(){\n this.router.navigate(['app/aio/Inventory/List-All-Warehouse']);\n }\n Save(){\n \n debugger;\n this.currentAction = 'loading'; \n this.tableEngine.savedPage = this.tableEngine.currentPage;\n this.modelObject = new WarehouseModel();\n this.modelObject.Name=this.mainForm.getRawValue().Name;\n this.modelObject.Address=this.mainForm.getRawValue().Address;\n this.modelObject.IsPrime=this.mainForm.getRawValue().IsPrime;\n this.modelObject.Mobil=this.mainForm.getRawValue().Mobil;\n this.modelObject.Phone=this.mainForm.getRawValue().Phone;\n this.modelObject.Description=this.mainForm.getRawValue().Description;\n this.modelObject.Fax=this.mainForm.getRawValue().Fax;\n this.modelObject.Branches=this.BranchesData;\n this.modelObject.Employees=this.EmployeesData;\n this.modelObject.JobRoles=this.JobRoleData;\n console.log(this.modelObject); \n this.modelObject.Id=0;\n console.log(this.modelObject);\n \n if(this.Id == 0){\n this.modelService.insert(this.modelObject)\n .subscribe(data => {\n this.router.navigate(['app/aio/Inventory/List-All-Warehouse']);\n })\n }\n else{\n debugger;\n this.modelService.update(this.modelObject)\n .subscribe(data => {\n \n this.router.navigate(['app/aio/Inventory/List-All-Warehouse']);\n })\n }\n }\n}\n","
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    {{ \"Create Warehouse\" | translate }}
    \n
    \n \n {{ \"Back\" | translate }}\n \n \n {{ \"Save\" | translate }}\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n
    \n \n
    \n
    \n \n \n \n {{ \"NameRequired\" | translate }}\n
    \n
    \n
    \n \n \n \n {{ \"AddressRequired\" | translate }}\n
    \n
    \n\n
    \n \n \n \n {{ \"MobilRequired\" | translate }}\n
    \n
    \n\n
    \n \n \n \n {{ \"PhoneRequired\" | translate }}\n
    \n
    \n\n
    \n \n \n \n {{ \"FaxRequired\" | translate }}\n
    \n
    \n\n
    \n \n \n \n {{ \"DescriptionRequired\" | translate }}\n
    \n \n \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport{BrandModel}from '../models/BrandModel';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BrandServiceService {\n\n\n constructor(private http:HttpClient ) { }\n\n \n baseUrl = environment.baseApiUrl;\n token = localStorage.getItem(\"token\");\n httpOptions = {\n headers: new HttpHeaders({\n // 'Content-Type': 'application/json; charset=utf-8',\n // 'Authorization': \"Bearer \" + token,\n \"Authorization\": \"Bearer \" + this.token,\n \"Content-Type\": \"application/json\"\n })\n };\n\n getAll(): Observable {\n \n return this.http\n .get(`${this.baseUrl}Brand/GetAll`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ngetById(Id:number): Observable {\n\n return this.http\n .get(`${this.baseUrl}Brand/GetById/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ninsert(payload: BrandModel): Observable {\n \n return this.http\n .post(`${this.baseUrl}Brand/Insert`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\nupdate(payload: BrandModel): Observable {\n return this.http\n .post(`${this.baseUrl}Brand/Update`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ndelete(Id:number): Observable {\n return this.http\n .get(`${this.baseUrl}Brand/Delete/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\n deleteList(payload: BrandModel []): Observable {\n console.log(JSON.stringify(payload))\n return this.http\n .post(`${this.baseUrl}Brand/DeleteList`,JSON.stringify(payload),this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { environment } from 'src/environments/environment';\nimport{CategoryModel} from '../models/CategoryModel';\nimport { catchError } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CategoryServiceService {\n\n\n constructor(private http:HttpClient ) { }\n\n \n baseUrl = environment.baseApiUrl;\n token = localStorage.getItem(\"token\");\n httpOptions = {\n headers: new HttpHeaders({\n // 'Content-Type': 'application/json; charset=utf-8',\n // 'Authorization': \"Bearer \" + token,\n \"Authorization\": \"Bearer \" + this.token,\n \"Content-Type\": \"application/json\"\n })\n };\n\n getAll(): Observable {\n \n return this.http\n .get(`${this.baseUrl}Category/GetAll`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ngetById(Id:number): Observable {\n\n return this.http\n .get(`${this.baseUrl}Category/GetById/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ninsert(payload: CategoryModel): Observable {\n \n return this.http\n .post(`${this.baseUrl}Category/Insert`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\nupdate(payload: CategoryModel): Observable {\n return this.http\n .post(`${this.baseUrl}Category/Update`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ndelete(Id:number): Observable {\n return this.http\n .get(`${this.baseUrl}Category/Delete/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\n deleteList(payload: CategoryModel []): Observable {\n console.log(JSON.stringify(payload))\n return this.http\n .post(`${this.baseUrl}Category/DeleteList`,JSON.stringify(payload),this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }}\n\n","import { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { TableEngine } from 'src/app/invoices/TableEngine';\nimport { DataFilterer } from 'src/app/views/invoice/shared/DataFilterer';\nimport { DataPaginator } from 'src/app/views/invoice/shared/DataPaginator';\nimport { DataSorter } from 'src/app/views/invoice/shared/DataSorter';\nimport { SidePopupComponent } from 'src/app/views/invoice/side-popup/side-popup.component';\nimport { WarehouseModel } from '../../models/WarehouseModel';\nimport {WarehouseService} from '../warehouse-service.service';\n\n@Component({\n // moduleId: module.id,\n selector: 'list-all-warehouse',\n templateUrl: 'list-all-warehouse.component.html',\n styleUrls: ['list-all-warehouse.component.scss']\n})\nexport class ListAllWarehouseComponent {\n Id=0;\n\n constructor(private formBuilder: FormBuilder, private modelService: WarehouseService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService, private router : Router,\n private route: ActivatedRoute\n ) { this.Id = + route.snapshot.paramMap.get('Id'); }\n\ntableEngine = new TableEngine(this.translate, this.notifications);\ncurrentScreen: any = 'Table';\ntableView: any = true;\nPriceList : WarehouseModel[]=[];\n\n\ntranslationName: string = 'Warehouse' \nsortableKeys = [];\nsearchableKeys = ['Name','Address'];\nmodelObject: WarehouseModel = new WarehouseModel();\n\ndebugMode = true;\n\nogData: WarehouseModel[] = [];\nmainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Name: new FormControl(),\n Address: new FormControl(),\n Mobil: new FormControl(),\n Phone:new FormControl(),\n Fax:new FormControl(),\n Description:new FormControl(),\n EmployeeId:new FormControl(),\n BranchId:new FormControl(),\n JobRoleId:new FormControl(),\n IsPrime:new FormControl(),\n});\n\n\ndeclare lang: any;\ndeclare itemOrder: any;\ncurrentAction = '';\ncurrentFormMode: string = '';\nsavedPage = 0;\ncurrentPage = 1; \ndeletionList: any[] = [];\n\n@ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n@ViewChild('delModal', { static: true }) delModal: ModalDirective;\n@ViewChild('smallModal', { static: true }) smallModal: ModalDirective = null;\nformPresentationModal: any;\nngOnInit(): void {\n // this.getAllCountryCode(); \n \n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: this.lang === 'ar-EG' ? 'Name' : 'Name' }; \n this.sortableKeys = [ \n // { label: 'Date', property: 'Date' }, \n { label: 'Name', property: this.lang === 'ar-EG' ? 'Name' : 'Name' }, \n { label: 'Address', property: this.lang === 'ar-EG' ? 'Address' : 'Address' }, \n { label: 'Mobil', property: this.lang === 'ar-EG' ? 'Mobil' : 'Mobil' }, \n { label: 'IsPrime', property: 'IsPrime' },\n \n ];\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n //this.tableEngine.modelObject = {}\n console.log(\"KEEEEEEEEEEEEMO\");\n \n console.log(this.tableEngine.modelObject);\n console.log(this.tableEngine.modelObject.constructor.name);\n \n this.loadServices();\n} \n\nshowInfoModalRef(Id: any): void {\n this.router.navigate(['app/aio/Inventory/Info-Warehouse',Id])\n }\n showDelModal(Id: any): void {\n debugger;\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n \n }\n \n showModal(Id, action) {\n \n if (action === 'Add') { \n debugger;\n // this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n this.router.navigate(['app/aio/Inventory/Add-Warehouse/',0]) \n }\n else if (action === 'Edit') {\n debugger;\n this.router.navigate(['app/aio/Inventory/Add-Warehouse/',Id])\n \n }\n else if (action === 'Info') {\n debugger;\n \n this.router.navigate(['app/aio/Inventory/Info-Warehouse/',Id])\n \n \n }\n //this.mainForm.get('IsActive').setValue(true);\n console.log(\"component object\", this.modelObject);\n console.log(\"TE object\", this.tableEngine.modelObject);\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n \n }\n \n \n \n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject(){\n debugger;\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.delModal.hide();\n // this.finalizeDeletion();\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\"));\n if (this.sideModalRef === undefined) {\n \n this.tableEngine.smallModal.hide();\n \n } else {\n \n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n \n// addObject() {\n// // debugger;\n// console.log(this.mainForm.getRawValue().IsActive);\n// console.log(\"before\",this.modelObject);\n// this.currentAction = 'loading';\n// this.modelObject = new WarehouseModel();\n// this.modelObject.Id = 0;\n// this.modelObject.Name = this.mainForm.getRawValue().Name;\n// this.modelObject.Address = this.mainForm.getRawValue().Address;\n// this.modelObject.Mobil = this.mainForm.getRawValue().Mobil;\n// console.log(\"after\",this.modelObject);\n \n// this.executeAddObject();\n// }\n \n// executeAddObject() {\n// console.log(this.modelObject);\n \n// this.modelService.insert(this.modelObject).subscribe(result => {\n// if (result === true) {\n// this.tableEngine.loadData();\n// this.currentAction = '';\n// this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n// if (this.sideModalRef === undefined) {\n \n// this.tableEngine.smallModal.hide();\n \n// } else {\n \n// this.tableEngine.sideModalRef.modalRef.hide();\n// }\n// }\n// else {\n// this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n// this.currentAction = '';\n// }\n// })\n// }\n \n editObject() {\n debugger;\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n \n let tempObj = new WarehouseModel({\n Id: this.modelObject.Id,\n Name: this.mainForm.getRawValue().Name,\n Address: this.mainForm.getRawValue().Address,\n Mobil: this.mainForm.getRawValue().Mobil,\n Phone: this.mainForm.getRawValue().Phone,\n Description: this.mainForm.getRawValue().Description,\n Fax: this.mainForm.getRawValue().Fax,\n EmployeeId: this.mainForm.getRawValue().EmployeeId,\n BranchId: this.mainForm.getRawValue().BranchId,\n JobRoleId:this.mainForm.getRawValue().JobRoleId,\n IsPrime: this.mainForm.getRawValue().IsPrime,\n\n \n // PostalCode : this.mainForm.getRawValue().PostalCode\n });\n \n if (JSON.stringify(tempObj) != JSON.stringify(this.modelObject)) {\n this.executeEditObject(tempObj);\n }\n else {if (this.sideModalRef === undefined) {\n \n this.tableEngine.smallModal.hide();\n \n \n } else {\n \n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n }\n \n executeEditObject(Object) {\n console.log(\"ObjectObject\", Object);\n \n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n if (this.sideModalRef === undefined) {\n \n this.tableEngine.smallModal.hide();\n \n } else {\n \n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n \n loadServices(){\n // debugger;\n this.currentAction = 'loading';\n this.tableEngine.loadData(); \n \n \n }\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n \n selected : any[] = [];\n selectAllState = '';\n SearchFrom: Date = null;\n SearchTo: Date = null;\n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n SearchTerm: any = '';\n \n clearSearch() {\n this.SearchFrom = null;\n this.SearchTo = null;\n }\n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n filterData() {\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n console.log('paginatedData',this.paginatedData)\n }\n isSelected(p: WarehouseModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n \n onSelect(item: WarehouseModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n \n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n \n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n \n prepChangeSort(sortKey) {\n this.SearchFrom = null;\n this.SearchTo = null;\n \n \n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n \n getFormattedDate(dateString: any){\n let splitDate: number[] = dateString.toString().split(\"/\");\n \n return new Date(splitDate[2], splitDate[1]-1, splitDate[0])\n }\n ///////////////////////////////////////////////////////\n \n displayMode = 'list';\n changeDisplayMode(mode): void {\n this.displayMode = mode;\n }\n itemsPerPageChange(perPage: number): void {\n this.tableEngine.paginateData(perPage, 1)\n }\n\n}\n","\n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n\n
    \n
    \n
    \n
    \n
    \n \n \n \n\n \n \n\n \n \n\n \n \n {{ \"Address\" | translate }}\n \n \n\n \n \n \n {{ \"Mobil\" | translate }}\n \n \n \n\n \n \n \n {{ \"IsPrime\" | translate }}\n \n \n \n\n\n \n \n \n {{ \"ResultCount\" | translate }}\n \n \n \n {{ tableEngine.itemsPerPage }}\n \n \n \n {{ item }}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n \n  \n \n
    \n \n \n \n \n
  • \n \n \n {{ \"DeleteSelected\" | translate }}\n \n
  • \n \n
    \n
    \n
    \n \n {{ \"Name\" | translate }}\n \n \n \n \n \n \n \n \n \n
    \n \n \n \n \n \n {{\n lang === \"ar-EG\" ? obj.Name : obj.Name\n }}\n {{obj.Address}}{{obj.Mobil}}\n {{'Prime' | translate}}\n {{'NotPrime' | translate}}\n \n \n \n \n \n \n
    \n \n
    \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n\n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { BranchesModel } from '../models/BranchesModel';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ValidityService {\n\n\n\n constructor(private http:HttpClient ) { }\n\n \n baseUrl = environment.baseApiUrl;\n token = localStorage.getItem(\"token\");\n httpOptions = {\n headers: new HttpHeaders({\n // 'Content-Type': 'application/json; charset=utf-8',\n // 'Authorization': \"Bearer \" + token,\n \"Authorization\": \"Bearer \" + this.token,\n \"Content-Type\": \"application/json\"\n })\n };\n\n getAllBranches(): Observable {\n \n return this.http\n .get(`${this.baseUrl}Branches/GetAll`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ngetBranchesById(Id:number): Observable {\n\n return this.http\n .get(`${this.baseUrl}Branches/GetById/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\n\ngetAllEmployees(): Observable {\n \n return this.http\n .get(`${this.baseUrl}Employees/GetAll`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ngetEmployeesById(Id:number): Observable {\n\n return this.http\n .get(`${this.baseUrl}Employees/GetById/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\n\n\n\ngetAllJobRoles(): Observable {\n \n return this.http\n .get(`${this.baseUrl}JobRole/GetAll`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ngetJobRoleById(Id:number): Observable {\n\n return this.http\n .get(`${this.baseUrl}JobRole/GetById/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\n// insert(payload: BranchesModel): Observable {\n \n// return this.http\n// .post(`${this.baseUrl}warehouse/Insert`, payload,this.httpOptions)\n// .pipe(catchError((error: any) => Observable.throw(error => error)));\n// }\n\n// update(payload: BranchesModel): Observable {\n// return this.http\n// .post(`${this.baseUrl}warehouse/Update`, payload,this.httpOptions)\n// .pipe(catchError((error: any) => Observable.throw(error => error)));\n// }\n\n// delete(Id:number): Observable {\n// return this.http\n// .get(`${this.baseUrl}warehouse/Delete/${Id}`,this.httpOptions)\n// .pipe(catchError((error: any) => Observable.throw(error => error)));\n// }\n\n// deleteList(payload: BranchesModel []): Observable {\n// console.log(JSON.stringify(payload))\n// return this.http\n// .post(`${this.baseUrl}warehouse/DeleteList`,JSON.stringify(payload),this.httpOptions)\n// .pipe(catchError((error: any) => Observable.throw(error => error)));\n// }\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport {WarehouseModel} from '../models/WarehouseModel';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class WarehouseService {\n\n\n constructor(private http:HttpClient ) { }\n\n \n baseUrl = environment.baseApiUrl;\n token = localStorage.getItem(\"token\");\n httpOptions = {\n headers: new HttpHeaders({\n // 'Content-Type': 'application/json; charset=utf-8',\n // 'Authorization': \"Bearer \" + token,\n \"Authorization\": \"Bearer \" + this.token,\n \"Content-Type\": \"application/json\"\n })\n };\n\n getAll(): Observable {\n \n return this.http\n .get(`${this.baseUrl}warehouse/GetAll`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ngetAllWarehouseValidity(): Observable {\n \n return this.http\n .get(`${this.baseUrl}WarehouseValidity/GetAll`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ngetById(Id:number): Observable {\n\n return this.http\n .get(`${this.baseUrl}warehouse/GetById/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ngetWarehouseValidityById(Id:number): Observable {\n\n return this.http\n .get(`${this.baseUrl}WarehouseValidity/GetById/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\ninsert(payload: WarehouseModel): Observable {\n \n return this.http\n .post(`${this.baseUrl}warehouse/Insert`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\nupdate(payload: WarehouseModel): Observable {\n return this.http\n .post(`${this.baseUrl}warehouse/Update`, payload,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\ndelete(Id:number): Observable {\n return this.http\n .get(`${this.baseUrl}warehouse/Delete/${Id}`,this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n}\n\n deleteList(payload: WarehouseModel []): Observable {\n console.log(JSON.stringify(payload))\n return this.http\n .post(`${this.baseUrl}warehouse/DeleteList`,JSON.stringify(payload),this.httpOptions)\n .pipe(catchError((error: any) => Observable.throw(error => error)));\n }}\n","import { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { PackageModel } from '../../models/package.model';\nimport { DataFilterer } from 'src/app/views/invoice/shared/DataFilterer';\nimport { DataSorter } from 'src/app/views/invoice/shared/DataSorter';\nimport { DataPaginator } from 'src/app/views/invoice/shared/DataPaginator';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { SidePopupComponent } from 'src/app/views/invoice/side-popup/side-popup.component';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { of } from 'rxjs';\n\n@Component({\n selector: 'all-packages',\n templateUrl: 'all-packages.component.html',\n styleUrls: ['all-packages.component.scss']\n})\nexport class AllPackagesComponent {\n constructor(private formBuilder: FormBuilder, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService\n ) { //Additional services for City and Country\n }\n currentScreen: any = 'Table';\n \n translationName: string = 'Package'\n \n sortableKeys = [];\n searchableKeys = ['NameEn', 'NameAr'];\n \n modelObject: PackageModel = new PackageModel({});\n ogData: PackageModel [] = [ \n {Id:5, Name:'باقة 1', Status:'Active', Price:10000 }, \n {Id:1, Name:'باقة 2', Status:'Active', Price:20000 },\n {Id:2, Name:'باقة 3', Status:'Active', Price:30000 },\n {Id:3, Name:'باقة 4', Status:'Active', Price:40000 }, \n {Id:4, Name:'باقة 5', Status:'Active', Price:50000 } \n ];\n // ogData: PackageModel [] = [ ];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Name: new FormControl(),\n Type: new FormControl(),\n Status: new FormControl(),\n Price: new FormControl(),\n PeriodValue: new FormControl(),\n PeriodType: new FormControl(),\n Description: new FormControl(),\n });\n \n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: this.lang === 'ar-EG' ? 'Name' : 'Name' };\n this.sortableKeys = [\n { label: 'Name', property: this.lang === 'ar-EG' ? 'Name' : 'Name' },\n { label: 'Status', property: 'Status' },\n { label: 'Price', property: 'Price' },\n ];\n //this.loadData();\n this.loadServices();\n }\n \n createForm(): FormGroup {\n return this.formBuilder.group({\n Id: [this.modelObject.Id >= 0 ? this.modelObject.Id : 0],\n Name: [this.modelObject.Name],\n Description: [this.modelObject.Description],\n PeriodType: [this.modelObject.PeriodType],\n PeriodValue: [this.modelObject.PeriodValue],\n Price: [this.modelObject.Price],\n Status: [this.modelObject.Status],\n Type: [this.modelObject.Type],\n });\n }\n \n addObject() {\n //prevent multiclick submits. enable again after API response.\n this.currentAction = '';\n \n this.modelObject = new PackageModel();\n this.modelObject = this.mainForm.getRawValue();\n this.modelObject.Id = 0;\n \n this.executeAddObject();\n }\n \n executeAddObject(){\n this.ogData.push(this.modelObject);\n }\n \n editObject() {\n this.savedPage = this.currentPage;\n \n \n }\n \n executeEditObject(Object)\n {\n \n }\n \n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = '';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject(){\n \n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n \n //Get any additional data here\n loadServices(){ \n this.currentAction = '';\n this.loadData();\n }\n \n lang: string;\n currentFormMode: string = '';\n currentAction: string = '';\n \n \n //ogData = [];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n \n SelectAllBox: any = false;\n \n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n itemOrder: any;\n orderAsc: boolean = true;\n \n currentPage = 1;\n savedPage = 0;\n \n \n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n \n loadData() {\n this.sortData();\n this.loadSearch();\n this.currentAction = '';\n \n }\n \n sortData() {\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n \n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n \n filterData() {\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n \n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n \n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n \n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n \n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n \n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n \n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n \n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n \n isSelected(p: PackageModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n \n onSelect(item: PackageModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n \n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n \n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent;\n @ViewChild('delModal') delModal: ModalDirective;\n showAddNewModalRef(): void {\n this.currentFormMode = 'Add'\n this.modelObject = new PackageModel;\n this.mainForm = this.createForm();\n this.sideModalRef.show();\n }\n \n showEditModalRef(Id: any): void {\n this.currentFormMode = 'Edit'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.sideModalRef.show();\n }\n \n showInfoModalRef(Id: any): void {\n this.currentFormMode = 'Info'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.sideModalRef.show();\n }\n \n deletionList: PackageModel[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n \n SearchTerm: any = '';\n \n \n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n \n this.deletionList = [];\n this.selected = [];\n \n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n \n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n \n loadAllData() {\n this.loadSearch();\n\n }\n \n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n }\n ","\n
    \n
    \n
    \n

    \n {{currentFormMode+translationName | translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n \n
    \n \n
    \n \n
    \n \n \n {{'Active'|translate}}\n \n {{'Not Active'|translate}}\n \n
    \n
    \n \n
    \n \n \n \n\n \n
    \n
    \n \n \n \n\n \n
    \n
    \n \n
    \n \n \n {{'Weekly'|translate}}\n \n {{'Monthly'|translate}}\n \n {{'Annual'|translate}}\n \n
    \n
    \n\n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Name\" | translate}}\n \n
    \n {{\"Status\" | translate}}\n \n
    \n {{\"Price\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{obj.Name}}{{obj.Status | translate}}{{obj.Price}}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","export class PackageModel{\r\n Id?:number;\r\n Name?:string;\r\n Type?:string;\r\n Status?:string;\r\n Price?:number;\r\n PeriodValue?:number;\r\n PeriodType?:string;\r\n Description?:string;\r\n constructor(item ?: PackageModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.Name = item.Name ? item.Name : '';\r\n this.Status = item.Status ? item.Status : '';\r\n this.Type = item.Type ? item.Type : '';\r\n this.Description = item.Description ? item.Description : '';\r\n this.PeriodValue = item.PeriodValue ? item.PeriodValue : 0;\r\n this.PeriodType = item.PeriodType ? item.PeriodType : '';\r\n this.Price = item.Price ? item.Price : 0;\r\n }\r\n}","\r\nimport { SortablejsModule } from 'ngx-sortablejs';\r\nimport { SearchPipePipe } from './../pipes/search-pipe.pipe';\r\nimport { PagesContainersModule } from './../containers/pages/pages.containers.module';\r\nimport { ComponentsCarouselModule } from './../components/carousel/components.carousel.module';\r\nimport { SharedModule } from './../shared/shared.module';\r\nimport { environment } from './../../environments/environment';\r\nimport { LayoutContainersModule } from './../containers/layout/layout.containers.module';\r\nimport { NgModule } from '@angular/core';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { AngularFireModule } from '@angular/fire';\r\nimport { CommonModule, DatePipe } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { ModalModule } from 'ngx-bootstrap/modal';\r\nimport { ArchwizardModule } from 'angular-archwizard';\r\nimport { AngularFireAuthModule } from '@angular/fire/auth';\r\nimport { AngularFireAuthGuardModule } from '@angular/fire/auth-guard';\r\nimport { FormsModule as FormsModuleAngular } from '@angular/forms';\r\nimport { TabsModule } from 'ngx-bootstrap/tabs';\r\nimport { HeadroomModule } from '@ctrl/ngx-headroom';\r\nimport { ScrollToModule } from '@nicky-lenaers/ngx-scroll-to';\r\nimport { NgxDatatableModule } from '@swimlane/ngx-datatable';\r\nimport { CollapseModule } from 'ngx-bootstrap/collapse';\r\nimport { PopoverModule } from 'ngx-bootstrap/popover';\r\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { SidePopupComponent } from '../views/app/aio/shared/side-popup/side-popup.component';\r\nimport { PaginationConfig, PaginationModule } from 'ngx-bootstrap/pagination';\r\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\r\nimport { SimpleNotificationsModule } from 'angular2-notifications';\r\nimport {MatTabsModule} from '@angular/material/tabs';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { FileUploadModule } from 'ng2-file-upload';\r\nimport { AccordionModule } from 'ngx-bootstrap/accordion';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { RatingModule } from 'ngx-bootstrap/rating';\r\nimport { ComponentsPlayerModule } from '../components/player/components.player.module';\r\nimport { LightboxModule } from 'ngx-lightbox';\r\nimport { RouterModule } from '@angular/router';\r\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\r\nimport { BootstrapModule } from '../components/bootstrap/bootstrap.module';\r\nimport { TimepickerModule } from 'ngx-bootstrap/timepicker';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { SubscriptionRoutingModule } from './subscription.routing';\r\nimport { AllPackagesComponent } from './packages/components/all-packages/all-packages.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n SubscriptionRoutingModule,\r\n LayoutContainersModule,\r\n MatRadioModule,\r\n MatTabsModule,\r\n TranslateModule,\r\n HttpClientModule,\r\n AngularFireModule.initializeApp(environment.firebase),\r\n FormsModule,\r\n ReactiveFormsModule,\r\n ModalModule.forRoot(),\r\n ArchwizardModule,\r\n SharedModule,\r\n NgSelectModule,\r\n FormsModuleAngular,\r\n AngularFireAuthModule,\r\n AngularFireAuthGuardModule,\r\n ComponentsCarouselModule,\r\n TabsModule.forRoot(),\r\n HeadroomModule,\r\n ScrollToModule.forRoot(),\r\n NgxDatatableModule,\r\n CollapseModule,\r\n PagesContainersModule,\r\n PopoverModule.forRoot(),\r\n TooltipModule.forRoot(),\r\n BsDropdownModule,\r\n SortablejsModule,\r\n PaginationModule,\r\n SimpleNotificationsModule.forRoot(),\r\n SimpleNotificationsModule,\r\n LayoutContainersModule,\r\n MatTooltipModule,\r\n FileUploadModule,\r\n AccordionModule,\r\n MatTreeModule,\r\n MatIconModule,\r\n MatButtonModule ,\r\nMatCheckboxModule ,\r\nMatFormFieldModule,\r\nMatInputModule ,\r\nMatProgressBarModule,\r\n\r\nRatingModule.forRoot(),\r\nComponentsPlayerModule,\r\nLightboxModule,\r\nRouterModule,\r\nPerfectScrollbarModule,\r\nBootstrapModule,\r\n\r\nTimepickerModule.forRoot(),\r\n ],\r\n declarations: [\r\n AllPackagesComponent\r\n ],\r\n providers: [DatePipe,PaginationConfig],\r\n// bootstrap: [InvoiceComponent]\r\n})\r\nexport class SubscriptionModule { }\r\n","\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { NgModule } from '@angular/core';\r\nimport { AllPackagesComponent } from './packages/components/all-packages/all-packages.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '', component: AllPackagesComponent,\r\n \r\n }\r\n \r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class SubscriptionRoutingModule { }","import { Component, OnInit, Renderer2, AfterViewInit } from '@angular/core';\nimport { LangService } from './shared/lang.service';\nimport { environment } from 'src/environments/environment';\nimport { Injectable } from '@angular/core';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html'\n})\n\n@Injectable()\nexport class AppComponent implements OnInit, AfterViewInit {\n isMultiColorActive = environment.isMultiColorActive;\n constructor(private langService: LangService, private renderer: Renderer2) {\n\n }\n\n ngOnInit(): void {\n this.langService.init();\n }\n\n ngAfterViewInit(): void {\n setTimeout(() => {\n this.renderer.addClass(document.body, 'show');\n }, 1000);\n setTimeout(() => {\n this.renderer.addClass(document.body, 'default-transition');\n }, 1500);\n }\n}\n","
    \n\n \n\n \n\n
    ","import { ViewPurchaseInvoiceComponent } from './views/purchases/view-purchase-invoice/view-purchase-invoice.component';\nimport { SuppliersDirectoryComponent } from './views/purchases/reports/suppliers-directory/components/suppliers-directory/suppliers-directory.component';\nimport { PurchasesBySupplierComponent } from './views/purchases/reports/purchases-by-supplier/components/purchases-by-supplier/purchases-by-supplier.component';\nimport { HRModule } from './HR/hr.module';\nimport { TimepickerModule } from 'ngx-bootstrap/timepicker';\nimport { PosPortalComponent } from './views/points-of-sales/pos-portal/pos-portal.component';\nimport { CashierComponent } from './views/points-of-sales/cashier/cashier.component';\nimport { RestaurantsPosPortalComponent } from './views/restaurants/pos-portal/pos-portal.component';\nimport { RestaurantsCashierComponent } from './views/restaurants/cashier/cashier.component';\nimport { QuotationsComponent } from './views/sales/quotations/quotations.component';\nimport { AllClientBusinessExtractsComponent } from './Contracting/client-business-extract/components/all-client-business-extracts/all-client-business-extracts.component';\nimport { InvoicesModule } from './invoices/invoices.module';\nimport { PagesContainersModule } from './containers/pages/pages.containers.module';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { AppRoutingModule } from './app.routing';\nimport { AppComponent } from './app.component';\nimport { ViewsModule } from './views/views.module';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { CreateClientBusinessExtractComponent } from './Contracting/client-business-extract/components/create-client-business-extract/create-client-business-extract.component';\n\nimport { HttpClientModule } from '@angular/common/http';\nimport { AngularFireModule } from '@angular/fire';\nimport { environment } from 'src/environments/environment';\nimport { LayoutContainersModule } from './containers/layout/layout.containers.module';\nimport { CommonModule, DatePipe } from '@angular/common';\n\n\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { ModalModule } from 'ngx-bootstrap/modal';\n\nimport {SharedModule} from './shared/shared.module';\nimport { TableFilterPipe } from './pipes/table-filter.pipe';\nimport { SearchPipePipe } from './pipes/search-pipe.pipe';\nimport { ArchwizardModule } from 'angular-archwizard';\nimport { AngularFireAuthModule } from '@angular/fire/auth';\nimport { AngularFireAuthGuardModule } from '@angular/fire/auth-guard';\nimport { FormsModule as FormsModuleAngular } from '@angular/forms';\nimport { ComponentsCarouselModule } from './components/carousel/components.carousel.module';\nimport { TabsModule } from 'ngx-bootstrap/tabs';\nimport { HeadroomModule } from '@ctrl/ngx-headroom';\nimport { ScrollToModule } from '@nicky-lenaers/ngx-scroll-to';\nimport { NgxDatatableModule } from '@swimlane/ngx-datatable';\nimport { CollapseModule } from 'ngx-bootstrap/collapse';\nimport { PopoverModule } from 'ngx-bootstrap/popover';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { TranslateModule } from '@ngx-translate/core';\n\n\nimport { SimpleNotificationsModule } from 'angular2-notifications';\nimport { AllProjectsComponent } from './Contracting/projects/components/all-projects/all-projects.component';\nimport { CreateProjectComponent } from './Contracting/projects/components/create-project/create-project.component';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\nimport { SortablejsModule } from 'ngx-sortablejs';\nimport { PaginationModule } from 'ngx-bootstrap/pagination';\nimport { AccordionModule } from 'ngx-bootstrap/accordion';\nimport { CreateContractorBusinessExtractComponent } from 'src/app/Contracting/contractor-business-extract/components/create-contractor-business-extract/create-contractor-business-extract.component';\nimport { AllContractorBusinessExtractComponent } from 'src/app/Contracting/contractor-business-extract/components/all-contractor-business-extract/all-contractor-business-extract.component';\nimport { ContractorsComponent } from './Contracting/contractors/contractors.component';\nimport { ConstructionportalComponent } from './Contracting/constructionportal/constructionportal.component';\nimport { WorkitemsComponent } from './Contracting/workitems/workitems.component';\nimport { MatTreeModule } from '@angular/material/tree';\nimport { MatIconModule } from '@angular/material/icon'; \nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatFormFieldModule } from '@angular/material/form-field'; \nimport { MatInputModule } from '@angular/material/input';\n\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport {CdkTreeModule} from '@angular/cdk/tree';\nimport { SidePopupComponent } from './views/app/aio/shared/side-popup/side-popup.component';\nimport { PurchaseOrdersComponent } from './views/purchases/purchase-orders/purchase-orders.component';\nimport { PurchasesPortalComponent } from './views/purchases/purchases-portal/purchases-portal.component';\nimport { ReturnPurchasesComponent } from './views/purchases/return-purchases/return-purchases.component';\nimport { InvoicePurchaseComponent } from './views/purchases/invoice-purchase/invoice-purchase.component';\nimport { UploadInvoicePurchaseFileComponent } from './views/purchases/upload-invoice-purchase-file/upload-invoice-purchase-file.component';\nimport { RequestReceiptComponent } from './views/purchases/request-receipt/request-receipt.component';\nimport { RatingModule } from 'ngx-bootstrap/rating';\nimport { ComponentsPlayerModule } from './components/player/components.player.module';\nimport { LightboxModule } from 'ngx-lightbox';\nimport { RouterModule } from '@angular/router';\nimport { ListPageHeaderComponent } from './containers/pages/list-page-header/list-page-header.component';\nimport { SalesPortalComponent } from './views/sales/sales-portal/sales-portal.component';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\nimport { BootstrapModule } from 'src/app/components/bootstrap/bootstrap.module';\nimport { PaginationConfig } from 'ngx-bootstrap/pagination';\nimport { CashierOrdersComponent } from './views/points-of-sales/cashier-orders/cashier-orders.component'\nimport { CashierSessionsComponent } from './views/points-of-sales/cashier-sessions/cashier-sessions.component'\nimport { CashierStaffComponent } from './views/points-of-sales/cashier-staff/cashier-staff.component'\nimport { RestaurantsCashierOrdersComponent } from './views/restaurants/cashier-orders/cashier-orders.component'\nimport { RestaurantsCashierSessionsComponent } from './views/restaurants/cashier-sessions/cashier-sessions.component'\nimport { RestaurantsCashierStaffComponent } from './views/restaurants/cashier-staff/cashier-staff.component'\nimport { QuotationRequestsComponent } from './views/purchases/quotation-requests/quotation-requests.component';\nimport { PurchaseQuotationsComponent } from './views/purchases/purchase-quotations/purchase-quotations.component';\nimport {MatTooltipModule} from '@angular/material/tooltip';\nimport { CashierWorkShiftsComponent } from './views/points-of-sales/cashier-work-shifts/cashier-work-shifts.component';\nimport { ConfigPosComponent } from './views/points-of-sales/config-pos/config-pos.component';\nimport { ConfigPosGeneralComponent } from './views/points-of-sales/config-pos-general/config-pos-general.component'\nimport { CashRegistersComponent } from './views/points-of-sales/cashier-machines/cashier-machines.component';\nimport { RestaurantsCashierWorkShiftsComponent } from './views/restaurants/cashier-work-shifts/cashier-work-shifts.component';\nimport { RestaurantsConfigPosComponent } from './views/restaurants/config-pos/config-pos.component';\nimport { RestaurantsConfigPosGeneralComponent } from './views/restaurants/config-pos-general/config-pos-general.component'\nimport { RestaurantsCashRegistersComponent } from './views/restaurants/cashier-machines/cashier-machines.component';\nimport { UploadItemImageComponent } from './views/restaurants/upload-image/upload-image.component';\nimport { RestaurantCategoryComponent } from './views/restaurants/restaurant-category/restaurant-category.component';\nimport { RestaurantMenuItemComponent } from './views/restaurants/restaurant-menu-item/restaurant-menu-item.component';\n\nimport { FileUploadModule } from 'ng2-file-upload';\nimport { ConfigPurchasesComponent } from './views/purchases/config-purchases/config-purchases.component';\n\nimport { ListAllProductesComponent } from './Invintory/ProductesAndServices/list-all-productes/list-all-productes.component';\nimport { ListAllServicesComponent } from './Invintory/ProductesAndServices/ServicesComponents/list-all-services/list-all-services.component';\nimport { PriceListComponent } from './Invintory/Price List/price-list/price-list.component';\nimport{AddPriceListComponent} from './Invintory/Price List/add-price-list/add-price-list.component';\nimport { InfoPriceListComponent } from './Invintory/Price List/info-price-list/info-price-list.component';\nimport { ListAllWarehouseComponent } from './Invintory/warehouses/list-all-warehouse/list-all-warehouse.component';\nimport { AddWarehouseComponent } from './Invintory/warehouses/add-warehouse/add-warehouse.component';\nimport { InfoWarehouseComponent } from './Invintory/warehouses/Info-Warehouse/info-warehouse/info-warehouse.component';\nimport { AddProductesComponent } from './Invintory/ProductesAndServices/add-productes/add-productes.component';\nimport{InfoProductesComponent}from './Invintory/ProductesAndServices/info-productes/info-productes.component'\nimport { InvintoryDashbordComponent } from './Invintory/invintory-dashbord/invintory-dashbord.component';\nimport{InfoServiceComponent}from './Invintory/ProductesAndServices/ServicesComponents/info-service/info-service.component';\nimport{AddServicesComponent}from './Invintory/ProductesAndServices/ServicesComponents/add-services/add-services.component';\nimport{StockAdjustmentComponent} from './Invintory/ProductesAndServices/stock-adjustment/stock-adjustment.component';\nimport { StoreDataComponent } from './Inventory/components/store-data/store-data.component';\nimport { BalanceNameComponent } from './Inventory/components/Balance-Name/balance-name/balance-name.component';\nimport { ListItemBalanceComponent } from './Inventory/components/item-balance/list-item-balance/list-item-balance.component';\nimport { AddItemBalanceComponent } from './Inventory/components/item-balance/Add-Item/add-item-balance/add-item-balance.component';\nimport { AdditionAdjustmentComponent } from './Inventory/components/addition-adjustment/addition-adjustment.component';\nimport{BrandComponent}from 'src/app/Invintory/Category-And-Brand/brand/brand.component';\nimport{CategoryComponent}from 'src/app/Invintory/Category-And-Brand/category/category.component';\nimport {AddStoreBellComponent }from './Invintory/Stores-Bells/add-store-bell/add-store-bell.component';\nimport { InfoStoreBellComponent}from './Invintory/Stores-Bells/info-store-bell/info-store-bell.component';\nimport {ListStoreBellComponent }from './Invintory/Stores-Bells/list-store-bell/list-store-bell.component';\nimport {InfoInventoryManagementComponent} from './Invintory/InventoryManagement/info-inventory-management/info-inventory-management.component';\nimport{ AddInventoryManagementComponent}from './Invintory/InventoryManagement/add-inventory-management/add-inventory-management.component';\nimport { ListInventoryManagementComponent}from './Invintory/InventoryManagement/list-inventory-management/list-inventory-management.component';\nimport {InventorySheetComponent} from './Invintory/InventoryManagement/inventory-sheet/inventory-sheet.component';\nimport {TransferStoreBillComponent} from './Invintory/Stores-Bells/transfer-store-bill/transfer-store-bill.component';\nimport {SubtractStoreBillComponent}from './Invintory/Stores-Bells/subtract-store-bill/subtract-store-bill.component';\nimport{InfoTransferBillComponent }from './Invintory/Stores-Bells/info-transfer-bill/info-transfer-bill.component';\nimport {InfoSubtructBillComponent} from './Invintory/Stores-Bells/info-subtruct-bill/info-subtruct-bill.component';\n\nimport { AccountingModule } from './views/app/aio/acounting_components/accounting.module';\nimport { ShowSuppliersComponent } from './invoices/suppliers/show-suppliers/show-suppliers.component';\nimport { AddSuppliersComponent } from './invoices/suppliers/add-suppliers/add-suppliers.component';\nimport { SupplierBalancesComponent } from './views/purchases/reports/supplier-balances/components/supplier-balances/supplier-balances.component';\nimport { ProductPurchasesComponent } from './views/purchases/reports/product-purchases/components/product-purchases/product-purchases.component';\nimport { InventorySheetReportComponent } from './Invintory/reports/inventory-sheet/components/inventory-sheet-report/inventory-sheet-report.component';\nimport { SummaryOfInventoryOperationsComponent } from './Invintory/reports/summary-of-inventory-operations/components/summary-of-inventory-operations/summary-of-inventory-operations.component';\nimport { DetailedMovementOfInventoryComponent } from './Invintory/reports/detailed-movement-of-inventory/components/detailed-movement-of-inventory/detailed-movement-of-inventory.component';\nimport { EstimatedinventoryValueComponent } from './Invintory/reports/estimatedinventory-value/components/estimatedinventory-value/estimatedinventory-value.component';\nimport { StoreBalanceSummaryComponent } from './Invintory/reports/store-balance-summary/components/store-balance-summary/store-balance-summary.component';\nimport { MembershipModule } from './memberships/membership.module'\nimport { SubscriptionModule } from './Subscriptions/subscription.module';\nimport { HealthCareModule } from './health-care/health-care.module';\nimport { MyPharmacyModule } from './my-pharmacy/my-pharmacy.module';\nimport { CouncilAndMembersAffairsModule } from './Council-and-members-affairs/Council-And-Members-Affairs.module'\n@NgModule({\n imports: [\n BrowserModule,\n AppRoutingModule,\n SimpleNotificationsModule,\n LayoutContainersModule,\n BrowserAnimationsModule,\n MatTooltipModule,\n FileUploadModule,\n TranslateModule.forRoot(),\n HttpClientModule,\n AngularFireModule.initializeApp(environment.firebase),\n FormsModule,\n ReactiveFormsModule,\n ModalModule.forRoot(),\n ArchwizardModule,\n InvoicesModule,\n HRModule,\n MembershipModule,\n SubscriptionModule,\n HealthCareModule,\n CouncilAndMembersAffairsModule,\n MyPharmacyModule,\n AccountingModule,\n SharedModule,\n NgSelectModule,\n FormsModuleAngular,\n AngularFireAuthModule,\n AngularFireAuthGuardModule,\n ComponentsCarouselModule,\n TabsModule.forRoot(),\n HeadroomModule,\n ScrollToModule.forRoot(),\n NgxDatatableModule,\n CollapseModule,\n PagesContainersModule,\n PopoverModule.forRoot(),\n TooltipModule.forRoot(),\n SimpleNotificationsModule.forRoot(),\n AccordionModule,\n MatTabsModule,\n BsDropdownModule,\n SortablejsModule,\n PaginationModule,\n MatTreeModule,\n MatIconModule,\n MatButtonModule ,\nMatCheckboxModule ,\nMatFormFieldModule,\nMatInputModule ,\nMatProgressBarModule,\n/////////////////////////\n// ContextMenuModule.forRoot({\n// useBootstrap4: true,\n// }),\n// HotkeyModule.forRoot(),\n\nRatingModule.forRoot(),\nComponentsPlayerModule,\nLightboxModule,\nRouterModule,\nCommonModule,\nPerfectScrollbarModule,\nBootstrapModule,\n\nTimepickerModule.forRoot(),\n\n \n ],\n declarations: [\n AppComponent,\n\n\n\n AllProjectsComponent,\n CreateProjectComponent,\n AllClientBusinessExtractsComponent,\n CreateClientBusinessExtractComponent,\n CreateContractorBusinessExtractComponent,\n AllContractorBusinessExtractComponent,\n ContractorsComponent,\n ConstructionportalComponent,\n WorkitemsComponent,\n \n StoreDataComponent,\n BalanceNameComponent,\n \n PurchaseOrdersComponent,\n PurchasesPortalComponent,\n ReturnPurchasesComponent,\n InvoicePurchaseComponent,\n RequestReceiptComponent,\n ListItemBalanceComponent,\n AddItemBalanceComponent,\n // ListPageHeaderComponent,\n QuotationsComponent,\n SalesPortalComponent,\n CashierComponent,\n PosPortalComponent,\n QuotationRequestsComponent,\n PurchaseQuotationsComponent,\n CashierSessionsComponent,\n CashierOrdersComponent,\n CashierStaffComponent,\n AdditionAdjustmentComponent,\n CashierWorkShiftsComponent,\n ConfigPosGeneralComponent,\n ConfigPosComponent,\n\n CashRegistersComponent,\n\n ConfigPurchasesComponent,\n RestaurantsPosPortalComponent,\n RestaurantsCashierComponent ,\n RestaurantsCashierOrdersComponent ,\nRestaurantsCashierSessionsComponent,\nRestaurantsCashierStaffComponent ,\nRestaurantsCashierWorkShiftsComponent ,\nRestaurantsConfigPosComponent ,\nRestaurantsConfigPosGeneralComponent ,\nRestaurantsCashRegistersComponent ,\nRestaurantCategoryComponent,\nRestaurantMenuItemComponent,\n\n\nInvintoryDashbordComponent,\nListAllProductesComponent,\nListAllServicesComponent,\nPriceListComponent,\nAddPriceListComponent,\nInfoPriceListComponent,\nListAllWarehouseComponent,\nAddWarehouseComponent,\nInfoWarehouseComponent,\nAddProductesComponent,\nInfoProductesComponent,\nInfoServiceComponent,\nAddServicesComponent,\nStockAdjustmentComponent,\nBrandComponent,\nCategoryComponent,\nUploadItemImageComponent,\nAddStoreBellComponent,\nInfoStoreBellComponent,\nListStoreBellComponent,\nInfoInventoryManagementComponent,\nAddInventoryManagementComponent,\nListInventoryManagementComponent,\nInventorySheetComponent,\nTransferStoreBillComponent,\nSubtractStoreBillComponent,\nInfoTransferBillComponent,\nInfoSubtructBillComponent,\nShowSuppliersComponent,\nAddSuppliersComponent,\nUploadInvoicePurchaseFileComponent,\n\nPurchasesBySupplierComponent,\nSuppliersDirectoryComponent,\nSupplierBalancesComponent,\nProductPurchasesComponent,\nViewPurchaseInvoiceComponent,\nInventorySheetReportComponent,\nSummaryOfInventoryOperationsComponent,\nDetailedMovementOfInventoryComponent,\nEstimatedinventoryValueComponent,\nStoreBalanceSummaryComponent\n ],\n entryComponents:[UploadItemImageComponent,UploadInvoicePurchaseFileComponent],\n providers: [DatePipe,PaginationConfig],\n exports:[UploadItemImageComponent,UploadInvoicePurchaseFileComponent],\n\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\n\nconst routes: Routes = [\n { path: '', loadChildren: () => import('./views/views.module').then(m => m.ViewsModule) },\n // { path: 'invoices', loadChildren: () => import('./invoices/invoices.module').then(m => m.InvoicesModule) },\n \n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","import { NgModule } from '@angular/core';\nimport { AccordionModule } from 'ngx-bootstrap/accordion';\nimport { AlertModule } from 'ngx-bootstrap/alert';\nimport { CollapseModule } from 'ngx-bootstrap/collapse';\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\nimport { ModalModule } from 'ngx-bootstrap/modal';\nimport { PaginationModule } from 'ngx-bootstrap/pagination';\nimport { PopoverModule } from 'ngx-bootstrap/popover';\nimport { ProgressbarModule } from 'ngx-bootstrap/progressbar';\nimport { SortableModule } from 'ngx-bootstrap/sortable';\nimport { TabsModule } from 'ngx-bootstrap/tabs';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\nimport { TypeaheadModule } from 'ngx-bootstrap/typeahead';\nimport { ButtonsModule } from 'ngx-bootstrap/buttons';\n\n\n@NgModule({\n declarations: [],\n imports: [\n AccordionModule.forRoot(),\n AlertModule.forRoot(),\n ButtonsModule.forRoot(),\n CollapseModule.forRoot(),\n BsDropdownModule.forRoot(),\n ModalModule.forRoot(),\n PaginationModule.forRoot(),\n PopoverModule.forRoot(),\n ProgressbarModule.forRoot(),\n SortableModule.forRoot(),\n TabsModule.forRoot(),\n TooltipModule.forRoot(),\n TypeaheadModule.forRoot()\n ],\n exports: [\n AccordionModule,\n AlertModule,\n ButtonsModule,\n CollapseModule,\n BsDropdownModule,\n ModalModule,\n PaginationModule,\n PopoverModule,\n ProgressbarModule,\n SortableModule,\n TabsModule,\n TooltipModule,\n TypeaheadModule\n ]\n})\nexport class BootstrapModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RoundProgressModule } from 'angular-svg-round-progressbar';\n\nimport { GradientCardComponent } from './gradient-card/gradient-card.component';\nimport { GradientWithRadialProgressCardComponent } from './gradient-with-radial-progress-card/gradient-with-radial-progress-card.component';\nimport { PostCardComponent } from './post-card/post-card.component';\nimport { PriceCardComponent } from './price-card/price-card.component';\nimport { RadialProcessCardComponent } from './radial-process-card/radial-process-card.component';\nimport { SharedModule } from 'src/app/shared/shared.module';\n\n@NgModule({\n declarations: [\n GradientCardComponent,\n GradientWithRadialProgressCardComponent,\n PostCardComponent,\n PriceCardComponent,\n RadialProcessCardComponent\n ],\n imports: [\n CommonModule,\n RoundProgressModule,\n SharedModule\n ],\n providers: [],\n exports: [\n GradientCardComponent,\n GradientWithRadialProgressCardComponent,\n PostCardComponent,\n PriceCardComponent,\n RadialProcessCardComponent\n ]\n})\n\nexport class ComponentsCardsModule { }\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-gradient-card',\n templateUrl: './gradient-card.component.html',\n})\nexport class GradientCardComponent {\n\n constructor() { }\n\n\n\n}\n","
    \n
    \n \n
    \n
    ","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'app-gradient-with-radial-progress-card',\n templateUrl: './gradient-with-radial-progress-card.component.html'\n})\nexport class GradientWithRadialProgressCardComponent {\n @Input() icon = 'icon';\n @Input() title = 'title';\n @Input() detail = 'detail';\n @Input() progressText = '25%';\n @Input() percent = 25;\n\n constructor() { }\n\n\n}\n","
    \n
    \n
    \n \n
    \n

    {{title}}

    \n

    {{detail}}

    \n
    \n
    \n
    \n
    {{ progressText }}
    \n \n \n
    \n
    \n
    ","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-post-card',\n templateUrl: './post-card.component.html',\n})\nexport class PostCardComponent {\n\n constructor() { }\n\n\n\n}\n","

    post-card works!

    \n","import { Component, Input } from '@angular/core';\nimport { IPriceItem } from 'src/app/data/prices';\n\n@Component({\n selector: 'app-price-card',\n templateUrl: './price-card.component.html',\n})\nexport class PriceCardComponent{\n\n @Input() price: IPriceItem;\n\n constructor() { }\n\n\n\n}\n","
    \n
    \n
    \n \n
    {{price.title}}
    \n

    {{price.price}}

    \n

    {{price.detail}}

    \n
    \n
    \n
      \n
    • \n

      {{feature}}

      \n
    • \n
    \n \n
    \n
    \n
    \n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'app-radial-process-card',\n templateUrl: './radial-process-card.component.html',\n})\nexport class RadialProcessCardComponent{\n\n @Input() title = 'title';\n @Input() percent = 50;\n @Input() isSortable = false;\n @Input() class = '';\n\n\n constructor() { }\n\n\n\n}\n","
    \n
    \n
    \n \n
    \n
    \n
    \n
    {{title}}
    \n
    \n
    {{ percent }}%
    \n \n \n
    \n
    \n
    \n","import { NgModule } from '@angular/core';\nimport { GlideComponent } from './glide/glide.component';\nimport { CommonModule } from '@angular/common';\nimport { GlideThumbsComponent } from './glide-thumbs/glide-thumbs.component';\n\n@NgModule({\n declarations: [\n GlideComponent,\n GlideThumbsComponent\n ],\n imports: [\n CommonModule\n ],\n providers: [],\n exports: [\n GlideComponent,\n GlideThumbsComponent\n ]\n})\n\nexport class ComponentsCarouselModule { }\n","import { Component, ViewChild, ElementRef, Input, AfterContentInit, AfterViewInit, OnDestroy } from '@angular/core';\nimport Glide from '@glidejs/glide';\nimport { LangService } from 'src/app/shared/lang.service';\nimport { SidebarService } from 'src/app/containers/layout/sidebar/sidebar.service';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'app-glide-thumbs',\n templateUrl: './glide-thumbs.component.html'\n})\nexport class GlideThumbsComponent implements AfterViewInit, OnDestroy {\n\n @ViewChild('glideRef', { static: true }) glideRef: ElementRef;\n @ViewChild('glideThumbsRef', { static: true }) glideThumbsRef: ElementRef;\n @ViewChild('glideSlides', { static: true }) glideSlides: ElementRef;\n @ViewChild('glideThumbs', { static: true }) glideThumbs: ElementRef;\n\n @Input() settingsImages;\n @Input() settingsThumbs;\n @Input() images;\n @Input() thumbs;\n\n glideThumbCountMax = 5;\n glideCount = [];\n glideCarouselImages;\n glideCarouselThumbs;\n\n thumbsPerView;\n renderArrows = true;\n activeIndex = 0;\n updateTimeout;\n sidebarSubscription: Subscription;\n sidebar;\n\n constructor(private langService: LangService, private sidebarService: SidebarService) {\n this.sidebarSubscription = this.sidebarService.getSidebar().subscribe(\n res => {\n if (this.sidebar) {\n if (this.sidebar.containerClassnames !== res.containerClassnames) {\n this.update();\n }\n }\n this.sidebar = res;\n },\n err => {\n console.error(`An error occurred: ${err.message}`);\n }\n );\n\n }\n\n\n updateThumbBreakpoints(): void {\n const thumbBreakpoints = this.settingsThumbs.breakpoints;\n const newBreakpoints = {};\n for (const prop in thumbBreakpoints) {\n if (thumbBreakpoints[prop]) {\n newBreakpoints[prop] = { perView: Math.min(thumbBreakpoints[prop].perView, this.glideCount.length) };\n }\n }\n this.settingsThumbs.breakpoints = newBreakpoints;\n }\n\n ngAfterViewInit(): void {\n this.glideCount = Array(this.glideSlides.nativeElement.childNodes.length).fill(1).map((x, i) => i);\n\n this.updateThumbBreakpoints();\n this.glideCarouselImages = new Glide(this.glideRef.nativeElement,\n { ...this.settingsImages, direction: this.langService.direction });\n this.glideCarouselThumbs = new Glide(this.glideThumbsRef.nativeElement,\n { ...this.settingsThumbs, direction: this.langService.direction });\n\n this.glideCarouselThumbs.on('resize', () => { this.thumbsResize(); });\n this.glideCarouselImages.on('swipe.end', () => { this.imagesSwipeEnd(); });\n\n this.glideCarouselImages.mount();\n this.glideCarouselThumbs.mount();\n\n this.thumbsResize();\n }\n\n thumbsResize(): void {\n const perView = Math.min(this.glideCarouselThumbs.settings.perView, this.glideCount.length);\n this.thumbsPerView = perView;\n if (this.glideCount.length <= perView) {\n this.renderArrows = false;\n }\n this.glideCarouselImages.update();\n this.glideCarouselThumbs.update();\n }\n\n onThumbClick(index): void {\n this.activeIndex = index;\n this.glideCarouselImages.go('=' + index);\n }\n\n imagesSwipeEnd(): void {\n const gap = this.glideCarouselThumbs.index + this.thumbsPerView;\n this.activeIndex = this.glideCarouselImages.index;\n if (this.activeIndex >= gap) {\n this.glideCarouselThumbs.go('>');\n }\n if (this.activeIndex < this.glideCarouselThumbs.index) {\n this.glideCarouselThumbs.go('<');\n }\n }\n\n ngOnDestroy(): void {\n clearTimeout(this.updateTimeout);\n this.updateTimeout = null;\n\n this.glideCarouselImages.destroy();\n this.glideCarouselThumbs.destroy();\n this.sidebarSubscription.unsubscribe();\n }\n\n update(): void {\n this.updateTimeout = setTimeout(() => {\n this.glideCarouselThumbs.update();\n this.glideCarouselImages.update();\n }, 500);\n }\n}\n","
    \n
    \n
      \n
    • \n \"detail\"\n
    • \n
    \n
    \n
    \n\n
    \n
    \n
    \n
  • \n \"thumb\"\n
  • \n\n
    \n
    \n
    \n \n \n
    \n
    \n","import {AfterContentInit, AfterViewInit, Component, ElementRef, Input, OnDestroy, ViewChild} from '@angular/core';\nimport Glide from '@glidejs/glide';\nimport {LangService} from 'src/app/shared/lang.service';\nimport {SidebarService} from 'src/app/containers/layout/sidebar/sidebar.service';\nimport {Subscription} from 'rxjs';\n\n@Component({\n selector: 'app-glide',\n templateUrl: './glide.component.html'\n})\nexport class GlideComponent implements AfterContentInit, AfterViewInit, OnDestroy {\n @Input() settings;\n @ViewChild('glideRef', { static: true }) glideRef: ElementRef;\n @ViewChild('glideSlides', { static: true }) glideSlides: ElementRef;\n updateTimeout;\n glideCarousel;\n glideCount = [];\n direction = 'ltr';\n sidebarSubscription: Subscription;\n sidebar;\n\n constructor(private langService: LangService, private sidebarService: SidebarService) {\n this.direction = this.langService.direction;\n this.sidebarSubscription = this.sidebarService.getSidebar().subscribe(\n res => {\n if (this.sidebar) {\n if (this.sidebar.containerClassnames !== res.containerClassnames) {\n this.update();\n }\n }\n this.sidebar = res;\n },\n err => {\n console.error(`An error occurred: ${err.message}`);\n }\n );\n }\n\n ngAfterContentInit(): void {\n this.glideCount = Array(this.glideSlides.nativeElement.childNodes.length - 1).fill(1).map((x, i) => i);\n this.glideCarousel = new Glide(this.glideRef.nativeElement, { ...this.settings, direction: this.langService.direction });\n this.glideCarousel.mount();\n }\n\n ngAfterViewInit(): void {\n const event = document.createEvent('HTMLEvents');\n event.initEvent('resize', false, false);\n window.dispatchEvent(event);\n }\n\n update(): void {\n this.updateTimeout = setTimeout(() => {\n this.glideCarousel.update();\n }, 500);\n }\n\n onBulletClick(bulletIndex): void {\n this.glideCarousel.go('=' + bulletIndex);\n }\n\n ngOnDestroy(): void {\n clearTimeout(this.updateTimeout);\n this.updateTimeout = null;\n this.glideCarousel.destroy();\n this.sidebarSubscription.unsubscribe();\n }\n}\n","
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n \n
    \n
    \n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UserFollowComponent } from './user-follow/user-follow.component';\nimport { RecentPostComponent } from './recent-post/recent-post.component';\nimport { PostComponent } from './post/post.component';\nimport { ComponentsPlayerModule } from './../player/components.player.module';\n\n@NgModule({\n declarations: [\n UserFollowComponent,\n RecentPostComponent,\n PostComponent\n],\n imports: [\n CommonModule,\n ComponentsPlayerModule\n ],\n providers: [],\n exports: [\n UserFollowComponent,\n RecentPostComponent,\n PostComponent\n ]\n})\n\nexport class ComponentsPagesModule { }\n","import { Component, Input } from '@angular/core';\nimport { Lightbox } from 'ngx-lightbox';\n\n@Component({\n selector: 'app-post',\n templateUrl: './post.component.html'\n})\nexport class PostComponent {\n @Input() data;\n\n constructor(private lightbox: Lightbox) { }\n\n\n openLightbox(src: string): void {\n this.lightbox.open([{ src, thumb: '' }], 0, { centerVertically: true, positionFromTop: 0, disableScrolling: true, wrapAround: true });\n }\n\n}\n","
    \n
    \n \n

    \n {{data.detail}}\n

    \n
    \n \n \n \n
    \n
    \n
    \n {{data.likeCount}} Likes\n
    \n
    0\" class=\"post-icon d-inline-block\">\n {{data.commentCount}} Comment\n
    \n
    \n\n
    \n
    0\" class=\"remove-last-border\">\n
    \n \n \n \n
    \n \n

    {{comment.name}}

    \n

    {{comment.date}}

    \n
    \n

    \n {{comment.detail}}\n

    \n
    \n \n
    \n
    \n\n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'app-recent-post',\n templateUrl: './recent-post.component.html'\n})\nexport class RecentPostComponent {\n @Input() data;\n\n constructor() { }\n\n}\n","\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'app-user-follow',\n templateUrl: './user-follow.component.html'\n})\nexport class UserFollowComponent {\n @Input() data;\n constructor() { }\n\n\n}\n","\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PlayerComponent } from './player.component';\n\n@NgModule({\n declarations: [\n PlayerComponent\n ],\n imports: [\n CommonModule\n ],\n providers: [],\n exports: [\n PlayerComponent\n ]\n})\n\nexport class ComponentsPlayerModule { }\n","import { Component, ViewChild, ElementRef, AfterContentInit, Input, OnDestroy } from '@angular/core';\nimport videojs from 'video.js';\n\n@Component({\n selector: 'app-player',\n templateUrl: './player.component.html'\n})\nexport class PlayerComponent implements AfterContentInit, OnDestroy {\n @ViewChild('videoPlayer', { static: true }) videoPlayer: ElementRef;\n @Input() options = {};\n player;\n constructor() { }\n\n ngAfterContentInit(): void {\n this.player = videojs(this.videoPlayer.nativeElement, this.options,\n // tslint:disable-next-line:typedef\n function onPlayerReady() {\n });\n }\n\n ngOnDestroy(): void {\n if (this.player) {\n this.player.dispose();\n }\n }\n\n\n}\n","\n","import { environment } from 'src/environments/environment';\nimport { UserRole } from '../shared/auth.roles';\nconst adminRoot = environment.adminRoot;\n\n\nconst basePath = environment.basePath;\nconst invoicesPath = environment.invoicesPath;\nconst AccountingPath = environment.accountPath;\nconst InventoryPath = `${environment.basePath}/Inventory`;\nconst membershipsPath = `${environment.membershipsPath}`;\nconst healthCarePath = `${environment.healthCarePath}`;\nconst myPharmacyPath = `${environment.myPharmacyPath}`;\nconst myCouncilAndMembers =`${environment.myCouncilAndMembers}`;\nconst HRPath = `${environment.hrPath}`;\nexport interface IMenuItem {\n id?: string;\n icon?: string;\n label: string;\n to: string;\n imgurl?:string;\n newWindow?: boolean;\n subs?: IMenuItem[];\n roles?: UserRole[];\n}\n\nconst data: IMenuItem[] = [\n // {\n // imgurl:'assets/icons/line-chart.png',\n // icon: '',\n // label: 'dashboards',\n // to: `${adminRoot}/dashboards`,\n // // roles: [UserRole.Admin, UserRole.Editor],\n // subs: [\n // {\n // icon: 'simple-icon-pie-chart',\n // label: 'home',\n // to: `${adminRoot}/dashboards/default`,\n // // roles: [UserRole.Admin],\n // },\n // {\n // icon: 'simple-icon-pie-chart',\n // label: 'accounts',\n // to: `${adminRoot}/dashboards/analytics`,\n // // roles: [UserRole.Admin],\n // },\n // {\n // icon: 'simple-icon-basket-loaded',\n // label: 'sales',\n // to: `${adminRoot}/dashboards/ecommerce`,\n // // roles: [UserRole.Admin, UserRole.Editor],\n // },\n // {\n // icon: 'simple-icon-doc',\n // label: 'stores',\n // to: `${adminRoot}/dashboards/content`,\n // // roles: [UserRole.Admin, UserRole.Editor],\n // },\n // ],\n // },\n {\n imgurl:'assets/icons/gantt-chart.png',\n icon: 'iconsminds-speach-bubble-13',\n label: 'Home',\n to: './aio/start',\n // roles: [UserRole.Admin, UserRole.Editor],\n \n },\n // {\n // imgurl:'assets/icons/chat.png',\n // icon: 'iconsminds-speach-bubble-13',\n // label: 'chat',\n // to: ``,\n // // roles: [UserRole.Admin, UserRole.Editor],\n \n // },\n {\n imgurl:'assets/icons/account.png',\n icon: 'iconsminds-calendar-4',\n label: 'accounts',\n to: `${AccountingPath}`,\n // roles: [UserRole.Admin, UserRole.Editor],\n subs: [\n //old Menu\n // {\n // icon: 'simple-icon-doc',\n // label: 'MainData',\n // to: `${AccountingPath}/MainData`,\n // subs: [\n // {\n // icon: 'iconsminds-conference',\n // label: 'ExpensessType',\n // to: `${AccountingPath}/ExpensessType`\n // },\n // {\n // icon: 'iconsminds-box-close',\n // label: 'AccountFications',\n // to: `${AccountingPath}/AccountFications`,\n // },\n // {\n // icon: 'iconsminds-tag',\n // label: 'AccountMenu',\n // to: `${AccountingPath}/AccountMenu`,\n // },\n // {\n // icon: 'iconsminds-project',\n // label: 'Daily Restrictions',\n // to: `${AccountingPath}/all-daily`,\n // },\n // {\n // icon: 'simple-icon-basket',\n // label: 'CheckTypes',\n // to: `${AccountingPath}/CheckTypes`,\n // },\n // {\n // icon: 'iconsminds-engineering',\n // label: 'CheckStatuses',\n // to: `${AccountingPath}/CheckStatuses`,\n // },\n // {\n // icon: 'iconsminds-conference',\n // label: 'AccountType',\n // to: `${AccountingPath}/AccountType`\n // },\n // {\n // icon: 'iconsminds-box-close',\n // label: 'BankCode',\n // to: `${AccountingPath}/BankCode`,\n // },\n // {\n // icon: 'iconsminds-tag',\n // label: 'CreatCountry',\n // to: `${AccountingPath}/CreatCountry`,\n // },\n // {\n // icon: 'iconsminds-project',\n // label: 'CreatGovernorate',\n // to: `${invoicesPath}/CreatGovernorate`,\n // },\n // {\n // icon: 'simple-icon-basket',\n // label: 'CreatGovernorate',\n // to: `${AccountingPath}/CreatGovernorate`,\n // },\n // {\n // icon: 'iconsminds-engineering',\n // label: 'CityCode',\n // to: `${AccountingPath}/CityCode`,\n // },\n\n // {\n // icon: 'iconsminds-tree-3',\n // label: 'Accounting guide',\n // to: `${AccountingPath}/Accounts`,\n // },\n\n // {\n // icon: 'iconsminds-data-center',\n // label: 'Cost Centers',\n // to: `${AccountingPath}/CostCenter`,\n // },\n // {\n // icon: 'simple-icon-exclamation',\n // label: 'Expenses',\n // to: `${AccountingPath}/Expenses`,\n // },\n\n // {\n // icon: 'iconsminds-reverbnation',\n // label: 'Revenues',\n // to: `${AccountingPath}/Revenues`,\n // },\n // {\n // icon: 'iconsminds-calendar-4',\n // label: 'Balance Sheet',\n // to: `${AccountingPath}/BalanceSheet`,\n // },\n // {\n // icon: 'iconsminds-receipt-4',\n // label: 'Catch Receipt Categories',\n // to: `${AccountingPath}/catch-receipt-categories`,\n // },\n // {\n // icon: 'iconsminds-recycling-2',\n // label: 'Assets',\n // to: `${AccountingPath}/assets`,\n // },\n // {\n // icon: 'iconsminds-bank',\n // label: 'Treasury And Bank Accounts',\n // to: `${AccountingPath}/treasury-and-bank-accounts`,\n // },\n // {\n // icon: 'iconsminds-mail-2',\n // label: 'Catch Receipt',\n // to: `${AccountingPath}/catch-receipt`,\n // },\n // ]\n // // roles: [UserRole.Admin],\n // },\n {\n icon: 'simple-icon-doc',\n label: 'Finance',\n to: `${AccountingPath}`,\n subs: [\n {\n icon: 'iconsminds-conference',\n label: 'ExpensessType',\n to: `${AccountingPath}/ExpensessType`\n },\n \n {\n icon: 'simple-icon-exclamation',\n label: 'Expenses',\n to: `${AccountingPath}/expenses`,\n },\n {\n icon: 'iconsminds-receipt-4',\n label: 'Catch Receipt Categories',\n to: `${AccountingPath}/catch-receipt-categories`,\n },\n {\n icon: 'iconsminds-mail-2',\n label: 'Catch Receipt',\n to: `${AccountingPath}/catch-receipt`,\n },\n {\n icon: 'iconsminds-bank',\n label: 'Treasury And Bank Accounts',\n to: `${AccountingPath}/treasury-and-bank-accounts`,\n },\n \n ]\n // roles: [UserRole.Admin],\n },\n {\n icon: 'simple-icon-doc',\n label: 'General Accounts',\n to: `${AccountingPath}/all-daily`,\n subs: [\n \n {\n icon: 'iconsminds-project',\n label: 'Daily Restrictions',\n to: `${AccountingPath}/all-daily`,\n },\n \n\n {\n icon: 'iconsminds-tree-3',\n label: 'Accounting guide',\n to: `${AccountingPath}/Accounts`,\n },\n\n {\n icon: 'iconsminds-data-center',\n label: 'Cost Centers',\n to: `${AccountingPath}/CostCenter`,\n },\n \n {\n icon: 'iconsminds-recycling-2',\n label: 'Assets',\n to: `${AccountingPath}/assets`,\n },\n {\n icon: 'iconsminds-recycling-2',\n label: 'Payment Plans',\n to: `${AccountingPath}/payment-plan`,\n },\n \n ]\n // roles: [UserRole.Admin],\n },\n {\n icon: 'simple-icon-doc',\n label: 'Check cycle',\n to: `${AccountingPath}/checks-received`,\n subs: [\n {\n icon: 'iconsminds-conference',\n label: 'Checks Received',\n to: `${AccountingPath}/checks-received`\n },\n {\n icon: 'iconsminds-box-close',\n label: 'Check Book',\n to: `${AccountingPath}/check-book`,\n },\n {\n icon: 'iconsminds-tag',\n label: 'Paid Checks',\n to: `${AccountingPath}/paid-checks`,\n }\n ]\n // roles: [UserRole.Admin],\n },\n {\n icon: 'simple-icon-doc',\n label: 'Budgets',\n to: `${AccountingPath}/budgets`,\n subs: [\n {\n icon: 'iconsminds-box-close',\n label: 'Monthly Distribution',\n to: `${AccountingPath}/monthly-distribution`,\n },\n {\n icon: 'iconsminds-conference',\n label: 'Budgets',\n to: `${AccountingPath}/budgets`\n },\n {\n icon: 'iconsminds-conference',\n label: 'Budgets report',\n to: `${AccountingPath}/budget-report`\n },\n \n \n ]\n // roles: [UserRole.Admin],\n },\n \n {\n icon: 'simple-icon-doc',\n label: 'Reports',\n to: `${AccountingPath}/income-list`,\n subs: [\n \n {\n icon: 'iconsminds-box-close',\n label: 'Daily Restrictions Report',\n to: `${AccountingPath}/daily-restrictions-report`,\n },\n {\n icon: 'iconsminds-tag',\n label: 'Cost Center Report',\n to: `${AccountingPath}/cost-center-report`,\n }, {\n icon: 'iconsminds-conference',\n label: 'Income List',\n to: `${AccountingPath}/income-list`\n },\n {\n icon: 'iconsminds-conference',\n label: 'Balance Sheet',\n to: `${AccountingPath}/BalanceSheet`\n \n },\n {\n icon: 'iconsminds-conference',\n label: 'Assets Report',\n to: `${AccountingPath}/assets-report`\n \n },\n {\n icon: 'iconsminds-conference',\n label: 'Trial Balance Balances Report',\n to: `${AccountingPath}/trial-balance-balances`\n \n },\n {\n icon: 'iconsminds-conference',\n label: 'Ledger Account',\n to: `${AccountingPath}/ledger-account`\n \n },\n {\n icon: 'iconsminds-conference',\n label: 'Taxes Report',\n to: `${AccountingPath}/tax-report`\n \n }\n ,\n {\n icon: 'iconsminds-conference',\n label: 'Taxes Return Report',\n to: `${AccountingPath}/tax-return-report`\n \n }\n ,\n {\n icon: 'iconsminds-conference',\n label: 'Cash Flows',\n to: `${AccountingPath}/cash-flows`\n \n }\n \n ]\n // roles: [UserRole.Admin],\n },\n {\n icon: 'simple-icon-doc',\n label: 'Settings',\n to: `${AccountingPath}/fiscal-years`,\n subs: [\n \n {\n icon: 'iconsminds-box-close',\n label: 'Fiscal Years',\n to: `${AccountingPath}/fiscal-years`,\n },\n \n ]\n // roles: [UserRole.Admin],\n },\n ]\n },\n //K\n ////////////////////////////////////////////////////////////////////////////\n \n {\n imgurl: 'assets/icons/Construction.png',\n icon: 'iconsminds-calendar-4',\n label: 'Projects',\n to: `${basePath}/Construction`,\n // roles: [UserRole.Admin, UserRole.Editor],\n subs: [\n {\n icon: 'iconsminds-user',\n label: 'Contractors',\n to: `${basePath}/Construction/Contractors`\n },\n {\n icon: 'iconsminds-box-close',\n label: 'WorkItems',\n to: `${basePath}/Construction/Work-Items`\n },\n {\n icon: 'iconsminds-box-close',\n label: 'Projects',\n to: `${basePath}/Construction/projects`\n },\n {\n icon: 'iconsminds-box-close',\n label: 'Clients Extracts',\n to: `${basePath}/Construction/client-business-extracts`\n },\n {\n icon: 'iconsminds-box-close',\n label: 'Contractors Extracts',\n to: `${basePath}/Construction/contractors-business-extracts`\n },\n ]\n },\n // {\n // imgurl:'assets/icons/accounting.png',\n // icon: 'iconsminds-calendar-4',\n // label: 'Companies',\n // to: `${basePath}/Companies`,\n // // roles: [UserRole.Admin, UserRole.Editor],\n // subs: [\n \n // ],\n // },\n // {\n // imgurl:'assets/icons/receipt.png',\n // icon: 'simple-icon-doc',\n // label: 'e-invoice',\n // to: `${invoicesPath}`,\n // // roles: [UserRole.Admin, UserRole.Editor],\n // subs: [\n // {\n // icon: 'simple-icon-doc',\n // label: 'MainData',\n // to: `${invoicesPath}/MainData`,\n // subs: [\n // {\n // icon: 'iconsminds-conference',\n // label: 'Vendors',\n // to: `${invoicesPath}/MainData/Vendors`\n // },\n // {\n // icon: 'iconsminds-box-close',\n // label: 'Items',\n // to: `${invoicesPath}/MainData/Items`,\n // },\n // {\n // icon: 'iconsminds-tag',\n // label: 'ProductTypes',\n // to: `${invoicesPath}/MainData/Product-Types`,\n // },\n // // {\n // // icon: 'iconsminds-project',\n // // label: 'Projects',\n // // to: `${invoicesPath}/MainData/Projects`,\n // // },\n // {\n // icon: 'simple-icon-basket',\n // label: 'Purchases',\n // to: `${invoicesPath}/MainData/Purchases`,\n // },\n // {\n // icon: 'iconsminds-engineering',\n // label: 'Staff',\n // to: `${invoicesPath}/MainData/Staff`,\n // },\n // ]\n // // roles: [UserRole.Admin],\n // },\n // {\n // icon: 'simple-icon-wallet',\n // label: 'Clients',\n // to: `${invoicesPath}/Clients`,\n // subs: [\n // {\n // icon: 'simple-icon-people ',\n // label: 'AllClients',\n // to: `${invoicesPath}/Clients/All-Clients`\n // },\n // {\n // icon: 'iconsminds-factory',\n // label: 'Branches',\n // to: `${invoicesPath}/Clients/Branches`\n // },\n // {\n // icon: 'iconsminds-dollar',\n // label: 'Currencies',\n // to: `${invoicesPath}/Clients/Currencies`\n // },\n // {\n // icon: 'iconsminds-dashboard',\n // label: 'CodingUnits',\n // to: `${invoicesPath}/Clients/Coding-Units`\n // },\n // {\n // icon: 'iconsminds-coins',\n // label: 'TaxTypes',\n // to: `${invoicesPath}/Clients/Tax-Types`\n // }\n // ]\n // // roles: [UserRole.Admin],\n // },\n // {\n // icon: 'simple-icon-wallet',\n // label: 'Suppliers',\n // to: `${invoicesPath}/Supplier/Show-ExpensesAndPurchasesComponent`,\n // subs: [\n // {\n // icon: 'simple-icon-people ',\n // label: 'Projects',\n // to: `${invoicesPath}/Supplier/Show-ProjectViewComponent`\n // },\n // {\n // icon: 'iconsminds-factory',\n // label: 'ExpensCategory',\n // to: `${invoicesPath}/Supplier/Show-ExpensCategoryComponent`\n // },\n // {\n // icon: 'iconsminds-dollar',\n // label: 'Suppliers',\n // to: `${invoicesPath}/Supplier/Show-SuppliersComponent`\n // },\n // {\n // icon: 'iconsminds-dashboard',\n // label: 'Expenses_And_Purchases_Header',\n // to: `${invoicesPath}/Supplier/Show-ExpensesAndPurchasesComponent`\n // },\n \n // ]\n // // roles: [UserRole.Admin],\n // },\n // {\n // icon: 'simple-icon-wallet',\n // label: 'Reports',\n // to: `${invoicesPath}/Reports`,\n // subs: [\n // {\n // icon: 'iconsminds-receipt-4',\n // label: 'Invoices',\n // to: `${invoicesPath}/Reports/Invoices`\n // },\n // {\n // icon: 'iconsminds-line-chart-1',\n // label: 'Sales',\n // to: `${invoicesPath}/Reports/Sales`\n // },\n // {\n // icon: 'iconsminds-billing',\n // label: 'Expenses',\n // to: `${invoicesPath}/Reports/Expenses`\n // }\n // ]\n // // roles: [UserRole.Admin],\n // },\n // {\n // icon: 'simple-icon-wallet',\n // label: 'Settings',\n // to: `${invoicesPath}/Settings`,\n // subs: [\n // {\n // icon: 'simple-icon-settings',\n // label: 'TaxingApiSettings',\n // to: `${invoicesPath}/Settings/TaxingApi`\n // }\n // ]\n // // roles: [UserRole.Admin],\n // },\n // // {\n // // icon: 'simple-icon-wallet',\n // // label: 'Clients',\n // // to: `${basePath} /Clients`,\n // // subs: [\n // // {\n // // icon: 'simple-icon-wallet',\n // // label: 'Clients',\n // // to: `${basePath} /Clients/All`\n // // },\n // // {\n // // icon: 'simple-icon-wallet',\n // // label: 'Branches',\n // // to: `${basePath} /Clients/Branches`\n // // },\n // // {\n // // icon: 'simple-icon-wallet',\n // // label: 'Currencies',\n // // to: `${basePath} /Clients/Currencies`\n // // }\n // // ]\n // // // roles: [UserRole.Admin],\n // // },\n // // {\n // // icon: 'simple-icon-wallet',\n // // label: 'Currencies',\n // // to: `${basePath} /Currencies`,\n // // // roles: [UserRole.Admin],\n // // },\n // // {\n // // icon: 'simple-icon-people',\n // // label: 'Clients',\n // // to: `${basePath} /Clients`,\n // // // roles: [UserRole.Admin],\n // // },\n // // {\n // // icon: 'simple-icon-organization',\n // // label: 'Branches',\n // // to: `${basePath} /Branches`,\n // // // roles: [UserRole.Admin],\n // // },\n // // {\n // // icon: 'iconsminds-box-close',\n // // label: 'Items',\n // // to: `${basePath} /Items`,\n // // // roles: [UserRole.Admin],\n // // },\n // // {\n // // icon: 'iconsminds-receipt-4',\n // // label: 'Invoices',\n // // to: `${basePath} /Invoices`,\n // // // roles: [UserRole.Admin],\n // // },\n // // {\n // // icon: 'iconsminds-add',\n // // label: 'CreateInvoice',\n // // to: `${basePath} /Create-Invoice`,\n // // // roles: [UserRole.Admin],\n // // }\n \n // ],\n // },\n ///////////////////////////////////////////////////////////////\n /*\n \n {\n imgurl:'assets/icons/receipt.png',\n icon: 'simple-icon-doc',\n label: 'e-invoice',\n to: `${adminRoot}/E-Invoice`,\n // roles: [UserRole.Admin, UserRole.Editor],\n subs: [\n {\n icon: 'simple-icon-doc',\n label: 'E-Invoice',\n to: `${adminRoot} /default`,\n // roles: [UserRole.Admin],\n },\n \n ],\n },\n */\n \n \n\n\n {\n imgurl: 'assets/icons/Purchases.png',\n icon: 'iconsminds-calendar-4',\n label: 'Purchases',\n to: `${basePath}/Purchases`,\n // roles: [UserRole.Admin, UserRole.Editor],\n subs: [\n {\n icon: 'iconsminds-conference',\n label: 'Vendors',\n to: `${basePath}/Purchases/Vendors`\n },\n {\n icon: 'iconsminds-shopping-cart',\n label: 'PurchaseOrders',\n to: `${basePath}/Purchases/Purchase-Orders`\n },\n {\n icon: 'iconsminds-receipt-4',\n label: 'RequestReceipts',\n to: `${basePath}/Purchases/Request-Receipts`\n },\n {\n icon: 'iconsminds-testimonal',\n label: 'PurchaseInvoices',\n to: `${basePath}/Purchases/Purchase-Invoices`\n },\n {\n icon: 'simple-icon-action-undo',\n label: 'ReturnedPurchases',\n to: `${basePath}/Purchases/Returned-Purchases`\n },\n {\n icon: 'iconsminds-cart-quantity',\n label: 'QuotationRequests',\n to: `${basePath}/Purchases/Quotation-Requests`\n },\n {\n icon: 'iconsminds-checkout',\n label: 'PurchaseQuotations',\n to: `${basePath}/Purchases/Purchase-Quotations`\n },\n {\n icon: 'iconsminds-gears',\n label: 'ConfigPurchases',\n to: `${basePath}/Purchases/Config`\n },\n {\n icon: 'simple-icon-basket',\n label: 'Purchases',\n to: `${invoicesPath}/MainData/Purchases`,\n },\n {\n icon: 'simple-icon-wallet',\n label: 'Reports',\n to: `${basePath}/Reports`,\n subs: [\n {\n icon: 'simple-icon-settings',\n label: 'Purchases By Supplier',\n to: `${basePath}/Purchases/Reports/purchases-by-supplier`\n },{\n icon: 'simple-icon-settings',\n label: 'Suppliers Directory',\n to: `${basePath}/Purchases/Reports/suppliers-directory`\n },{\n icon: 'simple-icon-settings',\n label: 'Suppliers Balances',\n to: `${basePath}/Purchases/Reports/suppliers-balances`\n }\n ,{\n icon: 'simple-icon-settings',\n label: 'Product Purchases',\n to: `${basePath}/Purchases/Reports/product-purchases`\n }\n \n ]\n // roles: [UserRole.Admin],\n },\n ],\n },\n\n {\n imgurl: 'assets/icons/Sales.png',\n icon: 'iconsminds-handshake',\n label: 'Sales',\n to: `${basePath}/Sales`,\n // roles: [UserRole.Admin, UserRole.Editor],\n subs: [\n \n {\n icon: 'simple-icon-doc',\n label: 'MainData',\n to: `${invoicesPath}/MainData`,\n subs: [\n {\n icon: 'iconsminds-financial',\n label: 'Quotations',\n to: `${basePath}/Sales/Quotations`\n },\n \n // {\n // icon: 'iconsminds-box-close',\n // label: 'Items',\n // to: `${invoicesPath}/MainData/Items`,\n // },\n // {\n // icon: 'iconsminds-tag',\n // label: 'ProductTypes',\n // to: `${invoicesPath}/MainData/Product-Types`,\n // },\n // {\n // icon: 'iconsminds-project',\n // label: 'Projects',\n // to: `${invoicesPath}/MainData/Projects`,\n // },\n // {\n // icon: 'simple-icon-basket',\n // label: 'Purchases',\n // to: `${invoicesPath}/MainData/Purchases`,\n // },\n // {\n // icon: 'iconsminds-engineering',\n // label: 'Staff',\n // to: `${invoicesPath}/MainData/Staff`,\n // },\n ]\n // roles: [UserRole.Admin],\n },\n {\n icon: 'simple-icon-wallet',\n label: 'Clients',\n to: `${invoicesPath}/Clients`,\n subs: [\n {\n icon: 'simple-icon-people ',\n label: 'AllClients',\n to: `${invoicesPath}/Clients/All-Clients`\n },\n \n \n ]\n // roles: [UserRole.Admin],\n },\n {\n icon: 'simple-icon-wallet',\n label: 'Suppliers',\n to: `${invoicesPath}/Supplier/Show-ExpensesAndPurchasesComponent`,\n subs: [\n // {\n // icon: 'simple-icon-people ',\n // label: 'Projects',\n // to: `${invoicesPath}/Supplier/Show-ProjectViewComponent`\n // },\n // {\n // icon: 'iconsminds-factory',\n // label: 'ExpensCategory',\n // to: `${invoicesPath}/Supplier/Show-ExpensCategoryComponent`\n // },\n {\n icon: 'iconsminds-receipt-4',\n label: 'Invoices',\n to: `${invoicesPath}/Reports/Invoices`\n },\n \n // {\n // icon: 'iconsminds-dashboard',\n // label: 'Expenses_And_Purchases_Header',\n // to: `${invoicesPath}/Supplier/Show-ExpensesAndPurchasesComponent`\n // },\n \n ]\n // roles: [UserRole.Admin],\n },\n {\n icon: 'simple-icon-wallet',\n label: 'Reports',\n to: `${invoicesPath}/Reports`,\n subs: [\n \n {\n icon: 'iconsminds-line-chart-1',\n label: 'Sales',\n to: `${invoicesPath}/Reports/Sales`\n },\n {\n icon: 'iconsminds-line-chart-1',\n label: 'Daily Invoices',\n to: `${invoicesPath}/Reports/daily-invoices`\n },\n {\n icon: 'iconsminds-line-chart-1',\n label: 'Client Invoices',\n to: `${invoicesPath}/Reports/client-invoices`\n },\n {\n icon: 'iconsminds-line-chart-1',\n label: 'Debt Reconstruction',\n to: `${invoicesPath}/Reports/debt-reconstruction`\n },\n {\n icon: 'iconsminds-line-chart-1',\n label: 'Customer Balances',\n to: `${invoicesPath}/Reports/customer-balances`\n },\n {\n icon: 'iconsminds-line-chart-1',\n label: 'Customer Sales',\n to: `${invoicesPath}/Reports/customer-sales`\n },\n {\n icon: 'iconsminds-line-chart-1',\n label: 'Customer Payments',\n to: `${invoicesPath}/Reports/customer-payments`\n },\n {\n icon: 'iconsminds-line-chart-1',\n label: 'Customer Account Statement',\n to: `${invoicesPath}/Reports/customer-account-statement`\n },\n // {\n // icon: 'iconsminds-billing',\n // label: 'Expenses',\n // to: `${invoicesPath}/Reports/Expenses`\n // }\n ]\n // roles: [UserRole.Admin],\n },\n {\n icon: 'simple-icon-wallet',\n label: 'Settings',\n to: `${invoicesPath}/Settings`,\n subs: [\n {\n icon: 'simple-icon-settings',\n label: 'TaxingApiSettings',\n to: `${invoicesPath}/Settings/TaxingApi`\n }\n ]\n // roles: [UserRole.Admin],\n },\n ],\n },\n // {\n // imgurl:'assets/icons/shopping-list.png',\n // icon: 'iconsminds-shopping-cart',\n // label: 'purchases',\n // to: `${adminRoot}/purchases`,\n // // roles: [UserRole.Admin, UserRole.Editor],\n // subs: [\n // {\n // icon: 'simple-icon-doc',\n // label: 'purchases',\n // to: `${adminRoot}/purchases/default`,\n // // roles: [UserRole.Admin],\n // },\n \n // ],\n // },\n \n {\n imgurl:'assets/icons/Inventory.png',\n icon: 'iconsminds-calendar-4',\n label: 'Inventory',\n to: `${basePath}/Inventory`,\n // roles: [UserRole.Admin, UserRole.Editor],\n subs: [\n {\n icon: 'simple-icon-doc',\n label: 'MainData',\n to: `${InventoryPath}/MainData`,\n subs: [\n {\n icon: 'simple-icon-wallet',\n label: 'Category',\n to: `${InventoryPath}/Category`,\n },\n {\n icon: 'iconsminds-tag',\n label: 'Brand',\n to: `${InventoryPath}/Brand`,\n },\n {\n icon: 'iconsminds-factory',\n label: 'TheWarehouses',\n to: `${InventoryPath}/List-All-Warehouse`,\n },\n {\n icon: 'iconsminds-box-close',\n label: 'Productes',\n to: `${InventoryPath}/List-All-Productes`\n },\n {\n icon: 'iconsminds-conference',\n label: 'Services',\n to: `${InventoryPath}/List-All-Services`\n },\n \n {\n icon: 'iconsminds-receipt-4',\n label: 'PriceLists',\n to: `${InventoryPath}/List-All-PriceList`,\n },\n {\n icon: 'iconsminds-receipt-4',\n label: 'BillsStore',\n to: `${InventoryPath}/List-All-Bells`,\n },\n {\n icon: 'iconsminds-receipt-4',\n label: 'InventoryManagement',\n to: `${InventoryPath}/List-All-InventoryManagement`,\n },\n {\n icon: 'iconsminds-receipt-4',\n label: 'Inventory Sheet Report',\n to: `${InventoryPath}/Reports/inventory-sheet-report`,\n },\n \n ]\n // roles: [UserRole.Admin],\n },\n {\n icon: 'simple-icon-doc',\n label: 'Reports',\n to: `${InventoryPath}/Reports`,\n subs: [\n {\n icon: 'iconsminds-receipt-4',\n label: 'Inventory Sheet Report',\n to: `${InventoryPath}/Reports/inventory-sheet-report`,\n },\n {\n icon: 'iconsminds-receipt-4',\n label: 'Summary Of Inventory Operations',\n to: `${InventoryPath}/Reports/summary-of-inventory-operations`,\n },\n {\n icon: 'iconsminds-receipt-4',\n label: 'Detailed Of Inventory Operations',\n to: `${InventoryPath}/Reports/detailed-of-inventory-operations`,\n },\n {\n icon: 'iconsminds-receipt-4',\n label: 'Estimated Inventory Value',\n to: `${InventoryPath}/Reports/estimated-inventory-value`,\n },\n {\n icon: 'iconsminds-receipt-4',\n label: 'Store Balance Summary',\n to: `${InventoryPath}/Reports/store-balance-summary`,\n },\n ]\n // roles: [UserRole.Admin],\n },\n \n \n ],\n },\n {\n imgurl:'assets/icons/HR.png',\n icon: 'iconsminds-business-mens',\n label: 'hr',\n to: `${HRPath}`,\n // roles: [UserRole.Admin, UserRole.Editor],\n subs: [\n {\n icon: 'simple-icon-doc',\n label: 'MainData',\n to: `${HRPath}/MainData`,\n subs: [\n {\n icon: 'simple-icon-wallet',\n label: 'Department',\n to: `${HRPath}/List-Department`,\n },\n {\n icon: 'simple-icon-wallet',\n label: 'JobLevels',\n to: `${HRPath}/List-JobLevels`,\n },\n {\n icon: 'simple-icon-wallet',\n label: 'JobTypes',\n to: `${HRPath}/List-JobTypes`,\n }\n ,\n {\n icon: 'simple-icon-wallet',\n label: 'Employees',\n to: `${HRPath}/List-Employees`,\n }\n \n ]\n \n },\n {\n icon: 'simple-icon-doc',\n label: 'Attendance',\n to: `${HRPath}/Attendance`,\n subs: [\n {\n icon: 'simple-icon-wallet',\n label: 'Attendance Record',\n to: `${HRPath}/all-sessions`,\n },\n {\n icon: 'simple-icon-wallet',\n label: 'Vacations Types',\n to: `${HRPath}/vacations-types`,\n },\n {\n icon: 'simple-icon-wallet',\n label: 'Vacations',\n to: `${HRPath}/vacations`,\n },\n {\n icon: 'simple-icon-wallet',\n label: 'Holidays',\n to: `${HRPath}/holidays`,\n }\n ,\n {\n icon: 'simple-icon-wallet',\n label: 'Shifts',\n to: `${HRPath}/shifts`,\n }\n \n ]\n \n },\n {\n icon: 'simple-icon-doc',\n label: 'Salaries',\n to: `${HRPath}/Salaries`,\n subs: [\n {\n icon: 'simple-icon-wallet',\n label: 'Salary Items',\n to: `${HRPath}/salary-items`,\n },\n {\n icon: 'simple-icon-wallet',\n label: 'Contracts',\n to: `${HRPath}/contracts`,\n },\n {\n icon: 'simple-icon-wallet',\n label: 'Predecessors',\n to: `${HRPath}/predecessors`,\n },\n {\n icon: 'simple-icon-wallet',\n label: 'Salaries Manager',\n to: `${HRPath}/List-Salaries-Manager`,\n },\n {\n icon: 'simple-icon-wallet',\n label: 'Salaries Slip',\n to: `${HRPath}/List-Salaries-Slip`,\n },\n \n \n ]\n \n },\n ],\n },\n // {\n // imgurl:'assets/icons/cashier.png',\n // icon: 'iconsminds-green-house',\n // label: 'pos',\n // to: `${adminRoot}/pos`,\n // // roles: [UserRole.Admin, UserRole.Editor],\n // subs: [\n // {\n // icon: 'simple-icon-doc',\n // label: 'Cashier',\n // to: `${basePath}/Points-Of-Sales/Cashier`,\n // // roles: [UserRole.Admin],\n // },\n\n // ],\n // },\n\n {\n imgurl: 'assets/icons/PointsOfSales.png',\n icon: 'iconsminds-green-house',\n label: 'PointsOfSales',\n to: `${basePath}/Points-Of-Sale`,\n // roles: [UserRole.Admin, UserRole.Editor],\n subs: [\n {\n icon: 'simple-icon-calculator',\n label: 'Cashier',\n to: `${basePath}/Points-Of-Sale/Cashier-Screen`,\n // roles: [UserRole.Admin],\n },\n {\n icon: 'iconsminds-business-man-woman',\n label: 'Cashiers',\n to: `${basePath}/Points-Of-Sale/Cashiers`,\n // roles: [UserRole.Admin],\n },\n {\n icon: 'iconsminds-checkout',\n label: 'CashierOrders',\n to: `${basePath}/Points-Of-Sale/Orders`,\n // roles: [UserRole.Admin],\n },\n {\n icon: 'iconsminds-over-time-2',\n label: 'CashierSessions',\n to: `${basePath}/Points-Of-Sale/Sessions`,\n // roles: [UserRole.Admin],\n },\n {\n icon: 'iconsminds-over-time-2',\n label: 'ConfigPoS',\n to: `${basePath}/Points-Of-Sale/Config`,\n // roles: [UserRole.Admin],,\n subs: [\n {\n icon: 'iconsminds-gears',\n label: 'ConfigPoSGeneral',\n to: `${basePath}/Points-Of-Sale/Config/General-Settings`,\n // roles: [UserRole.Admin],\n },\n {\n icon: 'iconsminds-cash-register-2',\n label: 'CashRegisters',\n to: `${basePath}/Points-Of-Sale/Config/Cash-Registers`,\n // roles: [UserRole.Admin],\n },\n {\n icon: 'simple-icon-clock',\n label: 'CashierWorkShifts',\n to: `${basePath}/Points-Of-Sale/Config/Work-Shifts`,\n // roles: [UserRole.Admin],\n },\n ],\n }\n\n ],\n },\n\n \n {\n imgurl: 'assets/icons/Restaurant.png',\n icon: 'iconsminds-green-house',\n label: 'Restaurant',\n to: `${basePath}/restaurant`,\n // roles: [UserRole.Admin, UserRole.Editor],\n subs: [\n {\n icon: 'simple-icon-calculator',\n label: 'Cashier',\n to: `${basePath}/restaurant/Cashier-Screen`,\n // roles: [UserRole.Admin],\n },\n {\n icon: 'iconsminds-business-man-woman',\n label: 'Cashiers',\n to: `${basePath}/restaurant/Cashiers`,\n // roles: [UserRole.Admin],\n },\n {\n icon: 'iconsminds-checkout',\n label: 'CashierOrders',\n to: `${basePath}/restaurant/Orders`,\n // roles: [UserRole.Admin],\n },\n {\n icon: 'iconsminds-over-time-2',\n label: 'CashierSessions',\n to: `${basePath}/restaurant/Sessions`,\n // roles: [UserRole.Admin],\n },\n {\n icon: 'iconsminds-over-time-2',\n label: 'ConfigPoS',\n to: `${basePath}/restaurant/Config`,\n // roles: [UserRole.Admin],,\n subs: [\n {\n icon: 'iconsminds-gears',\n label: 'ConfigPoSGeneral',\n to: `${basePath}/restaurant/Config/General-Settings`,\n // roles: [UserRole.Admin],\n },\n {\n icon: 'iconsminds-cash-register-2',\n label: 'CashRegisters',\n to: `${basePath}/restaurant/Config/Cash-Registers`,\n // roles: [UserRole.Admin],\n },\n {\n icon: 'simple-icon-clock',\n label: 'CashierWorkShifts',\n to: `${basePath}/restaurant/Config/Work-Shifts`,\n // roles: [UserRole.Admin],\n },\n {\n icon: 'simple-icon-organization',\n label: 'Categories',\n to: `${basePath}/restaurant/categories`,\n // roles: [UserRole.Admin],\n },\n {\n icon: 'iconsminds-box-close',\n label: 'Items',\n to: `${basePath}/restaurant/items`,\n // roles: [UserRole.Admin],\n },\n \n ],\n }\n\n ],\n },\n \n {\n imgurl: 'assets/icons/membership.png',\n icon: 'iconsminds-green-house',\n label: 'Memberships',\n to: `${membershipsPath}`,\n // roles: [UserRole.Admin, UserRole.Editor],\n subs: [\n {\n icon: 'simple-icon-calculator',\n label: 'All Memberships',\n to: `${membershipsPath}`,\n // roles: [UserRole.Admin],\n },\n {\n icon: 'iconsminds-business-man-woman',\n label: 'Add Membership',\n to: `${membershipsPath}/create-membership/0`,\n // roles: [UserRole.Admin],\n },\n {\n icon: 'iconsminds-business-man-woman',\n label: 'Membership Details',\n to: `${membershipsPath}/view-membership/0`,\n // roles: [UserRole.Admin],\n },\n\n ],\n },\n {\n imgurl: 'assets/icons/health.jpg',\n icon: 'iconsminds-green-house',\n label: 'Health',\n to: `${healthCarePath}`,\n // roles: [UserRole.Admin, UserRole.Editor],\n subs: [\n {\n icon: 'simple-icon-calculator',\n label: 'Doctors',\n to: `${healthCarePath}/doctors`,\n // roles: [UserRole.Admin],\n },\n {\n icon: 'simple-icon-calculator',\n label: 'All Health Care Packages',\n to: `${healthCarePath}/pachages`,\n // roles: [UserRole.Admin],\n },\n \n {\n icon: 'simple-icon-calculator',\n label: 'All Health Care Subscriptions',\n to: `${healthCarePath}/subscriptions`,\n // roles: [UserRole.Admin],\n },\n {\n icon: 'simple-icon-calculator',\n label: 'Add Health Care Subscriptions',\n to: `${healthCarePath}/create-subscription/0`,\n // roles: [UserRole.Admin],\n },\n \n \n\n ],\n },\n {\n imgurl: 'assets/icons/pharmacy.png',\n icon: 'iconsminds-green-house',\n label: 'My Pharmacy',\n to: `${myPharmacyPath}`,\n // roles: [UserRole.Admin, UserRole.Editor],\n subs: [\n {\n icon: 'simple-icon-calculator',\n label: 'All Pharmacy Packages',\n to: `${myPharmacyPath}/packages`,\n // roles: [UserRole.Admin],\n },\n {\n icon: 'simple-icon-calculator',\n label: 'All Pharmacy Subscriptions',\n to: `${myPharmacyPath}/subscriptions`,\n // roles: [UserRole.Admin],\n },\n {\n icon: 'simple-icon-calculator',\n label: 'Add Pharmacy Subscription',\n to: `${myPharmacyPath}/create-subscription/0`,\n // roles: [UserRole.Admin],\n },\n \n \n\n ],\n },\n {\n imgurl: 'assets/icons/membership.png',\n icon: 'iconsminds-green-house',\n label: 'Council affairs',\n to: `${myCouncilAndMembers}`,\n subs: [\n \n {\n icon: 'simple-icon-calculator',\n label: 'Board of directors',\n to: `${myCouncilAndMembers}/board-of-directors`,\n }, \n {\n icon: 'simple-icon-calculator',\n label: 'All positions',\n to: `${myCouncilAndMembers}/positions-of-council-members`,\n },\n {\n icon: 'simple-icon-calculator',\n label: 'Types Of Topics',\n to: `${myCouncilAndMembers}/types-of-topics`,\n },\n {\n icon: 'simple-icon-calculator',\n label: 'Third Party',\n to: `${myCouncilAndMembers}/third-party`,\n },\n {\n icon: 'simple-icon-calculator',\n label: 'Boards of directors',\n to: `${myCouncilAndMembers}/boards-of-directors`,\n },\n \n ]\n },\n // {\n // imgurl:'assets/icons/cost.png',\n\n // icon: 'iconsminds-factory',\n // label: 'production',\n // to: `${adminRoot}/production`,\n // // roles: [UserRole.Admin, UserRole.Editor],\n // subs: [\n // {\n // icon: 'simple-icon-doc',\n // label: 'production',\n // to: `${adminRoot}/production/default`,\n // // roles: [UserRole.Admin],\n // },\n \n // ],\n // },\n // {\n // imgurl:'assets/icons/project-management.png',\n\n // icon: 'iconsminds-project',\n // label: 'projects-management',\n // to: `${adminRoot}/projects-management`,\n // // roles: [UserRole.Admin, UserRole.Editor],\n // subs: [\n // {\n // icon: 'simple-icon-doc',\n // label: 'projects-management',\n // to: `${adminRoot}/projects-management/default`,\n // // roles: [UserRole.Admin],\n // },\n \n // ],\n // },\n // {\n // imgurl:'assets/icons/planning.png',\n\n // icon: 'iconsminds-light-bulb-leaf',\n // label: 'planning',\n // to: `${adminRoot}/planning`,\n // // roles: [UserRole.Admin, UserRole.Editor],\n // subs: [\n // {\n // icon: 'simple-icon-doc',\n // label: 'planning',\n // to: `${adminRoot}/planning/default`,\n // // roles: [UserRole.Admin],\n // },\n \n // ],\n // },\n];\nexport default data;\n","import { Component, HostListener } from '@angular/core';\n\n@Component({\n selector: 'app-application-menu',\n templateUrl: './application-menu.component.html'\n})\n\nexport class ApplicationMenuComponent {\n isOpen = false;\n\n constructor() {\n }\n\n @HostListener('document:click', ['$event'])\n handleDocumentClick(event): void {\n if (this.isOpen) {\n this.toggle();\n }\n }\n\n toggle(): void {\n this.isOpen = !this.isOpen;\n }\n\n menuClick(event: MouseEvent): void {\n event.stopPropagation();\n }\n}\n","
    \n \n \n \n \n
    ","import { Component, Input } from '@angular/core';\nimport { Router, Event, NavigationEnd, ActivatedRoute } from '@angular/router';\nimport { filter, map } from 'rxjs/operators';\nimport menuItems, { IMenuItem } from 'src/app/constants/menu';\nimport { environment } from 'src/environments/environment';\n\n@Component({\n selector: 'app-breadcrumb',\n templateUrl: './breadcrumb.component.html'\n})\n\nexport class BreadcrumbComponent {\n @Input() title = '';\n menuItems: IMenuItem[] = menuItems;\n\n path = '';\n pathArr: string[] = [];\n\n constructor(private router: Router, private activatedRoute: ActivatedRoute) {\n this.router.events\n .pipe(\n filter((event) => event instanceof NavigationEnd),\n map(() => this.activatedRoute),\n map((route) => {\n while (route.firstChild) { route = route.firstChild; }\n return route;\n })\n ).subscribe((event) => {\n this.path = this.router.url.slice(1, this.router.url.split('?')[0].length);\n const paramtersLen = Object.keys(event.snapshot.params).length;\n this.pathArr = this.path.split('/').slice(0, this.path.split('/').length - paramtersLen);\n });\n }\n\n getUrl = (sub: string) => {\n return '/' + this.path.split(sub)[0] + sub;\n }\n\n getLabel(path): string {\n if (path === environment.adminRoot) {\n return 'menu.home';\n }\n\n // step 0\n let foundedMenuItem = this.menuItems.find(x => x.to === path);\n\n if (!foundedMenuItem) {\n // step 1\n this.menuItems.map(menu => {\n if (!foundedMenuItem && menu.subs) {foundedMenuItem = menu.subs.find(x => x.to === path); }\n });\n if (!foundedMenuItem) {\n // step 2\n this.menuItems.map(menu => {\n if (menu.subs) {\n menu.subs.map(sub => {\n if (!foundedMenuItem && sub.subs) {foundedMenuItem = sub.subs.find(x => x.to === path); }\n });\n }\n });\n if (!foundedMenuItem) {\n // step 3\n this.menuItems.map(menu => {\n if (menu.subs) {\n menu.subs.map(sub => {\n if (sub.subs) {\n sub.subs.map(deepSub => {\n if (!foundedMenuItem && deepSub.subs) {foundedMenuItem = deepSub.subs.find(x => x.to === path); }\n });\n }\n });\n }\n });\n }\n }\n }\n\n if (foundedMenuItem) { return foundedMenuItem.label; } else { return ''; }\n }\n\n}\n","\n","import { Component, OnInit, Renderer2, HostListener } from '@angular/core';\nimport { environment } from 'src/environments/environment';\nimport { getThemeColor, setThemeColor, getThemeRadius, setThemeRadius } from 'src/app/utils/util';\n\n@Component({\n selector: 'app-color-switcher',\n templateUrl: './color-switcher.component.html',\n})\nexport class ColorSwitcherComponent implements OnInit {\n colors: string[] = [\n 'bluenavy',\n 'blueyale',\n 'blueolympic',\n 'greenmoss',\n 'greenlime',\n 'purplemonster',\n 'orangecarrot',\n 'redruby',\n 'yellowgranola',\n 'greysteel',\n ];\n selectedColor: string = getThemeColor();\n isOpenSwitcher = false;\n toggleClass = 'theme-colors';\n radius = getThemeRadius();\n constructor(private renderer: Renderer2) {\n this.changeRadius(this.radius);\n }\n ngOnInit(): void {}\n\n changeColor(color: string): void {\n this.selectedColor = color;\n setThemeColor(color);\n setTimeout(() => {\n window.location.reload();\n }, 500);\n }\n\n toggleSwitcher(event): void {\n this.isOpenSwitcher = !this.isOpenSwitcher;\n this.toggleClass = this.isOpenSwitcher\n ? 'theme-colors shown'\n : 'theme-colors hidden';\n event.stopPropagation();\n }\n\n changeRadius(radius): void {\n if (radius === 'flat') {\n this.renderer.removeClass(document.body, 'rounded');\n } else {\n this.renderer.addClass(document.body, 'rounded');\n }\n setThemeRadius(radius);\n }\n\n @HostListener('document:click', ['$event'])\n handleDocumentClick(event): void {\n this.isOpenSwitcher = false;\n this.toggleClass = 'theme-colors hidden';\n }\n}\n","
    \n
    \n

    Light Theme

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

    Dark Theme

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

    Border Radius

    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n\n \n
    \n","import { DatePipe } from '@angular/common';\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'app-footer',\n templateUrl: './footer.component.html'\n})\nexport class FooterComponent {\n\n myDate:string = new Date().toString();\n constructor(private datePipe: DatePipe){\n this.myDate = this.datePipe.transform(this.myDate, 'y');\n }\n}\n","
    \n
    \n
    \n
    \n
    \n

    © {{myDate }} FutureCore.

    \n
    \n \n
    \n
    \n
    \n
    \n","import { Component, Input } from '@angular/core';\nimport { Router, Event, NavigationEnd, ActivatedRoute } from '@angular/router';\nimport { filter, map } from 'rxjs/operators';\nimport menuItems, { IMenuItem } from 'src/app/constants/menu';\nimport { environment } from 'src/environments/environment';\n\n@Component({\n selector: 'app-heading',\n templateUrl: './heading.component.html'\n})\nexport class HeadingComponent {\n @Input() title = '';\n menuItems: IMenuItem[] = menuItems;\n path = '';\n\n constructor(private router: Router, private activatedRoute: ActivatedRoute) {\n this.router.events\n .pipe(\n filter((event) => event instanceof NavigationEnd),\n map(() => this.activatedRoute),\n map((route) => {\n while (route.firstChild) { route = route.firstChild; }\n return route;\n })\n ).subscribe((event) => {\n this.path = this.router.url.split('?')[0];\n });\n }\n\n getLabel(path): string {\n if (path === environment.adminRoot) {\n return 'menu.home';\n }\n\n // step 0\n let foundedMenuItem = this.menuItems.find(x => x.to === path);\n\n if (!foundedMenuItem) {\n // step 1\n this.menuItems.map(menu => {\n if (!foundedMenuItem && menu.subs) {foundedMenuItem = menu.subs.find(x => x.to === path); }\n });\n if (!foundedMenuItem) {\n // step 2\n this.menuItems.map(menu => {\n if (menu.subs) {\n menu.subs.map(sub => {\n if (!foundedMenuItem && sub.subs) {foundedMenuItem = sub.subs.find(x => x.to === path); }\n });\n }\n });\n if (!foundedMenuItem) {\n // step 3\n this.menuItems.map(menu => {\n if (menu.subs) {\n menu.subs.map(sub => {\n if (sub.subs) {\n sub.subs.map(deepSub => {\n if (!foundedMenuItem && deepSub.subs) {foundedMenuItem = deepSub.subs.find(x => x.to === path); }\n });\n }\n });\n }\n });\n }\n }\n }\n\n if (foundedMenuItem) { return foundedMenuItem.label; } else { return 'notFoundInMenu'; }\n }\n\n}\n","

    {{ title || ( getLabel(path) | translate) }}

    \n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\nimport { SidebarComponent } from './sidebar/sidebar.component';\nimport { BreadcrumbComponent } from './breadcrumb/breadcrumb.component';\nimport { TopnavComponent } from './topnav/topnav.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { RouterModule } from '@angular/router';\nimport { ColorSwitcherComponent } from './color-switcher/color-switcher.component';\nimport { FooterComponent } from './footer/footer.component';\nimport { HeadingComponent } from './heading/heading.component';\nimport { ApplicationMenuComponent } from './application-menu/application-menu.component';\nimport { FormsModule } from '@angular/forms';\nimport { CollapseModule } from 'ngx-bootstrap/collapse';\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\n\n@NgModule({\n declarations: [\n TopnavComponent,\n SidebarComponent,\n BreadcrumbComponent,\n ColorSwitcherComponent,\n FooterComponent,\n HeadingComponent,\n ApplicationMenuComponent\n ],\n imports: [\n CommonModule,\n PerfectScrollbarModule,\n TranslateModule,\n RouterModule,\n CollapseModule,\n FormsModule,\n BsDropdownModule.forRoot(),\n TooltipModule.forRoot(),\n ],\n exports: [\n TopnavComponent,\n SidebarComponent,\n BreadcrumbComponent,\n ColorSwitcherComponent,\n FooterComponent,\n HeadingComponent,\n ApplicationMenuComponent\n ]\n})\nexport class LayoutContainersModule { }\n","\n","import { Component, OnInit, OnDestroy, HostListener } from '@angular/core';\nimport { Router, NavigationEnd, ActivatedRoute } from '@angular/router';\nimport { filter, map } from 'rxjs/operators';\nimport { SidebarService, ISidebar } from './sidebar.service';\nimport menuItems, { IMenuItem } from 'src/app/constants/menu';\nimport { Subscription } from 'rxjs';\nimport { UserRole } from 'src/app/shared/auth.roles';\nimport { AuthService } from 'src/app/shared/auth.service';\n\n@Component({\n selector: 'app-sidebar',\n templateUrl: './sidebar.component.html',\n})\nexport class SidebarComponent implements OnInit, OnDestroy {\n menuItems: IMenuItem[] = menuItems;\n selectedParentMenu = '';\n viewingParentMenu = '';\n currentUrl: string;\n\n sidebar: ISidebar;\n subscription: Subscription;\n closedCollapseList = [];\n\n currentUser = null;\n\n constructor(\n private router: Router,\n private sidebarService: SidebarService,\n private activatedRoute: ActivatedRoute,\n private authService: AuthService\n ) {\n this.authService.getUser().then((user) => {\n this.currentUser = user;\n });\n\n this.subscription = this.sidebarService.getSidebar().subscribe(\n (res) => {\n this.sidebar = res;\n },\n (err) => {\n console.error(`An error occurred: ${err.message}`);\n }\n );\n this.router.events\n .pipe(\n filter((event) => event instanceof NavigationEnd),\n map(() => this.activatedRoute),\n map((route) => {\n while (route.firstChild) {\n route = route.firstChild;\n }\n return route;\n })\n )\n .subscribe((event) => {\n const path = this.router.url.split('?')[0];\n const paramtersLen = Object.keys(event.snapshot.params).length;\n const pathArr = path\n .split('/')\n .slice(0, path.split('/').length - paramtersLen);\n this.currentUrl = pathArr.join('/');\n });\n\n router.events\n .pipe(filter((event) => event instanceof NavigationEnd))\n .subscribe((event: NavigationEnd) => {\n const { containerClassnames } = this.sidebar;\n this.selectMenu();\n this.toggle();\n this.sidebarService.setContainerClassnames(\n 0,\n containerClassnames,\n this.sidebar.selectedMenuHasSubItems\n );\n window.scrollTo(0, 0);\n });\n }\n\n async ngOnInit(): Promise {\n setTimeout(() => {\n this.selectMenu();\n const { containerClassnames } = this.sidebar;\n const nextClasses = this.getMenuClassesForResize(containerClassnames);\n this.sidebarService.setContainerClassnames(\n 0,\n nextClasses.join(' '),\n this.sidebar.selectedMenuHasSubItems\n );\n this.isCurrentMenuHasSubItem();\n }, 100);\n }\n\n ngOnDestroy(): void {\n this.subscription.unsubscribe();\n }\n\n selectMenu(): void {\n this.selectedParentMenu = this.findParentInPath(this.currentUrl) || '';\n this.isCurrentMenuHasSubItem();\n }\n\n findParentInPath(path): any {\n const foundedMenuItem = this.menuItems.find((x) => x.to === path);\n if (!foundedMenuItem) {\n if (path.split('/').length > 1) {\n const pathArr = path.split('/');\n return this.findParentInPath(\n pathArr.slice(0, pathArr.length - 1).join('/')\n );\n } else {\n return undefined;\n }\n } else {\n return path;\n }\n }\n\n isCurrentMenuHasSubItem(): boolean {\n const { containerClassnames } = this.sidebar;\n\n const menuItem = this.menuItems.find(\n (x) => x.to === this.selectedParentMenu\n );\n const isCurrentMenuHasSubItem =\n menuItem && menuItem.subs && menuItem.subs.length > 0 ? true : false;\n if (isCurrentMenuHasSubItem !== this.sidebar.selectedMenuHasSubItems) {\n if (!isCurrentMenuHasSubItem) {\n this.sidebarService.setContainerClassnames(\n 0,\n containerClassnames,\n false\n );\n } else {\n this.sidebarService.setContainerClassnames(\n 0,\n containerClassnames,\n true\n );\n }\n }\n return isCurrentMenuHasSubItem;\n }\n\n changeSelectedParentHasNoSubmenu(parentMenu: string): void {\n const { containerClassnames } = this.sidebar;\n this.selectedParentMenu = parentMenu;\n this.viewingParentMenu = parentMenu;\n this.sidebarService.changeSelectedMenuHasSubItems(false);\n this.sidebarService.setContainerClassnames(0, containerClassnames, false);\n }\n\n openSubMenu(event: { stopPropagation: () => void }, menuItem: IMenuItem): void {\n if (event) {\n event.stopPropagation();\n }\n const { containerClassnames, menuClickCount } = this.sidebar;\n\n const selectedParent = menuItem.to;\n const hasSubMenu = menuItem.subs && menuItem.subs.length > 0;\n this.sidebarService.changeSelectedMenuHasSubItems(hasSubMenu);\n if (!hasSubMenu) {\n this.viewingParentMenu = selectedParent;\n this.selectedParentMenu = selectedParent;\n this.toggle();\n } else {\n const currentClasses = containerClassnames\n ? containerClassnames.split(' ').filter((x) => x !== '')\n : '';\n\n if (!currentClasses.includes('menu-mobile')) {\n if (\n currentClasses.includes('menu-sub-hidden') &&\n (menuClickCount === 2 || menuClickCount === 0)\n ) {\n this.sidebarService.setContainerClassnames(\n 3,\n containerClassnames,\n hasSubMenu\n );\n } else if (\n currentClasses.includes('menu-hidden') &&\n (menuClickCount === 1 || menuClickCount === 3)\n ) {\n this.sidebarService.setContainerClassnames(\n 2,\n containerClassnames,\n hasSubMenu\n );\n } else if (\n currentClasses.includes('menu-default') &&\n !currentClasses.includes('menu-sub-hidden') &&\n (menuClickCount === 1 || menuClickCount === 3)\n ) {\n this.sidebarService.setContainerClassnames(\n 0,\n containerClassnames,\n hasSubMenu\n );\n }\n } else {\n this.sidebarService.addContainerClassname(\n 'sub-show-temporary',\n containerClassnames\n );\n }\n this.viewingParentMenu = selectedParent;\n }\n }\n\n toggle(): void {\n const { containerClassnames, menuClickCount } = this.sidebar;\n const currentClasses = containerClassnames\n .split(' ')\n .filter((x) => x !== '');\n if (currentClasses.includes('menu-sub-hidden') && menuClickCount === 3) {\n this.sidebarService.setContainerClassnames(\n 2,\n containerClassnames,\n this.sidebar.selectedMenuHasSubItems\n );\n } else if (\n currentClasses.includes('menu-hidden') ||\n currentClasses.includes('menu-mobile')\n ) {\n if (!(menuClickCount === 1 && !this.sidebar.selectedMenuHasSubItems)) {\n this.sidebarService.setContainerClassnames(\n 0,\n containerClassnames,\n this.sidebar.selectedMenuHasSubItems\n );\n }\n }\n }\n\n toggleCollapse(id: string): void {\n if (this.closedCollapseList.includes(id)) {\n this.closedCollapseList = this.closedCollapseList.filter((x) => x !== id);\n } else {\n this.closedCollapseList.push(id);\n }\n }\n\n getMenuClassesForResize(classes: string): string[] {\n let nextClasses = classes.split(' ').filter((x: string) => x !== '');\n const windowWidth = window.innerWidth;\n\n if (windowWidth < this.sidebarService.menuHiddenBreakpoint) {\n nextClasses.push('menu-mobile');\n } else if (windowWidth < this.sidebarService.subHiddenBreakpoint) {\n nextClasses = nextClasses.filter((x: string) => x !== 'menu-mobile');\n if (\n nextClasses.includes('menu-default') &&\n !nextClasses.includes('menu-sub-hidden')\n ) {\n nextClasses.push('menu-sub-hidden');\n }\n } else {\n nextClasses = nextClasses.filter((x: string) => x !== 'menu-mobile');\n if (\n nextClasses.includes('menu-default') &&\n nextClasses.includes('menu-sub-hidden')\n ) {\n nextClasses = nextClasses.filter(\n (x: string) => x !== 'menu-sub-hidden'\n );\n }\n }\n return nextClasses;\n }\n\n @HostListener('document:click', ['$event'])\n handleDocumentClick(event): void {\n this.viewingParentMenu = '';\n this.selectMenu();\n this.toggle();\n }\n\n @HostListener('window:resize', ['$event'])\n handleWindowResize(event): void {\n if (event && !event.isTrusted) {\n return;\n }\n const { containerClassnames } = this.sidebar;\n const nextClasses = this.getMenuClassesForResize(containerClassnames);\n this.sidebarService.setContainerClassnames(\n 0,\n nextClasses.join(' '),\n this.sidebar.selectedMenuHasSubItems\n );\n this.isCurrentMenuHasSubItem();\n }\n\n menuClicked(e: MouseEvent): void {\n e.stopPropagation();\n }\nchichLableCount(lable)\n{\n lable.indexOf(lable);\n \n}\n // tslint:disable-next-line:no-shadowed-variable\n filteredMenuItems(menuItems: IMenuItem[]): IMenuItem[] {\n return menuItems\n ? menuItems.filter(\n (x) =>\n !x.roles || (x.roles && x.roles.includes(this.currentUser.role))\n )\n : [];\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, BehaviorSubject } from 'rxjs';\nimport { environment } from 'src/environments/environment';\n\nexport interface ISidebar {\n containerClassnames: string;\n menuClickCount: number;\n selectedMenuHasSubItems: boolean;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SidebarService {\n private initialSidebar: ISidebar = {\n containerClassnames: environment.defaultMenuType,\n menuClickCount: 0,\n selectedMenuHasSubItems: environment.defaultMenuType === 'menu-default',\n };\n private sidebar = new BehaviorSubject(this.initialSidebar);\n subHiddenBreakpoint: number = environment.subHiddenBreakpoint;\n menuHiddenBreakpoint: number = environment.menuHiddenBreakpoint;\n\n constructor() {}\n getSidebar(): Observable {\n return this.sidebar.asObservable();\n }\n changeVal(str: string): void {\n const before = this.sidebar.getValue();\n this.sidebar.next({ ...before, containerClassnames: str });\n }\n setContainerClassnames(\n clickIndex: number,\n strCurrentClasses: string,\n selectedMenuHasSubItems: boolean\n ): void {\n const currentClasses = strCurrentClasses\n ? strCurrentClasses.split(' ').filter((x) => x !== '')\n : '';\n let nextClasses = '';\n if (!selectedMenuHasSubItems) {\n if (\n currentClasses.includes('menu-default') &&\n (clickIndex % 4 === 0 || clickIndex % 4 === 3)\n ) {\n clickIndex = 1;\n }\n if (currentClasses.includes('menu-sub-hidden') && clickIndex % 4 === 2) {\n clickIndex = 0;\n }\n if (\n currentClasses.includes('menu-hidden') &&\n (clickIndex % 4 === 2 || clickIndex % 4 === 3)\n ) {\n clickIndex = 0;\n }\n }\n\n if (clickIndex % 4 === 0) {\n if (\n currentClasses.includes('menu-default') &&\n currentClasses.includes('menu-sub-hidden')\n ) {\n nextClasses = 'menu-default menu-sub-hidden';\n } else if (currentClasses.includes('menu-default')) {\n nextClasses = 'menu-default';\n } else if (currentClasses.includes('menu-sub-hidden')) {\n nextClasses = 'menu-sub-hidden';\n } else if (currentClasses.includes('menu-hidden')) {\n nextClasses = 'menu-hidden';\n }\n clickIndex = 0;\n } else if (clickIndex % 4 === 1) {\n if (\n currentClasses.includes('menu-default') &&\n currentClasses.includes('menu-sub-hidden')\n ) {\n nextClasses = 'menu-default menu-sub-hidden main-hidden sub-hidden';\n } else if (currentClasses.includes('menu-default')) {\n nextClasses = 'menu-default sub-hidden';\n } else if (currentClasses.includes('menu-sub-hidden')) {\n nextClasses = 'menu-sub-hidden main-hidden sub-hidden';\n } else if (currentClasses.includes('menu-hidden')) {\n nextClasses = 'menu-hidden main-show-temporary';\n }\n } else if (clickIndex % 4 === 2) {\n if (\n currentClasses.includes('menu-default') &&\n currentClasses.includes('menu-sub-hidden')\n ) {\n nextClasses = 'menu-default menu-sub-hidden sub-hidden';\n } else if (currentClasses.includes('menu-default')) {\n nextClasses = 'menu-default main-hidden sub-hidden';\n } else if (currentClasses.includes('menu-sub-hidden')) {\n nextClasses = 'menu-sub-hidden sub-hidden';\n } else if (currentClasses.includes('menu-hidden')) {\n nextClasses = 'menu-hidden main-show-temporary sub-show-temporary';\n }\n } else if (clickIndex % 4 === 3) {\n if (\n currentClasses.includes('menu-default') &&\n currentClasses.includes('menu-sub-hidden')\n ) {\n nextClasses = 'menu-default menu-sub-hidden sub-show-temporary';\n } else if (currentClasses.includes('menu-default')) {\n nextClasses = 'menu-default sub-hidden';\n } else if (currentClasses.includes('menu-sub-hidden')) {\n nextClasses = 'menu-sub-hidden sub-show-temporary';\n } else if (currentClasses.includes('menu-hidden')) {\n nextClasses = 'menu-hidden main-show-temporary';\n }\n }\n if (currentClasses.includes('menu-mobile')) {\n nextClasses += ' menu-mobile';\n }\n this.sidebar.next({\n containerClassnames: nextClasses,\n menuClickCount: clickIndex,\n selectedMenuHasSubItems,\n });\n }\n\n addContainerClassname(classname: string, strCurrentClasses: string): void {\n const newClasses = !(strCurrentClasses.indexOf(classname) > -1)\n ? strCurrentClasses + ' ' + classname\n : strCurrentClasses;\n const before = this.sidebar.getValue();\n this.sidebar.next({ ...before, containerClassnames: newClasses });\n }\n\n changeDefaultClassnames(strCurrentClasses: string): void {\n const before = this.sidebar.getValue();\n this.sidebar.next({ ...before, containerClassnames: strCurrentClasses });\n }\n\n changeSelectedMenuHasSubItems(hasSubMenu: boolean = true): void {\n const before = this.sidebar.getValue();\n this.sidebar.next({ ...before, selectedMenuHasSubItems: hasSubMenu });\n }\n\n clickOnMobileMenu = (strCurrentClasses: string) => {\n const before = this.sidebar.getValue();\n const currentClasses = strCurrentClasses\n ? strCurrentClasses\n .split(' ')\n .filter((x) => x !== '' && x !== 'sub-show-temporary')\n : [];\n let nextClasses = '';\n if (currentClasses.includes('main-show-temporary')) {\n nextClasses = currentClasses\n .filter((x) => x !== 'main-show-temporary')\n .join(' ');\n } else {\n nextClasses = currentClasses.join(' ') + ' main-show-temporary';\n }\n this.sidebar.next({\n ...before,\n containerClassnames: nextClasses,\n menuClickCount: 0,\n });\n }\n}\n","\n","import { Component, OnInit, OnDestroy, HostListener } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { SidebarService, ISidebar } from '../sidebar/sidebar.service';\nimport { Router } from '@angular/router';\nimport { LangService, Language } from 'src/app/shared/lang.service';\nimport { AuthService } from 'src/app/shared/auth.service';\nimport { environment } from 'src/environments/environment';\nimport { getThemeColor, setThemeColor } from 'src/app/utils/util';\nimport menuItems, { IMenuItem } from 'src/app/constants/menu';\n@Component({\n selector: 'app-topnav',\n templateUrl: './topnav.component.html',\n})\nexport class TopnavComponent implements OnInit, OnDestroy {\n menuItems: IMenuItem[] = menuItems;\n selectedParentMenu = '';\n\n // buyUrl = environment.buyUrl;\n adminRoot = environment.adminRoot;\n sidebar: ISidebar;\n subscription: Subscription;\n displayName = 'Sarah Cortney';\n languages: Language[];\n currentLanguage: string;\n isSingleLang;\n isFullScreen = false;\n isDarkModeActive = false;\n searchKey = '';\n currentUser = null;\n constructor(\n private sidebarService: SidebarService,\n private authService: AuthService,\n private router: Router,\n private langService: LangService\n ) {\n this.authService.getUser().then((user) => {\n this.currentUser = user;\n });\n this.languages = this.langService.supportedLanguages;\n this.currentLanguage = this.langService.languageShorthand;\n this.isSingleLang = this.langService.isSingleLang;\n this.isDarkModeActive = getThemeColor().indexOf('dark') > -1 ? true : false;\n }\n\n onDarkModeChange(event): void {\n let color = getThemeColor();\n if (color.indexOf('dark') > -1) {\n color = color.replace('dark', 'light');\n } else if (color.indexOf('light') > -1) {\n color = color.replace('light', 'dark');\n }\n setThemeColor(color);\n setTimeout(() => {\n window.location.reload();\n }, 200);\n }\n\n fullScreenClick(): void {\n if (document.fullscreenElement) {\n document.exitFullscreen();\n } else {\n document.documentElement.requestFullscreen();\n }\n }\n\n @HostListener('document:fullscreenchange', ['$event'])\n handleFullscreen(event): void {\n if (document.fullscreenElement) {\n this.isFullScreen = true;\n } else {\n this.isFullScreen = false;\n }\n }\n\n onLanguageChange(lang): void {\n this.langService.language = lang.code;\n this.currentLanguage = this.langService.languageShorthand;\n }\n\n async ngOnInit(): Promise {\n if (await this.authService.getUser()) {\n this.displayName = await this.authService.getUser().then((user) => {\n return user.displayName;\n });\n }\n this.subscription = this.sidebarService.getSidebar().subscribe(\n (res) => {\n this.sidebar = res;\n },\n (err) => {\n console.error(`An error occurred: ${err.message}`);\n }\n );\n }\n\n ngOnDestroy(): void {\n this.subscription.unsubscribe();\n }\n\n menuButtonClick = (\n e: { stopPropagation: () => void },\n menuClickCount: number,\n containerClassnames: string\n ) => {\n if (e) {\n e.stopPropagation();\n }\n\n setTimeout(() => {\n const event = document.createEvent('HTMLEvents');\n event.initEvent('resize', false, false);\n window.dispatchEvent(event);\n }, 350);\n\n this.sidebarService.setContainerClassnames(\n ++menuClickCount,\n containerClassnames,\n this.sidebar.selectedMenuHasSubItems\n );\n }\n\n mobileMenuButtonClick = (\n event: { stopPropagation: () => void },\n containerClassnames: string\n ) => {\n if (event) {\n event.stopPropagation();\n }\n this.sidebarService.clickOnMobileMenu(containerClassnames);\n }\n\n onSignOut(): void {\n this.authService.signOut().subscribe(() => {\n this.router.navigate([this.adminRoot]);\n });\n }\n\n searchKeyUp(event: KeyboardEvent): void {\n if (event.key === 'Enter') {\n this.search();\n } else if (event.key === 'Escape') {\n const input = document.querySelector('.mobile-view');\n if (input && input.classList) {\n input.classList.remove('mobile-view');\n }\n this.searchKey = '';\n }\n }\n\n searchAreaClick(event): void {\n event.stopPropagation();\n }\n searchClick(event): void {\n if (window.innerWidth < environment.menuHiddenBreakpoint) {\n let elem = event.target;\n if (!event.target.classList.contains('search')) {\n if (event.target.parentElement.classList.contains('search')) {\n elem = event.target.parentElement;\n } else if (\n event.target.parentElement.parentElement.classList.contains('search')\n ) {\n elem = event.target.parentElement.parentElement;\n }\n }\n\n if (elem.classList.contains('mobile-view')) {\n this.search();\n elem.classList.remove('mobile-view');\n } else {\n elem.classList.add('mobile-view');\n }\n } else {\n this.search();\n }\n event.stopPropagation();\n }\n\n search(): void {\n if (this.searchKey && this.searchKey.length > 1) {\n this.router.navigate([this.adminRoot + '/#'], {\n queryParams: { key: this.searchKey.toLowerCase().trim() },\n });\n this.searchKey = '';\n }\n }\n\n @HostListener('document:click', ['$event'])\n handleDocumentClick(event): void {\n const input = document.querySelector('.mobile-view');\n if (input && input.classList) {\n input.classList.remove('mobile-view');\n }\n this.searchKey = '';\n }\n filteredMenuItems(menuItems: IMenuItem[]): IMenuItem[] {\n return menuItems\n ? menuItems.filter(\n (x) =>\n !x.roles || (x.roles && x.roles.includes(this.currentUser.role))\n )\n : [];\n }\n currentUrl: string;\n viewingParentMenu = '';\n selectMenu(): void {\n this.selectedParentMenu = this.findParentInPath(this.currentUrl) || '';\n this.isCurrentMenuHasSubItem();\n }\n findParentInPath(path): any {\n const foundedMenuItem = this.menuItems.find((x) => x.to === path);\n if (!foundedMenuItem) {\n if (path.split('/').length > 1) {\n const pathArr = path.split('/');\n return this.findParentInPath(\n pathArr.slice(0, pathArr.length - 1).join('/')\n );\n } else {\n return undefined;\n }\n } else {\n return path;\n }\n }\n isCurrentMenuHasSubItem(): boolean {\n const { containerClassnames } = this.sidebar;\n\n const menuItem = this.menuItems.find(\n (x) => x.to === this.selectedParentMenu\n );\n const isCurrentMenuHasSubItem =\n menuItem && menuItem.subs && menuItem.subs.length > 0 ? true : false;\n if (isCurrentMenuHasSubItem !== this.sidebar.selectedMenuHasSubItems) {\n if (!isCurrentMenuHasSubItem) {\n this.sidebarService.setContainerClassnames(\n 0,\n containerClassnames,\n false\n );\n } else {\n this.sidebarService.setContainerClassnames(\n 0,\n containerClassnames,\n true\n );\n }\n }\n return isCurrentMenuHasSubItem;\n }\n}\n","import { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { BsModalService, BsModalRef } from 'ngx-bootstrap/modal';\n@Component({\n selector: 'app-add-new-product-modal',\n templateUrl: './add-new-product-modal.component.html',\n styles: []\n})\nexport class AddNewProductModalComponent {\n modalRef: BsModalRef;\n config = {\n backdrop: true,\n ignoreBackdropClick: true,\n class: 'modal-right'\n };\n categories = [\n { label: 'Cakes', value: 'chocolate' },\n { label: 'Cupcakes', value: 'vanilla' },\n { label: 'Desserts', value: 'strawberry' }\n ];\n\n\n @ViewChild('template', { static: true }) template: TemplateRef;\n\n constructor(private modalService: BsModalService) { }\n\n\n show(): void {\n this.modalRef = this.modalService.show(this.template, this.config);\n }\n\n}\n","\n
    \n

    {{'pages.add-new-modal-title' | translate}}

    \n \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    ","import { Component } from '@angular/core';\nimport { blogCategories } from '../../../data/blog';\n@Component({\n selector: 'app-blog-categories',\n templateUrl: './blog-categories.component.html'\n})\nexport class BlogCategoriesComponent {\n data = blogCategories.slice();\n constructor() { }\n\n\n\n}\n","
    \n
    \n
    Categories
    \n\n \n\n
    \n
    \n","import { Component} from '@angular/core';\nimport { Lightbox } from 'ngx-lightbox';\n\n@Component({\n selector: 'app-blog-content',\n templateUrl: './blog-content.component.html'\n})\nexport class BlogContentComponent {\n\n constructor(private lightbox: Lightbox) { }\n\n\n\n openLightbox(src: string): void {\n this.lightbox.open([{ src, thumb: '' }], 0, { centerVertically: true, positionFromTop: 0, disableScrolling: true, wrapAround: true });\n }\n\n}\n","
    \n \"detail\"\n
    \n
    \n
    Game Changing Features
    \n

    \n Blended value human-centered social innovation resist scale and impact issue\n outcomes\n bandwidth efficient. A; social return on investment, change-makers, support a,\n co-create\n commitment because sustainable. Rubric when vibrant black lives matter benefit\n corporation human-centered. Save the world, problem-solvers support silo mass\n incarceration. Accessibility empower communities changemaker, low-hanging fruit\n accessibility, thought partnership impact investing program areas invest.\n Contextualize\n optimism unprecedented challenge, empower inclusive. Living a fully ethical life the\n resistance segmentation social intrapreneurship efficient inspire external partners.\n Systems thinking correlation, social impact; when revolutionary bandwidth. Engaging,\n revolutionary engaging; empower communities policymaker shared unit of analysis\n technology inspiring social entrepreneurship.\n

    \n

    \n Mass incarceration, preliminary thinking systems thinking vibrant thought leadership\n corporate social responsibility. Green space global, policymaker; shared value\n disrupt\n segmentation social capital. Thought partnership, optimism citizen-centered\n commitment,\n relief scale and impact the empower communities circular. Contextualize boots on the\n ground; uplift big data, co-creation co-create segmentation youth inspire. Innovate\n innovate overcome injustice.\n

    \n
    \n
    \n
    Unprecedented Challenge
    \n
      \n
    • Preliminary thinking systems
    • \n
    • Bandwidth efficient
    • \n
    • Green space
    • \n
    • Social impact
    • \n
    • Thought partnership
    • \n
    • Fully ethical life
    • \n
    \n
    \n
    \n
    Revolutionary Bandwidth
    \n

    \n Blended value human-centered social innovation resist scale and impact issue\n outcomes bandwidth efficient. A; social return on investment, change-makers, support\n a, co-create commitment because sustainable. Rubric when vibrant black lives matter\n benefit corporation human-centered. Save the world, problem-solvers support silo\n mass incarceration. Accessibility empower communities changemaker, low-hanging fruit\n accessibility, thought partnership impact investing program areas invest.\n Contextualize optimism unprecedented challenge, empower inclusive. Living a fully\n ethical life the resistance segmentation social intrapreneurship efficient inspire\n external partners. Systems thinking correlation, social impact; when revolutionary\n bandwidth. Engaging, revolutionary engaging; empower communities policymaker shared\n unit of analysis technology inspiring social entrepreneurship.Mass incarceration,\n preliminary thinking systems thinking vibrant thought leadership corporate social\n responsibility. Green space global, policymaker; shared value disrupt segmentation\n social capital. Thought partnership, optimism citizen-centered commitment, relief\n scale and impact the empower communities circular. Contextualize boots on the\n ground; uplift big data, co-creation co-create segmentation youth inspire. Innovate\n innovate overcome injustice.\n

    \n

    \n Systems thinking correlation, social impact; when revolutionary bandwidth. Engaging,\n revolutionary engaging; empower communities policymaker shared unit of analysis\n technology inspiring social entrepreneurship. Thought partnership, optimism\n citizen-centered\n commitment,\n relief scale and impact the empower communities circular. Contextualize boots on the\n ground; uplift big data, co-creation co-create segmentation youth inspire. Innovate\n innovate overcome injustice.\n

    \n
    \n
    \n
    Game Changing Features
    \n

    \n Blended value human-centered social innovation resist scale and impact issue\n outcomes\n bandwidth efficient. A; social return on investment, change-makers, support a,\n co-create\n commitment because sustainable. Rubric when vibrant black lives matter benefit\n corporation human-centered. Save the world, problem-solvers support silo mass\n incarceration. Accessibility empower communities changemaker, low-hanging fruit\n accessibility, thought partnership impact investing program areas invest.\n Contextualize\n optimism unprecedented challenge, empower inclusive. Living a fully ethical life the\n resistance segmentation social intrapreneurship efficient inspire external partners.\n Systems thinking correlation, social impact; when revolutionary bandwidth. Engaging,\n revolutionary engaging; empower communities policymaker shared unit of analysis\n technology inspiring social entrepreneurship.\n

    \n

    \n But I must explain to you how all this mistaken idea of denouncing pleasure and\n praising pain was born and I will give you a complete account of the system, and\n expound the actual teachings of the great explorer of the truth, the master-builder\n of human happiness. No one rejects, dislikes, or avoids pleasure itself, because it\n is pleasure, but because those who do not know how to pursue pleasure rationally\n encounter consequences that are extremely painful. Nor again is there anyone who\n loves or pursues or desires to obtain pain of itself, because it is pain, but\n because occasionally circumstances occur in which toil and pain can procure him some\n great pleasure. To take a trivial example, which of us ever undertakes laborious\n physical exercise, except to obtain some advantage from it? But who has any right to\n find fault with a man who chooses to enjoy a pleasure that has no annoying\n consequences, or one who avoids a pain that produces no resultant pleasure? On the\n other hand, we denounce with righteous indignation and dislike men who are so\n beguiled and demoralized by the charms of pleasure of the moment, so blinded by\n desire, that they cannot foresee the pain and trouble that are bound to ensue; and\n equal blame belongs to those who fail in their duty through weakness of will, which\n is the same as saying through shrinking from toil and pain.\n

    \n

    \n These cases are\n perfectly simple and easy to distinguish. In a free hour, when our power of choice\n is untrammelled and when nothing prevents our being able to do what we like best,\n every pleasure is to be welcomed and every pain avoided. But in certain\n circumstances and owing to the claims of duty or the obligations of business it will\n frequently occur that pleasures have to be repudiated and annoyances accepted. The\n wise man therefore always holds in these matters to this principle of selection: he\n rejects pleasures to secure other greater pleasures, or else he endures pains to\n avoid worse pains. But I must explain to you how all this mistaken idea of\n denouncing pleasure and praising pain was born and I will give you a complete\n account of the system, and expound the actual teachings of the great explorer of the\n truth, the master-builder of human happiness. No one rejects, dislikes, or avoids\n pleasure itself, because it is pleasure, but because those who do not know how to\n pursue pleasure rationally encounter consequences that are extremely painful. Nor\n again is there anyone who loves or pursues or desires to obtain pain of itself,\n because it is pain, but because occasionally circumstances occur in which toil and\n pain can procure him some great pleasure. To take a trivial example, which of us\n ever undertakes laborious physical exercise, except to obtain some advantage from\n it? But who has any right to find fault with a man who chooses to enjoy a pleasure\n that has no annoying consequences, or one who avoids a pain that produces no\n resultant pleasure? On the other hand, we denounce with righteous indignation and\n dislike men who are so beguiled and demoralized by the charms of pleasure of the\n moment, so blinded by desire, that they cannot foresee the pain and trouble that are\n bound to ensue; and equal blame belongs to those who fail in their duty through\n weakness of will, which is the same as saying through shrinking from toil and pain.\n These cases are perfectly simple and easy to distinguish. In a free hour, when our\n power of choice is untrammelled and when nothing prevents our being able to do what\n we like best, every pleasure is to be welcomed and every pain avoided. But in\n certain circumstances and owing to the claims of duty or the obligations of business\n it will frequently occur that pleasures have to be repudiated and annoyances\n accepted.\n

    \n
    \n
    \n
    \n","import { Component} from '@angular/core';\n\n@Component({\n selector: 'app-blog-side-video',\n templateUrl: './blog-side-video.component.html'\n})\nexport class BlogSideVideoComponent {\n\n constructor() { }\n\n\n\n}\n","
    \n
    \n
    \n \n \n
    \n
    \n
    \n

    Homemade Cheesecake with Fresh Berries and Mint\n

    \n
    \n

    09.04.2018

    \n
    \n
    \n
    \n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-feature-comparison',\n templateUrl: './feature-comparison.component.html'\n})\nexport class FeatureComparisonComponent {\n\n constructor() { }\n\n\n\n}\n","
    \n \n
    \n
    \n
    \n \n

    \n

    {{ 'pages.prices.developer' | translate }}

    \n

    {{ 'pages.prices.team' | translate }}

    \n

    {{ 'pages.prices.enterprise' | translate }}

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

    \n {{ 'pages.prices.twofactorauthentication' | translate }}\n

    \n

    \n \n

    \n

    \n \n

    \n

    \n \n

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

    \n {{ 'pages.prices.teampermissions' | translate }}\n

    \n

    \n

    \n

    \n \n

    \n

    \n \n

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

    \n {{ 'pages.prices.245Support' | translate }}\n

    \n

    \n

    \n

    \n \n

    \n

    \n

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

    \n {{ 'pages.prices.247Support' | translate }}\n

    \n

    \n

    \n

    \n

    \n

    \n \n

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

    \n {{ 'pages.prices.useractionsauditlog' | translate }}\n

    \n

    \n

    \n

    \n

    \n

    \n \n

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

    {{ 'pages.prices.twofactorauthentication' | translate }}

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

    \n {{ 'pages.prices.developer' | translate }}\n

    \n

    \n \n

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

    \n {{ 'pages.prices.team' | translate }}\n

    \n

    \n \n

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

    \n {{ 'pages.prices.enterprise' | translate }}\n

    \n

    \n \n

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

    {{ 'pages.prices.teampermissions' | translate }}

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

    \n {{ 'pages.prices.developer' | translate }}\n

    \n

    \n

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

    \n {{ 'pages.prices.team' | translate }}\n

    \n

    \n \n

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

    \n {{ 'pages.prices.enterprise' | translate }}\n

    \n

    \n \n

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

    {{ 'pages.prices.245Support' | translate }}

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

    \n {{ 'pages.prices.developer' | translate }}\n

    \n

    \n

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

    \n {{ 'pages.prices.team' | translate }}\n

    \n

    \n \n

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

    \n {{ 'pages.prices.enterprise' | translate }}\n

    \n

    \n

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

    {{ 'pages.prices.247Support' | translate }}

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

    \n {{ 'pages.prices.developer' | translate }}\n

    \n

    \n

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

    \n {{ 'pages.prices.team' | translate }}\n

    \n

    \n

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

    \n {{ 'pages.prices.enterprise' | translate }}\n

    \n

    \n \n

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

    {{ 'pages.prices.useractionsauditlog' | translate }}

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

    \n {{ 'pages.prices.developer' | translate }}\n

    \n

    \n

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

    \n {{ 'pages.prices.team' | translate }}\n

    \n

    \n

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

    \n {{ 'pages.prices.enterprise' | translate }}\n

    \n

    \n \n

    \n
    \n
    \n
    \n
    \n\n","import { Component, ViewChild, EventEmitter, Output, Input } from '@angular/core';\n\n@Component({\n selector: 'app-list-page-header',\n templateUrl: './list-page-header.component.html',\n styleUrls: ['./list-page-header.component.scss']\n})\nexport class ListPageHeaderComponent {\n displayOptionsCollapsed = false;\n\n @Input() showOrderBy = true;\n @Input() showSearch = true;\n @Input() showItemsPerPage = true;\n @Input() showDisplayMode = true;\n @Input() displayMode = 'list';\n @Input() selectAllState = '';\n @Input() itemsPerPage = 10;\n @Input() itemOptionsPerPage = [5, 10, 20];\n @Input() itemOrder = { label: 'Product Name', value: 'title' };\n @Input() itemOptionsOrders = [\n { label: 'Product Name', value: 'title' },\n { label: 'Category', value: 'category' },\n { label: 'Status', value: 'status' }];\n\n @Output() changeDisplayMode: EventEmitter = new EventEmitter();\n @Output() addNewItem: EventEmitter = new EventEmitter();\n @Output() selectAllChange: EventEmitter = new EventEmitter();\n @Output() searchKeyUp: EventEmitter = new EventEmitter();\n @Output() itemsPerPageChange: EventEmitter = new EventEmitter();\n @Output() changeOrderBy: EventEmitter = new EventEmitter();\n\n @ViewChild('search') search: any;\n constructor() { }\n\n\n ngOnInit(): void {\n }\n\n onSelectDisplayMode(mode: string): void {\n this.changeDisplayMode.emit(mode);\n }\n onAddNewItem(): void {\n this.addNewItem.emit(null);\n }\n selectAll(event): void {\n this.selectAllChange.emit(event);\n }\n onChangeItemsPerPage(item): void {\n this.itemsPerPageChange.emit(item);\n }\n\n onChangeOrderBy(item): void {\n this.itemOrder = item;\n this.changeOrderBy.emit(item);\n }\n\n onSearchKeyUp($event): void {\n this.searchKeyUp.emit($event);\n }\n\n//////////////////////////////////////////\n//K\n\n\n\n//@Input() tableFrom = new Date();\n//@Input() tableTo = new Date();\n@Input() dateSearch: boolean = false;\n@Input() SearchKey: string = '';\n@Input() AddEnabled: boolean = true;\n@Input() tableEngine: any = null;\nSearchFrom: Date = null;\nSearchTo: Date = null;\nSearchTerm = null;\n\nsearchDateRange(): void {\n this.tableEngine.filterDataByDateRange(this.SearchFrom,this.SearchTo,this.SearchKey==''?'Date':this.SearchKey);\n}\nsearchUsingKeys(): void {\n this.tableEngine.filterData();\n}\n\ndeleteSelected(): void {\n this.tableEngine.showDelModal('delMulti');\n}\n\n}\n","
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n {{\"PurchaseOrderShowResultsFrom\"|translate}}\n
    \n \n
    \n {{\"PurchaseOrderShowResultsTo\"|translate}}\n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n  \n
    \n
    \n
    \n \n
    \n
    \n \n \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    ","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { FormsModule } from '@angular/forms';\nimport { LightboxModule } from 'ngx-lightbox';\nimport { SharedModule } from 'src/app/shared/shared.module';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { AddNewProductModalComponent } from './add-new-product-modal/add-new-product-modal.component';\nimport { ListPageHeaderComponent } from './list-page-header/list-page-header.component';\nimport { ProfileUserSocialComponent } from './profile-user-social/profile-user-social.component';\nimport { ProfilePhotosComponent } from './profile-photos/profile-photos.component';\nimport { ProfileWhoToFollowComponent } from './profile-who-to-follow/profile-who-to-follow.component';\nimport { ProfileRecentPostsComponent } from './profile-recent-posts/profile-recent-posts.component';\nimport { ComponentsPagesModule } from '../../components/pages/components.pages.module';\nimport { ProfilePostsComponent } from './profile-posts/profile-posts.component';\nimport { ProfileGalleryComponent } from './profile-gallery/profile-gallery.component';\nimport { ProfileFriendsComponent } from './profile-friends/profile-friends.component';\nimport { ProfileUserPortfolioComponent } from './profile-user-portfolio/profile-user-portfolio.component';\nimport { ProfileProcessComponent } from './profile-process/profile-process.component';\nimport { ComponentsCardsModule } from '../../components/cards/components.cards.module';\nimport { ProfilePortfolioItemsComponent } from './profile-portfolio-items/profile-portfolio-items.component';\nimport { BlogSideVideoComponent } from './blog-side-video/blog-side-video.component';\nimport { BlogCategoriesComponent } from './blog-categories/blog-categories.component';\nimport { BlogContentComponent } from './blog-content/blog-content.component';\nimport { FeatureComparisonComponent } from './feature-comparison/feature-comparison.component';\nimport { ComponentsPlayerModule } from 'src/app/components/player/components.player.module';\nimport { LayoutContainersModule } from '../layout/layout.containers.module';\nimport { ProductDetailInfoAltComponent } from './product-detail-info-alt/product-detail-info-alt.component';\nimport { ProductDetailOrdersComponent } from './product-detail-orders/product-detail-orders.component';\nimport { ProductDetailCommentsComponent } from './product-detail-comments/product-detail-comments.component';\nimport { ProductDetailInfoComponent } from './product-detail-info/product-detail-info.component';\nimport { ProductDetailTabsComponent } from './product-detail-tabs/product-detail-tabs.component';\nimport { CollapseModule } from 'ngx-bootstrap/collapse';\nimport { RatingModule } from 'ngx-bootstrap/rating';\nimport { TabsModule } from 'ngx-bootstrap/tabs';\nimport { AccordionModule } from 'ngx-bootstrap/accordion';\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\n\n\n@NgModule({\n declarations: [\n AddNewProductModalComponent,\n ListPageHeaderComponent,\n ProfileUserSocialComponent,\n ProfilePhotosComponent,\n ProfileWhoToFollowComponent,\n ProfileRecentPostsComponent,\n ProfilePostsComponent,\n ProfileGalleryComponent,\n ProfileFriendsComponent,\n ProfileUserPortfolioComponent,\n ProfileProcessComponent,\n ProfilePortfolioItemsComponent,\n BlogSideVideoComponent,\n BlogCategoriesComponent,\n BlogContentComponent,\n FeatureComparisonComponent,\n ProductDetailInfoAltComponent,\n ProductDetailOrdersComponent,\n ProductDetailCommentsComponent,\n ProductDetailInfoComponent,\n ProductDetailTabsComponent\n ],\n imports: [\n CommonModule,\n SharedModule,\n RouterModule,\n CollapseModule,\n FormsModule,\n LayoutContainersModule,\n NgSelectModule,\n LightboxModule,\n ComponentsPagesModule,\n ComponentsCardsModule,\n ComponentsPlayerModule,\n RatingModule.forRoot(),\n TabsModule.forRoot(),\n AccordionModule.forRoot(),\n BsDropdownModule.forRoot()\n ],\n exports: [\n AddNewProductModalComponent,\n ListPageHeaderComponent,\n ProfileUserSocialComponent,\n ProfilePhotosComponent,\n ProfileWhoToFollowComponent,\n ProfileRecentPostsComponent,\n ProfilePostsComponent,\n ProfileGalleryComponent,\n ProfileFriendsComponent,\n ProfileUserPortfolioComponent,\n ProfileProcessComponent,\n ProfilePortfolioItemsComponent,\n BlogSideVideoComponent,\n BlogCategoriesComponent,\n BlogContentComponent,\n FeatureComparisonComponent,\n ProductDetailInfoAltComponent,\n ProductDetailOrdersComponent,\n ProductDetailCommentsComponent,\n ProductDetailInfoComponent,\n ProductDetailTabsComponent\n ]\n})\nexport class PagesContainersModule { }\n","import { Component, OnInit } from '@angular/core';\nimport commentData, { IComment } from 'src/app/data/comments';\n\n\n@Component({\n selector: 'app-product-detail-comments',\n templateUrl: './product-detail-comments.component.html'\n})\nexport class ProductDetailCommentsComponent implements OnInit {\n\n constructor() { }\n comments: IComment[] = commentData;\n\n ngOnInit(): void {\n }\n\n}\n","
    \n \n
    \n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-product-detail-info-alt',\n templateUrl: './product-detail-info-alt.component.html'\n})\nexport class ProductDetailInfoAltComponent implements OnInit {\n rate = 4;\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
    \n
    \n \n
    \n \"Detail\"\n
    \n

    {{ 'pages.description' | translate }}

    \n

    \n It’s all about simplicity…Less is more. Chocolate Cake\n exclusively brings you the classic chocolate cake.\n This cake is the one you always dream of-moist cake\n and creamy chocolate frosting.\n
    \n
    This cake proudly serves itself for a family\n gathering, a dinner party, a birthday celebration, a\n baby christening, and a gift to someone special or\n simply to have on hand on the cake stand at home\n served with an ice cold glass of milk!\n

    \n

    {{ 'pages.rating' | translate }}

    \n
    \n \n {{index < value ? '' : ''}}\n
    \n

    {{ 'pages.price' | translate }}

    \n

    $8,14

    \n

    {{ 'pages.ingredients' | translate }}

    \n
    \n

    \n {{'Flour' | uppercase}}\n {{'Chocolate' | uppercase}}\n {{'Caster Sugar' | uppercase}}\n {{'Baking Powder' | uppercase}}\n {{'Milk' | uppercase}}\n {{'Eggs' | uppercase}}\n {{'Vegetable Oil' | uppercase}}\n

    \n
    \n

    {{ 'pages.is-vegan' | translate }}

    \n

    No

    \n
    \n
    \n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-product-detail-info',\n templateUrl: './product-detail-info.component.html'\n})\nexport class ProductDetailInfoComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
    \n
    \n \n
    \n
    \n
    \n
    4\n Likes
    \n
    1\n Comment
    \n
    \n

    \n Vivamus ultricies augue vitae commodo condimentum. Nullam faucibus eros eu mauris\n feugiat, eget consectetur tortor tempus.\n

    \n Sed volutpat mollis dui eget fringilla.\n Vestibulum blandit urna ut tellus lobortis tristique. Vestibulum ante ipsum primis in\n faucibus orci luctus et ultrices posuere cubilia Curae; Pellentesque quis cursus\n mauris.\n

    \n Nulla non purus fermentum, pulvinar dui condimentum, malesuada nibh. Sed\n viverra quam urna, at condimentum ante viverra non. Mauris posuere erat sapien, a\n convallis libero lobortis sit amet. Suspendisse in orci tellus.\n

    \n

    Tags

    \n

    \n {{'Flour' | uppercase}}\n {{'Chocolate' | uppercase}}\n {{'Caster Sugar' | uppercase}}\n {{'Baking Powder' | uppercase}}\n

    \n
    \n
    \n","import { Component, OnInit } from '@angular/core';\nimport orderData, { IOrder } from 'src/app/data/orders';\n\n@Component({\n selector: 'app-product-detail-orders',\n templateUrl: './product-detail-orders.component.html'\n})\nexport class ProductDetailOrdersComponent implements OnInit {\n orders: IOrder[] = orderData;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
    \n
    \n \n {{order.name}}\n

    {{order.address}}

    \n

    {{order.date}}

    \n
    \n {{order.status}}\n
    \n
    \n
    \n\n","import { Component, OnInit } from '@angular/core';\nimport commentData, { IComment } from 'src/app/data/comments';\nimport questionData, { IQuestion } from 'src/app/data/questions';\n\n@Component({\n selector: 'app-product-detail-tabs',\n templateUrl: './product-detail-tabs.component.html'\n})\nexport class ProductDetailTabsComponent implements OnInit {\n comments: IComment[] = commentData;\n questions: IQuestion[] = questionData;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
    \n \n \n

    Augue Vitae Commodo

    \n

    \n Vivamus ultricies augue vitae commodo condimentum. Nullam\n faucibus eros eu mauris feugiat, eget consectetur tortor tempus. Sed volutpat\n mollis dui eget fringilla. Vestibulum blandit urna ut tellus lobortis tristique.\n Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia\n Curae; Pellentesque quis cursus mauris. Nam in ornare erat. Vestibulum convallis\n enim ac massa dapibus consectetur. Maecenas facilisis eros ac felis mattis, eget\n auctor sapien varius.\n
    \n
    \n Nulla non purus fermentum, pulvinar dui condimentum,\n malesuada nibh. Sed viverra quam urna, at condimentum ante viverra non. Mauris\n posuere erat sapien, a convallis libero lobortis sit amet. Suspendisse in orci\n tellus.\n

    \n
    \n\n

    Phasellus Efficitur

    \n\n

    \n Tellus a sem condimentum, vitae convallis sapien feugiat.\n Aenean non nibh nec nunc aliquam iaculis. Ut quis suscipit nunc. Duis at lectus\n a est aliquam venenatis vitae eget arcu. Sed egestas felis eget convallis\n maximus. Curabitur maximus, ligula vel sagittis iaculis, risus nisi tincidunt\n sem, ut ultricies libero nulla eu ligula. Nam ultricies mollis nulla, sed\n laoreet leo convallis ac. Mauris nisl risus, tincidunt ac diam aliquet,\n convallis pellentesque nisi. Nam sit amet libero at odio malesuada ultricies a\n vitae dolor. Cras in viverra felis, non consequat quam. Praesent a orci enim.\n Vivamus porttitor nisi at nisl egestas iaculis. Nullam commodo eget dui\n sollicitudin sagittis. Duis id nibh mollis, hendrerit metus consectetur,\n ullamcorper risus. Morbi elementum ultrices nunc, quis porta nisi ornare sit\n amet.\n
    \n
    \n Etiam tincidunt orci in nisi aliquam placerat. Aliquam finibus in sem ut\n vehicula. Morbi eget consectetur leo. Quisque consectetur lectus eros, sed\n sodales libero ornare cursus. Etiam elementum ut dolor eget hendrerit.\n Suspendisse eu lacus eu eros lacinia feugiat sit amet non purus.\n
    \n
    \n Pellentesque quis cursus mauris. Nam in ornare erat. Vestibulum convallis enim\n ac massa dapibus consectetur. Maecenas facilisis eros ac felis mattis, eget\n auctor sapien varius.\n

    \n
    \n

    Elementum Ultrices

    \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    #FirstLastHandle
    1MarkOtto@mdo
    2JacobThornton@fat
    3Larry the Bird@twitter
    \n
    \n\n \n \n\n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n\n \n
    \n \n \n

    \n {{question.answer}}\n

    \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n","import { Component } from '@angular/core';\nimport follow, { IFollow } from '../../../data/follow';\n\n@Component({\n selector: 'app-profile-friends',\n templateUrl: './profile-friends.component.html'\n})\nexport class ProfileFriendsComponent {\n data: IFollow[] = follow.slice();\n\n constructor() { }\n\n\n\n}\n","
    \n\n
    \n
    \n \n \"Profile\"\n \n
    \n \n
    \n \n

    {{item.name}}

    \n
    \n

    {{item.status}}

    \n \n
    \n
    \n
    \n
    \n
    \n\n\n","import { Component} from '@angular/core';\nimport { Lightbox } from 'ngx-lightbox';\n\n@Component({\n selector: 'app-profile-gallery',\n templateUrl: './profile-gallery.component.html'\n})\nexport class ProfileGalleryComponent {\n\n gallerySmall = [\n {\n src: 'img/products/tea-loaf.jpg',\n thumb: '/assets/img/products/tea-loaf-thumb.jpg',\n },\n {\n src: '/assets/img/products/magdalena.jpg',\n thumb: '/assets/img/products/magdalena-thumb.jpg',\n },\n {\n src: '/assets/img/products/marble-cake.jpg',\n thumb: '/assets/img/products/marble-cake-thumb.jpg',\n },\n {\n src: '/assets/img/products/parkin.jpg',\n thumb: '/assets/img/products/parkin-thumb.jpg',\n },\n {\n src: '/assets/img/products/napoleonshat.jpg',\n thumb: '/assets/img/products/napoleonshat-thumb.jpg',\n },\n {\n src: '/assets/img/products/fruitcake.jpg',\n thumb: '/assets/img/products/fruitcake-thumb.jpg',\n },\n ];\n\n galleryXlarge = [\n {\n src: '/assets/img/products/fruitcake.jpg',\n thumb: '/assets/img/products/fruitcake.jpg',\n },\n {\n src: '/assets/img/products/marble-cake.jpg',\n thumb: '/assets/img/products/marble-cake.jpg',\n }\n ];\n\n galleryLarge = [\n {\n src: '/assets/img/products/parkin.jpg',\n thumb: '/assets/img/products/parkin-thumb.jpg',\n },\n {\n src: '/assets/img/products/magdalena.jpg',\n thumb: '/assets/img/products/magdalena-thumb.jpg',\n },\n {\n src: '/assets/img/products/napoleonshat.jpg',\n thumb: '/assets/img/products/napoleonshat-thumb.jpg',\n },\n {\n src: '/assets/img/products/marble-cake.jpg',\n thumb: '/assets/img/products/marble-cake-thumb.jpg',\n }\n ];\n\n constructor(private lightbox: Lightbox) { }\n\n\n\n openLightbox(gallery, index: number): void {\n this.lightbox.open(gallery, index, { centerVertically: true, positionFromTop: 0, disableScrolling: true, wrapAround: true });\n }\n\n}\n","
    \n
    \n
    25 March 2020
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n\n
    \n
    \n
    04 April 2020
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n\n
    \n
    \n
    18 July 2020
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n","import { Component} from '@angular/core';\nimport { Lightbox } from 'ngx-lightbox';\n\n@Component({\n selector: 'app-profile-photos',\n templateUrl: './profile-photos.component.html'\n})\nexport class ProfilePhotosComponent {\n album = [\n {\n src: '/assets/img/products/marble-cake.jpg',\n thumb: '/assets/img/products/marble-cake-thumb.jpg'\n },\n {\n src: '/assets/img/products/parkin.jpg',\n thumb: '/assets/img/products/parkin-thumb.jpg'\n },\n {\n src: '/assets/img/products/fruitcake.jpg',\n thumb: '/assets/img/products/fruitcake-thumb.jpg'\n },\n {\n src: '/assets/img/products/tea-loaf.jpg',\n thumb: '/assets/img/products/tea-loaf-thumb.jpg'\n },\n {\n src: '/assets/img/products/napoleonshat.jpg',\n thumb: '/assets/img/products/napoleonshat-thumb.jpg'\n },\n {\n src: '/assets/img/products/magdalena.jpg',\n thumb: '/assets/img/products/magdalena-thumb.jpg'\n }\n ];\n constructor(private lightbox: Lightbox) {\n }\n\n openLightbox(index: number): void {\n this.lightbox.open(this.album, index, {centerVertically: true, positionFromTop: 0, disableScrolling: true, wrapAround: true});\n }\n\n close(): void {\n this.lightbox.close();\n }\n\n\n\n\n}\n","
    \n
    \n
    {{ 'pages.photos' | translate }}{{ 'pages.view-all' | translate }}\n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n\n\n\n","import { Component} from '@angular/core';\nimport products from '../../../data/products';\nimport { IProduct } from 'src/app/data/api.service';\n\n@Component({\n selector: 'app-profile-portfolio-items',\n templateUrl: './profile-portfolio-items.component.html'\n})\nexport class ProfilePortfolioItemsComponent {\n data: IProduct[] = products.slice(0, 18);\n\n constructor() { }\n\n\n\n}\n","
    \n
    \n
    \n
    \n \"Card\n {{item.status}}\n
    \n
    \n \n
    \n {{item.title}}\n
    \n
    \n
    \n

    {{item.date}}

    \n
    \n
    \n
    \n
    \n
    \n","import { Component} from '@angular/core';\nimport posts from '../../../data/posts';\n\n@Component({\n selector: 'app-profile-posts',\n templateUrl: './profile-posts.component.html'\n})\nexport class ProfilePostsComponent {\n data = posts.slice();\n\n constructor() { }\n\n\n\n}\n","\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-profile-process',\n templateUrl: './profile-process.component.html'\n})\nexport class ProfileProcessComponent {\n\n constructor() { }\n\n\n\n}\n","
    \n \n
    \n
    \n \n
    \n\n\n","import { Component } from '@angular/core';\nimport recentPost, { IRecentPost } from '../../../data/recent-posts';\n\n@Component({\n selector: 'app-profile-recent-posts',\n templateUrl: './profile-recent-posts.component.html'\n})\nexport class ProfileRecentPostsComponent {\n data: IRecentPost[] = recentPost.slice(0, 5);\n\n constructor() { }\n\n\n\n}\n","
    \n
    \n \n
    \n
    \n
    {{'pages.recent-posts' | translate}}
    \n
    \n \n
    \n
    \n
    \n","import { Component} from '@angular/core';\nimport { Lightbox } from 'ngx-lightbox';\n\n@Component({\n selector: 'app-profile-user-portfolio',\n templateUrl: './profile-user-portfolio.component.html'\n})\nexport class ProfileUserPortfolioComponent {\n\n constructor(private lightbox: Lightbox) { }\n\n\n\n openLightbox(src: string): void {\n this.lightbox.open([{ src, thumb: '' }], 0, { centerVertically: true, positionFromTop: 0, disableScrolling: true, wrapAround: true });\n }\n}\n","
    \n
    \n \n
    \n\n \"Profile\"\n\n\n
    \n

    {{'menu.about' | translate}}

    \n

    \n I’m a web developer. I spend my whole day, practically every day,\n experimenting with HTML, CSS, and JavaScript; dabbling with Python and\n Ruby; and inhaling a wide variety of potentially useless information\n through a few hundred RSS feeds. I build websites that delight and\n inform. I do it well.\n

    \n\n

    {{'pages.location' | translate}}

    \n

    Nairobi, Kenya

    \n\n

    {{'pages.responsibilities' | translate}}

    \n

    \n \n FRONTEND\n {{\" \"}}\n \n JAVASCRIPT\n {{\" \"}}\n \n SECURITY\n {{\" \"}}\n \n DESIGN\n \n

    \n\n

    {{'pages.contact' | translate}}

    \n
    \n
      \n
    • \n \n
    • \n
    • \n \n
    • \n
    • \n \n
    • \n
    \n
    \n\n
    \n
    \n","import { Component } from '@angular/core';\nimport { Lightbox } from 'ngx-lightbox';\n\n@Component({\n selector: 'app-profile-user-social',\n templateUrl: './profile-user-social.component.html'\n})\nexport class ProfileUserSocialComponent {\n\n constructor(private lightbox: Lightbox) { }\n\n\n\n openLightbox(src: string): void {\n this.lightbox.open([{ src, thumb: '' }], 0, { centerVertically: true, positionFromTop: 0, disableScrolling: true, wrapAround: true });\n }\n}\n","\"Profile\"\n
    \n
    \n
    \n

    Sarah Cortney

    \n
    \n

    \n I’m a web developer. I spend my whole day, practically every day,\n experimenting with HTML, CSS, and JavaScript; dabbling with Python and\n Ruby; and inhaling a wide variety of potentially useless information\n through a few hundred RSS feeds. I build websites that delight and\n inform. I do it well.\n

    \n\n

    {{'pages.location' | translate}}

    \n

    Nairobi, Kenya

    \n\n

    {{'pages.responsibilities' | translate}}

    \n

    \n \n FRONTEND\n {{\" \"}}\n \n JAVASCRIPT\n {{\" \"}}\n \n SECURITY\n {{\" \"}}\n \n DESIGN\n \n

    \n\n

    {{'pages.contact' | translate}}

    \n
    \n
      \n
    • \n \n
    • \n
    • \n \n
    • \n
    • \n \n
    • \n
    \n
    \n
    \n
    \n","import { Component} from '@angular/core';\nimport follow, { IFollow } from '../../../data/follow';\n\n@Component({\n selector: 'app-profile-who-to-follow',\n templateUrl: './profile-who-to-follow.component.html'\n})\nexport class ProfileWhoToFollowComponent {\n data: IFollow[] = follow.slice(0, 5);\n constructor() { }\n\n\n\n}\n","
    \n
    \n
    {{'pages.who-to-follow' | translate}}
    \n \n
    \n
    \n","export const blogData = [\n {\n title: 'Distinctively Exploit Optimal Alignments with Mentality Networks',\n description: 'Keeping your eye on the ball while performing a deep dive on the start-up mentality to derive convergence on cross-platform integration. Collaboratively administrate via plug-and-play networks.',\n thumb: '/assets/img/details/small-5.jpg',\n badge: 'NEW',\n type: 'image'\n },\n {\n title: 'Progressively Maintain Extensive Infomediaries',\n description: 'Credibly reintermediate backend ideas for cross-platform models. Continually reintermediate integrated processes through technically sound intellectual capital.',\n thumb: '/assets/img/details/small-2.jpg',\n badge: 'UPDATE',\n type: 'video'\n },\n {\n title: 'Assertively Iterate Resource Maximizing',\n description: 'Keeping your eye on the ball while performing a deep dive on the start-up mentality to derive convergence on cross-platform integration.',\n thumb: '/assets/img/details/small-3.jpg',\n type: 'image'\n },\n {\n title: 'Podcasting Operational Change Management Inside of Workflows',\n description: 'Quickly deploy strategic networks with compelling e-business. Credibly pontificate highly efficient manufactured products and enabled data.',\n thumb: '/assets/img/details/small-7.jpg',\n badge: 'TRENDING',\n type: 'image'\n },\n {\n title: 'Objectively Innovate Empowered Manufactured Products',\n description: 'Completely synergize resource taxing relationships via premier niche markets.',\n thumb: '/assets/img/details/smalimage.png',\n type: 'image'\n },\n {\n title: 'Completely Pursue Scalable Customer Service',\n description: 'Credibly reintermediate backend ideas for cross-platform models. Continually reintermediate integrated processes through technically sound intellectual capital.',\n thumb: '/assets/img/details/small-6.jpg',\n type: 'image'\n },\n {\n title: 'Dynamically Procrastinate B2C Users After Installed Base Benefits',\n description: 'Dramatically maintain clicks-and-mortar solutions without functional solutions. Completely synergize resource taxing relationships via premier niche markets.',\n thumb: '/assets/img/details/small-7.jpg',\n type: 'image'\n },\n {\n title: 'Progressively Maintain Extensive Infomediaries',\n description: 'Dramatically maintain clicks-and-mortar solutions without functional solutions.',\n thumb: '/assets/img/details/small-8.jpg',\n type: 'image'\n }\n];\n\nexport const blogCategories = [\n {\n title: 'Using the Template',\n link: '#',\n icon: 'iconsminds-director'\n },\n {\n title: 'Security',\n link: '#',\n icon: 'iconsminds-security-settings'\n },\n {\n title: 'Account Settings',\n link: '#',\n icon: 'iconsminds-male'\n },\n {\n title: 'Policies and Docs',\n link: '#',\n icon: 'iconsminds-newspaper'\n }\n];\n","export interface IComment {\n title: string;\n detail: string;\n thumb: string;\n rate: number;\n key: number;\n}\n\nconst data: IComment[] = [\n {\n title: 'Very informative content, thank you. ',\n detail: 'Mayra Sibley | Tea Loaf with Fresh Oranges | 17.09.2018 - 04:45',\n thumb: '/assets/img/profiles/image.png',\n rate: 5,\n key: 0\n },\n {\n title: 'This article was delightful to read. Please keep them coming.',\n detail: 'Barbera Castiglia | Cheesecake with Chocolate Cookies | 15.08.2018 - 01:18',\n thumb: '/assets/img/profiles/l-2.jpg',\n rate: 4,\n key: 1\n },\n {\n title: 'Your post is bad and you should feel bad.',\n detail: 'Bao Hathaway | Homemade Cheesecake | 26.07.2018 - 11:14',\n thumb: '/assets/img/profiles/l-3.jpg',\n rate: 5,\n key: 2\n },\n {\n title: 'Very original idea!',\n detail: 'Lenna Majeed | Tea Loaf with Fresh Oranges | 17.06.2018 - 09:20',\n thumb: '/assets/img/profiles/l-4.jpg',\n rate: 3,\n key: 3\n },\n {\n title: 'This article was delightful to read. Please keep them coming.',\n detail: 'Esperanza Lodge | Cheesecake with Fresh Berries | 16.06.2018 - 16:45',\n thumb: '/assets/img/profiles/l-5.jpg',\n rate: 2,\n key: 4\n },\n {\n title: 'Nah, did not like it.',\n detail: '24.07.2018 - 15:00',\n thumb: '/assets/img/profiles/l-2.jpg',\n rate: 5,\n key: 5\n },\n {\n title: 'Laree Munsch',\n detail: 'Brynn Bragg | Wedding Cake with Flowers | 12.04.2018 - 12:45',\n thumb: '/assets/img/profiles/image.png',\n rate: 4,\n key: 6\n }\n];\n\nexport default data;\n","export interface IFollow {\n name: string;\n status: string;\n thumb: string;\n large: string;\n id: number;\n}\n\nconst data: IFollow[] = [\n {\n name: 'Mayra Sibley',\n status: 'Lack of Humility',\n thumb: '/assets/img/profiles/l-5.jpg',\n large: '/assets/img/profiles/5.jpg',\n id: 1\n },\n {\n name: 'Philip Nelms',\n status: 'Lead Developer',\n thumb: '/assets/img/profiles/l-2.jpg',\n large: '/assets/img/profiles/2.jpg',\n id: 2\n },\n {\n name: 'Kathryn Mengel',\n status: 'Dog & Cat Person',\n thumb: '/assets/img/profiles/l-10.jpg',\n large: '/assets/img/profiles/10.jpg',\n id: 3\n },\n {\n name: 'Esperanza Lodge',\n status: 'Now giving divorce advices!',\n thumb: '/assets/img/profiles/l-4.jpg',\n large: '/assets/img/profiles/4.jpg',\n id: 4\n },\n {\n name: 'Ken Ballweg',\n status: 'Hi there, I am using Vien!',\n thumb: '/assets/img/profiles/l-3.jpg',\n large: '/assets/img/profiles/3.jpg',\n id: 5\n },\n {\n name: 'Rasheeda Vaquera',\n status: '...',\n thumb: '/assets/img/profiles/l-6.jpg',\n large: '/assets/img/profiles/6.jpg',\n id: 6\n },\n {\n name: 'Linn Ronning',\n status: 'What goes around comes around',\n thumb: '/assets/img/profiles/l-7.jpg',\n large: '/assets/img/profiles/7.jpg',\n id: 7\n },\n {\n name: 'Marty Otte',\n status: 'Big city life',\n thumb: '/assets/img/profiles/l-9.jpg',\n large: '/assets/img/profiles/9.jpg',\n id: 8\n },\n {\n name: 'Laree Munsch',\n status: 'New Job :)',\n thumb: '/assets/img/profiles/l-11.jpg',\n large: '/assets/img/profiles/11.jpg',\n id: 9\n }\n];\n\nexport default data;\n","export interface IOrder {\n name: string;\n address: string;\n date: string;\n statusColor: string;\n status: string;\n}\n\nconst data: IOrder[] = [\n {\n name: 'Marty Otte',\n address: 'Kansas City, USA',\n date: '02.01.2019',\n statusColor: 'secondary',\n status: 'ON HOLD'\n },\n {\n name: 'Linn Ronning',\n address: 'Toronto, Canada',\n date: '02.04.2018',\n statusColor: 'primary',\n status: 'PROCESSED'\n },\n {\n name: 'Rasheeda Vaquera',\n address: 'Kühndorf, Germany',\n date: '02.02.2019',\n statusColor: 'primary',\n status: 'PROCESSED'\n },\n {\n name: 'Esperanza Lodge',\n address: 'Montluçon, France',\n date: '20.03.2018',\n statusColor: 'primary',\n status: 'PROCESSED'\n },\n {\n name: 'Ken Ballweg',\n address: 'Birmingham, UK',\n date: '17.02.2018',\n statusColor: 'secondary',\n status: 'ON HOLD'\n }\n];\n\nexport default data;\n","const posts = [\n {\n type: 'video',\n name: 'Mayra Sibley',\n date: '10 minutes ago',\n profilePic: '/assets/img/profiles/image.png',\n detail: 'Keeping your eye on the ball while performing a deep dive on the start-up mentality.',\n image: '/assets/img/video/poster.jpg',\n video: 'http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4',\n likeCount: 125,\n commentCount: 3,\n comments: [\n {\n name: 'Kathryn Mengel',\n detail:\n `Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Pellentesque quis cursus mauris. Nam in ornare erat.\n Vestibulum convallis enim ac massa dapibus consectetur. Maecenas facilisis eros ac felis mattis, eget auctor sapien varius.`,\n date: 'Two hours ago',\n thumb: '/assets/img/profiles/l-3.jpg',\n likes: 1,\n id: 1\n },\n {\n name: 'Philip Nelms',\n detail: 'Quisque consectetur lectus eros, sed sodales libero ornare cursus. Etiam elementum ut dolor eget hendrerit. Suspendisse eu lacus eu eros lacinia feugiat sit amet non purus.',\n date: 'Two hours ago',\n thumb: '/assets/img/profiles/l-4.jpg',\n likes: 5,\n id: 2\n }],\n id: 1\n },\n {\n type: 'image',\n name: 'Mayra Sibley',\n date: '2 hours ago',\n profilePic: '/assets/img/profiles/image.png',\n detail:\n `Podcasting operational change management inside of workflows to establish a framework.\n Taking seamless key performance indicators offline to maximise the long tail. Keeping your eye on the ball while performing a deep dive on the start-up mentality.`,\n image: '/assets/img/details/5.jpg',\n video: '',\n likeCount: 3,\n commentCount: 1,\n comments: [\n {\n name: 'Latarsha Gama',\n detail: 'Taking seamless key performance indicators offline to maximise the long tail.',\n date: 'Five days ago',\n thumb: '/assets/img/profiles/l-7.jpg',\n likes: 2,\n id: 4\n }\n ],\n id: 2\n },\n {\n type: 'text',\n name: 'Mayra Sibley',\n date: '3 hours ago',\n profilePic: '/assets/img/profiles/image.png',\n detail:\n `Podcasting operational change management inside of workflows to establish a framework. Taking seamless key performance indicators offline to maximise the long tail.\n Keeping your eye on the ball while performing a deep dive on the start-up mentality.`,\n image: '',\n video: '',\n likeCount: 28,\n commentCount: 0,\n comments: [],\n id: 3\n },\n {\n type: 'image',\n name: 'Mayra Sibley',\n date: 'A day ago',\n profilePic: '/assets/img/profiles/image.png',\n detail: `Taking seamless key performance indicators offline to maximise the long tail. Keeping your eye on the ball while performing a deep dive on the start-up mentality.`,\n image: '/assets/img/details/1.jpg',\n video: '',\n likeCount: 11,\n commentCount: 4,\n comments: [{\n name: 'Latarsha Gama',\n detail: 'Taking seamless key performance indicators offline to maximise the long tail.',\n date: 'Five days ago',\n thumb: '/assets/img/profiles/l-7.jpg',\n likes: 0,\n id: 4\n },\n {\n name: 'Laree Munsch',\n detail: 'Quisque consectetur lectus eros, sed sodales libero ornare cursus. Etiam elementum ut dolor eget hendrerit. Suspendisse eu lacus eu eros lacinia feugiat sit amet non purus.',\n date: 'Six days ago',\n thumb: '/assets/img/profiles/l-2.jpg',\n likes: 14,\n id: 5\n }],\n id: 4\n }\n];\n\nexport default posts;\n","import { IProduct } from './api.service';\n\nconst data: IProduct[] = [\n {\n id: 1,\n title: 'Marble Cake',\n img: '/assets/img/products/marble-cake-thumb.jpg',\n category: 'Cakes',\n date: '02.04.2018',\n status: 'ON HOLD',\n statusColor: 'primary',\n description: 'Wedding cake with flowers Macarons and blueberries',\n sales: 1647,\n stock: 62\n },\n {\n id: 2,\n title: 'Fat Rascal',\n category: 'Cupcakes',\n img: '/assets/img/products/fat-rascal-thumb.jpg',\n date: '01.04.2018',\n status: 'PROCESSED',\n statusColor: 'secondary',\n description: 'Cheesecake with chocolate cookies and Cream biscuits',\n sales: 1240,\n stock: 48\n },\n {\n id: 3,\n title: 'Chocolate Cake',\n img: '/assets/img/products/chocolate-cake-thumb.jpg',\n category: 'Cakes',\n date: '25.03.2018',\n status: 'PROCESSED',\n statusColor: 'secondary',\n description: 'Homemade cheesecake with fresh berries and mint',\n sales: 1080,\n stock: 57\n },\n {\n id: 4,\n title: 'Goose Breast',\n img: '/assets/img/products/goose-breast-thumb.jpg',\n category: 'Cakes',\n date: '21.03.2018',\n status: 'PROCESSED',\n statusColor: 'secondary',\n description: 'Chocolate cake with berries',\n sales: 1014,\n stock: 41\n },\n {\n id: 5,\n title: 'Petit Gâteau',\n category: 'Cupcakes',\n img: '/assets/img/products/petit-gateau-thumb.jpg',\n date: '02.06.2018',\n status: 'ON HOLD',\n statusColor: 'primary',\n description: 'Chocolate cake with mascarpone',\n sales: 985,\n stock: 23\n },\n {\n id: 6,\n title: 'Salzburger Nockerl',\n img: '/assets/img/products/salzburger-nockerl-thumb.jpg',\n category: 'Desserts',\n date: '14.07.2018',\n status: 'PROCESSED',\n statusColor: 'secondary',\n description: 'Wedding cake decorated with donuts and wild berries',\n sales: 962,\n stock: 34\n },\n {\n id: 7,\n title: 'Napoleonshat',\n img: '/assets/img/products/napoleonshat-thumb.jpg',\n category: 'Desserts',\n date: '05.02.2018',\n status: 'PROCESSED',\n statusColor: 'secondary',\n description: 'Cheesecake with fresh berries and mint for dessert',\n sales: 921,\n stock: 31\n },\n {\n id: 8,\n title: 'Cheesecake',\n img: '/assets/img/products/cheesecake-thumb.jpg',\n category: 'Cakes',\n date: '18.08.2018',\n status: 'ON HOLD',\n statusColor: 'primary',\n description: 'Delicious vegan chocolate cake',\n sales: 887,\n stock: 21\n },\n {\n id: 9,\n title: 'Financier',\n img: '/assets/img/products/financier-thumb.jpg',\n category: 'Cakes',\n date: '15.03.2018',\n status: 'ON HOLD',\n statusColor: 'primary',\n description:\n 'White chocolate strawberry yogurt cake decorated with fresh fruits and chocolate',\n sales: 865,\n stock: 53\n },\n {\n id: 10,\n title: 'Genoise',\n img: '/assets/img/products/genoise-thumb.jpg',\n category: 'Cupcakes',\n date: '11.06.2018',\n status: 'PROCESSED',\n statusColor: 'secondary',\n description: 'Christmas fruit cake, pudding on top',\n sales: 824,\n stock: 55\n },\n {\n id: 11,\n title: 'Gingerbread',\n img: '/assets/img/products/gingerbread-thumb.jpg',\n category: 'Cakes',\n date: '10.04.2018',\n status: 'ON HOLD',\n statusColor: 'primary',\n description: 'Wedding cake decorated with donuts and wild berries',\n sales: 714,\n stock: 12\n },\n {\n id: 12,\n title: 'Magdalena',\n img: '/assets/img/products/magdalena-thumb.jpg',\n category: 'Cakes',\n date: '22.07.2018',\n status: 'PROCESSED',\n statusColor: 'secondary',\n description: 'Christmas fruit cake, pudding on top',\n sales: 702,\n stock: 14\n },\n {\n id: 13,\n title: 'Parkin',\n img: '/assets/img/products/parkin-thumb.jpg',\n category: 'Cakes',\n date: '22.08.2018',\n status: 'ON HOLD',\n statusColor: 'primary',\n description:\n 'White chocolate strawberry yogurt cake decorated with fresh fruits and chocolate',\n sales: 689,\n stock: 78\n },\n {\n id: 14,\n title: 'Streuselkuchen',\n img: '/assets/img/products/streuselkuchen-thumb.jpg',\n category: 'Cakes',\n date: '22.07.2018',\n status: 'PROCESSED',\n statusColor: 'secondary',\n description: 'Delicious vegan chocolate cake',\n sales: 645,\n stock: 55\n },\n {\n id: 15,\n title: 'Tea loaf',\n img: '/assets/img/products/tea-loaf-thumb.jpg',\n category: 'Cakes',\n date: '10.09.2018',\n status: 'ON HOLD',\n statusColor: 'primary',\n description: 'Cheesecake with fresh berries and mint for dessert',\n sales: 632,\n stock: 20\n },\n {\n id: 16,\n title: 'Merveilleux',\n img: '/assets/img/products/merveilleux-thumb.jpg',\n category: 'Cakes',\n date: '18.02.2018',\n status: 'ON HOLD',\n statusColor: 'primary',\n description: 'Chocolate cake with mascarpone',\n sales: 621,\n stock: 6\n },\n {\n id: 17,\n title: 'Fruitcake',\n img: '/assets/img/products/fruitcake-thumb.jpg',\n category: 'Cakes',\n date: '12.01.2019',\n status: 'PROCESSED',\n statusColor: 'secondary',\n description: 'Chocolate cake with berries',\n sales: 595,\n stock: 17\n },\n {\n id: 18,\n title: 'Bebinca',\n img: '/assets/img/products/bebinca-thumb.jpg',\n category: 'Cakes',\n date: '04.02.2019',\n status: 'PROCESSED',\n statusColor: 'secondary',\n description: 'Homemade cheesecake with fresh berries and mint',\n sales: 574,\n stock: 16\n },\n {\n id: 19,\n title: 'Cremeschnitte',\n img: '/assets/img/products/cremeschnitte-thumb.jpg',\n category: 'Desserts',\n date: '04.03.2018',\n status: 'ON HOLD',\n statusColor: 'primary',\n description: 'Cheesecake with chocolate cookies and Cream biscuits',\n sales: 562,\n stock: 9\n },\n {\n id: 20,\n title: 'Soufflé',\n img: '/assets/img/products/souffle-thumb.jpg',\n category: 'Cupcakes',\n date: '16.01.2018',\n status: 'ON HOLD',\n statusColor: 'primary',\n description: 'Wedding cake with flowers Macarons and blueberries',\n sales: 524,\n stock: 14\n }\n];\n\nexport default data;\n","export interface IQuestion {\n question: string;\n answer: string;\n id: string;\n}\n\nconst data: IQuestion[] = [\n {\n question: '1. Richardson beer labore wes anderson cred nesciunt?',\n answer: `Anim pariatur cliche reprehenderit, enim eiusmod highlife accusamus terry richardson ad squid. 3 wolf moonofficia aute, non cupidatat skateboard dolor brunch.\n Brunch 3wolf moon tempor, sunt aliqua put a bird on it squidsingle- origin coffee nulla assumenda shoreditch et.Nihil anim keffiyeh helvetica, craft beer labore wesanderson cred nesciunt sapiente ea proident.\n Ad veganexcepteur butcher vice lomo.Leggings occaecat craftbeer farm - to - table, raw denim aesthetic synth nesciuntyou probably haven\\'t heard of them accusamus laboresustainable VHS.`,\n id: 'q1'\n },\n {\n question: '2. Labore wes anderson cred nesciunt sapiente ea proident?',\n answer: `Anim pariatur cliche reprehenderit, enim eiusmod highlife accusamus terry richardson ad squid. 3 wolf moonofficia aute, non cupidatat skateboard dolor brunch.Food truck quinoa nesciunt laborum eiusmod.\n Brunch 3wolf moon tempor, sunt aliqua put a bird on it squidsingle-origin coffee nulla assumenda shoreditch et.Nihil anim keffiyeh helvetica, craft beer labore wesanderson cred nesciunt sapiente ea proident.`,\n id: 'q2'\n },\n {\n question: '3. Sunt aliqua put a bird on it squid?',\n answer: `Brunch 3wolf moon tempor, sunt aliqua put a bird on it squidsingle-origin coffee nulla assumenda shoreditch et.Nihil anim keffiyeh helvetica, craft beer labore wesanderson cred nesciunt sapiente ea proident.\n Ad veganexcepteur butcher vice lomo. Leggings occaecat craftbeer farm-to-table, raw denim aesthetic synth nesciuntyou probably haven\\'t heard of them accusamus laboresustainable VHS.`,\n id: 'q3'\n },\n {\n question: '4. Skateboard dolor brunch?',\n answer: `Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch.\n Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et.`,\n id: 'q4'\n },\n {\n question: '5. Vestibulum ante ipsum primis in faucibus?',\n answer: `Sed volutpat mollis dui eget fringilla. Vestibulum blandit urna ut tellus lobortis tristique. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Pellentesque quis cursus mauris.`,\n id: 'q5'\n },\n {\n question: '6. Moon officia aute?',\n answer: `Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod.\n Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident.`,\n id: 'q6'\n }\n];\n\nexport default data;\n","export interface IRecentPost {\n title: string;\n thumb: string;\n badge: string;\n}\n\nconst data: IRecentPost[] = [\n {\n title: 'Progressively Extensive Infomediaries',\n thumb: '/assets/img/products/magdalena-thumb.jpg',\n badge: 'NEW'\n },\n {\n title: 'Assertively Iterate Resource Maximizing',\n thumb: '/assets/img/products/marble-cake-thumb.jpg',\n badge: ''\n },\n {\n title: 'Manufactured Products',\n thumb: '/assets/img/products/salzburger-nockerl-thumb.jpg',\n badge: 'TRENDING'\n },\n {\n title: 'Podcasting Operational Change',\n thumb: '/assets/img/products/goose-breast-thumb.jpg',\n badge: ''\n },\n {\n title: 'Performing a Deep Dive',\n thumb: '/assets/img/products/petit-gateau-thumb.jpg',\n badge: ''\n }\n];\n\nexport default data;\n","import { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { MembershipModel } from 'src/app/memberships/models/membership.model';\nimport { DataFilterer } from 'src/app/views/invoice/shared/DataFilterer';\nimport { DataPaginator } from 'src/app/views/invoice/shared/DataPaginator';\nimport { DataSorter } from 'src/app/views/invoice/shared/DataSorter';\n\n@Component({\n selector: 'all-doctors',\n templateUrl: 'all-doctors.component.html',\n styleUrls: ['all-doctors.component.scss']\n})\nexport class AllDoctorsComponent {\n constructor(private formBuilder: FormBuilder, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private router : Router,\n ) {\n }\n currentScreen: any = 'Table';\n \n translationName: string = 'Doctors'\n \n sortableKeys = [];\n searchableKeys = ['Id'];\n \n ogData: MembershipModel [] = [ \n {Id:5, ArabicName:'محمود احمد' , EnglishName:'Mahmoud Ahmed', Phone:'01098340345', Email:\"mahmoud@gmail.com\" }, \n {Id:1, ArabicName:'عمرو محمد' , EnglishName:'Amro Mohamed', Phone:'01098340342', Email:\"Amro@gmail.com\" }, \n {Id:2, ArabicName:'محمد نوح' , EnglishName:'Mohamed Nouh', Phone:'01098340341', Email:\"Mohamed@gmail.com\" }, \n {Id:3, ArabicName:'يوسف احمد' , EnglishName:'Youssef Ahmed', Phone:'01098340345', Email:\"Youssef@gmail.com\" }, \n {Id:4, ArabicName:'ابراهيم حسن' , EnglishName:'Ibrahim Hassen', Phone:'01098340347', Email:\"Ibrahim@gmail.com\" }, \n \n ];\n\n \n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Id', property: 'Id' };\n this.sortableKeys = [\n { label: 'Id', property: 'Id' },\n { label: 'ArabicName', property: 'ArabicName' },\n { label: 'EnglishName', property: 'EnglishName' },\n { label: 'Phone', property: 'Phone' },\n { label: 'Email', property: 'Email' },\n ];\n this.loadData();\n console.log(this.ogData);\n }\n \n //Deletion methods:\n //Customize if needed.\n //Pass the target object as paraMetre if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject(){\n \n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n \n \n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n lang: string;\n currentFormMode: string = '';\n currentAction: string = '';\n \n \n //ogData = [];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n \n SelectAllBox: any = false;\n \n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n itemOrder: any;\n orderAsc: boolean = true;\n \n currentPage = 1;\n savedPage = 0;\n \n \n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n \n loadData() {\n debugger;\n this.currentAction = '';\n this.sortData();\n // this.MembershipService.getAll()\n // .subscribe(result=>{\n // this.currentAction = '';\n // this.ogData = result;\n // this.sortData();\n\n // })\n\n // this.modelService.getAll().subscribe(\n // data => {\n // this.currentAction = '';\n \n // this.ogData = data;\n // this.sortData();\n // }\n // )\n \n }\n \n sortData() {\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n \n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n \n filterData() {\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n \n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n \n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n \n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n \n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n \n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n \n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n \n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n \n isSelected(p: MembershipModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n \n onSelect(item: MembershipModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n \n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n \n @ViewChild('delModal') delModal: ModalDirective;\n showAddNewModalRef(): void {\n this.router.navigate(['app/health-care/create-doctor',0])\n }\n \n onEdit(id): void {\n this.router.navigate(['app/health-care/create-doctor',id])\n }\n \n showInfoModalRef(Id: any): void {\n //IMPORTANT\n //REDIRECT TO INFO PAGE\n }\n modelObject:MembershipModel={};\n deletionList: MembershipModel[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n \n SearchTerm: any = '';\n onview(id){\n this.router.navigate(['app/memberships/view-membership',id])\n\n }\n \n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n \n this.deletionList = [];\n this.selected = [];\n \n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n \n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n \n loadAllData() {\n // this.modelService.getAll().subscribe(\n // data => {\n // this.ogData = data;\n // this.loadSearch();\n // }\n // )\n }\n \n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n \n @ViewChild('smallModal') smallModal: ModalDirective;\n \n}\n","\n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n\n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Id\" | translate}}\n \n
    \n {{\"ArabicName\" | translate}}\n \n
    \n {{\"EnglishName\" | translate}}\n \n
    \n {{\"Phone\" | translate}}\n \n
    \n {{\"Email\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{obj.Id}}{{obj.ArabicName }}{{obj.EnglishName }}{{obj.Phone }}{{obj.Email }}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { MembershipModel } from 'src/app/memberships/models/membership.model';\n\n@Component({\n selector: 'create-doctor',\n templateUrl: 'create-doctor.component.html',\n styleUrls: ['create-doctor.component.scss']\n})\nexport class CreateDoctorComponent implements OnInit {\n showCard: boolean = false;\n ItemHolderList: any[] = [];\n Form: FormGroup;\n lang: string;\n Id = 0;\n ogData: MembershipModel [] = [ \n {Id:5,FieldNameAr:'محمود',SchoolNameAr:'احمد', ArabicName:'محمود احمد' , EnglishName:'Mahmoud Ahmed', Phone:'01098340345', Email:\"mahmoud@gmail.com\" }, \n {Id:1,FieldNameAr:'عمرو',SchoolNameAr:'محمد', ArabicName:'عمرو محمد' , EnglishName:'Amro Mohamed', Phone:'01098340342', Email:\"Amro@gmail.com\" }, \n {Id:2,FieldNameAr:'محمد',SchoolNameAr:'نوح', ArabicName:'محمد نوح' , EnglishName:'Mohamed Nouh', Phone:'01098340341', Email:\"Mohamed@gmail.com\" }, \n {Id:3,FieldNameAr:'يوسف',SchoolNameAr:'احمد', ArabicName:'يوسف احمد' , EnglishName:'Youssef Ahmed', Phone:'01098340345', Email:\"Youssef@gmail.com\" }, \n {Id:4,FieldNameAr:'ابراهيم',SchoolNameAr:'حسن', ArabicName:'ابراهيم حسن' , EnglishName:'Ibrahim Hassen', Phone:'01098340347', Email:\"Ibrahim@gmail.com\" }, \n \n ];\n MembershipService: any;\n constructor(\n public router:Router, \n public fb:FormBuilder, \n private route: ActivatedRoute\n\n ) {\n \n this.Id = +route.snapshot.paramMap.get(\"Id\");\n \n }\n \n ngOnInit() {\n if(this.Id > 0){\n var index = this.ogData.findIndex(x=>x.Id == this.Id);\n if(index > -1){\n var item = this.ogData[index];\n this.Form = this.createForm(item); \n\n }\n else{\n this.Form = this.createForm(new MembershipModel()); \n\n }\n }\n else{\n this.Form = this.createForm(new MembershipModel()); \n \n } \n \n }\n\n \n Save() {\n debugger;\n\n var membership = this.Form.getRawValue();\n membership.ImageURL = this.picurl;\n membership.NationalIDImage = this.NationalIdPicurl;\n membership.GraduationDocument = this.graduationPicurl;\n if(this.Id > 0){\n this.MembershipService.update(membership)\n .subscribe(result=>{\n if(result == true){\n this.router.navigate(['app/health-care/doctors'])\n }\n })\n }\n else{\n this.MembershipService.insert(membership)\n .subscribe(result=>{\n if(result == true){\n this.router.navigate(['app/health-care/doctors'])\n }\n })\n }\n\n\n }\n \n goBack(){\n this.router.navigate(['app/health-care/doctors'])\n }\n\n \n createForm(modelObject:MembershipModel): FormGroup {\n debugger;\n return this.fb.group({\n Id:[modelObject.Id],\n ArabicName :[modelObject.ArabicName ],\n FirstArabicName :[modelObject.FirstArabicName ],\n SecondArabicName :[modelObject.SecondArabicName ],\n LastArabicName :[modelObject.LastArabicName ],\n EnglishName :[modelObject.EnglishName ],\n Phone :[modelObject.Phone ],\n Email :[modelObject.Email ],\n Gender :[modelObject.Gender ],\n IsEgyptian :[modelObject.IsEgyptian ],\n NationalID :[modelObject.NationalID ],\n PassportNumber :[modelObject.PassportNumber ],\n BranchNameEn :[modelObject.BranchNameEn ],\n BranchNameAr :[modelObject.BranchNameAr ],\n CountryEn :[modelObject.CountryEn ],\n CountryAr :[modelObject.CountryAr ],\n NationaltyID :[modelObject.NationaltyID ],\n City :[modelObject.City ],\n GovernorateId :[modelObject.GovernorateId ],\n EmergencyContactNumber :[modelObject.EmergencyContactNumber ],\n BirthDate :[modelObject.BirthDate ],\n ImageURL :[modelObject.ImageURL ],\n PWS :[modelObject.PWS ],\n IsActive :[modelObject.IsActive ],\n Address :[modelObject.Address ],\n TeamId :[modelObject.TeamId ],\n BranchId :[modelObject.BranchId ],\n RoleId :[modelObject.RoleId ],\n IsBlocked :[modelObject.IsBlocked ],\n IsStudent :[modelObject.IsStudent ],\n FieldsStudyOrWorkId :[modelObject.FieldsStudyOrWorkId ],\n SubFieldsStudyOrWorkId :[modelObject.SubFieldsStudyOrWorkId ],\n CollegeId :[modelObject.CollegeId ],\n SchoolId :[modelObject.SchoolId ],\n AcademicYear :[modelObject.AcademicYear ],\n VolunteerItherFiled :[modelObject.VolunteerItherFiled ],\n CurrentPosition :[modelObject.CurrentPosition ],\n Employer :[modelObject.Employer ],\n UserId :[modelObject.UserId ],\n IsHaveExpereanceInVolunteerFildes:[modelObject.IsHaveExpereanceInVolunteerFildes],\n HowDidYouKnowAboutUs :[modelObject.HowDidYouKnowAboutUs ],\n IsMembershipExpered :[modelObject.IsMembershipExpered ],\n IsDisability:[modelObject.IsDisability],\n DisabilityType:[modelObject.DisabilityType],\n CreateBy :[modelObject.CreateBy ],\n CreateDate :[modelObject.CreateDate ],\n ModifiedBy :[modelObject.ModifiedBy ],\n ModifiedDate :[modelObject.ModifiedDate ],\n IsDeleted :[modelObject.IsDeleted ],\n DeletedBy :[modelObject.DeletedBy ],\n DeletedDate :[modelObject.DeletedDate ],\n GovernorateNameEn :[modelObject.GovernorateNameEn ],\n GovernorateNameAr :[modelObject.GovernorateNameAr ],\n CityNameEn :[modelObject.CityNameEn ],\n CityNameAr :[modelObject.CityNameAr ],\n SectorNameAr :[modelObject.SectorNameAr ],\n SectorNameEn :[modelObject.SectorNameEn ],\n FieldNameAr :[modelObject.FieldNameAr ],\n FieldNameEn :[modelObject.FieldNameEn ],\n HasWork :[modelObject.HasWork ],\n StudentType :[modelObject.StudentType ],\n CollegeNameAr :[modelObject.CollegeNameAr ],\n CollegeNameEn :[modelObject.CollegeNameEn ],\n SchoolNameAr :[modelObject.SchoolNameAr ],\n SchoolNameEn :[modelObject.SchoolNameEn ],\n VolunteerNumber :[modelObject.VolunteerNumber ],\n UniversityNameAr :[modelObject.UniversityNameAr ],\n UniversityNameEn :[modelObject.UniversityNameEn ],\n InstituteNameAr :[modelObject.InstituteNameAr ],\n InstituteNameEn :[modelObject.InstituteNameEn ],\n EventsCount :[modelObject.EventsCount ],\n ActivitiesCount :[modelObject.ActivitiesCount ],\n NumberOfActivityPoints :[modelObject.NumberOfActivityPoints ],\n NumberOfActivityHours :[modelObject.NumberOfActivityHours ],\n EndMembershipDate :[modelObject.EndMembershipDate ],\n MembershipIsIsEnded :[modelObject.MembershipIsIsEnded ],\n Latitude :[modelObject.Latitude ],\n Langitude :[modelObject.Langitude ],\n Zoom :[modelObject.Zoom ],\n EndMembershipRequest :[modelObject.EndMembershipRequest ],\n TransferMembershipRequest :[modelObject.TransferMembershipRequest ],\n RenewMembershipRequest :[modelObject.RenewMembershipRequest ],\n HasOtherExperinceField :[modelObject.HasOtherExperinceField ],\n OtherExperinceField :[modelObject.OtherExperinceField ],\n OtherNationalty :[modelObject.OtherNationalty ],\n IsAccepted :[modelObject.IsAccepted ],\n IsObsolete :[modelObject.IsObsolete ],\n IsRejected :[modelObject.IsRejected ],\n PrefierdInterview :[modelObject.PrefierdInterview ],\n SocialStatus:[modelObject.SocialStatus],\n GraduationYear:[modelObject.GraduationYear],\n EducationalQualification:[modelObject.EducationalQualification],\n });\n }\n public editEnabled = true;\n public picurl: string ='';\n\n clear(){\n this.picurl = '';\n }\n public NationalIdEditEnabled = true;\n public NationalIdPicurl: string ='';\n\n clearNationalId(){\n this.NationalIdPicurl = '';\n}\npublic graduationEditEnabled = true;\npublic graduationPicurl: string ='';\n\ncleargraduation(){\n this.graduationPicurl = '';\n}\n\n }\n ","
    \n\n
    \n \n {{\"Save\" | translate}}\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    {{'Profile Image'|translate}}
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    {{'National Id'|translate}}
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    {{'Graduation document'|translate}}
    \n
    \n \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n

    {{ 'Basic Data' | translate }}

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

    {{ 'Education And Work' | translate }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n
    \n \n
    \n \n
    \n
    \n \n \n
    \n \n
    \n\n
    \n\n
    \n \n {{\"Save\" | translate}}\n \n
    \n
    \n\n\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { FileUploader } from 'ng2-file-upload';\nimport { environment } from 'src/environments/environment';\n\n@Component({\n selector: 'upload-doctor-profile-image',\n templateUrl: 'upload-doctor-profile-image.component.html',\n styleUrls: ['upload-doctor-profile-image.component.scss']\n})\nexport class UploadDoctorProfileImageComponent implements OnInit {\n public MembershipProfile: FileUploader;\n public hasDragOver = false;\n \n @Input()\n public editmode = false;\n \n @Input()\n public url = '';\n \n @Output()\n public urlChange = new EventEmitter();\n declare lang: any;\n \n constructor(private translate: TranslateService, private notifications: NotificationsService) {\n this.lang = localStorage.getItem('theme_lang');\n\n this.MembershipProfile = new FileUploader({\n url: environment.baseApiUrl+'Membership/UploadMembershipProfile',\n disableMultipart: false,\n autoUpload: true\n });\n \n this.MembershipProfile.response.subscribe(res => {\n // Upload returns a JSON with the image ID\n if(res != null && res != \"\" && res != undefined){\n this.url = environment.apiUrl+ '/Resources/UploadMembershipProfile/' + JSON.parse(res);\n this.urlChange.emit(this.url);\n }\n else{\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessUpload\"))\n }\n },error =>{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedUpload\"))\n });\n }\n \n public fileOver(e: any): void {\n \n this.hasDragOver = e;\n }\n \n ngOnInit() {\n \n }\n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n }\n ","
    \n \n {{\"Download\"|translate}}\n \n \n
    \n ","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { FileUploader } from 'ng2-file-upload';\nimport { environment } from 'src/environments/environment';\n\n@Component({\n selector: 'upload-graduation-document-for-doctor',\n templateUrl: 'upload-graduation-document-for-doctor.component.html',\n styleUrls: ['upload-graduation-document-for-doctor.component.scss']\n})\nexport class UploadGraduationDocumentForDoctorComponent implements OnInit {\n public GraduationDocument: FileUploader;\n public hasDragOver = false;\n \n @Input()\n public editmode = false;\n \n @Input()\n public url = '';\n \n @Output()\n public urlChange = new EventEmitter();\n declare lang: any;\n \n constructor(private translate: TranslateService, private notifications: NotificationsService) {\n this.lang = localStorage.getItem('theme_lang');\n\n this.GraduationDocument = new FileUploader({\n url: environment.baseApiUrl+'Membership/UploadGraduation',\n disableMultipart: false,\n autoUpload: true\n });\n \n this.GraduationDocument.response.subscribe(res => {\n // Upload returns a JSON with the image ID\n if(res != null && res != \"\" && res != undefined){\n this.url = environment.apiUrl+ '/Resources/UploadGraduation/' + JSON.parse(res);\n this.urlChange.emit(this.url);\n }\n else{\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessUpload\"))\n }\n },error =>{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedUpload\"))\n });\n }\n \n public fileOver(e: any): void {\n \n this.hasDragOver = e;\n }\n \n ngOnInit() {\n \n }\n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n }\n ","
    \n \n {{\"Download\"|translate}}\n \n \n
    \n ","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { FileUploader } from 'ng2-file-upload';\nimport { environment } from 'src/environments/environment';\n\n@Component({\n selector: 'upload-nationalid-image-for-doctor',\n templateUrl: 'upload-nationalid-image-for-doctor.component.html',\n styleUrls: ['upload-nationalid-image-for-doctor.component.scss']\n})\nexport class UploadNationalidImageForDoctorComponent implements OnInit {\n public NationalID: FileUploader;\n public hasDragOver = false;\n \n @Input()\n public editmode = false;\n \n @Input()\n public url = '';\n \n @Output()\n public urlChange = new EventEmitter();\n declare lang: any;\n \n constructor(private translate: TranslateService, private notifications: NotificationsService) {\n this.lang = localStorage.getItem('theme_lang');\n\n this.NationalID = new FileUploader({\n url: environment.baseApiUrl+'Membership/UploadNationalidImage',\n disableMultipart: false,\n autoUpload: true\n });\n \n this.NationalID.response.subscribe(res => {\n // Upload returns a JSON with the image ID\n if(res != null && res != \"\" && res != undefined){\n this.url = environment.apiUrl+ '/Resources/UploadNationalidImage/' + JSON.parse(res);\n this.urlChange.emit(this.url);\n }\n else{\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessUpload\"))\n }\n },error =>{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedUpload\"))\n });\n }\n \n public fileOver(e: any): void {\n \n this.hasDragOver = e;\n }\n \n ngOnInit() {\n \n }\n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n }\n ","
    \n \n {{\"Download\"|translate}}\n \n \n
    \n ","import { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { HealthCarePackageModel } from '../../models/health-care-package.model';\nimport { DataSorter } from 'src/app/views/invoice/shared/DataSorter';\nimport { DataFilterer } from 'src/app/views/invoice/shared/DataFilterer';\nimport { DataPaginator } from 'src/app/views/invoice/shared/DataPaginator';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { SidePopupComponent } from 'src/app/views/invoice/side-popup/side-popup.component';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { of } from 'rxjs';\n\n@Component({\n selector: 'all-health-care-packages',\n templateUrl: 'all-health-care-packages.component.html',\n styleUrls: ['all-health-care-packages.component.scss']\n})\nexport class AllHealthCarePackagesComponent {\n constructor(private formBuilder: FormBuilder, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService\n ) { //Additional services for City and Country\n }\n currentScreen: any = 'Table';\n \n translationName: string = 'Package'\n \n sortableKeys = [];\n searchableKeys = ['NameEn', 'NameAr'];\n \n modelObject: HealthCarePackageModel = new HealthCarePackageModel({});\n ogData: HealthCarePackageModel [] = [ \n {Id:5, Name:'باقة 1', Status:'Active', Price:10000 }, \n {Id:1, Name:'باقة 2', Status:'Active', Price:20000 },\n {Id:2, Name:'باقة 3', Status:'Active', Price:30000 },\n {Id:3, Name:'باقة 4', Status:'Active', Price:40000 }, \n {Id:4, Name:'باقة 5', Status:'Active', Price:50000 } \n ];\n // ogData: HealthCarePackageModel [] = [ ];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Name: new FormControl(),\n Type: new FormControl(),\n Status: new FormControl(),\n Price: new FormControl(),\n PeriodValue: new FormControl(),\n PeriodType: new FormControl(),\n Description: new FormControl(),\n });\n \n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: this.lang === 'ar-EG' ? 'Name' : 'Name' };\n this.sortableKeys = [\n { label: 'Name', property: this.lang === 'ar-EG' ? 'Name' : 'Name' },\n { label: 'Status', property: 'Status' },\n { label: 'Price', property: 'Price' },\n ];\n //this.loadData();\n this.loadServices();\n }\n \n createForm(): FormGroup {\n return this.formBuilder.group({\n Id: [this.modelObject.Id >= 0 ? this.modelObject.Id : 0],\n Name: [this.modelObject.Name],\n Description: [this.modelObject.Description],\n PeriodType: [this.modelObject.PeriodType],\n PeriodValue: [this.modelObject.PeriodValue],\n Price: [this.modelObject.Price],\n Status: [this.modelObject.Status],\n Type: [this.modelObject.Type],\n });\n }\n \n addObject() {\n //prevent multiclick submits. enable again after API response.\n this.currentAction = '';\n \n this.modelObject = new HealthCarePackageModel();\n this.modelObject = this.mainForm.getRawValue();\n this.modelObject.Id = 0;\n \n this.executeAddObject();\n }\n \n executeAddObject(){\n this.ogData.push(this.modelObject);\n }\n \n editObject() {\n this.savedPage = this.currentPage;\n \n \n }\n \n executeEditObject(Object)\n {\n \n }\n \n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = '';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject(){\n \n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n \n //Get any additional data here\n loadServices(){ \n this.currentAction = '';\n this.loadData();\n }\n \n lang: string;\n currentFormMode: string = '';\n currentAction: string = '';\n \n \n //ogData = [];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n \n SelectAllBox: any = false;\n \n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n itemOrder: any;\n orderAsc: boolean = true;\n \n currentPage = 1;\n savedPage = 0;\n \n \n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n \n loadData() {\n this.sortData();\n this.loadSearch();\n this.currentAction = '';\n \n }\n \n sortData() {\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n \n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n \n filterData() {\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n \n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n \n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n \n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n \n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n \n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n \n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n \n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n \n isSelected(p: HealthCarePackageModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n \n onSelect(item: HealthCarePackageModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n \n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n \n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent;\n @ViewChild('delModal') delModal: ModalDirective;\n showAddNewModalRef(): void {\n this.currentFormMode = 'Add'\n this.modelObject = new HealthCarePackageModel;\n this.mainForm = this.createForm();\n this.sideModalRef.show();\n }\n \n showEditModalRef(Id: any): void {\n this.currentFormMode = 'Edit'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.sideModalRef.show();\n }\n \n showInfoModalRef(Id: any): void {\n this.currentFormMode = 'Info'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.sideModalRef.show();\n }\n \n deletionList: HealthCarePackageModel[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n \n SearchTerm: any = '';\n \n \n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n \n this.deletionList = [];\n this.selected = [];\n \n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n \n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n \n loadAllData() {\n this.loadSearch();\n\n }\n \n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n }\n ","\n
    \n
    \n
    \n

    \n {{currentFormMode+translationName | translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n \n
    \n \n
    \n \n
    \n \n \n {{'Active'|translate}}\n \n {{'Not Active'|translate}}\n \n
    \n
    \n \n
    \n \n \n \n\n \n
    \n
    \n \n \n \n\n \n
    \n
    \n \n
    \n \n \n {{'Weekly'|translate}}\n \n {{'Monthly'|translate}}\n \n {{'Annual'|translate}}\n \n
    \n
    \n\n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Name\" | translate}}\n \n
    \n {{\"Status\" | translate}}\n \n
    \n {{\"Price\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{obj.Name}}{{obj.Status | translate}}{{obj.Price}}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","export class HealthCarePackageModel{\r\n Id?:number;\r\n Name?:string;\r\n Type?:string;\r\n Status?:string;\r\n Price?:number;\r\n PeriodValue?:number;\r\n PeriodType?:string;\r\n Description?:string;\r\n constructor(item ?: HealthCarePackageModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.Name = item.Name ? item.Name : '';\r\n this.Status = item.Status ? item.Status : '';\r\n this.Type = item.Type ? item.Type : '';\r\n this.Description = item.Description ? item.Description : '';\r\n this.PeriodValue = item.PeriodValue ? item.PeriodValue : 0;\r\n this.PeriodType = item.PeriodType ? item.PeriodType : '';\r\n this.Price = item.Price ? item.Price : 0;\r\n }\r\n}","\r\nimport { SortablejsModule } from 'ngx-sortablejs';\r\nimport { SearchPipePipe } from './../pipes/search-pipe.pipe';\r\nimport { PagesContainersModule } from './../containers/pages/pages.containers.module';\r\nimport { ComponentsCarouselModule } from './../components/carousel/components.carousel.module';\r\nimport { SharedModule } from './../shared/shared.module';\r\nimport { environment } from './../../environments/environment';\r\nimport { LayoutContainersModule } from './../containers/layout/layout.containers.module';\r\nimport { NgModule } from '@angular/core';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { AngularFireModule } from '@angular/fire';\r\nimport { CommonModule, DatePipe } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { ModalModule } from 'ngx-bootstrap/modal';\r\nimport { ArchwizardModule } from 'angular-archwizard';\r\nimport { AngularFireAuthModule } from '@angular/fire/auth';\r\nimport { AngularFireAuthGuardModule } from '@angular/fire/auth-guard';\r\nimport { FormsModule as FormsModuleAngular } from '@angular/forms';\r\nimport { TabsModule } from 'ngx-bootstrap/tabs';\r\nimport { HeadroomModule } from '@ctrl/ngx-headroom';\r\nimport { ScrollToModule } from '@nicky-lenaers/ngx-scroll-to';\r\nimport { NgxDatatableModule } from '@swimlane/ngx-datatable';\r\nimport { CollapseModule } from 'ngx-bootstrap/collapse';\r\nimport { PopoverModule } from 'ngx-bootstrap/popover';\r\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { SidePopupComponent } from '../views/app/aio/shared/side-popup/side-popup.component';\r\nimport { PaginationConfig, PaginationModule } from 'ngx-bootstrap/pagination';\r\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\r\nimport { SimpleNotificationsModule } from 'angular2-notifications';\r\nimport {MatTabsModule} from '@angular/material/tabs';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { FileUploadModule } from 'ng2-file-upload';\r\nimport { AccordionModule } from 'ngx-bootstrap/accordion';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { RatingModule } from 'ngx-bootstrap/rating';\r\nimport { ComponentsPlayerModule } from '../components/player/components.player.module';\r\nimport { LightboxModule } from 'ngx-lightbox';\r\nimport { RouterModule } from '@angular/router';\r\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\r\nimport { BootstrapModule } from '../components/bootstrap/bootstrap.module';\r\nimport { TimepickerModule } from 'ngx-bootstrap/timepicker';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { AllHealthCarePackagesComponent } from './health-care-packages/components/all-health-care-packages/all-health-care-packages.component';\r\nimport { HealthCareRoutingModule } from './health-care.routing';\r\nimport { HealthCareComponent } from './health-care/health-care.component';\r\nimport { AllHealthCareSubscriptionsComponent } from './subscriptions/components/all-health-care-subscriptions/all-health-care-subscriptions.component';\r\nimport { CreatrHealthCareSubscriptionComponent } from './subscriptions/components/creatr-health-care-subscription/creatr-health-care-subscription.component';\r\nimport { UploadDoctorProfileImageComponent } from './doctors/components/upload-doctor-profile-image/upload-doctor-profile-image.component';\r\nimport { UploadGraduationDocumentForDoctorComponent } from './doctors/components/upload-graduation-document-for-doctor/upload-graduation-document-for-doctor.component';\r\nimport { UploadNationalidImageForDoctorComponent } from './doctors/components/upload-nationalid-image-for-doctor/upload-nationalid-image-for-doctor.component';\r\nimport { AllDoctorsComponent } from './doctors/components/all-doctors/all-doctors.component';\r\nimport { CreateDoctorComponent } from './doctors/components/create-doctor/create-doctor.component';\r\n\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n HealthCareRoutingModule,\r\n LayoutContainersModule,\r\n MatRadioModule,\r\n MatTabsModule,\r\n TranslateModule,\r\n HttpClientModule,\r\n AngularFireModule.initializeApp(environment.firebase),\r\n FormsModule,\r\n ReactiveFormsModule,\r\n ModalModule.forRoot(),\r\n ArchwizardModule,\r\n SharedModule,\r\n NgSelectModule,\r\n FormsModuleAngular,\r\n AngularFireAuthModule,\r\n AngularFireAuthGuardModule,\r\n ComponentsCarouselModule,\r\n TabsModule.forRoot(),\r\n HeadroomModule,\r\n ScrollToModule.forRoot(),\r\n NgxDatatableModule,\r\n CollapseModule,\r\n PagesContainersModule,\r\n PopoverModule.forRoot(),\r\n TooltipModule.forRoot(),\r\n BsDropdownModule,\r\n SortablejsModule,\r\n PaginationModule,\r\n SimpleNotificationsModule.forRoot(),\r\n SimpleNotificationsModule,\r\n LayoutContainersModule,\r\n MatTooltipModule,\r\n FileUploadModule,\r\n AccordionModule,\r\n MatTreeModule,\r\n MatIconModule,\r\n MatButtonModule ,\r\nMatCheckboxModule ,\r\nMatFormFieldModule,\r\nMatInputModule ,\r\nMatProgressBarModule,\r\n\r\nRatingModule.forRoot(),\r\nComponentsPlayerModule,\r\nLightboxModule,\r\nRouterModule,\r\nPerfectScrollbarModule,\r\nBootstrapModule,\r\n\r\nTimepickerModule.forRoot(),\r\n ],\r\n declarations: [\r\n AllHealthCarePackagesComponent,\r\n HealthCareComponent,\r\n AllHealthCareSubscriptionsComponent,\r\n CreatrHealthCareSubscriptionComponent,\r\n UploadDoctorProfileImageComponent,\r\n UploadGraduationDocumentForDoctorComponent,\r\n UploadNationalidImageForDoctorComponent,\r\n AllDoctorsComponent,\r\n CreateDoctorComponent\r\n ],\r\n providers: [DatePipe,PaginationConfig],\r\n exports: [UploadDoctorProfileImageComponent,UploadGraduationDocumentForDoctorComponent,UploadNationalidImageForDoctorComponent]\r\n// bootstrap: [InvoiceComponent]\r\n})\r\nexport class HealthCareModule { }\r\n","\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { NgModule } from '@angular/core';\r\nimport { AllHealthCarePackagesComponent } from './health-care-packages/components/all-health-care-packages/all-health-care-packages.component';\r\nimport { HealthCareComponent } from './health-care/health-care.component';\r\nimport { AllHealthCareSubscriptionsComponent } from './subscriptions/components/all-health-care-subscriptions/all-health-care-subscriptions.component';\r\nimport { CreatrHealthCareSubscriptionComponent } from './subscriptions/components/creatr-health-care-subscription/creatr-health-care-subscription.component';\r\nimport { AllDoctorsComponent } from './doctors/components/all-doctors/all-doctors.component';\r\nimport { CreateDoctorComponent } from './doctors/components/create-doctor/create-doctor.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '', component: HealthCareComponent,\r\n \r\n },\r\n {\r\n path: 'pachages', component: AllHealthCarePackagesComponent,\r\n \r\n }\r\n ,\r\n {\r\n path: 'subscriptions', component: AllHealthCareSubscriptionsComponent,\r\n \r\n }\r\n ,\r\n {\r\n path: 'create-subscription/:Id', component: CreatrHealthCareSubscriptionComponent,\r\n \r\n },\r\n\r\n {\r\n path: 'doctors', component: AllDoctorsComponent,\r\n \r\n }\r\n ,\r\n {\r\n path: 'create-doctor/:Id', component: CreateDoctorComponent,\r\n \r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class HealthCareRoutingModule { }","import { Component } from '@angular/core';\n\n@Component({\n selector: 'health-care',\n templateUrl: 'health-care.component.html',\n styleUrls: ['health-care.component.scss']\n})\nexport class HealthCareComponent {\n\n}\n","import { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { HealthCareSubscriptionModel } from '../../models/subscription.model';\nimport { DataFilterer } from 'src/app/views/invoice/shared/DataFilterer';\nimport { DataSorter } from 'src/app/views/invoice/shared/DataSorter';\nimport { DataPaginator } from 'src/app/views/invoice/shared/DataPaginator';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\n\n@Component({\n selector: 'all-health-care-subscriptions',\n templateUrl: 'all-health-care-subscriptions.component.html',\n styleUrls: ['all-health-care-subscriptions.component.scss']\n})\nexport class AllHealthCareSubscriptionsComponent {\n constructor(private formBuilder: FormBuilder, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private router : Router) {\n }\n currentScreen: any = 'Table';\n \n translationName: string = ''\n \n sortableKeys = [];\n searchableKeys = ['Id'];\n \n ogData: HealthCareSubscriptionModel [] = [ \n {Id:5, MmemberName:'محمود احمد', PackageName:'باقة 1', PackagePrice:1000, StartDate:new Date(),EndDate:new Date() }, \n {Id:1, MmemberName:'عمرو محمد', PackageName:'باقة 1', PackagePrice:1000, StartDate:new Date(),EndDate:new Date() }, \n {Id:2, MmemberName:'محمد نوح', PackageName:'باقة 1', PackagePrice:1000, StartDate:new Date(),EndDate:new Date() }, \n {Id:3, MmemberName:'يوسف احمد', PackageName:'باقة 1', PackagePrice:1000, StartDate:new Date(),EndDate:new Date() }, \n {Id:4, MmemberName:'ابراهيم حسن', PackageName:'باقة 1', PackagePrice:1000, StartDate:new Date(),EndDate:new Date() }, \n \n ];\n\n \n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Id', property: 'Id' };\n this.sortableKeys = [\n { label: 'Id', property: 'Id' },\n { label: 'MmemberName', property: 'MmemberName' },\n { label: 'PackageName', property: 'PackageName' },\n { label: 'PackagePrice', property: 'PackagePrice' },\n { label: 'StartDate', property: 'StartDate' },\n { label: 'EndDate', property: 'EndDate' },\n ];\n this.loadData();\n }\n \n //Deletion methods:\n //Customize if needed.\n //Pass the target object as paraMetre if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject(){\n // this.modelService.deleteList(this.deletionList).subscribe(result => {\n // if (result === true) {\n // this.loadData();\n // this.currentAction = '';\n // this.finalizeDeletion();\n // }\n // else {\n // this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n // this.currentAction = '';\n // }\n // })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n \n \n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n lang: string;\n currentFormMode: string = '';\n currentAction: string = '';\n \n \n //ogData = [];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n \n SelectAllBox: any = false;\n \n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n itemOrder: any;\n orderAsc: boolean = true;\n \n currentPage = 1;\n savedPage = 0;\n \n \n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n \n loadData() {\n debugger;\n this.currentAction = '';\n this.sortData();\n\n // this.modelService.getAll().subscribe(\n // data => {\n // this.currentAction = '';\n \n // this.ogData = data;\n // this.sortData();\n // }\n // )\n \n }\n \n sortData() {\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n \n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n \n filterData() {\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n \n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n \n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n \n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n \n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n \n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n \n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n \n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n \n isSelected(p: HealthCareSubscriptionModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n \n onSelect(item: HealthCareSubscriptionModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n \n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n \n @ViewChild('delModal') delModal: ModalDirective;\n showAddNewModalRef(): void {\n this.router.navigate(['app/health-care/create-subscription',0])\n }\n \n showInfoModalRef(Id: any): void {\n //IMPORTANT\n //REDIRECT TO INFO PAGE\n }\n modelObject:HealthCareSubscriptionModel={};\n deletionList: HealthCareSubscriptionModel[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n \n SearchTerm: any = '';\n \n \n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n \n this.deletionList = [];\n this.selected = [];\n \n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n \n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n \n loadAllData() {\n // this.modelService.getAll().subscribe(\n // data => {\n // this.ogData = data;\n // this.loadSearch();\n // }\n // )\n }\n \n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n \n @ViewChild('smallModal') smallModal: ModalDirective;\n \n}\n","\n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n\n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Id\" | translate}}\n \n
    \n {{\"Mmember Name\" | translate}}\n \n
    \n {{\"Package Name\" | translate}}\n \n
    \n {{\"Package Price\" | translate}}\n \n
    \n {{\"Start Date\" | translate}}\n \n
    \n {{\"End Date\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{obj.Id}}{{obj.MmemberName }}{{obj.PackageName }}{{obj.PackagePrice }}{{obj.StartDate |date:'dd/MM/yyyy'}}28/02/2025
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { HealthCareSubscriptionModel } from '../../models/subscription.model';\n\n@Component({\n selector: 'creatr-health-care-subscription',\n templateUrl: 'creatr-health-care-subscription.component.html',\n styleUrls: ['creatr-health-care-subscription.component.scss']\n})\nexport class CreatrHealthCareSubscriptionComponent implements OnInit {\n showCard: boolean = false;\n ItemHolderList: any[] = [];\n Form: FormGroup;\n FamlyForm:FormGroup;\n lang: string;\n \n constructor(\n public router:Router, \n public fb:FormBuilder, \n ) {\n \n \n }\n \n ngOnInit() {\n this.Form = this.createForm(new HealthCareSubscriptionModel()); \n this.FamlyForm = this.createFamlyForm(); \n }\n\n \n Save() {\n this.router.navigate(['app/memberships'])\n\n }\n \n goBack(){\n this.router.navigate(['app/memberships'])\n }\n\n \n createForm(modelObject:HealthCareSubscriptionModel): FormGroup {\n debugger;\n return this.fb.group({\n Id :[modelObject.Id ],\n MemberId :[modelObject.MemberId ],\n MmemberName :[modelObject.MmemberName ],\n PackageId :[modelObject.PackageId ],\n PackageName :[modelObject.PackageName ],\n PackagePrice:[modelObject.PackagePrice],\n StartDate :[modelObject.StartDate ],\n EndDate :[modelObject.EndDate ],\n Description:['']\n });\n }\n createFamlyForm(): FormGroup {\n debugger;\n return this.fb.group({\n Name :[''],\n Age :[0],\n DegreeOfKinship :[''],\n Gender :[''],\n \n });\n }\n famly=[\n {Name:'محمد',Age:14,DegreeOfKinship:'Close to first class',Gender:'Male'},\n {Name:'منة',Age:12,DegreeOfKinship:'Close to first class',Gender:'Female'},\n {Name:'ريهام',Age:8,DegreeOfKinship:'Close to first class',Gender:'Female'},\n {Name:'محمود',Age:18,DegreeOfKinship:'Close to second degree',Gender:'Male'},\n]\n public editEnabled = true;\n public picurl: string ='';\n members=[\n {Name:'محمود احمد' },\n {Name:'عمرو محمد' },\n {Name:'محمد نوح' },\n {Name:'يوسف احمد' },\n {Name:'ابراهيم حسن'},\n]\npackages=[\n {Name:'باقة 1', Price:10000},\n {Name:'باقة 2', Price:20000},\n {Name:'باقة 3', Price:30000},\n {Name:'باقة 4', Price:40000},\n {Name:'باقة 5', Price:50000},\n]\n\n clear(){\n this.picurl = '';\n }\n public NationalIdEditEnabled = true;\n public NationalIdPicurl: string ='';\n\n clearNationalId(){\n this.NationalIdPicurl = '';\n}\npublic graduationEditEnabled = true;\npublic graduationPicurl: string ='';\n\ncleargraduation(){\n this.graduationPicurl = '';\n}\n\n }\n ","
    \n\n
    \n \n {{\"Add\" | translate}}\n \n
    \n \n
    \n
    \n
    \n

    {{ 'Basic Data' | translate }}

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

    {{ 'Family Info' | translate }}

    \n
    \n \n
    \n
    \n \n \n
    \n
    \n \n \n\n
    \n \n
    \n \n
    \n
    \n \n \n \n \n \n
    \n
    \n \n \n \n \n \n \n
    \n
    \n {{\"Add\" | translate}}\n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{'Name'|translate}}{{'Age'|translate}}{{'Degree Of Kinship'|translate}}{{'Gender'|translate}}
    {{item.Name}}{{item.Age}}{{item.DegreeOfKinship | translate}}{{item.Gender | translate}}
    \n \n
    \n \n \n
    \n
    \n\n
    \n \n {{\"Add\" | translate}}\n \n
    \n
    \n\n\n","export class HealthCareSubscriptionModel{\r\n Id ?:number;\r\n MemberId ?:number;\r\n MmemberName ?:string;\r\n PackageId ?:number;\r\n PackageName ?:string;\r\n PackagePrice?:number;\r\n StartDate ?:Date|null;\r\n EndDate ?:Date|null;\r\n constructor(item ?:HealthCareSubscriptionModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.MemberId = item.MemberId ? item.MemberId : 0;\r\n this.MmemberName = item.MmemberName ? item.MmemberName : '';\r\n this.PackageId = item.PackageId ? item.PackageId : 0;\r\n this.PackageName = item.PackageName ? item.PackageName : '';\r\n this.PackagePrice = item.PackagePrice ? item.PackagePrice: 1000;\r\n this.StartDate = item.StartDate ? item.StartDate : null;\r\n this.EndDate = item.EndDate ? item.EndDate : null;\r\n }\r\n}","import { environment } from './../../../../environments/environment';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { ClientInvoicesSearchModel } from './models/client-invoices-search.model';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ClientInvoicesService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n search(search:ClientInvoicesSearchModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}ClientInvoices/Search`,search,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n}\r\n ","import { ClientModel } from 'src/app/invoices/clients/ClientModel';\nimport { ClientInvoicesDataModel } from './../../models/client-invoices-data.model';\nimport { Component, OnInit } from '@angular/core';\nimport { ClientService } from 'src/app/invoices/clients/ClientService';\nimport { ClientInvoicesService } from '../../client-invoices.service';\nimport { ClientInvoicesSearchModel } from '../../models/client-invoices-search.model';\nimport html2canvas from 'html2canvas';\nimport jspdf from 'jspdf';\n@Component({\n selector: 'client-invoices',\n templateUrl: 'client-invoices.component.html',\n styleUrls: ['client-invoices.component.scss']\n})\nexport class ClientInvoicesComponent implements OnInit{\n declare lang: any;\n today:Date=new Date();\n list:ClientInvoicesDataModel[]=[];\n liabilities:ClientInvoicesDataModel[]=[];\n PropertyRights:ClientInvoicesDataModel[]=[];\n employees=[];\n nodeList:ClientInvoicesDataModel[]=[];\n clients : ClientModel[]=[];\n constructor(private ClientInvoicesService:ClientInvoicesService,private clientService:ClientService){\n this.lang = localStorage.getItem('theme_lang');\n }\n TotalAssets = 0;\n Totalliabilities = 0;\n TotalPropertyRights = 0;\n data:ClientInvoicesDataModel[]=[];\n assets:ClientInvoicesDataModel[]=[];\n search:ClientInvoicesSearchModel={};\n ngOnInit(): void {\n this.ClientInvoicesService.search(this.search)\n .subscribe(data => {\n this.data = data;\n this.assets = data;\n this.clientService.getAll()\n .subscribe(result =>{\n this.clients = result;\n })\n })\n \n }\n Search(){\n this.ClientInvoicesService.search(this.search)\n .subscribe(data => {\n this.data = data;\n })\n }\n exportTable(){\n var data = document.getElementById('contentToConvert');\n data.style.display = 'inline-block';\n html2canvas(data,{}).then(canvas => {\n var imgWidth = 208;\n var pageHeight = 295;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n var heightLeft = imgHeight;\n const contentDataURL = canvas.toDataURL('image/png')\n let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF\n var position = 0;\n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n pdf.save('new-file.pdf'); // Generated PDF\n data.style.display = 'block';\n\n // data.style.display = 'none';\n \n });\n }\n print(){\n let printContents, popupWin;\n printContents = document.getElementById('contentToConvert').innerHTML;\n popupWin = window.open('', '_blank', 'top=0,left=0,height=100%,width=auto');\n popupWin.document.open();\n window.print();\n \n }\n}\n","\n\n
    \n
    \n
    \n
    \n \n
    \n \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n \n \n \n \n
    \n \n \n
    \n {{\" \"}}\n {{\" \"}}\n {{\" \"}}\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    {{ 'Client Invoices Report' | translate }}

    \n

    {{ today| date:'dd/MM/yyyy' }}

    \n
    {{ 'Future Core' | translate }}
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{lang==='ar-EG'?supplier.ClientNameAr:supplier.ClientNameEn}}
    {{ 'Code' | translate }} {{ 'Date' | translate }} {{ 'Is Payed' | translate }}{{ 'Is Not Payed' | translate }}{{ 'Total' | translate }}
    {{item.Code}}#{{item.Date | date:'dd/MM/yyyy'}}{{item.Payed}}{{item.NotPayed}}{{item.Total}}
    {{ 'Total' | translate }} {{supplier.Payed}}{{supplier.NotPayed}}{{supplier.Total}}
    \n \n
    \n \n
    \n
    \n
    ","import { saveAs } from 'file-saver';\nimport { SearchModel } from './../../models/search.model';\nimport { InvoiceReportService } from './../../services/invoice-report.service';\nimport { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\nimport { InvoiceReportModel } from '../../models/invoice-report.model';\nimport { DataFilterer } from 'src/app/views/app/aio/shared/DataFilterer';\nimport { DataSorter } from 'src/app/views/app/aio/shared/DataSorter';\nimport { DataPaginator } from 'src/app/views/app/aio/shared/DataPaginator';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { environment } from 'src/environments/environment';\nimport html2canvas from 'html2canvas';\nimport jspdf from 'jspdf';\n@Component({\n selector: 'invoice-report',\n templateUrl: 'invoice-report.component.html',\n styleUrls: ['invoice-report.component.scss']\n})\nexport class InvoiceReportComponent {\n constructor(private formBuilder: FormBuilder, private modelService: InvoiceReportService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService) {\n }\n currentScreen: any = 'Table';\n \n translationName: string = 'Invoice'\n \n sortableKeys = [];\n searchableKeys = ['Id'];\n companyNameAr = localStorage.getItem(\"CompanyNameAr\")\n companyNameEn = localStorage.getItem(\"CompanyNameEn\")\n modelObject: SearchModel = new SearchModel();\n ogData: InvoiceReportModel [] = [];\n mainForm: FormGroup = new FormGroup({\n From: new FormControl(),\n To: new FormControl(),\n });\n \n ngOnInit(): void {\n console.log(\"model\");\n console.log(this.modelObject);\n \n \n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Id', property: 'Id' };\n this.sortableKeys = [\n { label: 'Id', property: 'Id' },\n ];\n // this.loadData();\n // console.log(this.ogData);\n }\n \n \n lang: string;\n currentFormMode: string = '';\n currentAction: string = '';\n \n \n //ogData = [];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n \n SelectAllBox: any = false;\n \n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n itemOrder: any;\n orderAsc: boolean = true;\n \n currentPage = 1;\n savedPage = 0;\n \n \n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n \n loadData() {\n debugger;\n this.currentAction = 'loading';\n this.modelObject = this.mainForm.getRawValue();\n this.modelService.getAll(this.modelObject).subscribe(\n data => {\n console.log(\"data:\");\n console.log(data);\n \n this.ogData = data;\n this.sortData();\n }\n )\n \n }\n \n sortData() {\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n \n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n \n filterData() {\n debugger;\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n \n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n debugger;\n \n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n \n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n \n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n \n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n \n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n \n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n \n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n \n isSelected(p: InvoiceReportModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n \n onSelect(item: InvoiceReportModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n \n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n \n @ViewChild('delModal') delModal: ModalDirective;\n showAddNewModalRef(): void {\n //IMPORTANT\n //REDIRECT TO ADD PAGE\n }\n \n showInfoModalRef(Id: any): void {\n //IMPORTANT\n //REDIRECT TO INFO PAGE\n }\n \n deletionList: InvoiceReportModel[] = [];\n \n \n SearchTerm: any = '';\n \n \n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n \n this.deletionList = [];\n this.selected = [];\n \n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n \n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n \n // loadAllData() {\n // this.modelService.GetPurchases().subscribe(\n // data => {\n // this.ogData = data;\n // this.loadSearch();\n // }\n // )\n // }\n \n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n print(Id){\n debugger;\n this.modelService.printInvoice(Id)\n .subscribe(result =>{\n console.log(result);\n saveAs(`${environment.apiUrl}/Resources/Invoices/${result}`, 'report.pdf');\n // window.open(`${environment.apiUrl}/Resources/Invoices/${result}`, '_blank');\n // window.location.href =result\n // window.open(result, '_blank');\n // window.open(result);\n })\n }\n openForExport = false;\n exportTable(){\n debugger;\n this.openForExport = true;\n var data = document.getElementById('contentToConvert');\n data.style.display = 'inline-block';\n html2canvas(data,{}).then(canvas => {\n var imgWidth = 208;\n var pageHeight = 295;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n var heightLeft = imgHeight;\n const contentDataURL = canvas.toDataURL('image/png')\n let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF\n var position = 0;\n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n pdf.save('new-file.pdf'); // Generated PDF\n data.style.display = 'none';\n \n });\n }\n}\n\n\n","\n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n \n \n \n
    0 \">\n \n
    \n
    \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n {{\"SeriesNumber\" | translate}}\n \n
    \n {{\"Client\" | translate}}\n \n
    \n {{\"InvoiceNumber\" | translate}}\n \n
    \n {{\"Total\" | translate}}\n \n
    \n {{\"Total Taxes\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    {{obj.InvoiceNumber}}{{lang==='ar-EG'?obj.ClientNameAr:obj.ClientNameEn}}{{obj.uuid}}{{obj.Total}}{{obj.TotalTaxes}}
    \n
    \n
    \n
    \n
    0 \">\n
    \n
    \n
    {{lang==='ar-EG'?companyNameAr:companyNameEn}}
    \n
    \n \n \n \n \n \n \n \n \n \n
    {{\"Invoice Report\" | translate}}
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{'SeriesNumber'|translate}}{{'Client'|translate}}{{'InvoiceNumber'|translate}}{{'Total'|translate}}{{'Total Taxes'|translate}}
    {{item.InvoiceNumber}}{{lang==='ar-EG'?item.ClientNameAr:item.ClientNameEn}}{{item.uuid}}{{item.Total}}{{item.TotalTaxes}}
    \n
    \n
    \n \n
    \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { saveAs } from 'file-saver';\nimport { InvoiceReportService } from './../../services/invoice-report.service';\nimport { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { SearchModel } from '../../models/search.model';\nimport { InvoiceReportModel } from '../../models/invoice-report.model';\nimport { DataFilterer } from 'src/app/views/app/aio/shared/DataFilterer';\nimport { DataSorter } from 'src/app/views/app/aio/shared/DataSorter';\nimport { DataPaginator } from 'src/app/views/app/aio/shared/DataPaginator';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { environment } from 'src/environments/environment';\nimport html2canvas from 'html2canvas';\nimport jspdf from 'jspdf';\n@Component({\n selector: 'purshases-report',\n templateUrl: 'purshases-report.component.html',\n styleUrls: ['purshases-report.component.scss']\n})\nexport class PurshasesReportComponent {\n constructor(private formBuilder: FormBuilder, private modelService: InvoiceReportService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService) {\n }\n currentScreen: any = 'Table';\n companyNameAr = localStorage.getItem(\"CompanyNameAr\")\n companyNameEn = localStorage.getItem(\"CompanyNameEn\")\n translationName: string = 'Purshases'\n \n sortableKeys = [];\n searchableKeys = ['Id'];\n \n modelObject: SearchModel = new SearchModel();\n ogData: InvoiceReportModel [] = [];\n mainForm: FormGroup = new FormGroup({\n From: new FormControl(),\n To: new FormControl(),\n });\n \n ngOnInit(): void {\n console.log(\"model\");\n console.log(this.modelObject);\n \n \n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Id', property: 'Id' };\n this.sortableKeys = [\n { label: 'Id', property: 'Id' },\n ];\n // this.loadData();\n // console.log(this.ogData);\n }\n \n \n lang: string;\n currentFormMode: string = '';\n currentAction: string = '';\n \n \n //ogData = [];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n \n SelectAllBox: any = false;\n \n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n itemOrder: any;\n orderAsc: boolean = true;\n \n currentPage = 1;\n savedPage = 0;\n \n \n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n \n loadData() {\n debugger;\n this.currentAction = 'loading';\n // var contentToConvert = document.getElementById('contentToConvert');\n // contentToConvert.style.display = 'none';\n this.modelObject = this.mainForm.getRawValue();\n this.modelService.GetPurshasesForReport(this.modelObject).subscribe(\n data => {\n console.log(\"data:\");\n console.log(data);\n \n this.ogData = data;\n this.sortData();\n }\n )\n \n }\n \n sortData() {\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n \n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n \n filterData() {\n debugger;\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n \n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n debugger;\n \n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n \n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n \n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n \n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n \n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n \n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n \n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n \n isSelected(p: InvoiceReportModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n \n onSelect(item: InvoiceReportModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n \n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n \n @ViewChild('delModal') delModal: ModalDirective;\n showAddNewModalRef(): void {\n //IMPORTANT\n //REDIRECT TO ADD PAGE\n }\n \n showInfoModalRef(Id: any): void {\n //IMPORTANT\n //REDIRECT TO INFO PAGE\n }\n \n deletionList: InvoiceReportModel[] = [];\n \n \n SearchTerm: any = '';\n \n \n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n \n this.deletionList = [];\n this.selected = [];\n \n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n \n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n \n // loadAllData() {\n // this.modelService.GetPurchases().subscribe(\n // data => {\n // this.ogData = data;\n // this.loadSearch();\n // }\n // )\n // }\n \n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n print(Id){\n debugger;\n this.modelService.printInvoice(Id)\n .subscribe(result =>{\n console.log(result);\n saveAs(`${environment.apiUrl}/Resources/Invoices/${result}`, 'report.pdf');\n // window.open(`${environment.apiUrl}/Resources/Invoices/${result}`, '_blank');\n // window.location.href =result\n // window.open(result, '_blank');\n // window.open(result);\n })\n }\n openForExport = false;\n exportTable(){\n debugger;\n this.openForExport = true;\n // TableUtil.exportToPdf(\"ExampleTable\");\n var data = document.getElementById('contentToConvert');\n data.style.display = 'inline-block';\n // html2canvas.useCORS = true;\n html2canvas(data,{}).then(canvas => {\n // Few necessary setting options\n var imgWidth = 208;\n var pageHeight = 295;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n var heightLeft = imgHeight;\n const contentDataURL = canvas.toDataURL('image/png')\n let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF\n var position = 0;\n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n pdf.save('new-file.pdf'); // Generated PDF\n data.style.display = 'none';\n \n });\n }\n}\n","\n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n \n \n \n
    0 \">\n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n {{\"SeriesNumber\" | translate}}\n \n
    \n {{\"issuerName\" | translate}}\n \n
    \n {{\"InvoiceNumber\" | translate}}\n \n
    \n {{\"Total\" | translate}}\n \n
    \n {{\"Total Taxes\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    {{obj.InvoiceNumber}}{{lang==='ar-EG'?obj.ClientNameAr:obj.ClientNameEn}}{{obj.uuid}}{{obj.Total}}{{obj.TotalTaxes}}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n
    0 \">\n
    \n
    \n
    {{lang==='ar-EG'?companyNameAr:companyNameEn}}
    \n
    \n \n \n \n \n \n \n \n \n \n
    {{\"Purchases Report\" | translate}}
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{'SeriesNumber'|translate}}{{'issuerName'|translate}}{{'InvoiceNumber'|translate}}{{'Total'|translate}}{{'Total Taxes'|translate}}
    {{item.InvoiceNumber}}{{lang==='ar-EG'?item.ClientNameAr:item.ClientNameEn}}{{item.uuid}}{{item.Total}}{{item.TotalTaxes}}
    \n
    \n
    \n \n
    \n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { CustomerAccountStatementDataModel } from '../../models/customer-account-statement-data.model';\nimport { CustomerAccountStatementSearchModel } from '../../models/customer-account-statement-search.model';\nimport { AccountesNameModel } from 'src/app/Invintory/models/AccountesNameModel';\nimport { BranchService } from 'src/app/invoices/branches/BranchService';\nimport { AccountsNameService } from 'src/app/views/app/aio/acounting_components/account-name/AccountNameService';\nimport { CustomerAccountStatementService } from '../../customer-account-statement.service';\nimport { BranchModel } from 'src/app/invoices/branches/BranchModel';\nimport html2canvas from 'html2canvas';\nimport jspdf from 'jspdf';\n@Component({\n selector: 'customer-account-statement',\n templateUrl: 'customer-account-statement.component.html',\n styleUrls: ['customer-account-statement.component.scss']\n})\nexport class CustomerAccountStatementComponent implements OnInit{\n\n declare lang: any;\n data:CustomerAccountStatementDataModel[];\n search:CustomerAccountStatementSearchModel={};\n accounts:AccountesNameModel[]=[];\n constructor(private CustomerAccountStatementService:CustomerAccountStatementService,\n private branchService:BranchService,\n private accountService:AccountsNameService,\n ){\n this.lang = localStorage.getItem('theme_lang');\n }\n TotalAssets = 0;\n Totalliabilities = 0;\n TotalPropertyRights = 0;\n branches:BranchModel[]=[];\n today=new Date();\n ngOnInit(): void {\n debugger;\n this.CustomerAccountStatementService.search(this.search)\n .subscribe(data => {\n this.data =data;\n \n console.log('data',this.data)\n })\n this.branchService.getAll()\n .subscribe(branches=>{\n this.branches = branches;\n })\n this.accountService.GetAllSubAccountes(0)\n .subscribe(data => {\n this.accounts = data;\n })\n \n }\n Search(){\n this.CustomerAccountStatementService.search(this.search)\n .subscribe(data => {\n this.data =data;\n \n })\n }\n exportTable(){\n var data = document.getElementById('contentToConvert');\n data.style.display = 'inline-block';\n html2canvas(data,{}).then(canvas => {\n var imgWidth = 208;\n var pageHeight = 295;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n var heightLeft = imgHeight;\n const contentDataURL = canvas.toDataURL('image/png')\n let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF\n var position = 0;\n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n pdf.save('new-file.pdf'); // Generated PDF\n data.style.display = 'block';\n\n // data.style.display = 'none';\n \n });\n }\n print(){\n let printContents, popupWin;\n printContents = document.getElementById('contentToConvert').innerHTML;\n popupWin = window.open('', '_blank', 'top=0,left=0,height=100%,width=auto');\n popupWin.document.open();\n window.print();\n \n }\n \n changeSubCostCenter(){\n \n }\n}\n","\n\n
    \n
    \n
    \n
    \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n \n \n \n \n
    \n \n \n \n
    \n
    \n
    \n {{\" \"}}\n {{\" \"}}\n {{\" \"}}\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    {{ 'Customer Account Statement' | translate }}

    \n

    {{ today| date:'dd/MM/yyyy' }}

    \n
    {{ 'Future Core' | translate }}
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n
    {{'Journal Code'|translate}}{{'Date'|translate}}{{'Description'|translate}}{{'The Operation'|translate}}{{'Balance'|translate}}
    {{'Credit'|translate}}{{'Debit'|translate}}{{'Credit'|translate}}{{'Debit'|translate}}
    \n
    \n
    \n
    \n
    \n
    \n
    \n 0\">\n \n \n \n \n \n \n \n \n
    {{lang==='ar-EG'?cost.AccountNameAr:cost.AccountNameEn}}
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{'Balance Before'|translate}}{{cost.CreditBalanceBefore}}{{cost.DebitBalanceBefore}}
    {{item.JournalCode}}#{{item.Date|date:'dd/MM/yyyy'}}{{item.Description}}{{item.CreditTransfer}}{{item.DebitTransfer}}{{item.CreditBalance>item.DebitBalance?item.CreditBalance - item.DebitBalance:0}}{{item.DebitBalance>item.CreditBalance? item.DebitBalance - item.CreditBalance : 0}}
    \n {{'Total'|translate}}\n {{cost.TotalCreditTransfer}}{{cost.TotalDebitTransfer}}{{cost.TotalCreditBalance > cost.TotalDebitBalance ? cost.TotalCreditBalance - cost.TotalDebitBalance : 0}}{{cost.TotalDebitBalance > cost.TotalCreditBalance ? cost.TotalDebitBalance - cost.TotalCreditBalance : 0}}
    \n \n
    \n
    \n \n
    \n
    \n
    ","import { environment } from './../../../../environments/environment';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { CustomerAccountStatementSearchModel } from './models/customer-account-statement-search.model';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CustomerAccountStatementService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n search(search:CustomerAccountStatementSearchModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}CustomerAccountStatement/Search`,search,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n}\r\n ","import { ClientModel } from 'src/app/invoices/clients/ClientModel';\nimport { CustomerBalancesDataModel } from './../../models/customer-balances-data.model';\nimport { Component, OnInit } from '@angular/core';\nimport { ClientService } from 'src/app/invoices/clients/ClientService';\nimport { CustomerBalancesService } from '../../customer-balances.service';\nimport { CustomerBalancesSearchModel } from '../../models/customer-balances-search.model';\nimport html2canvas from 'html2canvas';\nimport jspdf from 'jspdf';\n@Component({\n selector: 'customer-balances',\n templateUrl: 'customer-balances.component.html',\n styleUrls: ['customer-balances.component.scss']\n})\nexport class CustomerBalancesComponent implements OnInit{\n declare lang: any;\n today:Date=new Date();\n list:CustomerBalancesDataModel[]=[];\n liabilities:CustomerBalancesDataModel[]=[];\n PropertyRights:CustomerBalancesDataModel[]=[];\n employees=[];\n nodeList:CustomerBalancesDataModel[]=[];\n clients : ClientModel[]=[];\n constructor(private CustomerBalancesService:CustomerBalancesService,private clientService:ClientService){\n this.lang = localStorage.getItem('theme_lang');\n }\n TotalAssets = 0;\n Totalliabilities = 0;\n TotalPropertyRights = 0;\n data:CustomerBalancesDataModel[]=[];\n assets:CustomerBalancesDataModel[]=[];\n search:CustomerBalancesSearchModel={};\n ngOnInit(): void {\n this.CustomerBalancesService.search(this.search)\n .subscribe(data => {\n this.data = data;\n this.assets = data;\n this.clientService.getAll()\n .subscribe(result =>{\n this.clients = result;\n })\n })\n \n }\n Search(){\n this.CustomerBalancesService.search(this.search)\n .subscribe(data => {\n this.data = data;\n })\n }\n exportTable(){\n var data = document.getElementById('contentToConvert');\n data.style.display = 'inline-block';\n html2canvas(data,{}).then(canvas => {\n var imgWidth = 208;\n var pageHeight = 295;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n var heightLeft = imgHeight;\n const contentDataURL = canvas.toDataURL('image/png')\n let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF\n var position = 0;\n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n pdf.save('new-file.pdf'); // Generated PDF\n data.style.display = 'block';\n\n // data.style.display = 'none';\n \n });\n }\n print(){\n let printContents, popupWin;\n printContents = document.getElementById('contentToConvert').innerHTML;\n popupWin = window.open('', '_blank', 'top=0,left=0,height=100%,width=auto');\n popupWin.document.open();\n window.print();\n \n }\n}\n","\n\n
    \n
    \n
    \n
    \n \n
    \n \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n \n \n \n \n
    \n \n \n
    \n {{\" \"}}\n {{\" \"}}\n {{\" \"}}\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    {{ 'Customer Balances Report' | translate }}

    \n

    {{ today| date:'dd/MM/yyyy' }}

    \n
    {{ 'Future Core' | translate }}
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{ 'Code' | translate }} {{ 'Account Number' | translate }} {{ 'Client' | translate }} {{ 'Balance Before' | translate }} {{ 'Total Sales' | translate }}{{ 'Total Returned' | translate }}{{ 'Net Sales' | translate }} {{ 'Total Payments' | translate }} {{ 'Balance' | translate }}
    {{item.Code}}{{item.AccountNumber}}{{lang==='ar-EG'?item.ClientNameAr:item.ClientNameEn}}{{item.BalanceBefore}}{{item.TotalSales}}{{item.TotalReturned}}{{item.NetSales}}{{item.TotalPayments}}{{item.Balance}}
    {{ 'Total' | translate }} {{data.BalanceBefore}}{{data.TotalSales}}{{data.TotalReturned}}{{data.NetSales}}{{data.TotalPayments}}{{data.Balance}}{{data.Total}}
    \n \n
    \n \n
    \n
    \n
    ","import { environment } from './../../../../environments/environment';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { CustomerBalancesSearchModel } from './models/customer-balances-search.model';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CustomerBalancesService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n search(search:CustomerBalancesSearchModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}CustomerBalances/Search`,search,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n}\r\n ","import { ClientModel } from 'src/app/invoices/clients/ClientModel';\nimport { CustomerPaymentsDataModel } from './../../models/customer-payments-data.model';\nimport { Component, OnInit } from '@angular/core';\nimport { ClientService } from 'src/app/invoices/clients/ClientService';\nimport { CustomerPaymentsService } from '../../customer-payments.service';\nimport { CustomerPaymentsSearchModel } from '../../models/customer-payments-search.model';\nimport html2canvas from 'html2canvas';\nimport jspdf from 'jspdf';\n@Component({\n selector: 'customer-payments',\n templateUrl: 'customer-payments.component.html',\n styleUrls: ['customer-payments.component.scss']\n})\nexport class CustomerPaymentsComponent implements OnInit{\n declare lang: any;\n today:Date=new Date();\n list:CustomerPaymentsDataModel[]=[];\n liabilities:CustomerPaymentsDataModel[]=[];\n PropertyRights:CustomerPaymentsDataModel[]=[];\n employees=[];\n nodeList:CustomerPaymentsDataModel[]=[];\n clients : ClientModel[]=[];\n constructor(private CustomerPaymentsService:CustomerPaymentsService,private clientService:ClientService){\n this.lang = localStorage.getItem('theme_lang');\n }\n TotalAssets = 0;\n Totalliabilities = 0;\n TotalPropertyRights = 0;\n data:CustomerPaymentsDataModel[]=[];\n assets:CustomerPaymentsDataModel[]=[];\n search:CustomerPaymentsSearchModel={};\n ngOnInit(): void {\n this.CustomerPaymentsService.search(this.search)\n .subscribe(data => {\n this.data = data;\n this.assets = data;\n this.clientService.getAll()\n .subscribe(result =>{\n this.clients = result;\n })\n })\n \n }\n Search(){\n this.CustomerPaymentsService.search(this.search)\n .subscribe(data => {\n this.data = data;\n })\n }\n exportTable(){\n var data = document.getElementById('contentToConvert');\n data.style.display = 'inline-block';\n html2canvas(data,{}).then(canvas => {\n var imgWidth = 208;\n var pageHeight = 295;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n var heightLeft = imgHeight;\n const contentDataURL = canvas.toDataURL('image/png')\n let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF\n var position = 0;\n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n pdf.save('new-file.pdf'); // Generated PDF\n data.style.display = 'block';\n\n // data.style.display = 'none';\n \n });\n }\n print(){\n let printContents, popupWin;\n printContents = document.getElementById('contentToConvert').innerHTML;\n popupWin = window.open('', '_blank', 'top=0,left=0,height=100%,width=auto');\n popupWin.document.open();\n window.print();\n \n }\n}\n","\n\n
    \n
    \n
    \n
    \n \n
    \n \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n \n \n \n \n
    \n \n \n
    \n {{\" \"}}\n {{\" \"}}\n {{\" \"}}\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    {{ 'Customer Payments Report' | translate }}

    \n

    {{ today| date:'dd/MM/yyyy' }}

    \n
    {{ 'Future Core' | translate }}
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{lang==='ar-EG'?client.ClientNameAr:client.ClientNameEn}}
    {{ 'Code' | translate }} {{ 'Date' | translate }} {{ 'ClientCode' | translate }} {{ 'ClientName' | translate }} {{ 'Type' | translate }}{{ 'Invoice Code' | translate }}{{ 'Treasury' | translate }} {{ 'Amount' | translate }}
    {{item.CatchReciptCode}}#{{item.Date | date:'dd/MM/yyyy'}}{{item.ClientCode}}{{lang==='ar-EG'?item.ClientNameAr:item.ClientNameEn}}{{'Invoice'|translate}} {{'Debit Note'|translate}} {{'Credit Note'|translate}} {{item.InvoiceCode}}#{{item.TreasuryName}}{{item.Amount}}
    {{ 'Total' | translate }} {{client.TotalAmount}}
    \n \n
    \n \n
    \n
    \n
    ","import { environment } from './../../../../environments/environment';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { CustomerPaymentsSearchModel } from './models/customer-payments-search.model';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CustomerPaymentsService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n search(search:CustomerPaymentsSearchModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}CustomerPayments/Search`,search,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n}\r\n ","import { ClientModel } from 'src/app/invoices/clients/ClientModel';\nimport { CustomerSalesDataModel } from './../../models/customer-sales-data.model';\nimport { Component, OnInit } from '@angular/core';\nimport { ClientService } from 'src/app/invoices/clients/ClientService';\nimport { CustomerSalesService } from '../../customer-sales.service';\nimport html2canvas from 'html2canvas';\nimport jspdf from 'jspdf';\nimport { CustomerSalesSearchModel } from '../../models/customer-sales-search.model';\nimport { CurrencyService } from 'src/app/invoices/currencies/CurrencyService';\nimport { CurrencyModel } from 'src/app/invoices/currencies/CurrencyModel';\n@Component({\n selector: 'customer-sales',\n templateUrl: 'customer-sales.component.html',\n styleUrls: ['customer-sales.component.scss']\n})\nexport class CustomerSalesComponent implements OnInit{\n declare lang: any;\n today:Date=new Date();\n list:CustomerSalesDataModel[]=[];\n liabilities:CustomerSalesDataModel[]=[];\n PropertyRights:CustomerSalesDataModel[]=[];\n employees=[];\n nodeList:CustomerSalesDataModel[]=[];\n clients : ClientModel[]=[];\n currencies:CurrencyModel[]=[];\n constructor(private CustomerSalesService:CustomerSalesService,\n private clientService:ClientService,\n private currencyService:CurrencyService,\n ){\n this.lang = localStorage.getItem('theme_lang');\n }\n TotalAssets = 0;\n Totalliabilities = 0;\n TotalPropertyRights = 0;\n data:CustomerSalesDataModel[]=[];\n assets:CustomerSalesDataModel[]=[];\n search:CustomerSalesSearchModel={};\n ngOnInit(): void {\n this.currencyService.getAll()\n .subscribe(result => {\n this.currencies = result;\n })\n this.CustomerSalesService.search(this.search)\n .subscribe(data => {\n this.data = data;\n this.assets = data;\n this.clientService.getAll()\n .subscribe(result =>{\n this.clients = result;\n })\n })\n \n }\n Search(){\n this.CustomerSalesService.search(this.search)\n .subscribe(data => {\n this.data = data;\n })\n }\n exportTable(){\n var data = document.getElementById('contentToConvert');\n data.style.display = 'inline-block';\n html2canvas(data,{}).then(canvas => {\n var imgWidth = 208;\n var pageHeight = 295;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n var heightLeft = imgHeight;\n const contentDataURL = canvas.toDataURL('image/png')\n let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF\n var position = 0;\n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n pdf.save('new-file.pdf'); // Generated PDF\n data.style.display = 'block';\n\n // data.style.display = 'none';\n \n });\n }\n print(){\n let printContents, popupWin;\n printContents = document.getElementById('contentToConvert').innerHTML;\n popupWin = window.open('', '_blank', 'top=0,left=0,height=100%,width=auto');\n popupWin.document.open();\n window.print();\n \n }\n}\n","\n\n
    \n
    \n
    \n
    \n \n
    \n \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n \n \n \n \n
    \n
    \n \n \n \n \n \n \n
    \n \n
    \n {{\" \"}}\n {{\" \"}}\n {{\" \"}}\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    {{ 'Customer Sales Report' | translate }}

    \n

    {{ today| date:'dd/MM/yyyy' }}

    \n
    {{ 'Future Core' | translate }}
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{lang==='ar-EG'?supplier.ClientNameAr:supplier.ClientNameEn}}
    {{ 'Date' | translate }} {{ 'Type' | translate }} {{ 'Code' | translate }} {{ 'Amount' | translate }} {{ 'Discounts' | translate }}{{ 'Taxes' | translate }}{{ 'Total' | translate }}
    {{item.Date | date:'dd/MM/yyyy'}}{{'Invoice'|translate}} {{'Debit Note'|translate}} {{'Credit Note'|translate}} {{item.InvoiceNumber}}#{{item.Amount}}{{item.Discounts}}{{item.Taxes}}{{item.Total}}
    {{ 'Total' | translate }} {{supplier.Amount}}{{supplier.Discounts}}{{supplier.Taxes}}{{supplier.Total}}
    \n \n
    \n \n
    \n
    \n
    ","import { environment } from './../../../../environments/environment';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { CustomerSalesSearchModel } from './models/customer-sales-search.model';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CustomerSalesService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n search(search:CustomerSalesSearchModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}CustomerSales/Search`,search,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n}\r\n ","import { DailyInvoicesDataModel } from './../../models/daily-invoices-data.model';\nimport { Component, OnInit } from '@angular/core';\nimport { DailyInvoicesService } from '../../daily-invoices.service';\nimport { DailyInvoicesSearchModel } from '../../models/daily-invoices-search.model';\nimport html2canvas from 'html2canvas';\nimport jspdf from 'jspdf';\nimport { ClientModel } from 'src/app/invoices/clients/ClientModel';\nimport { ClientService } from 'src/app/invoices/clients/ClientService';\n\n@Component({\n selector: 'daily-invoices',\n templateUrl: 'daily-invoices.component.html',\n styleUrls: ['daily-invoices.component.scss']\n})\nexport class DailyInvoicesComponent implements OnInit{\n declare lang: any;\n today:Date=new Date();\n list:DailyInvoicesDataModel[]=[];\n liabilities:DailyInvoicesDataModel[]=[];\n PropertyRights:DailyInvoicesDataModel[]=[];\n employees=[];\n nodeList:DailyInvoicesDataModel[]=[];\n clients : ClientModel[]=[];\n constructor(private DailyInvoicesService:DailyInvoicesService,private clientService:ClientService){\n this.lang = localStorage.getItem('theme_lang');\n }\n TotalAssets = 0;\n Totalliabilities = 0;\n TotalPropertyRights = 0;\n data:DailyInvoicesDataModel[]=[];\n assets:DailyInvoicesDataModel[]=[];\n search:DailyInvoicesSearchModel={};\n ngOnInit(): void {\n this.DailyInvoicesService.search(this.search)\n .subscribe(data => {\n this.data = data;\n this.assets = data;\n this.clientService.getAll()\n .subscribe(result =>{\n this.clients = result;\n })\n })\n \n }\n Search(){\n this.DailyInvoicesService.search(this.search)\n .subscribe(data => {\n this.data = data;\n })\n }\n exportTable(){\n var data = document.getElementById('contentToConvert');\n data.style.display = 'inline-block';\n html2canvas(data,{}).then(canvas => {\n var imgWidth = 208;\n var pageHeight = 295;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n var heightLeft = imgHeight;\n const contentDataURL = canvas.toDataURL('image/png')\n let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF\n var position = 0;\n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n pdf.save('new-file.pdf'); // Generated PDF\n data.style.display = 'block';\n\n // data.style.display = 'none';\n \n });\n }\n print(){\n let printContents, popupWin;\n printContents = document.getElementById('contentToConvert').innerHTML;\n popupWin = window.open('', '_blank', 'top=0,left=0,height=100%,width=auto');\n popupWin.document.open();\n window.print();\n \n }\n}\n","\n\n
    \n
    \n
    \n
    \n \n
    \n \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n \n \n \n \n
    \n \n \n
    \n {{\" \"}}\n {{\" \"}}\n {{\" \"}}\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    {{ 'Daily Invoices Report' | translate }}

    \n

    {{ today| date:'dd/MM/yyyy' }}

    \n
    {{ 'Future Core' | translate }}
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{supplier.Date | date:'dd/MM/yyyy'}}
    {{ 'Code' | translate }} {{ 'Client' | translate }} {{ 'Is Payed' | translate }}{{ 'Is Not Payed' | translate }}{{ 'Total' | translate }}
    {{item.Code}}#{{lang==='ar-EG'?item.ClientNameAr:item.ClientNameEn}}{{item.Payed}}{{item.NotPayed}}{{item.Total}}
    {{ 'Total' | translate }} {{supplier.Payed}}{{supplier.NotPayed}}{{supplier.Total}}
    \n \n
    \n \n
    \n
    \n
    ","import { environment } from './../../../../environments/environment';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { DailyInvoicesSearchModel } from './models/daily-invoices-search.model';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DailyInvoicesService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n search(search:DailyInvoicesSearchModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}DailyInvoices/Search`,search,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n}\r\n ","import { ClientService } from './../../../../clients/ClientService';\nimport { ClientModel } from './../../../../../views/invoice/clients/ClientModel';\nimport { Component, OnInit } from '@angular/core';\nimport { DebtReconstructionDataModel } from '../../models/debt-reconstruction-data.model';\nimport { DebtReconstructionService } from '../../debt-reconstruction.service';\nimport { DebtReconstructionSearchModel } from '../../models/debt-reconstruction-search.model';\nimport html2canvas from 'html2canvas';\nimport jspdf from 'jspdf';\n@Component({\n selector: 'debt-reconstruction',\n templateUrl: 'debt-reconstruction.component.html',\n styleUrls: ['debt-reconstruction.component.scss']\n})\nexport class DebtReconstructionComponent implements OnInit{\n declare lang: any;\n today:Date=new Date();\n list:DebtReconstructionDataModel[]=[];\n liabilities:DebtReconstructionDataModel[]=[];\n PropertyRights:DebtReconstructionDataModel[]=[];\n employees=[];\n nodeList:DebtReconstructionDataModel[]=[];\n clients : ClientModel[]=[];\n constructor(private DebtReconstructionService:DebtReconstructionService,private clientService:ClientService){\n this.lang = localStorage.getItem('theme_lang');\n }\n TotalAssets = 0;\n Totalliabilities = 0;\n TotalPropertyRights = 0;\n data:DebtReconstructionDataModel[]=[];\n assets:DebtReconstructionDataModel[]=[];\n search:DebtReconstructionSearchModel={};\n ngOnInit(): void {\n this.DebtReconstructionService.search(this.search)\n .subscribe(data => {\n this.data = data;\n this.assets = data;\n this.clientService.getAll()\n .subscribe(result =>{\n this.clients = result;\n })\n })\n \n }\n Search(){\n this.DebtReconstructionService.search(this.search)\n .subscribe(data => {\n this.data = data;\n })\n }\n exportTable(){\n var data = document.getElementById('contentToConvert');\n data.style.display = 'inline-block';\n html2canvas(data,{}).then(canvas => {\n var imgWidth = 208;\n var pageHeight = 295;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n var heightLeft = imgHeight;\n const contentDataURL = canvas.toDataURL('image/png')\n let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF\n var position = 0;\n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n pdf.save('new-file.pdf'); // Generated PDF\n data.style.display = 'block';\n\n // data.style.display = 'none';\n \n });\n }\n print(){\n let printContents, popupWin;\n printContents = document.getElementById('contentToConvert').innerHTML;\n popupWin = window.open('', '_blank', 'top=0,left=0,height=100%,width=auto');\n popupWin.document.open();\n window.print();\n \n }\n}\n","\n\n
    \n
    \n
    \n
    \n \n
    \n \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n \n \n \n \n
    \n \n \n
    \n {{\" \"}}\n {{\" \"}}\n {{\" \"}}\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    {{ 'Debt Reconstruction Report' | translate }}

    \n

    {{ today| date:'dd/MM/yyyy' }}

    \n
    {{ 'Future Core' | translate }}
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{ 'Client' | translate }} {{ 'Current' | translate }} {{ 'Days0_30' | translate }}{{ 'Days31_60' | translate }}{{ 'Days61_90' | translate }} {{ 'Days91_120' | translate }} {{ 'DaysMoreTan120' | translate }} {{ 'Total' | translate }}
    {{lang==='ar-EG'?item.ClentNameAr:item.ClentNameEn}}{{item.Current}}{{item.Days0_30}}{{item.Days31_60}}{{item.Days61_90}}{{item.Days91_120}}{{item.DaysMoreTan120}}{{item.Total}}
    {{ 'Total' | translate }} {{data.Current}}{{data.Days0_30}}{{data.Days31_60}}{{data.Days61_90}}{{data.Days91_120}}{{data.DaysMoreTan120}}{{data.Total}}
    \n \n
    \n \n
    \n
    \n
    ","import { environment } from './../../../../environments/environment';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { DebtReconstructionSearchModel } from './models/debt-reconstruction-search.model';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DebtReconstructionService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n search(search:DebtReconstructionSearchModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}DebtReconstruction/Search`,search,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n}\r\n ","export class SearchModel{\r\n From?:Date;\r\n To?:Date;\r\n constructor(item ?: SearchModel){\r\n item = item ? item : {};\r\n this.From = item.From ? item.From : new Date();\r\n this.To = item.To ? item.To : new Date();\r\n }\r\n}","import { environment } from 'src/environments/environment';\r\nimport { InvoiceReportModel } from './../models/invoice-report.model';\r\nimport { SearchModel } from './../models/search.model';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InvoiceReportService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n CompanyId:number =+ localStorage.getItem(\"CompanyId\");\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(search:SearchModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}InvoiceReport/GetInvoiceReport/${this.CompanyId}`,search,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n GetPurshasesForReport(search:SearchModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}InvoiceReport/GetPurshasesForReport/${this.CompanyId}`,search,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n printInvoice(Id:string): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}InvoicePurshases/print/${Id}/${this.CompanyId}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { Component } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { of } from 'rxjs';\r\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\r\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { DataFilterer } from 'src/app/views/app/aio/shared/DataFilterer';\r\nimport { DataSorter } from 'src/app/views/app/aio/shared/DataSorter';\r\nimport { DataPaginator } from 'src/app/views/app/aio/shared/DataPaginator';\r\n\r\n@Component({\r\n selector: 'table-engine',\r\n template: ''\r\n})\r\nexport class TableEngine{\r\n ogData: any [] = [];\r\n modelService : any = [];\r\n declare modelObject : any;\r\n searchableKeys : any [] = [];\r\n sortableKeys : any [] = [];\r\n declare mainForm: FormGroup;\r\n declare translationName: any;\r\n \r\n constructor(private translate: TranslateService, private notifications: NotificationsService ){\r\n }\r\n \r\n OnInit(){\r\n //for testing purposes\r\n }\r\n \r\n loadTableEngine(ogData, modelService, modelObject, searchableKeys, sortableKeys, mainForm, translationName, \r\n itemOrder, sideModalRef, delModal, smallModal, lang){\r\n this.ogData = ogData;\r\n this.modelService = modelService;\r\n this.modelObject = modelObject;\r\n this.searchableKeys = searchableKeys;\r\n this.sortableKeys = sortableKeys;\r\n this.mainForm = mainForm;\r\n this.translationName = translationName;\r\n this.itemOrder = itemOrder;\r\n this.sideModalRef = sideModalRef;\r\n this.delModal = delModal;\r\n this.smallModal = smallModal;\r\n this.lang = lang;\r\n }\r\n\r\n lang: string;\r\n currentFormMode: string = '';\r\n currentAction: string = '';\r\n \r\n SearchTerm: any = '';\r\n\r\n filteredData: any [] = [...this.ogData];\r\n sortedData = [...this.filteredData];\r\n paginatedData = [...this.filteredData];\r\n lastId: number = this.ogData.length + 1;\r\n \r\n SelectAllBox: any = false;\r\n \r\n itemsPerPage = 10;\r\n itemOptionsPerPage = [5, 10, 20];\r\n selected: any [] = [];\r\n selectAllState = '';\r\n declare itemOrder: any;\r\n orderAsc: boolean = true;\r\n \r\n currentPage = 1;\r\n savedPage = 0;\r\n \r\n dataFilterer = new DataFilterer();\r\n dataSorter = new DataSorter();\r\n dataPaginator = new DataPaginator();\r\n \r\n loadData() {\r\n debugger;\r\n this.currentAction = 'loading';\r\n this.modelService.getAll().subscribe(\r\n data => {\r\n this.ogData = data;\r\n this.sortData();\r\n this.loadSearch();\r\n this.currentAction = '';\r\n console.log(this.ogData);\r\n \r\n }\r\n )\r\n \r\n }\r\n \r\n sortData() {\r\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\r\n this.filterData();\r\n }\r\n \r\n reverseSortData() {\r\n this.savedPage = this.currentPage;\r\n this.sortedData = this.sortedData.slice().reverse();\r\n this.filterData();\r\n }\r\n \r\n filterData() {\r\n debugger;\r\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\r\n if (this.savedPage === 0) {\r\n this.paginateData(this.itemsPerPage, 1);\r\n }\r\n else {\r\n this.paginateData(this.itemsPerPage,\r\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\r\n this.savedPage :\r\n Math.ceil((this.filteredData.length / this.itemsPerPage))\r\n );\r\n }\r\n this.savedPage = 0;\r\n }\r\n \r\n paginateData(newItemsPerPage: number, newCurrentPage: number) {\r\n debugger;\r\n this.itemsPerPage = newItemsPerPage;\r\n this.currentPage = newCurrentPage;\r\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\r\n }\r\n \r\n changeSort(newSort: any) {\r\n console.log(newSort.label);\r\n \r\n if (this.itemOrder.label === newSort.label) {\r\n this.orderAsc = !this.orderAsc;\r\n const oldPage = this.currentPage;\r\n this.reverseSortData()\r\n this.currentPage = oldPage;\r\n console.log(\"itemOrder.label === newSort.label\");\r\n }\r\n else {\r\n this.orderAsc = true;\r\n this.itemOrder = newSort;\r\n this.sortData();\r\n console.log(\"itemOrder.label != newSort.label\");\r\n \r\n }\r\n }\r\n \r\n getSort(label: any) {\r\n return this.sortableKeys.find(i => i.label === label);\r\n }\r\n \r\n changePage(event: PageChangedEvent): void {\r\n this.currentPage = event.page;\r\n this.paginateData(this.itemsPerPage, this.currentPage);\r\n }\r\n \r\n changeFilter() {\r\n this.deletionList = [];\r\n this.selected = [];\r\n this.selectAllState = '';\r\n this.filterData();\r\n }\r\n \r\n selectAll($event): void {\r\n if ($event.target.checked) {\r\n this.selected = [...this.filteredData];\r\n } else {\r\n this.selected = [];\r\n }\r\n this.setSelectAllState();\r\n }\r\n \r\n setSelectAllState(): void {\r\n if (this.selected.length >= this.filteredData.length) {\r\n this.selectAllState = 'checked';\r\n } else if (this.selected.length !== 0) {\r\n this.selectAllState = 'indeterminate';\r\n } else {\r\n this.selectAllState = '';\r\n }\r\n }\r\n \r\n isSelected(p: any): boolean {\r\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\r\n }\r\n \r\n onSelect(item: any): void {\r\n if (this.isSelected(item)) {\r\n this.selected = this.selected.filter(x => x.Id !== item.Id);\r\n } else {\r\n this.selected.push(item);\r\n }\r\n this.setSelectAllState();\r\n }\r\n \r\n findByCode(list: any, code: any): any {\r\n return list.find(x => x.Code === code)\r\n }\r\n\r\n declare sideModalRef: any;\r\n declare delModal: any;\r\n declare smallModal: any;\r\n\r\n showAddNewModalRef( func , formBuilder ): void { //pass \"createform()\" here\r\n this.currentFormMode = 'Add'\r\n this.modelObject = {};\r\n this.mainForm = func;\r\n this.mainForm = func(this.modelObject, formBuilder);\r\n if(this.sideModalRef === undefined){\r\n if(this.smallModal != undefined){\r\n this.smallModal.show();\r\n }\r\n }\r\n else{\r\n this.sideModalRef.show();\r\n }\r\n }\r\n \r\n showEditModalRef(Id: any, func, formBuilder): void {\r\n this.currentFormMode = 'Edit'\r\n this.modelObject = this.ogData.find(i => i.Id === Id);\r\n of(this.modelObject).subscribe(data => {\r\n this.modelObject = data;\r\n })\r\n this.mainForm = func(this.modelObject, formBuilder);\r\n if(this.sideModalRef === undefined){\r\n if(this.smallModal != undefined){\r\n this.smallModal.show();\r\n }\r\n }\r\n else{\r\n this.sideModalRef.show();\r\n }\r\n }\r\n \r\n showInfoModalRef(Id: any, func, formBuilder): void {\r\n this.currentFormMode = 'Info'\r\n this.modelObject = this.ogData.find(i => i.Id === Id);\r\n of(this.modelObject).subscribe(data => {\r\n this.modelObject = data;\r\n })\r\n this.mainForm = func(this.modelObject, formBuilder);\r\n if(this.sideModalRef === undefined){\r\n if(this.smallModal != undefined){\r\n this.smallModal.show();\r\n }\r\n }\r\n else{\r\n this.sideModalRef.show();\r\n }\r\n }\r\n \r\n deletionList: any[] = [];\r\n showDelModal(Id: any) {\r\n if (Id === 'delMulti') {\r\n this.deletionList = [...this.selected]\r\n this.delModal.show();\r\n }\r\n else {\r\n this.currentFormMode = 'Del'\r\n this.modelObject = this.ogData.find(i => i.Id === Id);\r\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\r\n this.delModal.show();\r\n }\r\n }\r\n \r\n finalizeDeletion(){\r\n if (this.deletionList.length === 1) {\r\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\r\n this.translate.instant(\"One\" + this.translationName));\r\n }\r\n else if (this.deletionList.length === 2) {\r\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\r\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\r\n }\r\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\r\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\r\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\r\n }\r\n else {\r\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\r\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\r\n }\r\n\r\n this.deletionList = [];\r\n this.selected = [];\r\n \r\n this.setSelectAllState();\r\n if (this.selectAllState === '') {\r\n this.SelectAllBox = false;\r\n }\r\n this.delModal.hide();\r\n }\r\n \r\n toastSuccess(toastHeader: string, toastBody: string): void {\r\n this.notifications.create(toastHeader, toastBody,\r\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\r\n }\r\n toastError(toastHeader: string, toastBody: string): void {\r\n this.notifications.create(toastHeader, toastBody,\r\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\r\n }\r\n deleteMultiTaxTypes() {\r\n this.loadData();\r\n this.delModal.hide();\r\n }\r\n \r\n loadAllData() {\r\n this.modelService.getAll().subscribe(\r\n data => {\r\n this.ogData = data;\r\n this.loadSearch();\r\n }\r\n )\r\n }\r\n \r\n loadSearch() {\r\n const prevSearch = this.SearchTerm;\r\n this.SearchTerm = '';\r\n setTimeout(() => {\r\n this.SearchTerm = prevSearch;\r\n }, 1);\r\n }\r\n}","export class BranchModel{\r\n Id?:number;\r\n NameAr?:string;\r\n NameEn?:string;\r\n //Country?:string;\r\n Governorate?:string;\r\n Street?:string;\r\n BuildingNo?:number;\r\n // PostalCode?:string;\r\n NotableMark?:string;\r\n CountryId?:number;\r\n CityAr?:string;\r\n CityEn?:string;\r\n CountryAr?:string;\r\n CountryEn?:string;\r\n CityId?:number;\r\n Address?:string;\r\n CountryCode?:string;\r\n CityName?:string;\r\n\r\n constructor(obj?:BranchModel){\r\n obj = obj? obj:{};\r\n this.Id = obj.Id? obj.Id:0;\r\n this.NameAr = obj.NameAr? obj.NameAr:'';\r\n this.NameEn = obj.NameEn? obj.NameEn:'';\r\n this.CountryCode = obj.CountryCode? obj.CountryCode:'';\r\n this.CityName = obj.CityName? obj.CityName:'';\r\n //this.Country = obj.Country? obj.Country:'';\r\n this.Governorate = obj.Governorate? obj.Governorate:'';\r\n this.Street = obj.Street? obj.Street:'';\r\n this.BuildingNo = obj.BuildingNo? obj.BuildingNo:null;\r\n this.NotableMark = obj.NotableMark? obj.NotableMark:'';\r\n // this.PostalCode = obj.PostalCode? obj.PostalCode:'';\r\n this.CountryId = obj.Id? obj.CountryId:null;\r\n this.CityAr = obj.NameAr? obj.CityAr:'';\r\n this.CityEn = obj.NameAr? obj.CityEn:'';\r\n this.CountryAr = obj.NameAr? obj.CountryAr:'';\r\n this.CountryEn = obj.NameAr? obj.CountryEn:'';\r\n this.CityId = obj.CityId? obj.CityId:null;\r\n this.Address = obj.Address? obj.Address:'';\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { BranchModel } from './BranchModel';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BranchService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n CompanyId:number =+ localStorage.getItem(\"CompanyId\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Branch/GetAll/${this.CompanyId}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Branch/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: BranchModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}Branch/Insert/${this.CompanyId}`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: BranchModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}Branch/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: BranchModel): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}Branch/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: BranchModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}Branch/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { CountryModel } from 'src/app/views/app/aio/shared/Shared Objects/countrymodel';\nimport { SidePopupComponent } from 'src/app/views/app/aio/shared/side-popup/side-popup.component';\nimport { BranchModel } from './BranchModel';\nimport { TableEngine } from './../TableEngine';\nimport { CityServes } from 'src/app/views/app/aio/shared/Shared Objects/cityServes';\nimport { BranchService } from './BranchService';\nimport { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { CityModel } from 'src/app/views/app/aio/shared/Shared Objects/citymodel';\nimport { CountryServes } from 'src/app/views/app/aio/shared/Shared Objects/countryServes';\n\n@Component({\n selector: 'app-branches',\n templateUrl: './branches.component.html',\n styleUrls: ['./branches.component.scss']\n})\nexport class BranchesComponent {\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n\n constructor(private formBuilder: FormBuilder, private modelService: BranchService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService\n , private cityService: CityServes, private countryService: CountryServes\n ) {\n }\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n\n translationName: string = 'Branch'\n\n sortableKeys = [];\n searchableKeys = ['NameEn', 'NameAr'];\n\n modelObject: BranchModel = new BranchModel();\n\n ogData: BranchModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n NameEn: new FormControl(),\n NameAr: new FormControl(),\n CountryId: new FormControl(),\n Governorate: new FormControl(),\n BuildingNo: new FormControl(),\n PostalCode: new FormControl(),\n Street: new FormControl(),\n NotableMark: new FormControl(),\n CityName: new FormControl(),\n });\n\n\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective = null;\n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'BranchName', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' };\n this.sortableKeys = [\n { label: 'BranchName', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' },\n { label: 'BranchCode', property: 'Code' },\n { label: 'BranchCountry', property: 'CountryId' },\n { label: 'BranchGovernorate', property: 'Governorate' },\n { label: 'BranchStreet', property: 'Street' },\n { label: 'BranchBuildingNo', property: 'BuildingNo' },\n { label: 'BranchNotableMark', property: 'NotableMark' },\n { label: 'BranchPostalCode', property: 'PostalCode' }\n ];\n this.loadServices();\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n }\n\n showModal(Id, action) {\n if (action === 'Add') {\n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n }\n else if (action === 'Edit') {\n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder)\n }\n else if (action === 'Info') {\n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder)\n }\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n }\n\n createForm(modelObject, formBuilder): FormGroup {\n console.log(\"from craeteform\");\n\n console.log(modelObject);\n\n return formBuilder.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n NameEn: [modelObject.NameEn, Validators.compose([Validators.required, Validators.minLength(2)])],\n NameAr: [modelObject.NameAr, Validators.compose([Validators.required, Validators.pattern(/^[\\u0621-\\u064A]+([\\s]*[\\u0621-\\u064A]+)*$/)])],\n CountryId: [modelObject.CountryId],\n CityName: [modelObject.CityName, Validators.required],\n Governorate: [modelObject.Governorate, Validators.compose([Validators.required, Validators.minLength(2)])],\n Street: [modelObject.Street, Validators.compose([Validators.required, Validators.minLength(2)])],\n BuildingNo: [modelObject.BuildingNo, Validators.compose([Validators.required, Validators.pattern(/^\\d+$/)])],\n NotableMark: [modelObject.NotableMark, Validators.compose([Validators.required, Validators.minLength(2)])],\n // PostalCode: [modelObject.PostalCode, Validators.compose([Validators.required, Validators.pattern(/^\\d{5}$/)])],\n });\n }\n\n addObject() {\n this.currentAction = 'loading';\n\n this.modelObject = new BranchModel();\n this.modelObject.Id = 0;\n this.modelObject.NameEn = this.mainForm.getRawValue().NameEn;\n this.modelObject.NameAr = this.mainForm.getRawValue().NameAr;\n this.modelObject.CountryId = this.mainForm.getRawValue().CountryId;\n this.modelObject.Governorate = this.mainForm.getRawValue().Governorate;\n this.modelObject.Street = this.mainForm.getRawValue().Street;\n this.modelObject.BuildingNo = this.mainForm.getRawValue().BuildingNo;\n this.modelObject.NotableMark = this.mainForm.getRawValue().NotableMark;\n this.modelObject.CityName = this.mainForm.getRawValue().CityName;\n var i = this.countryList.findIndex(x => x.Id == this.modelObject.CountryId);\n if (i > -1) {\n this.modelObject.CountryCode = this.countryList[i].Code;\n }\n // this.modelObject.PostalCode = this.mainForm.getRawValue().PostalCode;\n\n this.executeAddObject();\n }\n\n executeAddObject() {\n console.log(this.modelObject);\n\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n\n editObject() {\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n\n let tempObj = new BranchModel({\n Id: this.modelObject.Id,\n NameEn: this.mainForm.getRawValue().NameEn,\n NameAr: this.mainForm.getRawValue().NameAr,\n CountryId: this.mainForm.getRawValue().CountryId,\n Governorate: this.mainForm.getRawValue().Governorate,\n Street: this.mainForm.getRawValue().Street,\n BuildingNo: this.mainForm.getRawValue().BuildingNo,\n NotableMark: this.mainForm.getRawValue().NotableMark,\n CityName: this.mainForm.getRawValue().CityName\n\n // PostalCode : this.mainForm.getRawValue().PostalCode\n });\n var i = this.countryList.findIndex(x => x.Id == tempObj.CountryId);\n if (i > -1) {\n tempObj.CountryCode = this.countryList[i].Code;\n }\n if (JSON.stringify(tempObj) != JSON.stringify(this.modelObject)) {\n this.executeEditObject(tempObj);\n }\n else {\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n\n executeEditObject(Object) {\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n loadServices() {\n this.currentAction = 'loading';\n this.countryService.getAll().subscribe(\n countryData => {\n console.log('countryData', countryData);\n this.countryList = countryData;\n this.tableEngine.loadData();\n\n }\n )\n }\n\n cityList: CityModel[] = [];\n countryList: CountryModel[] = [];\n getCountryById(Id: any): any {\n return this.countryList.find(i => i.Id === Id);\n }\n getCityById(Id: any): any {\n return this.cityList.find(i => i.Id === Id);\n }\n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n}\n","\n
    \n
    \n
    \n

    \n {{tableEngine.currentFormMode+translationName | translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"BranchNameArRequired\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n {{\"BranchNameEnRequired\" | translate}}
    \n \n
    \n\n\n
    \n \n
    \n \n \n {{lang==='ar-EG'?country.NameAr:country.NameEn}}\n \n
    \n \n
    \n {{\"BranchCountryRequired\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n {{\"BranchGovernorateRequired\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"CityNameRequired\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"BranchStreetRequired\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n {{\"BranchBuildingNoRequired\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n {{\"BranchNotableMarkRequired\" | translate}}
    \n \n
    \n\n \n\n\n\n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n tableEngine.deletionList.length === tableEngine.ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n  \n
    \n
    \n \n\n
    \n
    \n\n
    \n\n\n
    \n\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n {{\"BranchName\" | translate}}\n \n \n \n \n {{\"BranchGovernorate\" | translate}}\n \n \n \n \n {{\"BranchBuildingNo\" | translate}}\n \n
    \n
    \n
    \n {{\"BranchStreet\" | translate}}\n \n \n \n \n {{\"BranchNotableMark\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{lang==='ar-EG'?obj.NameAr:obj.NameEn}}{{obj.Governorate}}{{obj.Street}}{{obj.BuildingNo}}{{obj.NotableMark}}
    \n
    \n
    \n
    \n\n
    \n\n
     
    \n\n
    \n\n
    \n \n \n \n \n
    \n
    \n\n
     
    \n\n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","export class ClientModel{\r\n Id?:number;\r\n NameEn?:string;\r\n NameAr?:string;\r\n Code?:string;\r\n TaxNumber?:string;\r\n Type?:string;\r\n //Country?:string;\r\n Governorate?:string;\r\n PostalCode?:string;\r\n CountryAr?:string;\r\n CountryEn?:string;\r\n CountryId?:number;\r\n CountryCode?:string;\r\n CityName?:string;\r\n constructor(obj?:ClientModel){\r\n obj = obj? obj:{};\r\n this.Id = obj.Id? obj.Id:0;\r\n this.Code = obj.Code? obj.Code:'';\r\n this.NameEn = obj.NameEn? obj.NameEn:'';\r\n this.NameAr = obj.NameAr? obj.NameAr:'';\r\n this.TaxNumber = obj.TaxNumber? obj.TaxNumber:'';\r\n this.Type = obj.Type? obj.Type:null;\r\n //this.Country = obj.Country? obj.Country:'';\r\n this.Governorate = obj.Governorate? obj.Governorate:'';\r\n this.PostalCode = obj.PostalCode? obj.PostalCode:'';\r\n this.CountryAr = obj.CountryAr? obj.CountryAr:'';\r\n this.CountryEn = obj.CountryEn? obj.CountryEn:'';\r\n this.CountryId = obj.CountryId? obj.CountryId:null;\r\n this.CountryCode = obj.CountryCode? obj.CountryCode:'';\r\n this.CityName = obj.CityName? obj.CityName:'';\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ClientModel } from './ClientModel';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ClientService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n CompanyId:number =+ localStorage.getItem(\"CompanyId\");\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Client/GetAll/${this.CompanyId}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Client/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: ClientModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}Client/Insert/${this.CompanyId}`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: ClientModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}Client/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: ClientModel): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}Client/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: ClientModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}Client/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { ClientService } from './ClientService';\nimport { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { of } from 'rxjs';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\nimport { DataFilterer } from 'src/app/views/app/aio/shared/DataFilterer';\nimport { DataSorter } from 'src/app/views/app/aio/shared/DataSorter';\nimport { DataPaginator } from 'src/app/views/app/aio/shared/DataPaginator';\nimport { CountryServes } from 'src/app/views/app/aio/shared/Shared Objects/countryServes';\nimport { CityServes } from 'src/app/views/app/aio/shared/Shared Objects/cityServes';\nimport { CityModel } from 'src/app/views/app/aio/shared/Shared Objects/citymodel';\nimport { CountryModel } from 'src/app/views/app/aio/shared/Shared Objects/countrymodel';\nimport { SidePopupComponent } from 'src/app/views/app/aio/shared/side-popup/side-popup.component';\nimport { ClientModel } from './ClientModel';\n@Component({\n selector: 'app-clients',\n templateUrl: './clients.component.html',\n styleUrls: ['./clients.component.scss']\n})\nexport class ClientsComponent {\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n constructor(private formBuilder: FormBuilder, private modelService: ClientService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService\n , private cityService: CityServes, private countryService: CountryServes) { //Additional services for City and Country\n }\n currentScreen: any = 'Table';\n\n translationName: string = 'Client'\n\n sortableKeys = [];\n searchableKeys = ['NameEn', 'NameAr'];\n \n modelObject: ClientModel = new ClientModel({});\n // ogData: ClientModel [] = [ \n // {Id:5, NameAr:'احمد', NameEn:'Ahmad', Code:'12345', ClientType:'Personal', TaxNumber:'33221131232134', Country:'Egypt', Governorate:'Giza', PostalCode:'11211'}, \n // {Id:1, NameAr:'محمد', NameEn:'Mohamad', Code:'54321', ClientType:'Personal', TaxNumber:'12345667890123', Country:'Egypt', Governorate:'Benha', PostalCode:'55121'},\n // {Id:2, NameAr:'شركة 1', NameEn:'Co 1', Code:'61063', ClientType:'Company', TaxNumber:'456891231', Country:'Saudi Arabia', Governorate:'Gedda', PostalCode:'32512'},\n // {Id:3, NameAr:'شركة 2', NameEn:'Co 2', Code:'11215', ClientType:'Company', TaxNumber:'566789013', Country:'Egypt', Governorate:'Qena', PostalCode:'71342'}, \n // {Id:4, NameAr:'عبده', NameEn:'Abdo', Code:'55555', ClientType:'Personal', TaxNumber:'39401256678312', Country:'Egypt', Governorate:'Giza', PostalCode:'63123'} \n // ];\n ogData: ClientModel [] = [ ];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n NameEn: new FormControl(),\n NameAr: new FormControl(),\n Code: new FormControl(),\n Type: new FormControl(),\n TaxNumber: new FormControl(),\n CountryId: new FormControl(),\n Governorate: new FormControl(),\n PostalCode: new FormControl(),\n CityName:new FormControl()\n });\n\n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'ClientName', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' };\n this.sortableKeys = [\n { label: 'ClientName', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' },\n { label: 'ClientCode', property: 'Code' },\n { label: 'ClientTaxNumber', property: 'TaxNumber' },\n { label: 'ClientType', property: 'Type' },\n { label: 'ClientCountry', property: 'CountryId' },\n { label: 'ClientGovernorate', property: 'Governorate' },\n { label: 'ClientPostalCode', property: 'PostalCode' }\n ];\n //this.loadData();\n this.loadServices();\n }\n\n createForm(): FormGroup {\n return this.formBuilder.group({\n Id: [this.modelObject.Id >= 0 ? this.modelObject.Id : 0],\n NameEn: [this.modelObject.NameEn, Validators.compose([Validators.required, Validators.minLength(2)])],\n NameAr: [this.modelObject.NameAr, Validators.compose([Validators.required])],\n Code: [this.modelObject.Code, Validators.compose([Validators.required, Validators.pattern(/^\\d+$/)])],\n TaxNumber: [this.modelObject.TaxNumber, Validators.compose([Validators.required, this.matchTaxNumberWithClientType()])],\n Type: [this.modelObject.Type, Validators.compose([Validators.required])],\n CityName: [this.modelObject.CityName, Validators.compose([Validators.required])],\n CountryId: [this.modelObject.CountryId],\n Governorate: [this.modelObject.Governorate, Validators.compose([Validators.required, Validators.minLength(2)])],\n PostalCode: [this.modelObject.PostalCode, Validators.compose([Validators.required, Validators.pattern(/^\\d{5}$/)])]\n });\n }\n\n addObject() {\n //prevent multiclick submits. enable again after API response.\n this.currentAction = 'loading';\n\n this.modelObject = new ClientModel();\n this.modelObject.Id = 0;\n this.modelObject.NameEn = this.mainForm.getRawValue().NameEn;\n this.modelObject.NameAr = this.mainForm.getRawValue().NameAr;\n this.modelObject.Code = this.mainForm.getRawValue().Code;\n this.modelObject.TaxNumber = this.mainForm.getRawValue().TaxNumber;\n this.modelObject.Type = this.mainForm.getRawValue().Type;\n this.modelObject.CountryId = this.mainForm.getRawValue().CountryId;\n this.modelObject.Governorate = this.mainForm.getRawValue().Governorate;\n this.modelObject.PostalCode = this.mainForm.getRawValue().PostalCode;\n this.modelObject.CityName = this.mainForm.getRawValue().CityName;\n var i = this.countryList.findIndex(x => x.Id == this.modelObject.CountryId);\n if (i > -1) {\n this.modelObject.CountryCode = this.countryList[i].Code;\n }\n this.executeAddObject();\n }\n\n executeAddObject(){\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n this.sideModalRef.modalRef.hide();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n\n editObject() {\n this.savedPage = this.currentPage;\n this.currentAction = 'loading';\n\n let tempObj = new ClientModel({\n Id: this.modelObject.Id,\n NameEn: this.mainForm.getRawValue().NameEn,\n NameAr: this.mainForm.getRawValue().NameAr,\n Code : this.mainForm.getRawValue().Code,\n TaxNumber : this.mainForm.getRawValue().TaxNumber,\n Type : this.mainForm.getRawValue().Type,\n CountryId : this.mainForm.getRawValue().CountryId,\n Governorate : this.mainForm.getRawValue().Governorate,\n PostalCode : this.mainForm.getRawValue().PostalCode,\n CityName : this.mainForm.getRawValue().CityName\n });\n var i = this.countryList.findIndex(x => x.Id == tempObj.CountryId);\n if (i > -1) {\n tempObj.CountryCode = this.countryList[i].Code;\n }\n if(tempObj != this.modelObject){\n this.executeEditObject(tempObj);\n }\n else{\n this.sideModalRef.modalRef.hide();\n }\n }\n\n executeEditObject(Object)\n {\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n\n this.sideModalRef.modalRef.hide();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject(){\n this.modelService.deleteList(this.deletionList).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.finalizeDeletion();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n\n //Get any additional data here\n loadServices(){ \n this.currentAction = 'loading';\n this.countryService.getAll().subscribe(\n countryData => {\n //console.log(data);\n this.countryList = countryData;\n this.cityService.getAll().subscribe(\n cityData => {\n //console.log(data);\n this.cityList = cityData;\n this.loadData();\n console.log(this.cityList.map(i=>i.NameAr));\n console.log(this.countryList.map(i=>i.NameAr));\n }\n )\n }\n )\n }\n\n cityList: CityModel [] = [];\n countryList: CountryModel [] = [];\n getCountryById(Id:any): any {\n return this.countryList.find(i=>i.Id === Id);\n }\n getCityById(Id:any): any {\n return this.cityList.find(i=>i.Id === Id);\n }\n\n matchTaxNumberWithClientType(): ValidatorFn {\n return (control:AbstractControl) : ValidationErrors | null => {\n \n const value = control.value;\n if (!value) {\n return null;\n }\n if(this.mainForm.get('TaxNumber').value && this.mainForm.get('Type').value){\n const taxNumber = this.mainForm.get('TaxNumber').value.toString();\n const clientType = this.mainForm.get('Type').value.toString();\n const taxMatch = (taxNumber===14&&clientType==='Personal') || (taxNumber===9&&clientType==='Company');\n return taxMatch ? {match:true} : null;\n }\n }\n}\n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n lang: string;\n currentFormMode: string = '';\n currentAction: string = '';\n\n\n //ogData = [];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n\n SelectAllBox: any = false;\n\n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n itemOrder: any;\n orderAsc: boolean = true;\n\n currentPage = 1;\n savedPage = 0;\n\n\n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n\n loadData() {\n this.currentAction = 'loading';\n this.modelService.getAll().subscribe(\n data => {\n console.log(data);\n \n this.ogData = data;\n this.sortData();\n this.loadSearch();\n this.currentAction = '';\n }\n )\n \n }\n\n sortData() {\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n\n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n\n filterData() {\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n\n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n\n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n\n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n\n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n\n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n\n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n\n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n\n isSelected(p: ClientModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n\n onSelect(item: ClientModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n\n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent;\n @ViewChild('delModal') delModal: ModalDirective;\n showAddNewModalRef(): void {\n this.currentFormMode = 'Add'\n this.modelObject = new ClientModel;\n this.mainForm = this.createForm();\n this.sideModalRef.show();\n }\n\n showEditModalRef(Id: any): void {\n this.currentFormMode = 'Edit'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.sideModalRef.show();\n }\n\n showInfoModalRef(Id: any): void {\n this.currentFormMode = 'Info'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.sideModalRef.show();\n }\n\n deletionList: ClientModel[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n\n SearchTerm: any = '';\n\n\n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n\n this.deletionList = [];\n this.selected = [];\n\n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n\n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n\n loadAllData() {\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.loadSearch();\n }\n )\n }\n\n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n}\n","\n
    \n
    \n
    \n

    \n {{currentFormMode+translationName | translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"ClientNameArRequired\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n {{\"ClientNameEnRequired\" | translate}}
    \n \n
    \n \n \n
    \n \n \n {{\"Personal\" | translate}}\n {{\"Company\" | translate}}\n {{\"Foreigner\" | translate}}\n \n \n
    \n {{\"ClientTypeRequired\" | translate}}
    \n \n
    \n \n
    \n \n \n \n
    \n {{\"InvalidTaxNumber\" | translate}}
    \n
    \n {{ \"InvalidPersonalTaxNumber\" | translate}}
    \n \n
    \n {{ \"InvalidCompanyTaxNumber\" | translate}}
    \n
    \n \n
    \n \n \n \n
    \n {{\"ClientCodeRequired\" | translate}}
    \n \n
    \n \n
    \n \n
    \n \n \n {{lang==='ar-EG'?country.NameAr:country.NameEn}}\n \n
    \n \n
    \n {{\"ClientCountryRequired\" | translate}}
    \n \n
    \n \n
    \n \n \n \n
    \n {{\"ClientGovernorateRequired\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"CityNameRequired\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"ClientPostalCodeRequired\" | translate}}
    \n \n
    \n \n\n\n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"ClientName\" | translate}}\n \n
    \n {{\"ClientCode\" | translate}}\n \n
    \n {{\"ClientType\" | translate}}\n \n
    \n {{\"ClientTaxNumber\" | translate}}\n \n
    \n {{\"ClientGovernorate\" | translate}}\n \n
    \n {{\"ClientPostalCode\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{lang==='ar-EG'?obj.NameAr:obj.NameEn}}{{obj.Code}}{{obj.Type}}{{obj.TaxNumber}}{{obj.Governorate}}{{obj.PostalCode}}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","export class CodingUnitModel{\r\n Id?:number;\r\n NameAr?:string;\r\n NameEn?:string;\r\n UnitInTheTaxSystem?:string;\r\n UnitInTheCompanySystem?:string;\r\n AcceptFromTaxs?:boolean;\r\n constructor(obj?:CodingUnitModel){\r\n obj = obj? obj:{};\r\n this.Id = obj.Id? obj.Id:0;\r\n this.NameAr = obj.NameAr? obj.NameAr:'';\r\n this.NameEn = obj.NameEn? obj.NameEn:'';\r\n this.UnitInTheTaxSystem = obj.UnitInTheTaxSystem? obj.UnitInTheTaxSystem:'';\r\n this.UnitInTheCompanySystem = obj.UnitInTheCompanySystem? obj.UnitInTheCompanySystem:'';\r\n this.AcceptFromTaxs = obj.AcceptFromTaxs? obj.AcceptFromTaxs:true;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { CodingUnitModel } from './CodingUnitModel';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CodingUnitService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n CompanyId:number =+ localStorage.getItem(\"CompanyId\");\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}CodingUnits/GetAll/${this.CompanyId}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}CodingUnits/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: CodingUnitModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}CodingUnits/Insert/${this.CompanyId}`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: CodingUnitModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}CodingUnits/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: CodingUnitModel): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}CodingUnits/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: CodingUnitModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}CodingUnits/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { CodingUnitModel } from './CodingUnitModel';\nimport { CodingUnitService } from './CodingUnitService';\nimport { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { of } from 'rxjs';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\nimport { DataFilterer } from 'src/app/views/app/aio/shared/DataFilterer';\nimport { DataSorter } from 'src/app/views/app/aio/shared/DataSorter';\nimport { DataPaginator } from 'src/app/views/app/aio/shared/DataPaginator';\nimport { SidePopupComponent } from 'src/app/views/app/aio/shared/side-popup/side-popup.component';\nimport UnitTypes from 'src/assets/tax-types/UnitTypes.json';\n\n@Component({\n selector: 'app-coding-units',\n templateUrl: './coding-units.component.html',\n styleUrls: ['./coding-units.component.scss']\n})\nexport class CodingUnitsComponent {\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n constructor(private formBuilder: FormBuilder, private modelService: CodingUnitService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService) {\n }\n UnitTypesJson: any[] = UnitTypes;\n currentScreen: any = 'Table';\n translationName: string = 'CodingUnit'\n sortableKeys = [];\n searchableKeys = ['NameEn', 'NameAr', 'Country'];\n modelObject: CodingUnitModel = new CodingUnitModel();\n ogData: CodingUnitModel [] = [ ];\n // ogData: CodingUnitModel [] = [ \n // {Id:5, NameAr:'متر', NameEn:'Metre', UnitInTheTaxSystem:'', UnitInTheCompanySystem:'Metre (M)', AcceptFromTaxs:true}, \n // {Id:1, NameAr:'كيلو جرام', NameEn:'Kilogram', UnitInTheTaxSystem:'Kilogram (Kg)', UnitInTheCompanySystem:'Kg', AcceptFromTaxs:true},\n // {Id:2, NameAr:'متر مكعب', NameEn:'Cubic Metre', UnitInTheTaxSystem:'Cubic Metre (m3)', UnitInTheCompanySystem:'M3', AcceptFromTaxs:true},\n // {Id:3, NameAr:'صندوق', NameEn:'Box', UnitInTheTaxSystem:'Box (Bx)', UnitInTheCompanySystem:'Bx', AcceptFromTaxs:true}, \n // {Id:4, NameAr:'كيس', NameEn:'Bag', UnitInTheTaxSystem:'Bag (Bg)', UnitInTheCompanySystem:'Bg', AcceptFromTaxs:false} \n // ];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n NameEn: new FormControl(),\n NameAr: new FormControl(),\n UnitInTheTaxSystem: new FormControl(),\n UnitInTheCompanySystem: new FormControl(),\n AcceptFromTaxs: new FormControl(),\n });\n\n ngOnInit(): void {\n console.log(\"model\");\n console.log(this.modelObject);\n \n \n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'CodingUnitName', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' };\n this.sortableKeys = [\n { label: 'CodingUnitName', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' },\n { label: 'CodingUnitInTheTaxSystem', property: 'UnitInTheTaxSystem' },\n { label: 'CodingUnitInTheCompanySystem', property: 'UnitInTheCompanySystem' },\n { label: 'CodingUnitAcceptFromTaxs', property: 'AcceptFromTaxs' },\n ];\n this.loadData();\n console.log(this.ogData);\n //this.dataSorter.sortData('NameEn', this.ogData);\n }\n\n createForm(): FormGroup {\n return this.formBuilder.group({\n Id: [this.modelObject.Id >= 0 ? this.modelObject.Id : 0],\n NameEn: [this.modelObject.NameEn, Validators.compose([Validators.required, Validators.minLength(2)])],\n NameAr: [this.modelObject.NameAr, Validators.compose([Validators.required, Validators.pattern(/^[\\u0621-\\u064A]+([\\s]*[\\u0621-\\u064A]+)*$/)])],\n UnitInTheTaxSystem: [this.modelObject.UnitInTheTaxSystem, Validators.compose([Validators.required, Validators.minLength(2)])],\n UnitInTheCompanySystem: [this.modelObject.UnitInTheCompanySystem, Validators.compose([Validators.required, Validators.minLength(2)])],\n AcceptFromTaxs: [this.modelObject.AcceptFromTaxs],\n });\n }\n\n addObject() {\n //prevent multiclick submits. enable again after API response.\n this.currentAction = 'loading';\n\n this.modelObject = new CodingUnitModel();\n this.modelObject.Id = 0;\n this.modelObject.NameEn = this.mainForm.getRawValue().NameEn;\n this.modelObject.NameAr = this.mainForm.getRawValue().NameAr;\n this.modelObject.UnitInTheTaxSystem = this.mainForm.getRawValue().UnitInTheTaxSystem;\n this.modelObject.UnitInTheCompanySystem = this.mainForm.getRawValue().UnitInTheCompanySystem;\n this.modelObject.AcceptFromTaxs = true;\n\n\n this.executeAddObject();\n }\n\n executeAddObject(){\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n this.sideModalRef.modalRef.hide();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n\n editObject() {\n this.savedPage = this.currentPage;\n this.currentAction = 'loading';\n\n let tempObj = new CodingUnitModel({\n Id: this.modelObject.Id,\n NameEn: this.mainForm.getRawValue().NameEn,\n NameAr: this.mainForm.getRawValue().NameAr,\n UnitInTheTaxSystem: this.mainForm.getRawValue().UnitInTheTaxSystem,\n UnitInTheCompanySystem: this.mainForm.getRawValue().UnitInTheCompanySystem\n });\n \n if(tempObj != this.modelObject){\n this.executeEditObject(tempObj);\n }\n else{\n this.sideModalRef.modalRef.hide();\n }\n }\n\n executeEditObject(Object)\n {\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n\n this.sideModalRef.modalRef.hide();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as paraMetre if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject(){\n this.modelService.deleteList(this.deletionList).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.finalizeDeletion();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n \n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n lang: string;\n currentFormMode: string = '';\n currentAction: string = '';\n\n\n //ogData = [];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n\n SelectAllBox: any = false;\n\n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n itemOrder: any;\n orderAsc: boolean = true;\n\n currentPage = 1;\n savedPage = 0;\n\n\n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n\n loadData() {\n this.currentAction = 'loading';\n this.modelService.getAll().subscribe(\n data => {\n console.log(data);\n \n this.ogData = data;\n this.sortData();\n this.loadSearch();\n this.currentAction = '';\n }\n )\n \n }\n\n sortData() {\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n\n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n\n filterData() {\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n\n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n\n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n\n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n\n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n\n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n\n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n\n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n\n isSelected(p: CodingUnitModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n\n onSelect(item: CodingUnitModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n\n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent;\n @ViewChild('delModal') delModal: ModalDirective;\n showAddNewModalRef(): void {\n this.currentFormMode = 'Add'\n this.modelObject = new CodingUnitModel;\n this.mainForm = this.createForm();\n this.sideModalRef.show();\n }\n\n showEditModalRef(Id: any): void {\n console.log(\"adsdasdasdas\");\n console.log(this.modelObject);\n console.log(this.ogData);\n \n this.currentFormMode = 'Edit'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.sideModalRef.show();\n }\n\n showInfoModalRef(Id: any): void {\n this.currentFormMode = 'Info'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.sideModalRef.show();\n }\n\n deletionList: CodingUnitModel[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n\n SearchTerm: any = '';\n\n\n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n\n this.deletionList = [];\n this.selected = [];\n\n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n\n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n\n loadAllData() {\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.loadSearch();\n }\n )\n }\n\n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n}\n","\n
    \n
    \n
    \n

    \n {{currentFormMode+translationName | translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"CodingUnitNameArRequired\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n {{\"CodingUnitNameEnRequired\" | translate}}
    \n \n
    \n \n \n
    \n \n \n \n {{lang==='ar-EG'?taxableTypeCode.desc_en:taxableTypeCode.desc_en}}\n \n \n \n
    \n {{\"CodingUnitInTheTaxSystemRequired\" | translate}}
    \n \n
    \n \n
    \n \n \n \n
    \n {{\"CodingUnitInTheCompanySystemRequired\" | translate}}
    \n \n
    \n \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"CodingUnitName\" | translate}}\n \n
    \n {{\"CodingUnitInTheTaxSystem\" | translate}}\n \n
    \n {{\"CodingUnitInTheCompanySystem\" | translate}}\n \n
    \n {{\"CodingUnitAcceptFromTaxs\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{lang==='ar-EG'?obj.NameAr:obj.NameEn}}{{obj.UnitInTheTaxSystem}}{{obj.UnitInTheCompanySystem}}{{obj.AcceptFromTaxs}}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","export class CompanyApiModel{\r\n Id?:number;\r\n NameAr?:string;\r\n NameEn?:string;\r\n ApisURL?:string;\r\n Token ?: string;\r\n type ?: string;\r\n RegistrationNumber?: string;\r\n RegistratioName ?: string;\r\n client_id ?: string;\r\n client_secret ?: string;\r\n client_secret2 ?: string;\r\n ActivityCode ?: string;\r\n constructor(obj?:CompanyApiModel){\r\n obj = obj? obj:{};\r\n this.Id = obj.Id? obj.Id:0;\r\n this.NameAr = obj.NameAr? obj.NameAr:'';\r\n this.NameEn = obj.NameEn? obj.NameEn:'';\r\n this.ApisURL = obj.ApisURL? obj.ApisURL:'';\r\n this.Token = obj.Token ? obj.Token : '' ;\r\n this.type = obj.type ? obj.type : '' ;\r\n this.RegistrationNumber = obj.RegistrationNumber? obj.RegistrationNumber : '' ;\r\n this.RegistratioName = obj.RegistratioName ? obj.RegistratioName : '' ;\r\n this.client_id = obj.client_id ? obj.client_id : '' ;\r\n this.client_secret = obj.client_secret ? obj.client_secret : '' ;\r\n this.client_secret2 = obj.client_secret2 ? obj.client_secret2 : '' ;\r\n this.ActivityCode = obj.ActivityCode ? obj.ActivityCode : '' ;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { CompanyApiModel } from './CompanyApiModel';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CompanyApiService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Company/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Company/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: CompanyApiModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}Company/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: CompanyApiModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}Company/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: CompanyApiModel): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}Company/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n \r\n}\r\n","import { CompanyApiModel } from './CompanyApiModel';\nimport { CompanyApiService } from './CompanyApiService';\nimport { Component, OnInit } from '@angular/core';\nimport { environment } from 'src/environments/environment';\n\n@Component({\n selector: 'app-company-api',\n templateUrl: './company-api.component.html',\n styleUrls: ['./company-api.component.scss']\n})\nexport class CompanyApiComponent implements OnInit {\n\n lang: string = '';\n constructor(private service:CompanyApiService) {\n //service.getAll();\n this.lang = localStorage.getItem('theme_lang');\n }\n\n ngOnInit(): void {\n this.loadAllData();\n }\n\n \n currentCompany:CompanyApiModel = new CompanyApiModel({Id: 0, NameAr: 'Default', NameEn: 'Default', ApisURL: 'defaultURL'});\n companyApiList:CompanyApiModel[] = [];\n companyApiList2: ['1','2','3'];\n displayOptionsCollapsed = false;\n\n\n //Use \"environment.companyApi\" anywhere else within the \"invoices\" component\n changeCompany(str:CompanyApiModel){\n console.log(str);\n this.currentCompany = str;\n // environment.companyApi = str.ApisURL;\n localStorage.removeItem('CompanyId');\n localStorage.setItem('CompanyId',str.Id.toString());\n localStorage.setItem('CompanyNameAr',str.NameAr.toString());\n localStorage.setItem('CompanyNameEn',str.NameEn.toString());\n }\n loadAllData() {\n this.service.getAll().subscribe(\n data => {\n this.companyApiList = data;\n var comany = localStorage.getItem(\"CompanyId\");\n if(comany == null || comany == undefined){\n localStorage.setItem('CompanyId',this.companyApiList[0].Id.toString());\n localStorage.setItem('CompanyNameAr',this.companyApiList[0].NameAr.toString());\n localStorage.setItem('CompanyNameEn',this.companyApiList[0].NameEn.toString());\n }\n console.log(data);\n }\n )\n }\n}\n","\n

    \n {{\"CurrentCompany\" | translate}}\n

    \n
    \n
    \n
    \n \n \n
      \n
    • {{lang==='ar-EG'?item.NameAr:item.NameEn| translate}}
    • \n
    \n
    \n
    \n
    \n
    ","import { CreateNewItemModel } from './helper/model/create-new-item.model';\nimport { PaymentPlanService } from './../../views/app/aio/acounting_components/payment-plan/payment-plan.service';\nimport { CurrencyModel } from 'src/app/views/invoice/currencies/CurrencyModel';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport data from 'src/app/constants/menu';\nimport { InvoiceItemModel } from './helper/model/get_item.model'\nimport { BranchItemModel } from './helper/model/get_branch.model'\nimport { ClientInvoceModel } from './helper/model/get_client_model'\nimport { TaxModel } from './helper/model/taxModel'\n\nimport { GetItem } from './helper/serves/get_item_serves'\nimport { GetBranch } from './helper/serves/get_branch_serves'\nimport { GetClient } from './helper/serves/get_client_server'\nimport { PostInvoiceServes } from './helper/serves/post_invoice_serves'\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { PostInvoiceModel } from './helper/model/invoive.model';\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\nimport { TemplateRef } from '@angular/core';\nimport { of } from 'rxjs';\nimport { BranchModel } from '../branches/BranchModel';\nimport { ItemPostModel } from './helper/model/Item_post_model';\nimport { ItemModel } from './helper/model/invoice-item.model';\nimport { TaxTypesService } from '../tax-types/TaxTypesService';\nimport { TaxTypesModel } from '../tax-types/TaxTypesModel';\nimport { Router } from '@angular/router';\nimport { CurrencyService } from '../currencies/CurrencyService';\nimport { PaymentPlanModel } from 'src/app/views/app/aio/acounting_components/payment-plan/models/payment-plan.model';\nimport { CostCenterModel } from 'src/app/views/app/aio/acounting_components/cost-center/models/cost-center.model';\nimport { CostCenterService } from 'src/app/views/app/aio/acounting_components/cost-center/services/cost-center.service';\nimport { JournalFooterCostCenterModel } from 'src/app/views/app/aio/acounting_components/dailyrestrictions/journal-footer-cost-center.model';\nimport { SidePopupComponent } from 'src/app/views/invoice/side-popup/side-popup.component';\nimport { CodingUnitModel } from '../coding-units/CodingUnitModel';\nimport { BrandServiceService } from 'src/app/Invintory/warehouses/brand-service.service';\nimport { CategoryServiceService } from 'src/app/Invintory/warehouses/category-service.service';\nimport {UnitTypeService} from 'src/app/Invintory/unit-type.service';\nimport { WarehouseService } from \"src/app/Invintory/warehouses/warehouse-service.service\";\nimport { StoreItemsModel } from 'src/app/Invintory/models/StoreItemsModel';\nimport { CategoryModel } from 'src/app/Invintory/models/CategoryModel';\nimport { BrandModel } from 'src/app/Invintory/models/BrandModel';\nimport { CategoryItemsModel } from 'src/app/Invintory/models/CategoryItemsMosel';\nimport { BrandItemsModel } from 'src/app/Invintory/models/BrandItemsModel';\n\n@Component({\n selector: 'app-create-invoice',\n templateUrl: './create-invoice.component.html',\n styleUrls: ['./create-invoice.component.scss']\n})\nexport class CreateInvoiceComponent implements OnInit {\n showCard: boolean = false;\n ItemHolderList: any[] = [];\n SelectedItemList: InvoiceItemModel[] = [];\n BranchHolderList: BranchModel[] = [];\n ItemModelList: ItemModel[] = [];\n ClientHolderList: ClientInvoceModel[] = [];\n FinalListItemPost: ItemPostModel[] = [];\n postInvocemodel: PostInvoiceModel;\n branchID: number;\n ClientID: number;\n Name: String;\n ClientType: String;\n TaxNumber: String;\n InvoiceForm: FormGroup;\n popupTax: FormGroup;\n ItemForm: FormGroup;\n totalSalesAmount: number = 0;\n totalTax: number = 0;\n totalDiscountAmount: number = 0;\n valueAddedTax: number = 0;\n amountAfterDiscount: number = 0;\n totalAfterTax: number = 0;\n TaxId: number;\n TaxHeaderName: String;\n TaxItemSelected: number;\n // getTaxModel:TaxModel[]=[];\n selectedCompanies: TaxModel[] = [];\n companies: TaxModel[] = [];\n companiesNames:TaxTypesModel[]=[];\n currencies:CurrencyModel[]=[];\n // companiesNames = [{ TaxId: 1, TaxName: '14%', value: 14 }, { TaxId: 2, TaxName: '15%', value: 15 }, { TaxId: 3, TaxName: '10%', value: 10 }, { TaxId: 4, TaxName: '2%', value: 2 }];\n lang: string;\n\n PaymentForm:FormGroup;\n DelivaryForm:FormGroup;\n paymentPlans:PaymentPlanModel[]=[];\n centers:CostCenterModel[]=[]\n constructor(private currencyService:CurrencyService, \n public router:Router, \n private getItemServes: GetItem,\n public fb:FormBuilder, \n private TaxTypesService: TaxTypesService, \n private modalService: BsModalService, \n getBranchServes: GetBranch, \n getClientServes: GetClient, \n private postInvoiceServes: PostInvoiceServes,\n private PaymentPlanService:PaymentPlanService,\n private costCenterService:CostCenterService,\n public formBuilder : FormBuilder,\n private UnitTypeService:UnitTypeService,\n private WarehouseService: WarehouseService,private BrandService: BrandServiceService,\n private CategorySevice: CategoryServiceService,\n ) {\n this.costCenterService.getAll(0)\n .subscribe(result=>{\n this.centers = result\n })\n this.PaymentPlanService.getAll()\n .subscribe(result=>{\n this.paymentPlans = result;\n })\n currencyService.getAll()\n .subscribe(currency=>{\n this.currencies = currency;\n })\n getItemServes.getAll().subscribe(\n data => {\n this.ItemHolderList = data;\n console.log('this.ItemHolderList',data);\n\n }\n );\n getBranchServes.getAll().subscribe(\n data => {\n this.BranchHolderList = data;\n console.log(data);\n\n }\n );\n getClientServes.getAll().subscribe(\n data => {\n this.ClientHolderList = data;\n console.log(data);\n\n }\n );\n\n TaxTypesService.getAll().subscribe(\n data => {\n this.companiesNames = data;\n console.log(\"companiesNamescompaniesNames\",data);\n this.companiesNames.forEach(element => {\n this.companies.push(element);\n \n });\n // this.companies.splice(0,0,{Id:0,IsRate:false,ItemID:0,NameAr:\"اختر الضريبة\",NameEn:\"Choose Tax\",Percentage:0,SubType:\"\",TaxType:'',TotalPriceAfterTax:0,TotalTax:0})\n\n }\n );\n }\n createPaymentForm():FormGroup{\n return this.fb.group({\n BankName:[this.postInvocemodel.BankName],\n BankAddress:[this.postInvocemodel.BankAddress],\n BankAccountNo:[this.postInvocemodel.BankAccountNo],\n BankAccountIBAN:[this.postInvocemodel.BankAccountIBAN],\n SwiftCode:[this.postInvocemodel.SwiftCode],\n })\n }\n createDelivaryForm():FormGroup{\n return this.fb.group({\n Approach:[this.postInvocemodel.Approach],\n Packaging:[this.postInvocemodel.Packaging],\n DateValidity:[this.postInvocemodel.DateValidity],\n ExportPort:[this.postInvocemodel.ExportPort],\n CountryOfOrigin:[this.postInvocemodel.CountryOfOrigin],\n GrossWeight:[this.postInvocemodel.GrossWeight],\n NetWeight:[this.postInvocemodel.NetWeight],\n })\n }\n WarehouseList:any[]=[];\n UnitList:any[]=[];\n units:CodingUnitModel[]=[];\n BrandList:BrandModel[]=[];\n CategoryList:CategoryModel[]=[];\n lastCode = 0;\n FirstTaxesList:any[]=[];\n SecondTaxesList:any[]=[];\n ngOnInit() {\n this.getDataForAddItem();\n this.postInvoiceServes.getLastCode()\n .subscribe(last=>{\n\n if(+last > 0){\n\n this.lastCode = +last + 1;\n }\n else{\n this.lastCode = 1;\n }\n this.postInvocemodel = new BranchItemModel();\n this.lang = localStorage.getItem('theme_lang');\n this.PaymentForm = this.createPaymentForm();\n this.DelivaryForm = this.createDelivaryForm();\n\n /////////////// ToDO\n\n\n\n this.popupTax = new FormGroup({\n taxItemSelected: new FormControl(null),\n })\n this.InvoiceForm = new FormGroup({\n InvoiceNumber: new FormControl(this.lastCode.toString() , Validators.required,),\n TaxActivityCode: new FormControl(null),\n ReleaseDate: new FormControl(null, Validators.required),\n DueDate: new FormControl(null, Validators.required),\n salesorder: new FormControl(null, Validators.required),\n Initialinvoicenumber: new FormControl(null, Validators.required),\n PurchaseOrder: new FormControl(null, Validators.required),\n BranchDropdwon: new FormControl(0, Validators.required),\n TypeDropdwon: new FormControl(null, Validators.required),\n company: new FormControl(null, Validators.required),\n Currency:new FormControl(\"\",Validators.required),\n PaymentPlanId:new FormControl(0)\n });\n\n this.ItemForm = new FormGroup({\n quantity: new FormControl(1),\n discount: new FormControl(0),\n });\n })\n \n // this.ClintForm = new FormGroup({\n // Name : new FormControl( null,Validators.required,), \n // ClientType : new FormControl( null ,Validators.required), \n // TaxNumber : new FormControl( null ,Validators.required), \n // });\n\n // this.InvoiceSummary = new FormGroup({\n // TotalSales : new FormControl( \"0\",Validators.required,), \n // TotalDiscount : new FormControl( \"0\" ,Validators.required), \n // TotalValueAdded : new FormControl( \"0\" ,Validators.required), \n // amountAfter : new FormControl( \"0\" ,Validators.required), \n // });\n }\n // ClintForm: FormGroup;\n // InvoiceSummary: FormGroup;\n func() {\n // this.InvoiceForm=this.InvoiceForm.getRawValue().InvoiceNumber\n console.log(this.InvoiceForm);\n }\n modalRef: BsModalRef;\n config = {\n backdrop: true,\n ignoreBackdropClick: false\n };\n openModal(template: TemplateRef, Id: number): void {\n debugger;\n let index = this.ItemModelList.findIndex(i => i.id == Id);\n console.log(\"index\", index);\n // of(this.ItemModelList).subscribe(data => {\n // this. = data;\n // })\n console.log(\"ID\", Id);\n\n this.TaxItemSelected = Id;\n this.TaxHeaderName = this.ItemModelList[index].name;\n this.selectedCompanies = this.ItemModelList[index].taxs;\n\n this.modalRef = this.modalService.show(template, this.config);\n }\n update(e) {\n this.branchID = e.target.value;\n console.log(this.branchID)\n }\n\n getItemID(e) {\n // this.SelectedItemList.push(this.ItemHolderList[e.target.value]);\n var test = this.ItemForm.getRawValue();\n\n var selectedItem = new ItemModel();\n var i = this.ItemHolderList.findIndex(x => x.Id == e);\n if (i > -1) {\n test.discount=0;\n test.quantity=1;\n selectedItem.id = this.ItemHolderList[i].Id;\n selectedItem.discount =test.discount;\n selectedItem.price = this.ItemHolderList[i].SalePrice;\n selectedItem.quantity = test.quantity;\n selectedItem.totalPrice = (this.ItemHolderList[i].SalePrice * selectedItem.quantity);\n selectedItem.totalAfterDiscount = selectedItem.totalPrice - selectedItem.discount;\n selectedItem.TotalPriceAfterTax = selectedItem.totalAfterDiscount;\n console.log(\" selectedItem.TotalPriceAfterTax \", selectedItem.TotalPriceAfterTax);\n console.log(\"this.ItemHolderList[i].NameEn\",this.ItemHolderList[i].NameEn);\n \n this.lang==='ar-EG'?selectedItem.name = this.ItemHolderList[i].NameAr:selectedItem.name = this.ItemHolderList[i].NameEn ;\n this.totalSalesAmount += selectedItem.totalPrice;\n // this.valueAddedTax += (selectedItem.totalPrice*14)/100;\n console.log(selectedItem);\n\n this.ItemModelList.push(selectedItem);\n }\n\n this. InvoiceSummary();\n\n }\n\n changeQuanity(sel: ItemModel) {\n\n var test = this.ItemForm.getRawValue();\n sel.totalPrice = sel.price * test.quantity\n sel.totalAfterDiscount = sel.totalPrice - test.discount;\n\n this.totalSalesAmount = 0;\n // this.valueAddedTax = 0;\n this.ItemModelList.forEach(element => {\n this.totalSalesAmount += element.totalPrice;\n element.TotalPriceAfterTax= element.totalAfterDiscount ;\n // this.valueAddedTax += (element.totalPrice*14)/100;\n });\n \n\n this. InvoiceSummary();\n this. OnChangePriceSelectedItemTax();\n }\n changeDescount(sel: ItemModel) {\n var test = this.ItemForm.getRawValue();\n console.log(\"test.discount\",test.discount);\n sel.discount = test.discount;\n sel.totalAfterDiscount = sel.totalPrice - test.discount;\n this.totalDiscountAmount = 0;\n this.ItemModelList.forEach(element => {\n this.totalDiscountAmount += element.totalAfterDiscount;\n element.TotalPriceAfterTax= element.totalAfterDiscount ;\n\n });\n this. InvoiceSummary();\n\n this. OnChangePriceSelectedItemTax();\n \n }\n\n\n OnClickClientItem(e) {\n // debugger;\n this.ClientID = e;\n // console.log(e.target.value);\n\n var i = this.ClientHolderList.findIndex(x => x.Id == e);\n this.showCard = true;\n // if(i>0){\n // var test = this.ClintForm.getRawValue();\n if(this.lang==='ar-EG'){\n\n this.Name = this.ClientHolderList[i].NameAr;\n }\n else{\n this.Name = this.ClientHolderList[i].NameEn;\n\n }\n this.ClientType = this.ClientHolderList[i].Type;\n this.TaxNumber = this.ClientHolderList[i].TaxNumber;\n // }\n }\n InvoiceSummary(){\n this.totalSalesAmount =0;\n this.totalDiscountAmount=0;\n this.amountAfterDiscount=0;\n this.totalAfterTax=0;\n this.totalTax=0;\n this.ItemModelList.forEach(\n item=>{\n this.totalSalesAmount += item.totalPrice;\n this.totalDiscountAmount+= item.discount;\n this.amountAfterDiscount+= item.totalAfterDiscount;\n this.totalAfterTax +=item.TotalPriceAfterTax;\n this.totalTax+=item.TotalTax;\n }\n )\n // debugger;\n // console.log(this.totalSalesAmount);\n\n // var test = this.ClintForm.getRawValue();\n // test.TotalSales = this.totalSalesAmount;\n // test. TotalDiscount= this.totalDiscountAmount;\n // test. TotalValueAdded= this. valueAddedTax;\n // test. amountAfter = this.amountAfterDiscount;\n\n }\n\n Save() {\n debugger;\n var invoiceForm = this.InvoiceForm.getRawValue();\n console.log(this.branchID);\n this.postInvocemodel = new PostInvoiceModel();\n this.postInvocemodel.BranchId = +this.branchID;\n this.postInvocemodel.Lang = this.lang;\n this.postInvocemodel.ClientId = this.ClientID;\n this.postInvocemodel.Id = 0;\n this.postInvocemodel.InvoiceNumber = invoiceForm.InvoiceNumber;\n this.postInvocemodel.PurchaseDate = invoiceForm.ReleaseDate;\n this.postInvocemodel.ReleaseDate = invoiceForm.DueDate;\n this.postInvocemodel.SalesOrder = invoiceForm.salesorder;\n this.postInvocemodel.PurchaseOrder = invoiceForm.PurchaseOrder;\n this.postInvocemodel.Type = invoiceForm.TypeDropdwon;\n this.postInvocemodel.PaymentPlanId = invoiceForm.PaymentPlanId;\n this.postInvocemodel.TaxActivityCode = invoiceForm.TaxActivityCode\n this.postInvocemodel.TotalPrice = invoiceForm.totalSalesAmount\n var paymentData = this.PaymentForm.getRawValue();\n this.postInvocemodel.BankAccountIBAN = paymentData.BankAccountIBAN;\n this.postInvocemodel.BankAccountNo = paymentData.BankAccountNo;\n this.postInvocemodel.BankAddress = paymentData.BankAddress;\n this.postInvocemodel.BankName = paymentData.BankName;\n this.postInvocemodel.SwiftCode = paymentData.SwiftCode;\n var delivaryData = this.DelivaryForm.getRawValue();\n this.postInvocemodel.Approach = delivaryData.Approach;\n this.postInvocemodel.Packaging = delivaryData.Packaging;\n this.postInvocemodel.DateValidity = delivaryData.DateValidity;\n this.postInvocemodel.ExportPort = delivaryData.ExportPort;\n this.postInvocemodel.CountryOfOrigin = delivaryData.CountryOfOrigin;\n this.postInvocemodel.GrossWeight = delivaryData.GrossWeight;\n this.postInvocemodel.NetWeight = delivaryData.NetWeight;\n this.postInvocemodel.Currency = invoiceForm.Currency;\n this.postInvocemodel.CostCenters = this.selectedCostCenters;\n this.postInvocemodel.Status = 'ReadyToSend';\n this.postInvocemodel.extraDiscountAmount = 0;\n var selectedItem = new ItemPostModel();\n this.ItemModelList.forEach((item) => {\n selectedItem.ItemId = item.id;\n selectedItem.Discount = item.discount;\n selectedItem.Price = item.price;\n selectedItem.Quantity = item.quantity;\n selectedItem.InvoiceId = 0;\n selectedItem.Name = item.name;\n selectedItem.AmountEGP = item.totalPrice;\n selectedItem.AmountSold = item.totalPrice;\n selectedItem.SsalesTotal = item.totalPrice;\n selectedItem.Discount = item.discount;\n selectedItem.DiscountAmount = item.discount;\n selectedItem.DiscountRate = (item.discount * 100) / item.totalPrice;\n selectedItem.NetTotal = (item.quantity*item.price) - item.discount ;\n selectedItem.TotalTaxableFees = item.TotalTax;\n selectedItem.Total = selectedItem.NetTotal - selectedItem.TotalTaxableFees;\n selectedItem.Rate = 0;\n selectedItem.ItemsDiscount = item.discount;\n selectedItem.CurrencySold = this.postInvocemodel.Currency;\n selectedItem.Taxes = item.taxs;\n selectedItem.TotalTax = item.TotalTax;\n this.postInvocemodel.totalItemsDiscountAmount += selectedItem.Discount;\n this.postInvocemodel.totalSalesAmount += selectedItem.SsalesTotal;\n selectedItem.Taxes.forEach(element => {\n debugger;\n selectedItem.Rate += element.Percentage;\n element.Rate = element.Percentage;\n \n });\n console.log(selectedItem);\n this.FinalListItemPost.push(selectedItem);\n }\n );\n this.postInvocemodel.netAmount = this.postInvocemodel.totalSalesAmount - this.postInvocemodel.totalItemsDiscountAmount;\n this.postInvocemodel.totalDiscountAmount = this.postInvocemodel.totalItemsDiscountAmount;\n this.postInvocemodel.totalAmount = this.postInvocemodel.netAmount + this.totalTax;\n console.log(this.FinalListItemPost);\n this.postInvocemodel.items = this.FinalListItemPost;\n this.postInvoiceServes.postData(this.postInvocemodel).subscribe(result => {\n this.router.navigate(['app/invoices/Reports/Invoices'])\n })\n }\n // (change)=\"SetTaxItem($event)\"\n OnAddSelectedItemTax($event) {\n debugger;\n var addItem = $event;\n var taxlist = new TaxModel;\n console.log('OnAdd $event', addItem.Id);\n let indexselectedCompanies = this.selectedCompanies.findIndex(i => i.Id == addItem.Id);\n let index = this.ItemModelList.findIndex(i => i.id == this.TaxItemSelected);\n taxlist.TotalTax =(this.ItemModelList[index].totalAfterDiscount * this.selectedCompanies[indexselectedCompanies].Percentage / 100);\n this.ItemModelList[index].TotalTax +=taxlist.TotalTax;\n console.log(\"taxlist.TotalTax\",taxlist.TotalTax);\n console.log(\"this.ItemModelList[index].TotalTax\",this.ItemModelList[index].TotalTax);\n this.selectedCompanies[indexselectedCompanies].TotalTax=taxlist.TotalTax;\n this.ItemModelList[index].TotalPriceAfterTax += (this.ItemModelList[index].TotalPriceAfterTax * this.selectedCompanies[indexselectedCompanies].Percentage / 100);\n addItem.value = this.selectedCompanies[indexselectedCompanies].Percentage;\n this.selectedCompanies[indexselectedCompanies].TotalPriceAfterTax = this.ItemModelList[index].TotalPriceAfterTax;\n taxlist.TotalPriceAfterTax = this.ItemModelList[index].TotalPriceAfterTax;\n console.log(\"OnAdd this.ItemModelList[index].TotalPriceAfterTax\", this.ItemModelList[index].TotalPriceAfterTax);\n taxlist.Id = addItem.Id;\n taxlist.TaxId = addItem.Id;\n taxlist.Percentage = addItem.value;\n taxlist.NameEn = addItem.NameEn;\n taxlist.NameAr = addItem.NameAr;\n taxlist.ItemID = this.TaxItemSelected;\n this.ItemModelList[index].taxs.push(taxlist);\n console.log(\" this.ItemModelList[index].TotalPriceAfterTax\", this.ItemModelList[index]);\n this. InvoiceSummary();\n }\n OnRemoveSelectedItemTax($event) {\n var removeItem = $event;\n console.log('OnRemove $event', removeItem.value.value);\n\n\n console.log('OnRemove $event', $event);\n let index = this.ItemModelList.findIndex(i => i.id == this.TaxItemSelected);\n let indexselectedCompanies = this.ItemModelList[index].taxs.findIndex(i => i.Id == removeItem.value.Id);\n console.log(\"indexselectedCompanies\", indexselectedCompanies);\n this.ItemModelList[index].taxs.splice(indexselectedCompanies, 1);\n this.ItemModelList[index].TotalPriceAfterTax = this.ItemModelList[index].totalAfterDiscount;\n this.ItemModelList[index].taxs.forEach(\n item => {\n this.ItemModelList[index].TotalPriceAfterTax += (this.ItemModelList[index].TotalPriceAfterTax * item.Percentage / 100);\n console.log(\" TotalPriceAfterTax\", this.ItemModelList[index].TotalPriceAfterTax);\n\n item.TotalPriceAfterTax = this.ItemModelList[index].TotalPriceAfterTax;\n }\n )\n\n console.log(\" TotalPriceAfterTax\", this.ItemModelList[index].TotalPriceAfterTax);\n console.log(\" this.ItemModelList[index].TotalPriceAfterTax\", this.ItemModelList[index]);\n\n this. InvoiceSummary();\n\n }\n OnChangePriceSelectedItemTax(){\n // debugger;\n console.log(\"this.TaxItemSelected\",this.TaxItemSelected);\n \n let index = this.ItemModelList.findIndex(i => i.id == this.TaxItemSelected);\nconsole.log(\"this.ItemModelList[index].totalAfterDiscount\",this.ItemModelList[+index]);\n\n this.ItemModelList[index].TotalPriceAfterTax = this.ItemModelList[+index].totalAfterDiscount;\n this.ItemModelList[index].taxs.forEach(\n item => {\n this.ItemModelList[index].TotalPriceAfterTax += (this.ItemModelList[+index].TotalPriceAfterTax * item.Percentage / 100);\n console.log(\" TotalPriceAfterTax\", this.ItemModelList[+index].TotalPriceAfterTax);\n\n item.TotalPriceAfterTax = this.ItemModelList[+index].TotalPriceAfterTax;\n }\n )\n\n this. InvoiceSummary(); \n }\n changePaymentPlan(){\n debugger\n var paymentPlanId = this.InvoiceForm.controls['PaymentPlanId'].value;\n if(paymentPlanId > 0){\n var i = this.paymentPlans.findIndex(x=>x.Id == paymentPlanId);\n if(i>-1){\n var date= new Date();\n var year = date.getFullYear();\n var manth = date.getUTCMonth();\n var day = date.getDate();\n var today = new Date()\n today.setFullYear(year);\n today.setUTCMonth(manth);\n today.setDate(day+this.paymentPlans[i].NumberOfDays);\n this.InvoiceForm.controls['DueDate'].setValue(new Date(today).toISOString().slice(0, 10) );\n }\n }\n }\n changeDueDate(){\n this.InvoiceForm.controls['PaymentPlanId'].setValue(0);\n }\n selectedCostCenters:JournalFooterCostCenterModel[]=[] \n \n costCenterId=0;\n selectCenter(){\n debugger;\n var i = this.centers.findIndex(x=>x.Id == this.costCenterId);\n if(i>-1){\n var selected = new JournalFooterCostCenterModel();\n selected.CostCenterId = this.centers[i].Id;\n selected.Amount = 0;\n selected.Id = 0;\n selected.JournalFooterId = 0;\n selected.Percent = 0;\n this.selectedCostCenters.push(selected);\n this.costCenterId = 0;\n }\n }\n getCostName(id){\n return this.centers.find(x=>x.Id == id).NameAr\n }\n\n changePercent(cost,$event){\n debugger;\n cost.Percent = + $event.target.value;\n if(cost.Percent > 100){\n cost.Percent = 100\n }\n var amount = this.totalAfterTax;\n var totalPercent = 0;\n var i = this.selectedCostCenters.indexOf(cost);\n if(i>-1){\n this.selectedCostCenters[i].Percent = cost.Percent;\n this.selectedCostCenters[i].Amount = (amount * cost.Percent) / 100;\n }\n\n}\nchangeAmount(cost,$event){\n debugger;\n cost.Amount = + $event.target.value;\n var amount = this.totalAfterTax;\n if(cost.Amount > amount){\n cost.Amount = amount\n }\n var i = this.selectedCostCenters.indexOf(cost);\n if(i>-1){\n this.selectedCostCenters[i].Amount = cost.Amount;\n this.selectedCostCenters[i].Percent = (cost.Amount * 100) / amount;\n }\n\n}\ndeleteCostCenter(cost){\n var i = this.selectedCostCenters.indexOf(cost);\n if(i > -1){\n this.selectedCostCenters.splice(i,1);\n }\n \n}\ngoBack(){\n this.router.navigate(['app/invoices/Reports/Invoices'])\n}\n@ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent;\ncurrentFormMode = '';\nmodelObject: StoreItemsModel = new StoreItemsModel();\n@ViewChild('itemtemplate', { static: true }) itemtemplate=null;\n\nshowAddNewModalRef(): void {\n this.currentFormMode ='Add'\n this.mainForm = this.createForm(this.modelObject);\n // this.sideModalRef.show();\n this.openModalWithClass(this.itemtemplate);\n}\nmainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Name: new FormControl(),\n SkuNumber: new FormControl(),\n Description: new FormControl(),\n PurchasingPrice: new FormControl(),\n SalePrice: new FormControl(),\n FirstTaxId: new FormControl(),\n SecondTaxId: new FormControl(),\n LowestSellingPrice: new FormControl(),\n Discount: new FormControl(),\n ProfitPercentage: new FormControl(),\n PriceListId: new FormControl(),\n StoreDataId: new FormControl(),\n Quantity: new FormControl(),\n Notes: new FormControl(),\n Tags: new FormControl(),\n IsDisable: new FormControl(),\n WarehouseName: new FormControl(),\n Alert: new FormControl(),\n AvailableOnline: new FormControl(),\n FeaturedProduct: new FormControl(),\n Barcode:new FormControl(),\n UnitId:new FormControl(),\n DiscountType:new FormControl(),\n \n});\n\ncreateForm(modelObject): FormGroup {\n debugger;\n return this.fb.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n Name: [modelObject.Name, Validators.compose([Validators.required])],\n SkuNumber: [\n modelObject.SkuNumber,\n Validators.compose([Validators.required, Validators.minLength(2)]),\n ],\n PurchasingPrice: [\n modelObject.PurchasingPrice,\n Validators.compose([Validators.required]),\n ],\n SalePrice: [modelObject.SalePrice],\n FirstTaxId: [modelObject.FirstTaxId],\n SecondTaxId: [modelObject.SecondTaxId],\n LowestSellingPrice: [modelObject.LowestSellingPrice],\n Description: [modelObject.Description],\n Discount: [modelObject.Discount],\n ProfitPercentage: [modelObject.ProfitPercentage],\n // WarehouseDataId:[modelObject.WarehouseDataId],\n // Quantity: [modelObject.Quantity],\n Notes: [modelObject.Notes],\n Tags: [modelObject.Tags],\n WarehouseName: [modelObject.WarehouseName],\n Alert: [modelObject.Alert],\n AvailableOnline: [modelObject.AvailableOnline],\n FeaturedProduct: [modelObject.FeaturedProduct],\n Barcode: [modelObject.Barcode],\n IsDisable: [modelObject.IsDisable == null ? true : modelObject.IsDisable],\n UnitId:[modelObject.UnitId],\n DiscountType:[modelObject.DiscountType],\n \n \n });\n}\naddObject() {\n this.modelObject = new StoreItemsModel();\n this.executeAddObject();\n}\nexecuteAddObject(){\n debugger;\n this.getItemServes.insert(this.modelObject).subscribe(result => {\n if (result > 0 ) {\n \n this.modelObject.Id = result;\n this.ItemHolderList.push(this.modelObject);\n this.sideModalRef.modalRef.hide();\n }\n else {\n }\n })\n}\nopenModalWithClass(template: TemplateRef): void {\n this.modalRef = this.modalService.show(\n template,\n Object.assign({}, { class: 'gray modal-xl' })\n );\n}\nSelectedCategoryList: CategoryModel[] = [];\nSelectedBrandList:BrandModel[]=[];\nonMaterialGroupChangeCategory(event) {\n console.log(event);\n this.SelectedCategoryList = event;\n\n}\nSaveItem() {\n debugger;\n this.modelObject = new StoreItemsModel();\n this.modelObject.Id = 0;\n this.modelObject.Name = this.mainForm.getRawValue().Name;\n this.modelObject.SkuNumber = this.mainForm.getRawValue().SkuNumber;\n this.modelObject.IsDisable = this.mainForm.getRawValue().IsDisable;\n this.modelObject.Description = this.mainForm.getRawValue().Description;\n this.modelObject.Discount = this.mainForm.getRawValue().Discount;\n this.modelObject.LowestSellingPrice =\n +this.mainForm.getRawValue().LowestSellingPrice;\n this.modelObject.ProfitPercentage =\n this.mainForm.getRawValue().ProfitPercentage;\n this.modelObject.PurchasingPrice =\n +this.mainForm.getRawValue().PurchasingPrice;\n this.modelObject.SalePrice = +this.mainForm.getRawValue().SalePrice;\n this.modelObject.Notes = this.mainForm.getRawValue().Notes;\n this.modelObject.FirstTaxId = +this.mainForm.getRawValue().FirstTaxId;\n this.modelObject.SecondTaxId = +this.mainForm.getRawValue().SecondTaxId;\n this.modelObject.UnitId = +this.mainForm.getRawValue().UnitId;\n this.modelObject.Quantity = 0;\n this.modelObject.Barcode = this.mainForm.getRawValue().Barcode;\n this.modelObject.Tags = this.mainForm.getRawValue().Tags;\n this.modelObject.AvailableOnline = this.mainForm.getRawValue().AvailableOnline;\n this.modelObject.FeaturedProduct = this.mainForm.getRawValue().FeaturedProduct;\n this.modelObject.DiscountType = this.mainForm.getRawValue().DiscountType;\n this.modelObject.Alert = +this.mainForm.getRawValue().Alert;\n \n this.SelectedCategoryList.forEach(element => {\n var cat = new CategoryItemsModel();\n cat.CategoryId = element.Id;\n cat.Id = 0;\n cat.ItemId = 0;\n this.modelObject.ItemCategory.push(cat);\n });\n this.SelectedBrandList.forEach(element => {\n var cat = new BrandItemsModel();\n cat.BrandId = element.Id;\n cat.Id = 0;\n cat.ItemId = 0;\n this.modelObject.ItemBrand.push(cat);\n });\n console.log(this.modelObject);\n console.log(this.modelObject);\n this.getItemServes.insert(this.modelObject).subscribe((data) => {\n // this.router.navigate([\"app/aio/Inventory/List-All-Productes\"]);\n this.modelObject.Id = data;\n this.ItemHolderList.push(this.modelObject);\n this.modelObject = new StoreItemsModel();\n this.getDataForAddItem();\n console.log('result : ',data)\n this.modalRef.hide();\n });\n}\n\n\nonMaterialGroupChangeBrand(event) {\n console.log(event);\n this.SelectedBrandList = event;\n\n}\nselectAllForDropdownItems(items: any[]) {\n let allSelect = (items) => {\n items.forEach((element) => {\n element['selectedAllGroup'] = 'selectedAllGroup';\n });\n };\n\n allSelect(items);\n}\ncalcProfitPrice(){\n this.modelObject.PurchasingPrice = +this.mainForm.getRawValue().PurchasingPrice;\n this.modelObject.SalePrice = +this.mainForm.getRawValue().SalePrice;\n\n // var pre=+(this.modelObject.SalePrice-this.modelObject.PurchasingPrice);\n\n var pre=this.modelObject.SalePrice-this.modelObject.PurchasingPrice;\n this.modelObject.ProfitPercentage = +((pre/this.modelObject.PurchasingPrice)*100);\n // this.modelObject.ProfitPercentage = +(pre/(this.modelObject.PurchasingPrice*100));\n\n this.mainForm.controls['ProfitPercentage'].setValue(this.modelObject.ProfitPercentage)\n}\ngetDataForAddItem(){\n this.TaxTypesService.getAll().subscribe((data) => {\n this.FirstTaxesList = data;\n this.SecondTaxesList = data;\n console.log(\"ItemsTaxesList\", this.FirstTaxesList);\n });\n this.BrandService.getAll() \n .subscribe(data=>\n {\n this.BrandList=data\n console.log('BrandList',this.BrandList)\n });\n \n this.CategorySevice.getAll() \n .subscribe(data=>\n {\n this.CategoryList=data\n console.log('CategoryList',this.CategoryList)\n });\n this.getItemServes.getLastNumber().subscribe((data) => {\n debugger;\n this.modelObject.SkuNumber = data;\n this.mainForm.controls['SkuNumber'].setValue(this.modelObject.SkuNumber+1);\n console.log(\"SkuNumber\", this.modelObject.SkuNumber);\n });\n \n this.WarehouseService.getAll().subscribe((data) => {\n this.WarehouseList = data;\n });\n this.UnitTypeService.getAll().subscribe(data=>{\n this.UnitList=data;\n console.log('this.UnitList',this.UnitList)\n })\n}\n\n}\n","
    \n\n
    \n \n {{\"Add\" | translate}}\n \n
    \n
    \n
    \n
    \n

    {{ 'wizard.step-name-1' | translate }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n \n {{ option.NameAr }}\n \n \n
    \n \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n \n
    \n
    \n
    \n \n \n
    \n \n
    \n \n \n
    \n\n
    \n \n
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n \n \n {{lang==='ar-EG'?item.Name:item.Name}}\n \n \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n
    #{{'Item'| translate}}{{'Unit'| translate}}{{'Quantity'| translate}}{{'UnitPrice'| translate}}{{'Total Price'| translate}}{{'Discount'| translate}}{{'Price After Discount'| translate}}{{'Tax'| translate}}{{'Total Tax'| translate}}{{'After Tax'| translate}}
    {{item.id}}{{ item.name}}{{'Unit'| translate}}{{item.price}}{{item.totalPrice}}{{item.totalAfterDiscount}}\n
    \n {{selecteditem.NameAr}}\n
    \n \n
    {{item.TotalTax}}{{item.TotalPriceAfterTax}}
    \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{ 'amountAfterDiscount:' | translate }}{{amountAfterDiscount}}
    {{'Total Tax'| translate}}{{totalTax}}
    {{'Total'| translate}}{{totalAfterTax}}
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n \n {{lang==='ar-EG'?item.NameAr:item.NameEn}}\n \n \n \n \n
    \n \n
    \n
    \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{ 'Name:' | translate }}{{Name}}
    {{ 'Client Type:' | translate }}{{ClientType}}
    {{ 'Tax Number:' | translate }}{{TaxNumber}}
    \n \n
    \n
    \n
    \n \n
    \n\n
    \n\n
    \n
    \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    #{{'Cost Center'| translate}}{{'Percent'| translate}}{{'Amount'| translate}}{{'Delete'| translate}}
    {{i + 1}}\n {{getCostName(cost.CostCenterId)}}\n \n \n
    \n
    \n\n
    \n
    \n
    \n
    \n

    {{ 'Payment' | translate }}

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

    {{ 'Delivary' | translate }}

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

    {{ 'Invoice Summary' | translate }}

    \n
    \n\n
    \n
    \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{ 'Total Sales Amount:' | translate }}{{totalSalesAmount}}
    {{ 'Total Discount Amount:' | translate }}{{totalDiscountAmount}}
    {{ 'amountAfterDiscount:' | translate }}{{amountAfterDiscount}}
    \n \n
    \n
    \n
    \n
    \n \n {{\"Add\" | translate}}\n \n
    \n
    \n\n\n\n\n\n
    \n

    {{'Tax on item'|translate}} {{TaxHeaderName}}

    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    #{{'Tax'| translate}}{{'Total Tax'| translate}}
    {{item.Id}}{{item.Percentage}}{{item.TotalTax}}
    \n
    \n
    \n
    \n
    \n
    \n\n\n\n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n
    \n \n
    \n
    \n \n \n \n
    \n \n
    \n \n \n \n
    \n \n \n
    \n \n \n \n \n
    \n \n \n
    \n \n \n \n \n
    \n \n \n
    \n \n \n >\n \n \n Select All\n \n \n \n
    \n \n \n
    \n \n \n >\n \n \n Select All\n \n \n \n
    \n \n
    \n \n \n \n
    \n
    \n \n
    \n \n \n \n
    \n
    \n \n
    \n
    \n \n \n
    \n \n \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n \n
    \n
    \n \n \n \n
    \n
    \n \n
    \n
    \n \n \n \n \n {{ lang === \"ar-EG\" ? tax.NameAr : tax.NameEn }}\n \n \n
    \n \n
    \n \n \n \n \n {{ lang === \"ar-EG\" ? tax.NameAr : tax.NameEn }}\n \n \n
    \n
    \n \n
    \n
    \n \n \n \n {{ \"LowestSellingPriceRequired\" | translate }}\n
    \n
    \n
    \n \n \n \n {{ \"DiscountRequired\" | translate }}\n
    \n
    \n \n
    \n \n \n \n \n \n \n \n
    \n
    \n \n
    \n
    \n \n \n \n {{ \"ProfitPercentageRequired\" | translate }}\n
    \n
    \n \n
    \n \n \n \n \n {{ lang === \"ar-EG\" ? Unit.NameAr : Unit.NameEn }}\n \n \n
    \n
    \n \n \n \n \n \n
    \n \n \n \n \n \n \n \n \n
    \n \n \n
    \n
    \n ","import { TaxModel } from './taxModel';\r\n\r\nexport class ItemPostModel{\r\n Id ?: number;\r\n Price ?: number;\r\n Quantity ?: number;\r\n Discount ?: number;\r\n InvoiceId ?: number;\r\n ItemId ?: number;\r\n Name ?:string;\r\n NameAr ?: string;\r\n NameEn ?: string;\r\n SsalesTotal ?: number;\r\n Total ?: number;\r\n ValueDifference ?: number;\r\n TotalTaxableFees ?: number;\r\n NetTotal ?: number;\r\n ItemsDiscount ?: number;\r\n CurrencySold ?: string;\r\n AmountEGP ?: number;\r\n AmountSold ?: number;\r\n CurrencyExchangeRate?: number;\r\n DiscountRate ?: number;\r\n DiscountAmount ?: number;\r\n Rate ?: number;\r\n TotalTax?:number;\r\n Taxes?:TaxModel[];\r\n constructor(item ?: ItemPostModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.Price = item.Price ? item.Price : 0;\r\n this.Quantity = item.Quantity ? item.Quantity : 0;\r\n this.Discount = item.Discount ? item.Discount : 0;\r\n this.InvoiceId = item.InvoiceId ? item.InvoiceId : 0;\r\n this.ItemId = item.ItemId ? item.ItemId : 0;\r\n this.TotalTax = item.TotalTax ? item.TotalTax : 0;\r\n this.Name = item.Name ? item.Name : '';\r\n this.NameAr = item.NameAr ? item.NameAr : '';\r\n this.NameEn = item.NameEn ? item.NameEn : '';\r\n this.SsalesTotal = item.SsalesTotal ? item.SsalesTotal : 0;\r\n this.Total = item.Total ? item.Total : 0;\r\n this.ValueDifference = item.ValueDifference ? item.ValueDifference : 0;\r\n this.TotalTaxableFees = item.TotalTaxableFees ? item.TotalTaxableFees : 0;\r\n this.NetTotal = item.NetTotal ? item.NetTotal : 0;\r\n this.ItemsDiscount = item.ItemsDiscount ? item.ItemsDiscount : 0;\r\n this.CurrencySold = item.CurrencySold ? item.CurrencySold : '';\r\n this.AmountEGP = item.AmountEGP ? item.AmountEGP : 0;\r\n this.AmountSold = item.AmountSold ? item.AmountSold : 0;\r\n this.CurrencyExchangeRate= item.CurrencyExchangeRate? item.CurrencyExchangeRate: 0;\r\n this.DiscountRate = item.DiscountRate ? item.DiscountRate : 0;\r\n this.DiscountAmount = item.DiscountAmount ? item.DiscountAmount : 0;\r\n this.Rate = item.Rate ? item.Rate : 0;\r\n this.Taxes = item.Taxes ? item.Taxes : [];\r\n }\r\n}","\r\n export class BranchItemModel {\r\n Id?: number;\r\n Name?: string;\r\n constructor(item?: BranchItemModel) {\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.Name = item.Name ? item.Name : '';\r\n }\r\n}","import { TaxModel } from \"./taxModel\";\r\n\r\nexport class ItemModel{\r\n \r\n id ?: number;\r\n price ?: number;\r\n quantity ?: number;\r\n discount ?: number;\r\n totalPrice ?: number;\r\n totalAfterDiscount ?: number;\r\n TotalPriceAfterTax?: number;\r\n TotalTax?: number;\r\n name?:string;\r\n taxs?:TaxModel[];\r\n constructor(item ?: ItemModel){\r\n item = item ? item : {};\r\n this.id = item.id ? item.id : 0;\r\n this.price = item.price ? item.price : 0;\r\n this.quantity = item.quantity ? item.quantity : 0;\r\n this.discount = item.discount ? item.discount : 0;\r\n this.totalPrice = item.totalPrice ? item.totalPrice : 0;\r\n this.TotalTax = item.TotalTax ? item.TotalTax : 0;\r\n this.totalAfterDiscount = item.totalAfterDiscount ? item.totalAfterDiscount : 0;\r\n this.TotalPriceAfterTax = item.TotalPriceAfterTax ? item.TotalPriceAfterTax : 0;\r\n this.name = item.name ? item.name : '';\r\n this.taxs = item.taxs ? item.taxs : [];\r\n }\r\n}","import { JournalFooterCostCenterModel } from \"src/app/views/app/aio/acounting_components/dailyrestrictions/journal-footer-cost-center.model\";\r\nimport { ItemPostModel } from \"./Item_post_model\";\r\n\r\nexport class PostInvoiceModel{\r\n Id ?: number;\r\n InvoiceNumber ?: string;\r\n TaxActivityCode ?: string;\r\n Type ?: string;\r\n SalesOrder ?: string;\r\n BranchId ?: number;\r\n PurchaseOrder ?: string;\r\n ClientId ?: number;\r\n TotalPrice ?: number;\r\n ReleaseDate ?: Date;\r\n PurchaseDate ?: Date;\r\n SupplierId ?: number;\r\n Status ?: string;\r\n Approach ?: string;\r\n Packaging ?: string;\r\n DateValidity ?: string;\r\n ExportPort ?: string;\r\n CountryOfOrigin?: string;\r\n GrossWeight ?: string;\r\n NetWeight ?: string;\r\n Terms ?: string;\r\n BankName ?: string;\r\n BankAddress ?: string;\r\n BankAccountNo ?: string;\r\n BankAccountIBAN?: string;\r\n SwiftCode ?: string;\r\n Currency ?: string;\r\n Lang ?: string;\r\n extraDiscountAmount ?:number;\r\n netAmount ?:number;\r\n totalAmount ?:number;\r\n totalDiscountAmount ?:number;\r\n totalItemsDiscountAmount?:number;\r\n totalSalesAmount ?:number;\r\n PaymentPlanId ?:number;\r\n CostCenters?:JournalFooterCostCenterModel[];\r\n items ?: ItemPostModel[];\r\n constructor(item ?: PostInvoiceModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.InvoiceNumber = item.InvoiceNumber ? item.InvoiceNumber : '';\r\n this.Lang = item.Lang ? item.Lang : '';\r\n this.TaxActivityCode = item.TaxActivityCode ? item.TaxActivityCode : '';\r\n this.Type = item.Type ? item.Type : '';\r\n this.PurchaseOrder = item.PurchaseOrder ? item.PurchaseOrder : '';\r\n this.BranchId = item.BranchId ? item.BranchId : 0;\r\n this.ClientId = item.ClientId ? item.ClientId : 0;\r\n this.TotalPrice = item.TotalPrice ? item.TotalPrice : 0;\r\n this.PaymentPlanId = item.PaymentPlanId ? item.PaymentPlanId : 0;\r\n this.ReleaseDate = item.ReleaseDate ? item.ReleaseDate : null;\r\n this.PurchaseDate = item.PurchaseDate ? item.PurchaseDate : null;\r\n this.items = item.items ? item.items : [];\r\n this.SupplierId = item.SupplierId ? item.SupplierId : 0;\r\n this.extraDiscountAmount = item.extraDiscountAmount ? item.extraDiscountAmount : 0;\r\n this.netAmount = item.netAmount ? item.netAmount : 0;\r\n this.totalAmount = item.totalAmount ? item.totalAmount : 0;\r\n this.totalDiscountAmount = item.totalDiscountAmount ? item.totalDiscountAmount : 0;\r\n this.totalItemsDiscountAmount = item.totalItemsDiscountAmount? item.totalItemsDiscountAmount: 0;\r\n this.totalSalesAmount = item.totalSalesAmount ? item.totalSalesAmount : 0;\r\n this.Status = item.Status ? item.Status : '';\r\n this.Approach = item.Approach ? item.Approach : '';\r\n this.Packaging = item.Packaging ? item.Packaging : '';\r\n this.DateValidity = item.DateValidity ? item.DateValidity : '';\r\n this.ExportPort = item.ExportPort ? item.ExportPort : '';\r\n this.CountryOfOrigin = item.CountryOfOrigin ? item.CountryOfOrigin : '';\r\n this.GrossWeight = item.GrossWeight ? item.GrossWeight : '';\r\n this.NetWeight = item.NetWeight ? item.NetWeight : '';\r\n this.Terms = item.Terms ? item.Terms : '';\r\n this.BankName = item.BankName ? item.BankName : '';\r\n this.BankAddress = item.BankAddress ? item.BankAddress : '';\r\n this.BankAccountNo = item.BankAccountNo ? item.BankAccountNo : '';\r\n this.BankAccountIBAN = item.BankAccountIBAN ? item.BankAccountIBAN : '';\r\n this.SwiftCode = item.SwiftCode ? item.SwiftCode : '';\r\n this.Currency = item.Currency ? item.Currency : '';\r\n this.CostCenters = item.CostCenters ? item.CostCenters : [];\r\n }\r\n}","\r\nexport class TaxModel {\r\n Id?: number;\r\n ItemID?: number;\r\n TotalTax?: number;\r\n TaxId?: number;\r\n TotalPriceAfterTax?: number;\r\n NameAr?:string;\r\n NameEn?:string;\r\n Percentage?:number;\r\n IsRate?:boolean;\r\n Rate?:number;\r\n TaxType ?: string;\r\n SubType ?: string; \r\n constructor(item?: TaxModel) {\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.Percentage = item.Percentage ? item.Percentage : 0;\r\n this.Rate = item.Rate ? item.Rate : 0;\r\n this.TotalTax = item.TotalTax ? item.TotalTax : 0;\r\n this.ItemID = item.ItemID ? item.ItemID : 0;\r\n this.TaxId = item.TaxId ? item.TaxId : 0;\r\n this.TotalPriceAfterTax = item.TotalPriceAfterTax ? item.TotalPriceAfterTax : 0;\r\n this.IsRate = item.IsRate ? item.IsRate : false;\r\n this.NameAr = item.NameAr ? item.NameAr : '';\r\n this.NameEn = item.NameEn ? item.NameEn : '';\r\n this.TaxType = item.TaxType ? item.TaxType : '';\r\n this.SubType = item.SubType ? item.SubType : '';\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { BranchItemModel } from '../model/get_branch.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GetBranch {\r\n CompanyId:number =+ localStorage.getItem(\"CompanyId\");\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n constructor(private http: HttpClient) {\r\n\r\n }\r\n\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Branch/GetAll/${this.CompanyId}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n getById(id:number): Observable {\r\n \r\n // debugger;\r\n return this.http\r\n .get(`${this.baseUrl}Item/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n createProject(payload: BranchItemModel): Observable {\r\n \r\n debugger;\r\n return this.http\r\n .post(`${this.baseUrl}Alboum/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n put(payload: BranchItemModel): Observable {\r\n debugger;\r\n return this.http\r\n .post(`${this.baseUrl}Alboum/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n delete(id: number): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}Alboum/Delete/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { BranchItemModel } from '../model/get_branch.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GetClient {\r\n baseUrl = environment.baseApiUrl;\r\n CompanyId:number =+ localStorage.getItem(\"CompanyId\");\r\n\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n constructor(private http: HttpClient) {\r\n\r\n }\r\n\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Client/GetAll/${this.CompanyId}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n getById(id:number): Observable {\r\n \r\n // debugger;\r\n return this.http\r\n .get(`${this.baseUrl}Item/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n createProject(payload: BranchItemModel): Observable {\r\n \r\n debugger;\r\n return this.http\r\n .post(`${this.baseUrl}Alboum/Insert/${this.CompanyId}`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n put(payload: BranchItemModel): Observable {\r\n debugger;\r\n return this.http\r\n .post(`${this.baseUrl}Alboum/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n delete(id: number): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}Alboum/Delete/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { CreateNewItemModel } from '../model/create-new-item.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GetItem {\r\n baseUrl = environment.baseApiUrl;\r\n CompanyId:number =+ localStorage.getItem(\"CompanyId\");\r\n\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n constructor(private http: HttpClient) {\r\n\r\n }\r\n\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}StoreItems/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: CreateNewItemModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}StoreItems/InsertAndReturnId`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getLastNumber(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}StoreItems/GetLastNumber`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { BranchItemModel } from '../model/get_branch.model';\r\nimport { PostInvoiceModel } from '../model/invoive.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PostInvoiceServes {\r\n CompanyId:number =+ localStorage.getItem(\"CompanyId\");\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n constructor(private http: HttpClient) {\r\n\r\n }\r\n\r\n\r\n\r\n \r\n postData(payload: PostInvoiceModel): Observable {\r\n \r\n debugger;\r\n return this.http\r\n .post(`${this.baseUrl}Invoice/Insert/${this.CompanyId}`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getLastCode(): Observable {\r\n debugger;\r\n return this.http\r\n .get(`${this.baseUrl}Invoice/GetLastCode/${this.CompanyId}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n put(payload: BranchItemModel): Observable {\r\n debugger;\r\n return this.http\r\n .post(`${this.baseUrl}Alboum/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n delete(id: number): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}Alboum/Delete/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n}\r\n","export class CurrencyModel{\r\n Id?:number;\r\n NameEn?:string;\r\n NameAr?:string;\r\n Value?:number;\r\n Code?:string;\r\n IsMain ?:boolean;\r\n\r\n constructor(obj?:CurrencyModel){\r\n obj = obj? obj:{};\r\n this.Id = obj.Id? obj.Id:0;\r\n this.NameEn = obj.NameEn? obj.NameEn:'';\r\n this.NameAr = obj.NameAr? obj.NameAr:'';\r\n this.Code = obj.Code? obj.Code:'';\r\n this.Value = obj.Value? obj.Value:0;\r\n this.IsMain = obj.IsMain? obj.IsMain:false;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { CurrencyModel } from './CurrencyModel';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CurrencyService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n CompanyId:number =+ localStorage.getItem(\"CompanyId\");\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Currency/GetAll/${this.CompanyId}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Currency/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: CurrencyModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}Currency/Insert/${this.CompanyId}`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n InsertCurrencies(payload: CurrencyModel[]): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}Currency/InsertCurrencies/${this.CompanyId}`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: CurrencyModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}Currency/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: CurrencyModel): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}Currency/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: CurrencyModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}Currency/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n UploadExcel(formData: FormData) {\r\n let headers = new HttpHeaders();\r\n \r\n headers.append('Content-Type', 'multipart/form-data');\r\n headers.append('Accept', 'application/json');\r\n \r\n const httpOptions = { headers: headers };\r\n \r\n return this.http.post(`${this.baseUrl}Currency/UploadExcel/${this.CompanyId}` , formData, httpOptions)\r\n }\r\n}\r\n","import { DataPaginator } from 'src/app/views/app/aio/shared/DataPaginator';\nimport { DataSorter } from 'src/app/views/app/aio/shared/DataSorter';\nimport { DataFilterer } from 'src/app/views/app/aio/shared/DataFilterer';\nimport { CurrencyService } from './CurrencyService';\nimport { CurrencyModel } from './CurrencyModel';\nimport { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { of } from 'rxjs';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\nimport currencyJson from 'src/assets/tax-types/CurrencyCodes.json';\n\n@Component({\n selector: 'app-currencies',\n templateUrl: './currencies.component.html',\n styleUrls: ['./currencies.component.scss']\n})\nexport class CurrenciesComponent {\n @ViewChild('fileInput') fileInput;\n\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n constructor(private formBuilder: FormBuilder, private modelService: CurrencyService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService) {\n }\n currentScreen: any = 'Table';\n\n translationName: string = 'Currency'\n\n sortableKeys = [];\n searchableKeys = ['NameEn', 'NameAr'];\n \n modelObject: CurrencyModel = new CurrencyModel();\n ogData: CurrencyModel [] = [ ];\n // ogData: CurrencyModel [] = [ \n // {Id:5, NameAr:'جنيه مصري', NameEn:'Egyptian Pound', Value:1}, \n // {Id:1, NameAr:'ريال سعودي', NameEn:'Saudi Riyal', Value:3.4},\n // {Id:2, NameAr:'جنيه استرليني', NameEn:'Pound Sterling', Value:20},\n // {Id:3, NameAr:'ين ياباني', NameEn:'Yin', Value:0.9}, \n // {Id:4, NameAr:'دولار أميريكي', NameEn:'United States Dollar', Value:2} \n // ];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n NameEn: new FormControl(),\n NameAr: new FormControl(),\n Value: new FormControl(),\n Code: new FormControl(),\n });\n countries:any[]=currencyJson;\n currencyList:CurrencyModel[]=[]\n ngOnInit(): void {\n console.log(\"model\");\n console.log(this.modelObject);\n \n \n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'CurrencyName', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' };\n this.sortableKeys = [\n { label: 'CurrencyName', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' },\n { label: 'CurrencyValue', property: 'Value' },\n ];\n this.loadData();\n console.log(this.ogData);\n //this.dataSorter.sortData('NameEn', this.ogData);\n }\n\n createForm(): FormGroup {\n return this.formBuilder.group({\n Id: [this.modelObject.Id >= 0 ? this.modelObject.Id : 0],\n NameEn: [this.modelObject.NameEn, Validators.compose([Validators.required, Validators.minLength(2)])],\n NameAr: [this.modelObject.NameAr, Validators.compose([Validators.required, Validators.pattern(/^[\\u0621-\\u064A]+([\\s]*[\\u0621-\\u064A]+)*$/)])],\n Value: [this.modelObject.Value, Validators.compose([Validators.required])],\n Code: [this.modelObject.Value, Validators.required]\n });\n }\n\n addObject() {\n //prevent multiclick submits. enable again after API response.\n this.currentAction = 'loading';\n\n this.modelObject = new CurrencyModel();\n this.modelObject.Id = 0;\n this.modelObject.NameEn = this.mainForm.getRawValue().NameEn;\n this.modelObject.NameAr = this.mainForm.getRawValue().NameAr;\n this.modelObject.Value = this.mainForm.getRawValue().Value;\n this.modelObject.Code = this.mainForm.getRawValue().Code;\n\n\n this.executeAddObject();\n }\n\n executeAddObject(){\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n this.smallModal.hide();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n\n editObject() {\n this.savedPage = this.currentPage;\n this.currentAction = 'loading';\n\n let tempObj = new CurrencyModel({\n Id: this.modelObject.Id,\n NameEn: this.mainForm.getRawValue().NameEn,\n NameAr: this.mainForm.getRawValue().NameAr,\n Value: this.mainForm.getRawValue().Value,\n Code: this.mainForm.getRawValue().Code,\n });\n \n if(tempObj != this.modelObject){\n this.executeEditObject(tempObj);\n }\n else{\n this.smallModal.hide();\n }\n }\n\n executeEditObject(Object)\n {\n console.log(Object.Value);\n \n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n\n this.smallModal.hide();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as paraMetre if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject(){\n this.modelService.deleteList(this.deletionList).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.finalizeDeletion();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n \n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n lang: string;\n currentFormMode: string = '';\n currentAction: string = '';\n\n\n //ogData = [];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n\n SelectAllBox: any = false;\n\n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n itemOrder: any;\n orderAsc: boolean = true;\n\n currentPage = 1;\n savedPage = 0;\n\n\n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n\n loadData() {\n this.currentAction = 'loading';\n this.modelService.getAll().subscribe(\n data => {\n console.log(\"data:\");\n console.log(data);\n \n this.ogData = data;\n this.sortData();\n this.loadSearch();\n this.currentAction = '';\n }\n )\n \n }\n\n sortData() {\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n\n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n\n filterData() {\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n\n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n\n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n\n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n\n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n\n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n\n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n\n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n\n isSelected(p: CurrencyModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n\n onSelect(item: CurrencyModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n\n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n\n @ViewChild('smallModal') smallModal: ModalDirective;\n @ViewChild('delModal') delModal: ModalDirective;\n showAddNewModalRef(): void {\n this.currentFormMode = 'Add'\n this.modelObject = new CurrencyModel;\n this.mainForm = this.createForm();\n this.smallModal.show();\n }\n\n showEditModalRef(Id: any): void {\n console.log(\"adsdasdasdas\");\n console.log(this.modelObject);\n console.log(this.ogData.find(i => i.Id === 2));\n \n this.currentFormMode = 'Edit'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.smallModal.show();\n }\n\n showInfoModalRef(Id: any): void {\n this.currentFormMode = 'Info'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.smallModal.show();\n }\n\n deletionList: CurrencyModel[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n\n SearchTerm: any = '';\n\n\n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n\n this.deletionList = [];\n this.selected = [];\n\n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n\n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n\n loadAllData() {\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.loadSearch();\n }\n )\n }\n\n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n private selectedFile: File;\n uploadFile(event) {\n let formData = new FormData();\n this.selectedFile = event.target.files[0];\n formData.append('upload', this.selectedFile)\n\n this.modelService.UploadExcel(formData).subscribe(result => {\n \n });\n \n\n }\n}\n","\n
    \n
    \n
    \n \n
    \n

    \n {{currentFormMode+\"CodingUnit\" | translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"CurrencyNameArRequired\" | translate}}
    \n \n
    \n \n
    \n \n \n \n
    \n {{\"CurrencyNameEnRequired\" | translate}}
    \n \n
    \n
    \n \n \n \n {{taxableTypeCode.Desc_en}}\n \n \n \n
    \n \n
    \n \n \n \n
    \n {{\"CurrencyValueRequired\" | translate}}
    \n \n
    \n \n \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n  \n
    \n \n\n \n \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"CurrencyName\" | translate}}\n \n
    \n {{\"CurrencyValue\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{lang==='ar-EG'?obj.NameAr:obj.NameEn}}{{obj.Value}}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { environment } from 'src/environments/environment';\n\n@Component({\n selector: 'app-invoice',\n templateUrl: './invoice.component.html',\n styleUrls: ['./invoice.component.scss']\n})\nexport class InvoiceComponent implements OnInit {\n token = '';\n constructor( private router: Router) {\n debugger;\n // this.token = localStorage.getItem('token');\n // if(this.token == '' || this.token == undefined || this.token == null){\n // this.router.navigate(['user']);\n // }\n }\n\n ngOnInit(): void {\n //get company name from Api\n\n }\n}\n","
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n

    {{\"Currencies\" | translate}}

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

    {{\"Clients\" | translate}}

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

    {{\"Branches\" | translate}}

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

    {{\"Items\" | translate}}

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

    {{\"Invoices\" | translate}}

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

    {{\"CreateInvoice\" | translate}}

    \n
    \n
    \n
    \n
    \n
    \n
    ","import { CustomerBalancesComponent } from './Reports/customer-balances/components/customer-balances/customer-balances.component';\r\nimport { DebtReconstructionComponent } from './Reports/debt-reconstruction/components/debt-reconstruction/debt-reconstruction.component';\r\nimport { AddSuppliersComponent } from './suppliers/add-suppliers/add-suppliers.component';\r\nimport { ExpensCategoryComponent } from './suppliers/expens-category/expens-category.component';\r\nimport { ExpensesAndPurchasesComponent } from './suppliers/expenses-and-purchases/expenses-and-purchases.component';\r\nimport { SortablejsModule } from 'ngx-sortablejs';\r\nimport { ProjectsComponent } from './projects/projects.component';\r\nimport { StaffComponent } from './staff/staff.component';\r\nimport { TaxTypesComponent } from './tax-types/tax-types.component';\r\nimport { CompanyApiComponent } from './company-api/company-api.component';\r\nimport { SearchPipePipe } from './../pipes/search-pipe.pipe';\r\nimport { TableFilterPipe } from './../pipes/table-filter.pipe';\r\nimport { PagesContainersModule } from './../containers/pages/pages.containers.module';\r\nimport { ComponentsCarouselModule } from './../components/carousel/components.carousel.module';\r\nimport { SharedModule } from './../shared/shared.module';\r\nimport { environment } from './../../environments/environment';\r\nimport { LayoutContainersModule } from './../containers/layout/layout.containers.module';\r\nimport { NgModule } from '@angular/core';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { AngularFireModule } from '@angular/fire';\r\nimport { CommonModule, DatePipe } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { ModalModule } from 'ngx-bootstrap/modal';\r\nimport { ArchwizardModule } from 'angular-archwizard';\r\nimport { AngularFireAuthModule } from '@angular/fire/auth';\r\nimport { AngularFireAuthGuardModule } from '@angular/fire/auth-guard';\r\nimport { FormsModule as FormsModuleAngular } from '@angular/forms';\r\nimport { TabsModule } from 'ngx-bootstrap/tabs';\r\nimport { HeadroomModule } from '@ctrl/ngx-headroom';\r\nimport { ScrollToModule } from '@nicky-lenaers/ngx-scroll-to';\r\nimport { NgxDatatableModule } from '@swimlane/ngx-datatable';\r\nimport { CollapseModule } from 'ngx-bootstrap/collapse';\r\nimport { PopoverModule } from 'ngx-bootstrap/popover';\r\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { InvoicesRoutingModule } from './invoices.routing';\r\nimport { ItemsComponent } from './items/items.component';\r\nimport { BranchesComponent } from './branches/branches.component';\r\nimport { CurrenciesComponent } from './currencies/currencies.component';\r\nimport { InvoicesComponent } from './invoices/invoices.component';\r\nimport { SidePopupComponent } from '../views/app/aio/shared/side-popup/side-popup.component';\r\nimport { InvoiceComponent } from './invoice.component';\r\nimport { ClientsComponent } from './clients/clients.component';\r\nimport {CreateInvoiceComponent } from './create-invoice/create-invoice.component';\r\nimport { CodingUnitsComponent } from './coding-units/coding-units.component';\r\nimport { ProductTypesComponent } from './product-types/product-types.component';\r\nimport { CompaniesComponent } from '../views/companies/companies.component';\r\nimport { PaginationConfig, PaginationModule } from 'ngx-bootstrap/pagination';\r\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\r\nimport { SimpleNotificationsModule } from 'angular2-notifications';\r\nimport { ShowSuppliersComponent } from './suppliers/show-suppliers/show-suppliers.component';\r\nimport { ProjectViewComponent } from './suppliers/project/project-view/project-view.component';\r\nimport { AddExpensesAndPurchasesComponent } from './suppliers/add-expenses-and-purchases/add-expenses-and-purchases.component';\r\nimport {MatTabsModule} from '@angular/material/tabs';\r\nimport { PurchasesComponent } from './purchases/purchases.component';\r\nimport { InvoiceReportComponent } from './Reports/components/invoice-report/invoice-report.component';\r\nimport { PurshasesReportComponent } from './Reports/components/purshases-report/purshases-report.component';\r\nimport { DailyInvoicesComponent } from './Reports/daily-invoices/components/daily-invoices/daily-invoices.component';\r\nimport { ClientInvoicesComponent } from './Reports/client-invoices/components/client-invoices/client-invoices.component';\r\nimport { CustomerSalesComponent } from './Reports/customer-sales/components/customer-sales/customer-sales.component';\r\nimport { ViewInvoiceComponent } from './view-invoice/view-invoice.component';\r\nimport { CustomerPaymentsComponent } from './Reports/customer-payments/components/customer-payments/customer-payments.component';\r\nimport { CustomerAccountStatementComponent } from './Reports/customer-account-statement/components/customer-account-statement/customer-account-statement.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InvoicesRoutingModule,\r\n LayoutContainersModule,\r\n MatTabsModule,\r\n TranslateModule,\r\n HttpClientModule,\r\n AngularFireModule.initializeApp(environment.firebase),\r\n FormsModule,\r\n ReactiveFormsModule,\r\n ModalModule.forRoot(),\r\n ArchwizardModule,\r\n SharedModule,\r\n NgSelectModule,\r\n FormsModuleAngular,\r\n AngularFireAuthModule,\r\n AngularFireAuthGuardModule,\r\n ComponentsCarouselModule,\r\n TabsModule.forRoot(),\r\n HeadroomModule,\r\n ScrollToModule.forRoot(),\r\n NgxDatatableModule,\r\n CollapseModule,\r\n PagesContainersModule,\r\n PopoverModule.forRoot(),\r\n TooltipModule.forRoot(),\r\n BsDropdownModule,\r\n SortablejsModule,\r\n PaginationModule,\r\n SimpleNotificationsModule.forRoot(),\r\n\r\n\r\n ],\r\n declarations: [\r\n InvoiceComponent,\r\n CurrenciesComponent,\r\n TableFilterPipe,\r\n ItemsComponent,\r\n ClientsComponent,\r\n InvoicesComponent,\r\n CreateInvoiceComponent,\r\n BranchesComponent,\r\n SearchPipePipe,\r\n CompaniesComponent,\r\n // SidePopupComponent,\r\n CodingUnitsComponent,\r\n CompanyApiComponent,\r\n TaxTypesComponent,\r\n ProductTypesComponent,\r\n StaffComponent,\r\n ProjectsComponent,\r\n \r\n\r\n ExpensesAndPurchasesComponent,\r\n AddExpensesAndPurchasesComponent,\r\n ProjectViewComponent,\r\n ExpensCategoryComponent,\r\n PurchasesComponent,\r\n InvoiceReportComponent,\r\n PurshasesReportComponent,\r\n DailyInvoicesComponent,\r\n ClientInvoicesComponent,\r\n ViewInvoiceComponent,\r\n DebtReconstructionComponent,\r\n CustomerBalancesComponent,\r\n CustomerSalesComponent,\r\n CustomerPaymentsComponent,\r\n CustomerAccountStatementComponent\r\n ],\r\n providers: [DatePipe,PaginationConfig],\r\n // exports:[SidePopupComponent],\r\n bootstrap: [InvoiceComponent]\r\n})\r\nexport class InvoicesModule { }\r\n","import { CustomerAccountStatementComponent } from './Reports/customer-account-statement/components/customer-account-statement/customer-account-statement.component';\r\nimport { ItemsComponent } from './items/items.component';\r\nimport { BranchesComponent } from './branches/branches.component';\r\nimport { CurrenciesComponent } from './currencies/currencies.component';\r\nimport { InvoicesComponent } from './invoices/invoices.component';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { NgModule } from '@angular/core';\r\nimport { InvoiceComponent } from './invoice.component';\r\nimport { ClientsComponent } from './clients/clients.component';\r\nimport { CreateInvoiceComponent } from './create-invoice/create-invoice.component';\r\nimport { CompaniesComponent } from '../views/companies/companies.component';\r\nimport { ProductTypesComponent } from './product-types/product-types.component';\r\nimport { ProjectsComponent } from './projects/projects.component';\r\nimport { StaffComponent } from './staff/staff.component';\r\nimport { CodingUnitsComponent } from './coding-units/coding-units.component';\r\nimport { TaxTypesComponent } from './tax-types/tax-types.component';\r\nimport { AddExpensesAndPurchasesComponent } from './suppliers/add-expenses-and-purchases/add-expenses-and-purchases.component';\r\nimport { ExpensesAndPurchasesComponent } from './suppliers/expenses-and-purchases/expenses-and-purchases.component';\r\nimport { ProjectViewComponent } from './suppliers/project/project-view/project-view.component';\r\nimport { ExpensCategoryComponent } from './suppliers/expens-category/expens-category.component';\r\nimport { ShowSuppliersComponent } from './suppliers/show-suppliers/show-suppliers.component';\r\nimport { AddSuppliersComponent } from './suppliers/add-suppliers/add-suppliers.component';\r\nimport { PurchasesComponent } from './purchases/purchases.component';\r\nimport { InvoiceReportComponent } from './Reports/components/invoice-report/invoice-report.component';\r\nimport { PurshasesReportComponent } from './Reports/components/purshases-report/purshases-report.component';\r\nimport { DailyInvoicesComponent } from './Reports/daily-invoices/components/daily-invoices/daily-invoices.component';\r\nimport { ClientInvoicesComponent } from './Reports/client-invoices/components/client-invoices/client-invoices.component';\r\nimport { ViewInvoiceComponent } from './view-invoice/view-invoice.component';\r\nimport { DebtReconstructionComponent } from './Reports/debt-reconstruction/components/debt-reconstruction/debt-reconstruction.component';\r\nimport { CustomerBalancesComponent } from './Reports/customer-balances/components/customer-balances/customer-balances.component';\r\nimport { CustomerSalesComponent } from './Reports/customer-sales/components/customer-sales/customer-sales.component';\r\nimport { CustomerPaymentsComponent } from './Reports/customer-payments/components/customer-payments/customer-payments.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '', component: InvoiceComponent,\r\n \r\n },\r\n \r\n ////////////////////////////////////////////\r\n { path: 'Companies', component: CompaniesComponent},\r\n { path: 'E-Invoice', component: InvoiceComponent },\r\n //Main Data\r\n { path: 'MainData', component: InvoiceComponent },\r\n { path: 'MainData/Items', component: ItemsComponent},\r\n { path: 'MainData/Product-Types', component: ProductTypesComponent},\r\n // { path: 'MainData/Projects', component: ProjectsComponent},\r\n { path: 'MainData/Purchases', component: PurchasesComponent},\r\n { path: 'MainData/Staff', component: StaffComponent },\r\n //Clients\r\n { path: 'Clients', component: InvoiceComponent},\r\n { path: 'Clients/All-Clients', component: ClientsComponent},\r\n { path: 'Clients/Branches', component: BranchesComponent},\r\n { path: 'Clients/Currencies', component: CurrenciesComponent},\r\n { path: 'Clients/Coding-Units', component: CodingUnitsComponent},\r\n { path: 'Clients/Tax-Types', component: TaxTypesComponent},\r\n //Reports\r\n { path: 'Reports', component: InvoiceComponent },\r\n { path: 'Reports/Invoices', component: InvoicesComponent },\r\n { path: 'Reports/Sales', component: InvoiceReportComponent},\r\n { path: 'Reports/Purshases', component: PurshasesReportComponent},\r\n { path: 'Reports/daily-invoices', component: DailyInvoicesComponent},\r\n { path: 'Reports/client-invoices', component: ClientInvoicesComponent},\r\n { path: 'Reports/view-invoice/:Id', component: ViewInvoiceComponent},\r\n { path: 'Reports/debt-reconstruction', component: DebtReconstructionComponent},\r\n { path: 'Reports/customer-balances', component: CustomerBalancesComponent},\r\n { path: 'Reports/customer-sales', component: CustomerSalesComponent},\r\n { path: 'Reports/customer-payments', component: CustomerPaymentsComponent},\r\n { path: 'Reports/customer-account-statement', component: CustomerAccountStatementComponent},\r\n \r\n //Settings\r\n { path: 'Settings', component: InvoicesComponent },\r\n { path: 'Settings/TaxingApi', component: InvoicesComponent },\r\n\r\n { path: 'Reports/Create-Invoice', component: CreateInvoiceComponent},\r\n\r\n { path: 'Supplier/Create-ExpensesAndPurchasesComponent/:state/:id', component: AddExpensesAndPurchasesComponent},\r\n { path: 'Supplier/Show-ExpensesAndPurchasesComponent', component: ExpensesAndPurchasesComponent},\r\n { path: 'Supplier/Show-ProjectViewComponent', component: ProjectsComponent},\r\n { path: 'Supplier/Show-ExpensCategoryComponent', component: ExpensCategoryComponent},\r\n\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class InvoicesRoutingModule { }","import { ItemModel } from \"../items/ItemModel\";\r\n\r\nexport class InvoiceModel{\r\n Id?:number;\r\n InvoiceNumber?:string;\r\n TaxActivityCode?:string;\r\n Type?:string;\r\n SalesOrder?:string;\r\n PurchaseOrder?:string;\r\n BranchId?:number;\r\n ReleaseDate?:Date;\r\n PurchaseDate?:Date;\r\n Status?:string;\r\n TotalPrice?:number;\r\n ClientId?:number;\r\n uuid?:string;\r\n Items?:ItemModel[];\r\n totalAmount?:number;\r\n constructor(obj?:InvoiceModel){\r\n obj = obj? obj:{};\r\n this.Id = obj.Id? obj.Id:0;\r\n this.totalAmount = obj.totalAmount? obj.totalAmount:0;\r\n this.InvoiceNumber = obj.InvoiceNumber? obj.InvoiceNumber:'';\r\n this.TaxActivityCode = obj.TaxActivityCode? obj.TaxActivityCode:'';\r\n this.SalesOrder = obj.SalesOrder? obj.SalesOrder:'';\r\n this.PurchaseOrder = obj.PurchaseOrder? obj.PurchaseOrder:'';\r\n this.Type = obj.Type? obj.Type:'';\r\n this.uuid = obj.uuid? obj.uuid:'';\r\n this.ReleaseDate = obj.ReleaseDate? obj.ReleaseDate:new Date();\r\n this.PurchaseDate = obj.PurchaseDate? obj.PurchaseDate:new Date();\r\n this.BranchId = obj.BranchId? obj.BranchId:0;\r\n this.Status = obj.Status?obj.Status :'';\r\n this.TotalPrice = obj.TotalPrice? obj.TotalPrice:0;\r\n this.ClientId = obj.ClientId? obj.ClientId:0;\r\n this.Items = obj.Items? obj.Items:[];\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { InvoiceModel } from './InvoiceModel';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InvoiceService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n CompanyId:number =+ localStorage.getItem(\"CompanyId\");\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = \"eyJhbGciOiJSUzI1NiIsImtpZCI6Ijk2RjNBNjU2OEFEQzY0MzZDNjVBNDg1MUQ5REM0NTlFQTlCM0I1NTQiLCJ0eXAiOiJhdCtqd3QiLCJ4NXQiOiJsdk9tVm9yY1pEYkdXa2hSMmR4Rm5xbXp0VlEifQ.eyJuYmYiOjE2NzIwMDQzNjUsImV4cCI6MTY3MjAwNzk2NSwiaXNzIjoiaHR0cHM6Ly9pZC5ldGEuZ292LmVnIiwiYXVkIjoiSW52b2ljaW5nQVBJIiwiY2xpZW50X2lkIjoiZDE5ZTA1MGUtMjc3Yi00MWJjLWJmMzctZDVlNWM0ZTUwYTNlIiwiSXNUYXhSZXByZXMiOiIxIiwiSXNJbnRlcm1lZGlhcnkiOiIwIiwiSW50ZXJtZWRJZCI6IjAiLCJJbnRlcm1lZFJJTiI6IiIsIkludGVybWVkRW5mb3JjZWQiOiIyIiwibmFtZSI6IjYxODc2NDM1NjpkMTllMDUwZS0yNzdiLTQxYmMtYmYzNy1kNWU1YzRlNTBhM2UiLCJTU0lkIjoiZWVkYzM3MjYtMTFjYy01ZGFlLTJmNTMtNzgyZjRhOWVmMWMyIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiQUlPIEVSUCIsIlRheElkIjoiMTM0NTYwIiwiVGF4UmluIjoiNjE4NzY0MzU2IiwiUHJvZklkIjoiMzIxOTA4IiwiSXNUYXhBZG1pbiI6IjAiLCJJc1N5c3RlbSI6IjEiLCJOYXRJZCI6IiIsIlRheFByb2ZUYWdzIjoiQjJCIiwic2NvcGUiOlsiSW52b2ljaW5nQVBJIl19.ASQy5kfS8LfZu4fTHvqoUp9USc1zAOsYfnJFPk7lw3D-Q9er0CQueldEaEQParGaC-gM92fBJdt2D3bIMKWI9S2ib_pOV8Mwk37cbn22nP2hzxHmdI1k0qrv2WsKgo6Z9vlSjHuSil-vzPA3lxZ_Q9oGlARifQAEp4KhAePpLBtSbXdR-6FIG-xDwvBpzs31GiZntPLIx8_3HW3_4ldjI0BTIOBTROL2DVkSfGO8ajV1Rt4KJ8lHJPWg1ynWOf38TerTkii8XM6qD9NjECN2HB3OfgL7dGtuERF-cpdAYCwU-83DMCMFnBb4Kek60mVYdxsCtyHDmwFQc0BrWprG7g\";\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Invoice/GetAll/${this.CompanyId}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n GetAllNotPayed(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Invoice/GetAllNotPayed/${this.CompanyId}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n GetPurchases(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}InvoicePurshases/GetAll/${this.CompanyId}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Invoice/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n print(uuid:string,token:string): Observable {\r\n var httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + token,\r\n // \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n return this.http\r\n .get(`https://api.invoicing.eta.gov.eg/api/v1/documents/${uuid}/pdf`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n Send(id:number, TokenPin: string): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}Invoice/Send/${id}/${TokenPin}/${this.CompanyId}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: InvoiceModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}Invoice/Insert/${this.CompanyId}`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n update(payload: InvoiceModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}Invoice/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n delete(payload: InvoiceModel): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}Invoice/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: InvoiceModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}Invoice/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n loginToTaxes():Observable{\r\n return this.http\r\n .get(`${this.baseUrl}Login/Login/${this.CompanyId}`)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n printFromBackEnd(Id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Invoice/print/${Id}/${this.CompanyId}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n printInvoicePurshases(Id:string): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}InvoicePurshases/print/${Id}/${this.CompanyId}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n UploadExcel(formData: FormData) {\r\n let headers = new HttpHeaders();\r\n \r\n headers.append('Content-Type', 'multipart/form-data');\r\n headers.append('Accept', 'application/json');\r\n \r\n const httpOptions = { headers: headers };\r\n \r\n return this.http.post(`${this.baseUrl}Invoice/UploadExcel/${this.CompanyId}` , formData, httpOptions)\r\n }\r\n}\r\n","import { environment } from 'src/environments/environment';\nimport { ItemFilterPipe } from './../../pipes/item-filter.pipe';\nimport { InvoiceService } from './InvoiceService';\nimport { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { of, throwError } from 'rxjs';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\nimport { DataFilterer } from 'src/app/views/app/aio/shared/DataFilterer';\nimport { DataSorter } from 'src/app/views/app/aio/shared/DataSorter';\nimport { DataPaginator } from 'src/app/views/app/aio/shared/DataPaginator';\nimport { InvoiceModel } from './InvoiceModel';\nimport { Router } from '@angular/router';\nimport { saveAs } from 'file-saver';\n\n\n\n@Component({\n selector: 'app-invoices',\n templateUrl: './invoices.component.html',\n styleUrls: ['./invoices.component.scss']\n})\nexport class InvoicesComponent {\n //IMPORTANT: ADD AND EDIT METHODS REMOVED\n //IMPORTANT: ADD AND EDIT METHODS REMOVED\n //IMPORTANT: ADD AND EDIT METHODS REMOVED\n //IMPORTANT: ADD AND EDIT METHODS REMOVED\n //IMPORTANT: ADD AND EDIT METHODS REMOVED\n //CTRL + F \"IMPORTANT\"\n //CTRL + F \"IMPORTANT\"\n //CTRL + F \"IMPORTANT\"\n //CTRL + F \"IMPORTANT\"\n //CTRL + F \"IMPORTANT\"\n \n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n constructor(private formBuilder: FormBuilder, private modelService: InvoiceService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,private router : Router) {\n }\n currentScreen: any = 'Table';\n\n translationName: string = 'Invoice'\n\n sortableKeys = [];\n searchableKeys = ['InvoiceNumber'];\n \n modelObject: InvoiceModel = new InvoiceModel();\n ogData: InvoiceModel [] = [ \n // {Id:5, InvoiceNumber:'123453', TaxActivityCode:'6789', Type:'Type1', ReleaseDate:new Date(\"4/12/2022\"), PurchaseDate:new Date(\"4/1/2023\"), Status:'Valid', TotalPrice:1000}, \n // {Id:1, InvoiceNumber:'543121', TaxActivityCode:'1111', Type:'Type2', ReleaseDate:new Date(\"11/12/2022\"), PurchaseDate:new Date(\"3/1/2023\"), Status:'Invalid', TotalPrice:200}, \n // {Id:2, InvoiceNumber:'821232', TaxActivityCode:'2345', Type:'Type3', ReleaseDate:new Date(\"10/12/2022\"), PurchaseDate:new Date(\"1/1/2023\"), Status:'ReadyToSend', TotalPrice:50}, \n // {Id:3, InvoiceNumber:'551122', TaxActivityCode:'7654', Type:'Type4', ReleaseDate:new Date(\"9/12/2022\"), PurchaseDate:new Date(\"2/1/2023\"), Status:'In progress', TotalPrice:5050}, \n // {Id:4, InvoiceNumber:'990085', TaxActivityCode:'9120', Type:'Type5', ReleaseDate:new Date(\"8/12/2022\"), PurchaseDate:new Date(\"9/1/2023\"), Status:'Valid', TotalPrice:990}, \n\n ];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n NameEn: new FormControl(),\n NameAr: new FormControl(),\n });\n\n ngOnInit(): void {\n console.log(\"model\");\n console.log(this.modelObject);\n \n \n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'InvoiceNumber', property: 'InvoiceNumber' };\n this.sortableKeys = [\n { label: 'InvoiceNumber', property: 'InvoiceNumber' },\n { label: 'InvoiceTaxActivityCode', property: 'TaxActivityCode' },\n { label: 'InvoiceType', property: 'Type' },\n { label: 'InvoiceReleaseDate', property: 'ReleaseDate' },\n { label: 'InvoicePurchaseDate', property: 'PurchaseDate' },\n { label: 'InvoiceStatus', property: 'Status' },\n { label: 'InvoiceTotalPrice', property: 'TotalPrice' },\n ];\n this.loadData();\n console.log(this.ogData);\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as paraMetre if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject(){\n this.modelService.deleteList(this.deletionList).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.finalizeDeletion();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n \n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n lang: string;\n currentFormMode: string = '';\n currentAction: string = '';\n\n\n //ogData = [];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n\n SelectAllBox: any = false;\n\n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n itemOrder: any;\n orderAsc: boolean = true;\n\n currentPage = 1;\n savedPage = 0;\n\n\n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n\n loadData() {\n debugger;\n this.currentAction = 'loading';\n this.modelService.getAll().subscribe(\n data => {\n this.currentAction = '';\n \n this.ogData = data;\n this.sortData();\n }\n )\n \n }\n\n sortData() {\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n\n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n\n filterData() {\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n\n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n\n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n\n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n\n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n\n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n\n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n\n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n\n isSelected(p: InvoiceModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n\n onSelect(item: InvoiceModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n\n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n\n @ViewChild('delModal') delModal: ModalDirective;\n showAddNewModalRef(): void {\n this.router.navigate(['app/invoices/Reports/Create-Invoice'])\n }\n\n showInfoModalRef(Id: any): void {\n //IMPORTANT\n //REDIRECT TO INFO PAGE\n }\n\n deletionList: InvoiceModel[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n\n SearchTerm: any = '';\n\n\n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n\n this.deletionList = [];\n this.selected = [];\n\n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n\n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n\n loadAllData() {\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.loadSearch();\n }\n )\n }\n\n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n Send(){\n this.modelService.Send(this.SendId,this.TokenPin)\n .subscribe(result=>{\n if(result == true){\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"The invoice has been sent successfully\"));\n var i = this.ogData.findIndex(x=>x.Id == this.SendId);\n if(i > -1){\n this.ogData[i].Status = 'In progress';\n }\n }\n })\n }\n pdfSrc = '';\n TokenPin = '';\n SendId = 0;\n print(Id){\n debugger;\n // var mediaType = 'application/pdf';\n // this.modelService.loginToTaxes()\n // .subscribe(token => {\n // var i = this.paginatedData.findIndex(c=>c.Id == Id);\n // this.modelService.print(this.paginatedData[i].uuid,token)\n // .subscribe( (response) => {\n // var blob = new Blob([response], { type: mediaType });\n // saveAs(blob, 'report.pdf');\n // },\n // e => { throwError(e); })\n // })\n this.modelService.printFromBackEnd(Id)\n .subscribe(result =>{\n console.log(result);\n this.pdfSrc = result;\n saveAs(`${environment.apiUrl}/Resources/Invoices/${result}`, 'report.pdf');\n // window.open(`${environment.apiUrl}/Resources/Invoices/${result}`, '_blank');\n // window.location.href =result\n // window.open(result, '_blank');\n // window.open(result);\n })\n }\n @ViewChild('smallModal') smallModal: ModalDirective;\n\n showPINModalRef(Id): void {\n // this.currentFormMode = 'Add'\n this.SendId = Id;\n this.smallModal.show();\n }\n private selectedFile: File;\n uploadFile(event) {\n let formData = new FormData();\n this.selectedFile = event.target.files[0];\n formData.append('upload', this.selectedFile)\n\n this.modelService.UploadExcel(formData).subscribe(result => {\n \n });\n \n\n }\n}\n\n\n","\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"Please Enter PIN For Token Reader\" | translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n \n
    \n\n\n\n
    \n {{\"Add\" |\n translate}}\n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n  \n
    \n \n\n \n \n
    \n \n
    \n\n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"InvoiceNumber\" | translate}}\n \n
    \n {{\"InvoiceType\" | translate}}\n \n
    \n {{\"InvoiceReleaseDate\" | translate}}\n \n
    \n {{\"InvoicePurchaseDate\" | translate}}\n \n
    \n {{\"InvoiceStatus\" | translate}}\n \n
    \n {{\"InvoiceTotalPrice\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{obj.InvoiceNumber}}{{'Invoice'|translate}}{{'Debit Note'|translate}}{{'Credit Note'|translate}}{{obj.PurchaseDate | date:\"dd/MM/yyyy\"}}{{obj.ReleaseDate | date:\"dd/MM/yyyy\"}}\n {{obj.Status | translate}}\n {{obj.Status | translate}}\n {{obj.Status | translate}}\n {{obj.Status | translate}}\n {{obj.Status | translate}}\n {{obj.TotalPrice}}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","export class ItemModel{\r\n Id?:number;\r\n NameAr?:string;\r\n NameEn?:string;\r\n\r\n Code ?:string;\r\n\r\n TaxApiCode ?:string;\r\n Cost?:number;\r\n Stock?:number;\r\n Total?:number;\r\n \r\n CodingType ?:string;\r\n Description ?:string;\r\n ProductTypeAr ?:string;\r\n ProductTypeEn ?:string;\r\n ProductTypeId ?:number;\r\n CodingUnitId ?: number;\r\n MeasurCode?:string;\r\n IsSendToTaxes?:boolean;\r\n constructor(obj?:ItemModel){\r\n obj = obj? obj:{};\r\n this.Id = obj.Id? obj.Id:0;\r\n this.NameAr = obj.NameAr? obj.NameAr:'';\r\n this.NameEn = obj.NameEn? obj.NameEn:'';\r\n this.Code = obj.Code? obj.Code:'';\r\n this.TaxApiCode = obj.TaxApiCode? obj.TaxApiCode:'';\r\n this.Cost = obj.Cost? obj.Cost:0;\r\n this.Stock = obj.Stock? obj.Stock:0;\r\n this.Total = obj.Total? obj.Total:0;\r\n this.MeasurCode = obj.MeasurCode? obj.MeasurCode:'';\r\n this.Description = obj.Description? obj.Description:'';\r\n this.ProductTypeAr = obj.ProductTypeAr? obj.ProductTypeAr:'';\r\n this.ProductTypeEn = obj.ProductTypeEn? obj.ProductTypeEn:'';\r\n this.ProductTypeEn = obj.ProductTypeEn? obj.ProductTypeEn:'';\r\n this.ProductTypeId = obj.ProductTypeId? obj.ProductTypeId:0;\r\n this.CodingUnitId = obj.CodingUnitId? obj.CodingUnitId:0;\r\n this.IsSendToTaxes = obj.IsSendToTaxes? obj.IsSendToTaxes:false;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ItemModel } from './ItemModel';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ItemService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n CompanyId:number =+ localStorage.getItem(\"CompanyId\");\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Item/GetAll/${this.CompanyId}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Item/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n SendToTaxes(items:ItemModel[]): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}Item/SendToTaxes/${this.CompanyId}`,items,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n insert(payload: ItemModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}Item/Insert/${this.CompanyId}`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: ItemModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}Item/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: ItemModel): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}Item/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: ItemModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}Item/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { ItemService } from './ItemService';\nimport { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { of } from 'rxjs';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\nimport { DataFilterer } from 'src/app/views/app/aio/shared/DataFilterer';\nimport { DataSorter } from 'src/app/views/app/aio/shared/DataSorter';\nimport { DataPaginator } from 'src/app/views/app/aio/shared/DataPaginator';\nimport { ItemModel } from './ItemModel';\nimport { SidePopupComponent } from 'src/app/views/app/aio/shared/side-popup/side-popup.component';\nimport { CodingUnitModel } from '../coding-units/CodingUnitModel';\nimport { CodingUnitService } from '../coding-units/CodingUnitService';\n\n\n\n@Component({\n selector: 'app-items',\n templateUrl: './items.component.html',\n styleUrls: ['./items.component.scss']\n})\nexport class ItemsComponent {\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n constructor(private formBuilder: FormBuilder, private modelService: ItemService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,private codingUnitService:CodingUnitService) {\n }\n units:CodingUnitModel[]=[];\n currentScreen: any = 'Table';\n\n translationName: string = 'Item'\n\n sortableKeys = [];\n searchableKeys = ['NameEn', 'NameAr'];\n \n modelObject: ItemModel = new ItemModel();\n ogData: ItemModel [] = [ ]\n // ogData: ItemModel [] = [ \n // {Id:5, NameAr:'مجفف شعر', NameEn:'Hair Dryer', TaxApiCode:'123456', Cost:300, Stock:44, Total:111}, \n // {Id:1, NameAr:'طماطم', NameEn:'Tomatoes', TaxApiCode:'65341', Cost:512, Stock:32, Total:51},\n // {Id:2, NameAr:'ريشة مروحة', NameEn:'Fan Blade', TaxApiCode:'44444', Cost:30, Stock:121, Total:14},\n // {Id:3, NameAr:'علبة كرتون', NameEn:'Cardboard Box', TaxApiCode:'07863', Cost:1, Stock:7, Total:1}, \n // {Id:4, NameAr:'تابلت', NameEn:'Tablet', TaxApiCode:'9911332', Cost:2222, Stock:121, Total:23} \n // ];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n NameEn: new FormControl(),\n NameAr: new FormControl(),\n TaxApiCode: new FormControl(),\n Cost: new FormControl(),\n Stock: new FormControl(),\n Total: new FormControl(),\n CodingUnitId:new FormControl(),\n CodingType:new FormControl(),\n Code:new FormControl()\n });\n\n ngOnInit(): void {\n console.log(\"model\");\n console.log(this.modelObject);\n \n \n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'ItemName', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' };\n this.sortableKeys = [\n { label: 'ItemName', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' },\n { label: 'ItemTaxApiCode', property: 'TaxApiCode' },\n { label: 'ItemCost', property: 'Cost' },\n { label: 'ItemStock', property: 'Stock' },\n { label: 'ItemTotal', property: 'Total' },\n ];\n this.loadData();\n console.log(this.ogData);\n this.codingUnitService.getAll()\n .subscribe(units => {\n this.units = units;\n })\n //this.dataSorter.sortData('NameEn', this.ogData);\n }\n\n createForm(): FormGroup {\n\n return this.formBuilder.group({\n Id: [this.modelObject.Id >= 0 ? this.modelObject.Id : 0],\n NameEn: [this.modelObject.NameEn, Validators.compose([Validators.required, Validators.minLength(2)])],\n NameAr: [this.modelObject.NameAr, Validators.compose([Validators.required])],\n TaxApiCode: [this.modelObject.TaxApiCode, Validators.compose([Validators.required])],\n Cost: [this.modelObject.Cost, Validators.compose([Validators.required])],\n Stock: [this.modelObject.Stock, Validators.compose([Validators.required])],\n Total: [this.modelObject.Total, Validators.compose([Validators.required])],\n CodingUnitId: [this.modelObject.CodingUnitId, Validators.required],\n CodingType: [this.modelObject.CodingType, Validators.required],\n Code: [this.modelObject.Code, Validators.required],\n });\n }\n\n addObject() {\n //prevent multiclick submits. enable again after API response.\n this.currentAction = 'loading';\n debugger;\n this.modelObject = new ItemModel();\n // this.modelObject.Id = 0;\n // this.modelObject.NameEn = this.mainForm.getRawValue().NameEn;\n // this.modelObject.NameAr = this.mainForm.getRawValue().NameAr;\n // this.modelObject.TaxApiCode = this.mainForm.getRawValue().TaxApiCode;\n // this.modelObject.Cost = this.mainForm.getRawValue().Cost;\n // this.modelObject.Stock = this.mainForm.getRawValue().Stock;\n // this.modelObject.Total = this.mainForm.getRawValue().Total;\n this.modelObject = this.mainForm.getRawValue();\n var i = this.units.findIndex(x=>x.Id == this.modelObject.CodingUnitId);\n if(i > -1){\n this.modelObject.MeasurCode = this.units[i].UnitInTheTaxSystem;\n }\n this.executeAddObject();\n }\n\n executeAddObject(){\n debugger;\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n this.sideModalRef.modalRef.hide();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n\n editObject() {\n debugger;\n this.savedPage = this.currentPage;\n\n this.currentAction = 'loading';\n let tempObj = new ItemModel({\n Id: this.modelObject.Id,\n NameEn: this.mainForm.getRawValue().NameEn,\n NameAr: this.mainForm.getRawValue().NameAr,\n TaxApiCode : this.mainForm.getRawValue().TaxApiCode,\n Cost : this.mainForm.getRawValue().Cost,\n Stock : this.mainForm.getRawValue().Stock,\n Total : this.mainForm.getRawValue().Total,\n CodingUnitId : this.mainForm.getRawValue().CodingUnitId\n });\n \n if(tempObj != this.modelObject){\n var i = this.units.findIndex(x=>x.Id == tempObj.CodingUnitId);\n if(i > -1){\n tempObj.MeasurCode = this.units[i].UnitInTheTaxSystem;\n }\n this.executeEditObject(tempObj);\n }\n else{\n this.sideModalRef.modalRef.hide();\n }\n }\n\n executeEditObject(Object)\n {\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n\n this.sideModalRef.modalRef.hide();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject(){\n this.modelService.deleteList(this.deletionList).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.finalizeDeletion();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n \n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n lang: string;\n currentFormMode: string = '';\n currentAction: string = '';\n\n\n //ogData = [];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n\n SelectAllBox: any = false;\n\n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n itemOrder: any;\n orderAsc: boolean = true;\n\n currentPage = 1;\n savedPage = 0;\n\n\n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n\n loadData() {\n this.currentAction = 'loading';\n this.modelService.getAll().subscribe(\n data => {\n console.log(data);\n \n this.ogData = data;\n this.sortData();\n this.loadSearch();\n this.currentAction = '';\n }\n )\n \n }\n\n sortData() {\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n\n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n\n filterData() {\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n\n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n\n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n\n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n\n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n\n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n\n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n\n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n\n isSelected(p: ItemModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n\n onSelect(item: ItemModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n\n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent;\n @ViewChild('delModal') delModal: ModalDirective;\n showAddNewModalRef(): void {\n this.currentFormMode = 'Add'\n this.modelObject = new ItemModel;\n this.mainForm = this.createForm();\n this.sideModalRef.show();\n }\n\n showEditModalRef(Id: any): void {\n console.log(\"adsdasdasdas\");\n console.log(this.modelObject);\n console.log(this.ogData);\n \n this.currentFormMode = 'Edit'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.sideModalRef.show();\n }\n\n showInfoModalRef(Id: any): void {\n this.currentFormMode = 'Info'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.sideModalRef.show();\n }\n\n deletionList: ItemModel[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n\n SearchTerm: any = '';\n\n\n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n\n this.deletionList = [];\n this.selected = [];\n\n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n\n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n\n loadAllData() {\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.loadSearch();\n }\n )\n }\n\n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n Send(){\n this.modelService.SendToTaxes(this.selected)\n .subscribe(data => {\n console.log(data);\n })\n }\n}\n","\n
    \n
    \n
    \n

    \n {{currentFormMode+\"Item\" | translate}}

    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n \n \n
    \n \n
    \n \n \n \n
    \n {{\"Code Required\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"ItemNameArRequired\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"ItemNameEnRequired\" | translate}}
    \n \n
    \n \n \n
    \n \n \n \n
    \n {{\"ItemTaxApiCodeRequired\" | translate}}
    \n \n
    \n \n
    \n \n \n \n
    \n {{\"ItemCostRequired\" | translate}}
    \n \n
    \n \n
    \n \n \n \n
    \n {{\"ItemStockRequired\" | translate}}
    \n \n
    \n \n
    \n \n \n \n
    \n {{\"ItemTotalRequired\" | translate}}
    \n \n
    \n \n\n\n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDelItem\" |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n \n
    \n
    \n
    \n {{\"ItemName\" | translate}}\n \n
    \n {{\"Code\" | translate}}\n \n
    \n {{\"ItemCost\" | translate}}\n \n
    \n {{\"ItemStock\" | translate}}\n \n
    \n {{\"ItemTotal\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{lang==='ar-EG'?obj.NameAr:obj.NameEn}}{{obj.TaxApiCode}}{{obj.Cost}}{{obj.Stock}}{{obj.Total}}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","export class ProductTypeModel{\r\n Id?:number;\r\n NameAr?:string;\r\n NameEn?:string;\r\n constructor(obj?:ProductTypeModel){\r\n obj = obj? obj:{};\r\n this.Id = obj.Id? obj.Id:0;\r\n this.NameAr = obj.NameAr? obj.NameAr:'';\r\n this.NameEn = obj.NameEn? obj.NameEn:'';\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ProductTypeModel } from './ProductTypeModel';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProductTypeService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n CompanyId:number =+ localStorage.getItem(\"CompanyId\");\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}ProductType/GetAll/${this.CompanyId}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}ProductType/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: ProductTypeModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}ProductType/Insert/${this.CompanyId}`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: ProductTypeModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}ProductType/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: ProductTypeModel): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}ProductType/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: ProductTypeModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}ProductType/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { ProductTypeModel } from './ProductTypeModel';\nimport { ProductTypeService } from './ProductTypeService';\nimport { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { of } from 'rxjs';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\nimport { DataFilterer } from 'src/app/views/app/aio/shared/DataFilterer';\nimport { DataSorter } from 'src/app/views/app/aio/shared/DataSorter';\nimport { DataPaginator } from 'src/app/views/app/aio/shared/DataPaginator';\n\n\n\n@Component({\n selector: 'app-product-types',\n templateUrl: './product-types.component.html',\n styleUrls: ['./product-types.component.scss']\n})\nexport class ProductTypesComponent{\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n constructor(private formBuilder: FormBuilder, private modelService: ProductTypeService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService) {\n }\n currentScreen: any = 'Table';\n\n translationName: string = 'ProductType'\n\n sortableKeys = [];\n searchableKeys = ['NameEn', 'NameAr'];\n \n modelObject: ProductTypeModel = new ProductTypeModel();\n ogData: ProductTypeModel [] = [ \n {Id:5, NameAr:'أغذية', NameEn:'Prod Type 5'}, \n {Id:1, NameAr:'أجهزةإلكترونية', NameEn:'Prod Type 1',},\n {Id:2, NameAr:'مواد كيماوية', NameEn:'Prod Type 2'},\n {Id:3, NameAr:'خامات بناء', NameEn:'Prod Type 3'}, \n {Id:4, NameAr:'أقمشة', NameEn:'Prod Type 4'} \n ];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n NameEn: new FormControl(),\n NameAr: new FormControl(),\n });\n\n ngOnInit(): void {\n console.log(\"model\");\n console.log(this.modelObject);\n \n \n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'ProductTypeName', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' };\n this.sortableKeys = [\n { label: 'ProductTypeName', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' },\n ];\n this.loadData();\n console.log(this.ogData);\n //this.dataSorter.sortData('NameEn', this.ogData);\n }\n\n createForm(): FormGroup {\n return this.formBuilder.group({\n Id: [this.modelObject.Id >= 0 ? this.modelObject.Id : 0],\n NameEn: [this.modelObject.NameEn, Validators.compose([Validators.required, Validators.minLength(2)])],\n NameAr: [this.modelObject.NameAr, Validators.compose([Validators.required, Validators.pattern(/^[\\u0621-\\u064A]+([\\s]*[\\u0621-\\u064A]+)*$/)])],\n });\n }\n\n addObject() {\n //prevent multiclick submits. enable again after API response.\n this.currentAction = 'loading';\n\n this.modelObject = new ProductTypeModel();\n this.modelObject.Id = 0;\n this.modelObject.NameEn = this.mainForm.getRawValue().NameEn;\n this.modelObject.NameAr = this.mainForm.getRawValue().NameAr;\n\n\n this.executeAddObject();\n }\n\n executeAddObject(){\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n this.smallModal.hide();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n\n editObject() {\n this.savedPage = this.currentPage;\n this.currentAction = 'loading';\n\n let tempObj = new ProductTypeModel({\n Id: this.modelObject.Id,\n NameEn: this.mainForm.getRawValue().NameEn,\n NameAr: this.mainForm.getRawValue().NameAr,\n });\n \n if(tempObj != this.modelObject){\n this.executeEditObject(tempObj);\n }\n else{\n this.smallModal.hide();\n }\n }\n\n executeEditObject(Object)\n {\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n\n this.smallModal.hide();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as paraMetre if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject(){\n this.modelService.deleteList(this.deletionList).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.finalizeDeletion();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n \n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n lang: string;\n currentFormMode: string = '';\n currentAction: string = '';\n\n\n //ogData = [];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n\n SelectAllBox: any = false;\n\n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n itemOrder: any;\n orderAsc: boolean = true;\n\n currentPage = 1;\n savedPage = 0;\n\n\n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n\n loadData() {\n this.currentAction = 'loading';\n this.modelService.getAll().subscribe(\n data => {\n console.log(\"data:\");\n console.log(data);\n \n this.ogData = data;\n this.sortData();\n this.loadSearch();\n this.currentAction = '';\n }\n )\n \n }\n\n sortData() {\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n\n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n\n filterData() {\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n\n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n\n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n\n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n\n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n\n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n\n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n\n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n\n isSelected(p: ProductTypeModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n\n onSelect(item: ProductTypeModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n\n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n\n @ViewChild('smallModal') smallModal: ModalDirective;\n @ViewChild('delModal') delModal: ModalDirective;\n showAddNewModalRef(): void {\n this.currentFormMode = 'Add'\n this.modelObject = new ProductTypeModel;\n this.mainForm = this.createForm();\n this.smallModal.show();\n }\n\n showEditModalRef(Id: any): void {\n console.log(\"adsdasdasdas\");\n console.log(this.modelObject);\n console.log(this.ogData.find(i => i.Id === 2));\n \n this.currentFormMode = 'Edit'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.smallModal.show();\n }\n\n showInfoModalRef(Id: any): void {\n this.currentFormMode = 'Info'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.smallModal.show();\n }\n\n deletionList: ProductTypeModel[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n\n SearchTerm: any = '';\n\n\n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n\n this.deletionList = [];\n this.selected = [];\n\n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n\n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n\n loadAllData() {\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.loadSearch();\n }\n )\n }\n\n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n}\n","\n
    \n
    \n
    \n \n
    \n

    \n {{currentFormMode+translationName | translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"ProductTypeNameArRequired\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n {{\"ProductTypeNameEnRequired\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"ProductTypeName\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{lang==='ar-EG'?obj.NameAr:obj.NameEn}}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","export class ProjectModel{\r\n Id?:number;\r\n NameAr?:string;\r\n NameEn?:string;\r\n constructor(obj?:ProjectModel){\r\n obj = obj? obj:{};\r\n this.Id = obj.Id? obj.Id:0;\r\n this.NameAr = obj.NameAr? obj.NameAr:'';\r\n this.NameEn = obj.NameEn? obj.NameEn:'';\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ProjectModel } from './ProjectModel';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProjectService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n CompanyId:number =+ localStorage.getItem(\"CompanyId\");\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Project/GetAll/${this.CompanyId}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Project/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: ProjectModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}Project/Insert/${this.CompanyId}`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: ProjectModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}Project/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: ProjectModel): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}Project/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: ProjectModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}Project/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { ProjectModel } from './ProjectModel';\nimport { ProjectService } from './ProjectService';\nimport { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { of } from 'rxjs';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\nimport { DataFilterer } from 'src/app/views/app/aio/shared/DataFilterer';\nimport { DataSorter } from 'src/app/views/app/aio/shared/DataSorter';\nimport { DataPaginator } from 'src/app/views/app/aio/shared/DataPaginator';\n\n@Component({\n selector: 'app-projects',\n templateUrl: './projects.component.html',\n styleUrls: ['./projects.component.scss']\n})\nexport class ProjectsComponent {\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n constructor(private formBuilder: FormBuilder, private modelService: ProjectService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService) {\n }\n currentScreen: any = 'Table';\n\n translationName: string = 'Project'\n\n sortableKeys = [];\n searchableKeys = ['NameEn', 'NameAr'];\n \n modelObject: ProjectModel = new ProjectModel();\n ogData: ProjectModel [] = [];\n // ogData: ProjectModel [] = [ \n // {Id:5, NameAr:'مشروع 5', NameEn:'Project 5'}, \n // {Id:1, NameAr:'مشروع 1', NameEn:'Project 1',},\n // {Id:2, NameAr:'مشروع 2', NameEn:'Project 2'},\n // {Id:3, NameAr:'مشروع 3', NameEn:'Project 3'}, \n // {Id:4, NameAr:'مشروع 4', NameEn:'Project 4'} \n // ];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n NameEn: new FormControl(),\n NameAr: new FormControl(),\n });\n\n ngOnInit(): void {\n console.log(\"model\");\n console.log(this.modelObject);\n \n \n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'ProjectName', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' };\n this.sortableKeys = [\n { label: 'ProjectName', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' },\n ];\n this.loadData();\n console.log(this.ogData);\n //this.dataSorter.sortData('NameEn', this.ogData);\n }\n\n createForm(): FormGroup {\n return this.formBuilder.group({\n Id: [this.modelObject.Id >= 0 ? this.modelObject.Id : 0],\n NameEn: [this.modelObject.NameEn, Validators.compose([Validators.required, Validators.minLength(2)])],\n NameAr: [this.modelObject.NameAr, Validators.compose([Validators.required, Validators.pattern(/^[\\u0621-\\u064A]+([\\s]*[\\u0621-\\u064A]+)*$/)])],\n });\n }\n\n addObject() {\n //prevent multiclick submits. enable again after API response.\n this.currentAction = 'loading';\n\n this.modelObject = new ProjectModel();\n this.modelObject.Id = 0;\n this.modelObject.NameEn = this.mainForm.getRawValue().NameEn;\n this.modelObject.NameAr = this.mainForm.getRawValue().NameAr;\n\n\n this.executeAddObject();\n }\n\n executeAddObject(){\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n this.smallModal.hide();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n\n editObject() {\n this.savedPage = this.currentPage;\n this.currentAction = 'loading';\n\n let tempObj = new ProjectModel({\n Id: this.modelObject.Id,\n NameEn: this.mainForm.getRawValue().NameEn,\n NameAr: this.mainForm.getRawValue().NameAr,\n });\n \n if(tempObj != this.modelObject){\n this.executeEditObject(tempObj);\n }\n else{\n this.smallModal.hide();\n }\n }\n\n executeEditObject(Object)\n {\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n\n this.smallModal.hide();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as paraMetre if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject(){\n this.modelService.deleteList(this.deletionList).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.finalizeDeletion();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n \n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n lang: string;\n currentFormMode: string = '';\n currentAction: string = '';\n\n\n //ogData = [];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n\n SelectAllBox: any = false;\n\n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n itemOrder: any;\n orderAsc: boolean = true;\n\n currentPage = 1;\n savedPage = 0;\n\n\n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n\n loadData() {\n this.currentAction = 'loading';\n this.modelService.getAll().subscribe(\n data => {\n console.log(\"data:\");\n console.log(data);\n \n this.ogData = data;\n this.sortData();\n this.loadSearch();\n this.currentAction = '';\n }\n )\n \n }\n\n sortData() {\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n\n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n\n filterData() {\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n\n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n\n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n\n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n\n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n\n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n\n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n\n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n\n isSelected(p: ProjectModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n\n onSelect(item: ProjectModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n\n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n\n @ViewChild('smallModal') smallModal: ModalDirective;\n @ViewChild('delModal') delModal: ModalDirective;\n showAddNewModalRef(): void {\n this.currentFormMode = 'Add'\n this.modelObject = new ProjectModel;\n this.mainForm = this.createForm();\n this.smallModal.show();\n }\n\n showEditModalRef(Id: any): void {\n console.log(\"adsdasdasdas\");\n console.log(this.modelObject);\n console.log(this.ogData.find(i => i.Id === 2));\n \n this.currentFormMode = 'Edit'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.smallModal.show();\n }\n\n showInfoModalRef(Id: any): void {\n this.currentFormMode = 'Info'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.smallModal.show();\n }\n\n deletionList: ProjectModel[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n\n SearchTerm: any = '';\n\n\n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n\n this.deletionList = [];\n this.selected = [];\n\n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n\n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n\n loadAllData() {\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.loadSearch();\n }\n )\n }\n\n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n}\n","\n
    \n
    \n
    \n \n
    \n

    \n {{currentFormMode+translationName | translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"ProjectNameArRequired\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n {{\"ProjectNameEnRequired\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"ProjectName\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{lang==='ar-EG'?obj.NameAr:obj.NameEn}}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { saveAs } from 'file-saver';\nimport { PurchasesModel } from './purchases-model';\nimport { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { of } from 'rxjs';\nimport { SidePopupComponent } from 'src/app/views/app/aio/shared/side-popup/side-popup.component';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\nimport { DataFilterer } from 'src/app/views/app/aio/shared/DataFilterer';\nimport { DataSorter } from 'src/app/views/app/aio/shared/DataSorter';\nimport { DataPaginator } from 'src/app/views/app/aio/shared/DataPaginator';\nimport { InvoiceService } from '../invoices/InvoiceService';\nimport { InvoiceModel } from '../invoices/InvoiceModel';\nimport { environment } from 'src/environments/environment';\n\n\n\n@Component({\n selector: 'app-purchases',\n templateUrl: './purchases.component.html',\n styleUrls: ['./purchases.component.scss']\n})\nexport class PurchasesComponent {\n //IMPORTANT: ADD AND EDIT METHODS REMOVED\n //IMPORTANT: ADD AND EDIT METHODS REMOVED\n //IMPORTANT: ADD AND EDIT METHODS REMOVED\n //IMPORTANT: ADD AND EDIT METHODS REMOVED\n //IMPORTANT: ADD AND EDIT METHODS REMOVED\n //CTRL + F \"IMPORTANT\"\n //CTRL + F \"IMPORTANT\"\n //CTRL + F \"IMPORTANT\"\n //CTRL + F \"IMPORTANT\"\n //CTRL + F \"IMPORTANT\"\n \n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n constructor(private formBuilder: FormBuilder, private modelService: InvoiceService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService) {\n }\n currentScreen: any = 'Table';\n\n translationName: string = 'Invoice'\n\n sortableKeys = [];\n searchableKeys = ['Id'];\n \n modelObject: PurchasesModel = new InvoiceModel();\n ogData: PurchasesModel [] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n NameEn: new FormControl(),\n NameAr: new FormControl(),\n });\n\n ngOnInit(): void {\n console.log(\"model\");\n console.log(this.modelObject);\n \n \n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Id', property: 'Id' };\n this.sortableKeys = [\n { label: 'Id', property: 'Id' },\n ];\n this.loadData();\n console.log(this.ogData);\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as paraMetre if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject(){\n this.modelService.deleteList(this.deletionList).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.finalizeDeletion();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n \n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n lang: string;\n currentFormMode: string = '';\n currentAction: string = '';\n\n\n //ogData = [];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n\n SelectAllBox: any = false;\n\n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n itemOrder: any;\n orderAsc: boolean = true;\n\n currentPage = 1;\n savedPage = 0;\n\n\n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n\n loadData() {\n this.currentAction = 'loading';\n this.modelService.GetPurchases().subscribe(\n data => {\n console.log(\"data:\");\n console.log(data);\n \n this.ogData = data;\n this.sortData();\n }\n )\n \n }\n\n sortData() {\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n\n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n\n filterData() {\n debugger;\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n\n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n debugger;\n\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n\n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n\n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n\n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n\n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n\n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n\n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n\n isSelected(p: InvoiceModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n\n onSelect(item: InvoiceModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n\n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n\n @ViewChild('delModal') delModal: ModalDirective;\n showAddNewModalRef(): void {\n //IMPORTANT\n //REDIRECT TO ADD PAGE\n }\n\n showInfoModalRef(Id: any): void {\n //IMPORTANT\n //REDIRECT TO INFO PAGE\n }\n\n deletionList: InvoiceModel[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.uuid === Id);\n this.deletionList = [this.ogData.find(i => i.uuid === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n\n SearchTerm: any = '';\n\n\n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n\n this.deletionList = [];\n this.selected = [];\n\n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n\n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n\n loadAllData() {\n this.modelService.GetPurchases().subscribe(\n data => {\n this.ogData = data;\n this.loadSearch();\n }\n )\n }\n\n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n print(Id){\n debugger;\n this.modelService.printInvoicePurshases(Id)\n .subscribe(result =>{\n console.log(result);\n saveAs(`${environment.apiUrl}/Resources/Invoices/${result}`, 'report.pdf');\n // window.open(`${environment.apiUrl}/Resources/Invoices/${result}`, '_blank');\n // window.location.href =result\n // window.open(result, '_blank');\n // window.open(result);\n })\n }\n}\n","\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n \n \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"InvoiceNumber\" | translate}}\n \n
    \n {{\"issuerName\" | translate}}\n \n
    \n {{\"Total\" | translate}}\n \n
    \n {{\"InvoiceType\" | translate}}\n \n
    \n {{\"InvoiceStatus\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{obj.uuid}}{{obj.issuerName}}{{obj.total}}{{'Invoice'|translate}}{{'Debit Note'|translate}}{{'Credit Note'|translate}}\n {{obj.status | translate}}\n {{obj.status | translate}}\n {{obj.status | translate}}\n {{obj.status | translate}}\n {{obj.status | translate}}\n
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","export class StaffModel{\r\n Id?:number;\r\n NameAr?:string;\r\n NameEn?:string;\r\n Email?:string;\r\n Role?:string;\r\n constructor(obj?:StaffModel){\r\n obj = obj? obj:{};\r\n this.Id = obj.Id? obj.Id:0;\r\n this.NameAr = obj.NameAr? obj.NameAr:'';\r\n this.NameEn = obj.NameEn? obj.NameEn:'';\r\n this.Email = obj.Email? obj.Email:'';\r\n this.Role = obj.Role? obj.Role:'';\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { StaffModel } from './StaffModel';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StaffService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n CompanyId:number =+ localStorage.getItem(\"CompanyId\");\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Staff/GetAll/${this.CompanyId}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Staff/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: StaffModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}Staff/Insert/${this.CompanyId}`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: StaffModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}Staff/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: StaffModel): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}Staff/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: StaffModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}Staff/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { StaffService } from './StaffService';\nimport { StaffModel } from './StaffModel';\nimport { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { of } from 'rxjs';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\nimport { DataFilterer } from 'src/app/views/app/aio/shared/DataFilterer';\nimport { DataSorter } from 'src/app/views/app/aio/shared/DataSorter';\nimport { DataPaginator } from 'src/app/views/app/aio/shared/DataPaginator';\n\n@Component({\n selector: 'app-staff',\n templateUrl: './staff.component.html',\n styleUrls: ['./staff.component.scss']\n})\nexport class StaffComponent {\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n constructor(private formBuilder: FormBuilder, private modelService: StaffService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService) {\n }\n currentScreen: any = 'Table';\n\n translationName: string = 'Staff'\n\n sortableKeys = [];\n searchableKeys = ['NameEn', 'NameAr', 'Email', 'Role'];\n \n modelObject: StaffModel = new StaffModel();\n ogData: StaffModel [] = [ ];\n // ogData: StaffModel [] = [ \n // {Id:5, NameAr:'كمال', NameEn:'Kamal', Email:\"Kamal@gmail.com\", Role:'Developer'}, \n // {Id:1, NameAr:'محسن', NameEn:'Mohsen', Email:\"Mohsen@gmail.com\", Role:'Developer'},\n // {Id:2, NameAr:'محمد حليمة', NameEn:'Mohamad Haleema', Email:\"Haleema@gmail.com\", Role:'Developer'},\n // {Id:3, NameAr:'شافعون', NameEn:'Shaf3oon', Email:\"Shaf3oon@gmail.com\", Role:'Sales'}, \n // {Id:4, NameAr:'أيمن', NameEn:'Ayman', Email:\"Ayman@gmail.com\", Role:'Exports'} \n // ];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n NameEn: new FormControl(),\n NameAr: new FormControl(),\n Email: new FormControl(),\n Role: new FormControl(),\n });\n\n ngOnInit(): void {\n console.log(\"model\");\n console.log(this.modelObject);\n \n \n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'StaffName', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' };\n this.sortableKeys = [\n { label: 'StaffName', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' },\n { label: 'StaffEmail', property: 'Email' },\n { label: 'StaffRole', property: 'Role' },\n ];\n this.loadData();\n console.log(this.ogData);\n //this.dataSorter.sortData('NameEn', this.ogData);\n }\n\n createForm(): FormGroup {\n return this.formBuilder.group({\n Id: [this.modelObject.Id >= 0 ? this.modelObject.Id : 0],\n NameEn: [this.modelObject.NameEn, Validators.compose([Validators.required, Validators.minLength(2)])],\n NameAr: [this.modelObject.NameAr, Validators.compose([Validators.required, Validators.pattern(/^[\\u0621-\\u064A]+([\\s]*[\\u0621-\\u064A]+)*$/)])],\n Email: [this.modelObject.Email, Validators.compose([Validators.required, Validators.email])],\n Role: [this.modelObject.Role, Validators.compose([Validators.required, Validators.minLength(2)])],\n });\n }\n\n addObject() {\n //prevent multiclick submits. enable again after API response.\n this.currentAction = 'loading';\n\n this.modelObject = new StaffModel();\n this.modelObject.Id = 0;\n this.modelObject.NameEn = this.mainForm.getRawValue().NameEn;\n this.modelObject.NameAr = this.mainForm.getRawValue().NameAr;\n this.modelObject.Email = this.mainForm.getRawValue().Email;\n this.modelObject.Role = this.mainForm.getRawValue().Role;\n\n\n this.executeAddObject();\n }\n\n executeAddObject(){\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n this.smallModal.hide();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n\n editObject() {\n this.savedPage = this.currentPage;\n this.currentAction = 'loading';\n\n let tempObj = new StaffModel({\n Id: this.modelObject.Id,\n NameEn: this.mainForm.getRawValue().NameEn,\n NameAr: this.mainForm.getRawValue().NameAr,\n Email: this.mainForm.getRawValue().Email,\n Role: this.mainForm.getRawValue().Role,\n });\n \n if(tempObj != this.modelObject){\n this.executeEditObject(tempObj);\n }\n else{\n this.smallModal.hide();\n }\n }\n\n executeEditObject(Object)\n {\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n\n this.smallModal.hide();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as paraMetre if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject(){\n this.modelService.deleteList(this.deletionList).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.finalizeDeletion();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n \n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n lang: string;\n currentFormMode: string = '';\n currentAction: string = '';\n\n\n //ogData = [];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n\n SelectAllBox: any = false;\n\n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n itemOrder: any;\n orderAsc: boolean = true;\n\n currentPage = 1;\n savedPage = 0;\n\n\n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n\n loadData() {\n this.currentAction = 'loading';\n this.modelService.getAll().subscribe(\n data => {\n console.log(\"data:\");\n console.log(data);\n \n this.ogData = data;\n this.sortData();\n this.loadSearch();\n this.currentAction = '';\n }\n )\n \n }\n\n sortData() {\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n\n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n\n filterData() {\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n\n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n\n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n\n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n\n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n\n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n\n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n\n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n\n isSelected(p: StaffModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n\n onSelect(item: StaffModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n\n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n\n @ViewChild('smallModal') smallModal: ModalDirective;\n @ViewChild('delModal') delModal: ModalDirective;\n showAddNewModalRef(): void {\n this.currentFormMode = 'Add'\n this.modelObject = new StaffModel;\n this.mainForm = this.createForm();\n this.smallModal.show();\n }\n\n showEditModalRef(Id: any): void {\n console.log(\"adsdasdasdas\");\n console.log(this.modelObject);\n console.log(this.ogData.find(i => i.Id === 2));\n \n this.currentFormMode = 'Edit'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.smallModal.show();\n }\n\n showInfoModalRef(Id: any): void {\n this.currentFormMode = 'Info'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.smallModal.show();\n }\n\n deletionList: StaffModel[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n\n SearchTerm: any = '';\n\n\n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n\n this.deletionList = [];\n this.selected = [];\n\n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n\n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n\n loadAllData() {\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.loadSearch();\n }\n )\n }\n\n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n}\n","\n
    \n
    \n
    \n \n
    \n

    \n {{currentFormMode+translationName | translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"StaffNameArRequired\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n {{\"StaffNameEnRequired\" | translate}}
    \n \n
    \n \n
    \n \n \n \n
    \n {{\"StaffEmailRequired\" | translate}}
    \n \n
    \n \n
    \n \n \n \n
    \n {{\"StaffRoleRequired\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"StaffName\" | translate}}\n \n
    \n {{\"StaffEmail\" | translate}}\n \n
    \n {{\"StaffRole\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{lang==='ar-EG'?obj.NameAr:obj.NameEn}}{{obj.Email}}{{obj.Role}}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { Component, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { InvoceExpensesModel } from '../model/expensesItemModel'\nimport { GetProject } from '../serves/project_serves'\n\nimport { ProjectModel } from '../model/projectModel'\nimport { SuppliersModel } from '../model/suppliersModel'\nimport { GetSupplier } from '../serves/suppliers_serves'\nimport { PostExpensesItemServes } from '../serves/expenses_item_serves'\nimport { GetExpensesCategory } from '../serves/expensesCategory'\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { ActivatedRoute, Params } from '@angular/router';\nimport { DatePipe } from '@angular/common';\n\n@Component({\n // moduleId: module.id,\n selector: 'add-expenses-and-purchases',\n templateUrl: 'add-expenses-and-purchases.component.html',\n styleUrls: ['add-expenses-and-purchases.component.scss']\n})\nexport class AddExpensesAndPurchasesComponent {\n expensesTypeList: any[] = [];\n projectList: ProjectModel[] = [];\n SuppliersList: SuppliersModel[] = [];\n expensesModel: InvoceExpensesModel;\n ExpensesForm: FormGroup;\n itemId:number;\n modelState:string;\n expensesList: InvoceExpensesModel[] = [];\n expensesItem: InvoceExpensesModel;\n titleButton: String = \"\";\n\n constructor(private activatedRoute: ActivatedRoute, private modelService: PostExpensesItemServes, public notifications: NotificationsService, private translate: TranslateService, supplierServes: GetSupplier, expensesCategoryServes: GetExpensesCategory, getProjectServes: GetProject, private postExpenses: PostExpensesItemServes) {\n this.activatedRoute.params.subscribe((params: Params) => {\n this.modelState = params['state'];\n this.itemId = +params['id'];\n });\n supplierServes.getAll().subscribe(\n item => {\n this.SuppliersList = item;\n }\n );\n expensesCategoryServes.getAll().subscribe(\n item => {\n this.expensesTypeList = item;\n }\n );\n getProjectServes.getAll().subscribe(\n item => {\n this.projectList = item;\n }\n );\n }\n ngOnInit() {\n if (this.modelState == \"Add\") {\n this.titleButton = \"wizard.save\";\n } else {\n this.titleButton = \"update\";\n }\n if (this.modelState != \"Add\") {\n this.modelService.getAll().subscribe(\n data => {\n this.expensesList = data;\n var index = this.expensesList.findIndex(index => index.Id == +this.itemId);\n if (index > -1) {\n this.expensesItem = this.expensesList[+index];\n this.LoadCase();\n }\n }\n )\n } else {\n this.LoadCase();\n }\n }\n LoadCase() {\n switch (this.modelState) {\n case 'Edit': {\n this.EditForm();\n break;\n }\n case 'Show': {\n this.ShowForm();\n break;\n }\n default: {\n this.AddForm();\n break;\n }\n }\n }\n AddForm() {\n this.ExpensesForm = new FormGroup({\n NameArInputForm: new FormControl(null, Validators.required,),\n NameEnInputForm: new FormControl(null, Validators.required,),\n QuantityInputForm: new FormControl(null, Validators.required,),\n PriceInputForm: new FormControl(null, Validators.required,),\n checkboxInputForm: new FormControl(false),\n DescriptionArInputForm: new FormControl(null, Validators.required,),\n DescriptionEnInputForm: new FormControl(null, Validators.required,),\n DateInputForm: new FormControl(null, Validators.required,),\n expensesTypeDropdwon: new FormControl(null, Validators.required,),\n projectDropdwon: new FormControl(null, Validators.required,),\n SuppliersDropdwon: new FormControl(null, Validators.required,),\n })\n }\n\n EditForm() {\n const datepipe: DatePipe = new DatePipe('en-US')\n let formattedDate = datepipe.transform(this.expensesItem.Date, \"yyyy-MM-dd\");\n this.ExpensesForm = new FormGroup({\n NameArInputForm: new FormControl(this.expensesItem.NameAr, Validators.required,),\n NameEnInputForm: new FormControl(this.expensesItem.NameEn, Validators.required,),\n QuantityInputForm: new FormControl(this.expensesItem.Quantity, Validators.required,),\n PriceInputForm: new FormControl(this.expensesItem.UnitPrice, Validators.required,),\n checkboxInputForm: new FormControl(this.expensesItem.CostOfMerchandise),\n DescriptionArInputForm: new FormControl(this.expensesItem.DescriptionAr, Validators.required,),\n DescriptionEnInputForm: new FormControl(this.expensesItem.DescriptionEn, Validators.required,),\n DateInputForm: new FormControl(formattedDate, Validators.required,),\n expensesTypeDropdwon: new FormControl(this.expensesItem.CategoryId, Validators.required,),\n projectDropdwon: new FormControl(this.expensesItem.ProjectId, Validators.required,),\n SuppliersDropdwon: new FormControl(this.expensesItem.SupplierId, Validators.required,),\n })\n }\n\n ShowForm() {\n const datepipe: DatePipe = new DatePipe('en-US')\n let formattedDate = datepipe.transform(this.expensesItem.Date, \"yyyy-MM-dd\");\n this.ExpensesForm = new FormGroup({\n NameArInputForm: new FormControl({ value: this.expensesItem.NameAr, disabled: true }),\n NameEnInputForm: new FormControl({ value: this.expensesItem.NameEn, disabled: true }),\n QuantityInputForm: new FormControl({ value: this.expensesItem.Quantity, disabled: true }),\n PriceInputForm: new FormControl({ value: this.expensesItem.UnitPrice, disabled: true }),\n checkboxInputForm: new FormControl({ value: this.expensesItem.CostOfMerchandise, disabled: true }),\n DescriptionArInputForm: new FormControl({ value: this.expensesItem.DescriptionAr, disabled: true }),\n DescriptionEnInputForm: new FormControl({ value: this.expensesItem.DescriptionEn, disabled: true }),\n DateInputForm: new FormControl({ value: formattedDate, disabled: true }),\n expensesTypeDropdwon: new FormControl({ value: this.expensesItem.CategoryId, disabled: true }),\n projectDropdwon: new FormControl({ value: this.expensesItem.ProjectId, disabled: true }),\n SuppliersDropdwon: new FormControl({ value: this.expensesItem.SupplierId, disabled: true }),\n })\n }\n\n onClick() {\n if (this.modelState == \"Add\") {\n this.Save();\n } else {\n this.Update();\n }\n }\n\n Save() {\n this.onWarning();\n var expensesForm = this.ExpensesForm.getRawValue();\n var invoceExpensesModel = new InvoceExpensesModel;\n invoceExpensesModel.Id = 0;\n invoceExpensesModel.NameAr = expensesForm.NameArInputForm;\n invoceExpensesModel.NameEn = expensesForm.NameEnInputForm;\n invoceExpensesModel.Quantity = expensesForm.QuantityInputForm;\n invoceExpensesModel.UnitPrice = expensesForm.PriceInputForm;\n invoceExpensesModel.CostOfMerchandise = expensesForm.checkboxInputForm;\n invoceExpensesModel.DescriptionAr = expensesForm.DescriptionArInputForm;\n invoceExpensesModel.DescriptionEn = expensesForm.DescriptionEnInputForm;\n invoceExpensesModel.Date = expensesForm.DateInputForm;\n invoceExpensesModel.CategoryId = expensesForm.expensesTypeDropdwon;\n invoceExpensesModel.ProjectId = expensesForm.projectDropdwon;\n invoceExpensesModel.SupplierId = expensesForm.SuppliersDropdwon;\n invoceExpensesModel.TotalPrice = expensesForm.QuantityInputForm * expensesForm.PriceInputForm;\n this.postExpenses.postData(invoceExpensesModel).subscribe(\n result => {\n if (result) {\n this.onSuccess();\n } else {\n this.onError();\n }\n }\n )\n\n }\n\n Update() {\n this.onWarning();\n var expensesForm = this.ExpensesForm.getRawValue();\n var invoceExpensesModel = new InvoceExpensesModel;\n invoceExpensesModel.Id = +this.itemId;\n invoceExpensesModel.NameAr = expensesForm.NameArInputForm;\n invoceExpensesModel.NameEn = expensesForm.NameEnInputForm;\n invoceExpensesModel.Quantity = expensesForm.QuantityInputForm;\n invoceExpensesModel.UnitPrice = expensesForm.PriceInputForm;\n invoceExpensesModel.CostOfMerchandise = expensesForm.checkboxInputForm;\n invoceExpensesModel.DescriptionAr = expensesForm.DescriptionArInputForm;\n invoceExpensesModel.DescriptionEn = expensesForm.DescriptionEnInputForm;\n invoceExpensesModel.Date = expensesForm.DateInputForm;\n invoceExpensesModel.CategoryId = expensesForm.expensesTypeDropdwon;\n invoceExpensesModel.ProjectId = expensesForm.projectDropdwon;\n invoceExpensesModel.SupplierId = expensesForm.SuppliersDropdwon;\n invoceExpensesModel.TotalPrice = expensesForm.QuantityInputForm * expensesForm.PriceInputForm;\n this.postExpenses.update(invoceExpensesModel).subscribe(\n result => {\n if (result) {\n console.log(\"Succsess\");\n this.onSuccess();\n } else {\n this.onError();\n }\n }\n )\n\n }\n\n onWarning(): void {\n\n this.notifications.create(this.translate.instant('Wait'),\n this.translate.instant('Action processing '),\n NotificationType.Warn, { timeOut: 3000, showProgressBar: true });\n }\n\n onError(): void {\n this.notifications.create(this.translate.instant('Error'),\n this.translate.instant('Something wrong'),\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n\n onSuccess(): void {\n\n this.notifications.create(this.translate.instant('Success'),\n this.translate.instant('Action Success'),\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n\n\n}\n","\n\n
    \n
    \n
    \n

    {{ 'Expenses_And_Purchases_Header' | translate }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n\n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n\n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n {{' '}}\n\n
    \n
    \n \n \n
    \n","import { Component, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { SupplierTypeModel } from '../model/supplierTypeModel'\nimport { SuppliersModel } from '../model/suppliersModel'\nimport { CountryServes } from '../serves/countryServes'\n\nimport { CityModel } from '../model/citymodel'\nimport { CountryModel } from '../model/countrymodel'\nimport { CityServes } from '../serves/cityServes'\nimport { GetSupplier } from '../serves/suppliers_serves'\nimport { GetExpensesCategory } from '../serves/expensesCategory'\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { ActivatedRoute, Params, Router } from '@angular/router';\nimport { DatePipe } from '@angular/common';\n\n\n@Component({\n // moduleId: module.id,\n selector: 'add-suppliers',\n templateUrl: 'add-suppliers.component.html',\n styleUrls: ['add-suppliers.component.scss']\n})\nexport class AddSuppliersComponent {\n supplierTypeModel: SupplierTypeModel[] = [{Id:\"b\",NameAr:\"شركة\",NameEn:\"Bussines\"},{Id:\"p\",NameAr:\"فرد\",NameEn:\"Person\"},{Id:\"f\",NameAr:\"أجنبي\",NameEn:\"Foreign\"}];\n CityList: CityModel[] = [];\n CountryList: CountryModel[] = [];\n SuppliersModel: SuppliersModel;\n ExpensesForm: FormGroup;\n itemId:number;\n modelState:string;\n SuppliersList: SuppliersModel[] = [];\n SuppliersItem: SuppliersModel;\n titleButton: String = \"\";\n \n constructor(private router:Router, private activatedRoute: ActivatedRoute, public notifications: NotificationsService, private translate: TranslateService, cityServes: CityServes, expensesCategoryServes: GetExpensesCategory, countryServes: CountryServes, private GetSupplier: GetSupplier) {\n this.activatedRoute.params.subscribe((params: Params) => {\n this.modelState = params['state'];\n this.itemId = +params['id'];\n }); \n cityServes.getAll().subscribe(\n item => {\n this.CityList = item;\n }\n );\n \n countryServes.getAll().subscribe(\n item => {\n this.CountryList = item;\n }\n );\n }\n ngOnInit() {\n if (this.modelState == \"Add\") {\n this.titleButton = \"wizard.save\";\n } else {\n this.titleButton = \"update\";\n }\n if (this.modelState != \"Add\") {\n this.GetSupplier.getAll().subscribe(\n data => {\n this.SuppliersList = data;\n var index = this.SuppliersList.findIndex(index => index.Id == +this.itemId);\n if (index > -1) {\n this.SuppliersItem = this.SuppliersList[+index];\n this.LoadCase();\n }\n }\n )\n } else {\n this.LoadCase();\n }\n }\n LoadCase() {\n switch (this.modelState) {\n case 'Edit': {\n this.EditForm();\n break;\n }\n case 'Show': {\n this.ShowForm();\n break;\n }\n default: {\n this.AddForm();\n break;\n }\n }\n }\n AddForm() {\n this.ExpensesForm = new FormGroup({\n NameArInputForm: new FormControl(null, Validators.required,),\n NameEnInputForm: new FormControl(null, Validators.required,),\n AddressInputForm: new FormControl(null, Validators.required,),\n PhoneInputForm: new FormControl(null, Validators.required,),\n PostalCodeInputForm: new FormControl(null, Validators.required,),\n CountryIdDropdwon: new FormControl(null),\n CitiyNameDropdwon: new FormControl(null),\n SupplierTypeDropdwon: new FormControl(null, Validators.required,),\n })\n }\n\n EditForm() {\n\n this.ExpensesForm = new FormGroup({\n NameArInputForm: new FormControl(this.SuppliersItem.NameAr, Validators.required,),\n NameEnInputForm: new FormControl(this.SuppliersItem.NameEn, Validators.required,),\n AddressInputForm: new FormControl(this.SuppliersItem.Address, Validators.required,),\n PhoneInputForm: new FormControl(this.SuppliersItem.Phone, Validators.required,),\n PostalCodeInputForm: new FormControl(this.SuppliersItem.PostalCode, Validators.required,),\n CountryIdDropdwon: new FormControl(this.SuppliersItem.CountryId, Validators.required,),\n CitiyNameDropdwon: new FormControl(this.SuppliersItem.CityId, Validators.required,),\n SupplierTypeDropdwon: new FormControl(this.SuppliersItem.SupplierType, Validators.required,),\n })\n }\n\n ShowForm() {\n\n this.ExpensesForm = new FormGroup({\n NameArInputForm: new FormControl({ value: this.SuppliersItem.NameAr, disabled: true }),\n NameEnInputForm: new FormControl({ value: this.SuppliersItem.NameEn, disabled: true }),\n AddressInputForm: new FormControl({ value: this.SuppliersItem.Address, disabled: true }),\n PhoneInputForm: new FormControl({ value: this.SuppliersItem.Phone, disabled: true }),\n PostalCodeInputForm: new FormControl({ value: this.SuppliersItem.PostalCode, disabled: true }),\n CountryIdDropdwon: new FormControl({ value: this.SuppliersItem.CountryId, disabled: true }),\n CitiyNameDropdwon: new FormControl({ value: this.SuppliersItem.CityId, disabled: true }),\n SupplierTypeDropdwon: new FormControl({ value: this.SuppliersItem.SupplierType, disabled: true }),\n })\n }\n\n onClick() {\n if (this.modelState == \"Add\") {\n this.Save();\n } else {\n this.Update();\n }\n }\n\n Save() {\n // this.onWarning();\n debugger;\n var expensesForm = this.ExpensesForm.getRawValue();\n var suppliModel = new SuppliersModel;\n suppliModel.Id = 0;\n suppliModel.NameAr = expensesForm.NameArInputForm;\n suppliModel.NameEn = expensesForm.NameEnInputForm;\n suppliModel.Address = expensesForm.AddressInputForm;\n suppliModel.Phone = expensesForm.PhoneInputForm;\n suppliModel.PostalCode = expensesForm.PostalCodeInputForm;\n suppliModel.CountryId = expensesForm.CountryIdDropdwon;\n \n \n suppliModel.CityId = expensesForm.CitiyNameDropdwon;\n console.log( \"suppliModel.CitiyName\",suppliModel.CitiyName);\n suppliModel.SupplierType = expensesForm.SupplierTypeDropdwon;\n console.log(\"suppliModel\",suppliModel);\n \n this.GetSupplier.insert(suppliModel).subscribe(\n result => {\n if (result) {\n this.onSuccess();\n this.router.navigate(['../app/aio/Purchases/Vendors'])\n\n } else {\n this.onError();\n\n }\n }\n )\n\n }\n\n Update() {\n // this.onWarning();\n var expensesForm = this.ExpensesForm.getRawValue();\n var suppliModel = new SuppliersModel;\n suppliModel.Id = +this.itemId;\n suppliModel.NameAr = expensesForm.NameArInputForm;\n suppliModel.NameEn = expensesForm.NameEnInputForm;\n suppliModel.Address = expensesForm.AddressInputForm;\n suppliModel.Phone = expensesForm.PhoneInputForm;\n suppliModel.PostalCode = expensesForm.PostalCodeInputForm;\n suppliModel.CountryId = expensesForm.CountryIdDropdwon;\n suppliModel.CityId = expensesForm.CitiyNameDropdwon;\n suppliModel.SupplierType = expensesForm.SupplierTypeDropdwon;\n console.log(\"suppliModel\",suppliModel);\n\n this.GetSupplier.update(suppliModel).subscribe(\n result => {\n if (result) {\n console.log(\"Succsess\");\n this.onSuccess();\n this.router.navigate(['../app/aio/Purchases/Vendors'])\n\n\n } else {\n this.onError();\n\n }\n }\n \n )\n\n }\n\n onWarning(): void {\n\n this.notifications.create(this.translate.instant('Wait'),\n this.translate.instant('Action processing '),\n NotificationType.Warn, { timeOut: 3000, showProgressBar: true });\n }\n\n onError(): void {\n this.notifications.create(this.translate.instant('Error'),\n this.translate.instant('Something wrong'),\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n\n onSuccess(): void {\n\n this.notifications.create(this.translate.instant('Success'),\n this.translate.instant('Action Success'),\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n\n\n}\n","\n\n\n
    \n
    \n
    \n

    {{ 'Suppliers' | translate }}

    \n
    \n
    \n
    \n \n \n \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n\n
    \n \n
    \n
    \n {{' '}}\n\n
    \n
    \n \n \n
    \n","import { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { of } from 'rxjs';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\nimport {GetExpensesCategory} from '../serves/expensesCategory'\nimport { DataFilterer } from 'src/app/views/app/aio/shared/DataFilterer';\nimport { DataSorter } from 'src/app/views/app/aio/shared/DataSorter';\nimport { DataPaginator } from 'src/app/views/app/aio/shared/DataPaginator';\n\n@Component({\n // moduleId: module.id,\n selector: 'expens-category',\n templateUrl: 'expens-category.component.html',\n styleUrls: ['expens-category.component.scss']\n})\nexport class ExpensCategoryComponent{\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n constructor(private formBuilder: FormBuilder, private modelService: GetExpensesCategory, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService) {\n }\n\n translationName: string = 'ExpensesCategory'\n\n sortableKeys = [];\n searchableKeys = ['NameEn', 'NameAr'];\n\n ogData: any [] = [];\n modelObject: any ;\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n NameEn: new FormControl(),\n NameAr: new FormControl(),\n });\n\n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'ExpensCategoryName', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' };\n this.sortableKeys = [\n { label: 'ExpensCategoryName', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' },\n ];\n this.loadData();\n //this.dataSorter.sortData('NameEn', this.ogData);\n }\n\n createForm(): FormGroup {\n return this.formBuilder.group({\n Id: [this.modelObject.Id >= 0 ? this.modelObject.Id : 0],\n NameEn: [this.modelObject.NameEn, Validators.compose([Validators.required, Validators.minLength(2)])],\n NameAr: [this.modelObject.NameAr, Validators.compose([Validators.required, Validators.pattern(/^[\\u0621-\\u064A]+([\\s]*[\\u0621-\\u064A]+)*$/)])],\n });\n }\n\n addObject() {\n //prevent multiclick submits. enable again after API response.\n this.currentAction = 'loading';\n\n // this.modelObject = new ExpensesTypeModel();\n this.modelObject.Id = 0;\n this.modelObject.NameEn = this.mainForm.getRawValue().NameEn;\n this.modelObject.NameAr = this.mainForm.getRawValue().NameAr;\n\n this.executeAddObject();\n }\n\n executeAddObject(){\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n this.smallModal.hide();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n }\n })\n }\n\n editObject() {\n this.savedPage = this.currentPage;\n\n let tempObj = {\n Id: this.modelObject.Id,\n NameEn: this.mainForm.getRawValue().NameEn,\n NameAr: this.mainForm.getRawValue().NameAr,\n };\n this.executeEditObject(tempObj);\n }\n\n executeEditObject(Object)\n {\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n\n this.smallModal.hide();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject(){\n this.modelService.deleteList(this.deletionList).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.finalizeDeletion();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n\n \n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n lang: string;\n currentFormMode: string = '';\n currentAction: string = '';\n\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n\n SelectAllBox: any = false;\n\n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n itemOrder: any;\n orderAsc: boolean = true;\n\n currentPage = 1;\n savedPage = 0;\n\n\n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n\n loadData() {\n //this.sortData();\n this.currentAction = 'loading';\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.sortData();\n this.loadSearch();\n this.currentAction = '';\n }\n )\n }\n\n sortData() {\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n\n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n\n filterData() {\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n\n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n\n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n\n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n\n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n\n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n\n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n\n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n\n isSelected(p: any): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n\n onSelect(item: any): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n\n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n\n @ViewChild('smallModal') smallModal: ModalDirective;\n @ViewChild('delModal') delModal: ModalDirective;\n showAddNewModalRef(): void {\n this.currentFormMode = 'Add'\n this.modelObject = {};\n this.mainForm = this.createForm();\n this.smallModal.show();\n }\n\n showEditModalRef(Id: any): void {\n this.currentFormMode = 'Edit'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.smallModal.show();\n }\n\n showInfoModalRef(Id: any): void {\n this.currentFormMode = 'Info'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.smallModal.show();\n }\n\n deletionList: any[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n\n SearchTerm: any = '';\n\n\n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n\n this.deletionList = [];\n this.selected = [];\n\n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n\n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n\n loadAllData() {\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.loadSearch();\n }\n )\n }\n\n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n}\n","\n
    \n
    \n
    \n \n
    \n

    \n {{currentFormMode+translationName | translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"ExpensCategoryNameArRequired\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n {{\"ExpensCategoryNameEnRequired\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Name\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{lang==='ar-EG'?obj.NameAr:obj.NameEn}}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { of } from 'rxjs';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\n\n\nimport { InvoceExpensesModel } from '../model/expensesItemModel'\nimport {PostExpensesItemServes} from '../serves/expenses_item_serves'\nimport {GetSupplier} from '../serves/suppliers_serves'\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { SuppliersModel } from '../model/suppliersModel';\nimport { ProjectModel } from '../model/projectModel';\nimport { GetProject } from '../serves/project_serves';\nimport { GetExpensesCategory } from '../serves/expensesCategory';\nimport { DataFilterer } from 'src/app/views/app/aio/shared/DataFilterer';\nimport { DataSorter } from 'src/app/views/app/aio/shared/DataSorter';\nimport { DataPaginator } from 'src/app/views/app/aio/shared/DataPaginator';\n\n@Component({\n // moduleId: module.id,\n selector: 'expenses-and-purchases',\n templateUrl: 'expenses-and-purchases.component.html',\n styleUrls: ['expenses-and-purchases.component.scss']\n})\nexport class ExpensesAndPurchasesComponent{\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n constructor( private expensesCategoryServes: GetExpensesCategory, private router: Router, private GetSupplierServes: GetSupplier,private getProjectServes: GetProject ,private formBuilder: FormBuilder, private modelService: PostExpensesItemServes, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService) {\n }\n\n translationName: string = 'Expenses'\n\n sortableKeys = [];\n searchableKeys = ['NameEn', 'NameAr'];\n expensesTypeList: any[] = [];\n\n ogData: InvoceExpensesModel [] = [];\n modelObject: InvoceExpensesModel = new InvoceExpensesModel({});\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n NameEn: new FormControl(),\n NameAr: new FormControl(),\n });\n\n ngOnInit(): void {\n this.GetSupplierServes.getAll().subscribe(\n data=>{\n this.SuppliersList=data;\n }\n ),\n this.getProjectServes.getAll().subscribe(\n data=>{\n this.projectList=data;\n console.log(\"this.projectList\",this.projectList);\n \n }\n )\n this.expensesCategoryServes.getAll().subscribe(\n item => {\n this.expensesTypeList = item;\n }\n );\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Expenses', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' };\n this.sortableKeys = [\n { label: 'Expenses', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' },\n ];\n this.loadData();\n //this.dataSorter.sortData('NameEn', this.ogData);\n }\n\n // createForm(): FormGroup {\n // return this.formBuilder.group({\n // Id: [this.modelObject.Id >= 0 ? this.modelObject.Id : 0],\n // NameEn: [this.modelObject.NameEn, Validators.compose([Validators.required, Validators.minLength(2)])],\n // NameAr: [this.modelObject.NameAr, Validators.compose([Validators.required, Validators.pattern(/^[\\u0621-\\u064A]+([\\s]*[\\u0621-\\u064A]+)*$/)])],\n // });\n // }\n\n // addObject() {\n // //prevent multiclick submits. enable again after API response.\n // this.currentAction = 'loading';\n\n // this.modelObject = new InvoceExpensesModel();\n // this.modelObject.Id = 0;\n // this.modelObject.NameEn = this.mainForm.getRawValue().NameEn;\n // this.modelObject.NameAr = this.mainForm.getRawValue().NameAr;\n // this.modelObject.Date = this.mainForm.getRawValue().Date;\n // this.modelObject.TotalPrice = this.mainForm.getRawValue().TotalPrice;\n // this.modelObject.CostOfMerchandise = this.mainForm.getRawValue().CostOfMerchandise;\n // this.modelObject.SupplierName = this.mainForm.getRawValue().SupplierName;\n // this.modelObject.ExpensesCategoryName = this.mainForm.getRawValue().ExpensesCategoryName;\n // this.modelObject.ProjectName = this.mainForm.getRawValue().ProjectName;\n // this.modelObject.TotalPrice = this.mainForm.getRawValue().TotalPrice;\n // this.modelObject.CostOfMerchandise = this.mainForm.getRawValue().CostOfMerchandise;\n // this.executeAddObject();\n // }\n\n // executeAddObject(){\n // this.modelService.insert(this.modelObject).subscribe(result => {\n // if (result === true) {\n // this.loadData();\n // this.currentAction = '';\n // this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n // this.smallModal.hide();\n // }\n // else {\n // this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n // }\n // })\n // }\n\n // editObject() {\n // this.savedPage = this.currentPage;\n\n // let tempObj = new InvoceExpensesModel({\n // Id: this.modelObject.Id,\n // NameEn: this.mainForm.getRawValue().NameEn,\n // NameAr: this.mainForm.getRawValue().NameAr,\n // });\n // this.executeEditObject(tempObj);\n // }\n\n // executeEditObject(Object)\n // {\n // this.modelService.update(Object).subscribe(result => {\n // if (result === true) {\n // this.loadData();\n // this.currentAction = '';\n // this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n\n // this.smallModal.hide();\n // }\n // else {\n // this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n // }\n // })\n // }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject(){\n this.modelService.deleteList(this.deletionList).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.finalizeDeletion();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n SuppliersList: SuppliersModel[] = [];\n projectList: ProjectModel[] = [];\n\n onClick(){\n this.router.navigate( ['app/invoices/Supplier/Create-ExpensesAndPurchasesComponent/Add/0']);\n}\nfindByCode(list: any, Id: any): any {\n return list.find(x => x.Id === Id)\n}\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n lang: string;\n currentFormMode: string = '';\n currentAction: string = '';\n\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n\n SelectAllBox: any = false;\n\n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n itemOrder: any;\n orderAsc: boolean = true;\n\n currentPage = 1;\n savedPage = 0;\n\n\n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n\n loadData() {\n //this.sortData();\n \n this.currentAction = 'loading';\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n //////////////////////////////////////\n this.ogData.forEach(\n item=>{\n item.SupplierName= this.lang==='ar-EG'?this.findByCode(this.SuppliersList,item.SupplierId).NameAr:this.findByCode(this.SuppliersList,item.SupplierId).NameEn\n item.ProjectName= this.lang==='ar-EG'?this.findByCode(this.projectList,item.ProjectId).NameAr:this.findByCode(this.projectList,item.ProjectId).NameEn\n item.ExpensesCategoryName= this.lang==='ar-EG'?this.findByCode(this.expensesTypeList,item.CategoryId).NameAr:this.findByCode(this.expensesTypeList,item.CategoryId).NameEn\n }\n )\n \n\n this.sortData();\n this.loadSearch();\n this.currentAction = '';\n }\n )\n }\n\n sortData() {\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n\n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n\n filterData() {\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n\n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n\n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n\n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n\n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n\n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n\n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n\n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n\n isSelected(p: any): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n\n onSelect(item: any): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n\n // @ViewChild('smallModal') smallModal: ModalDirective;\n @ViewChild('delModal') delModal: ModalDirective;\n // showAddNewModalRef(): void {\n // this.currentFormMode = 'Add'\n // this.modelObject = new InvoceExpensesModel();\n // this.mainForm = this.createForm();\n // this.smallModal.show();\n // }\n\n showEditModalRef(Id: any): void {\n this.currentFormMode = 'Edit'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n // this.mainForm = this.createForm();\n // this.smallModal.show();\n }\n\n // showInfoModalRef(Id: any): void {\n // this.currentFormMode = 'Info'\n // this.modelObject = this.ogData.find(i => i.Id === Id);\n // of(this.modelObject).subscribe(data => {\n // this.modelObject = data;\n // })\n // this.mainForm = this.createForm();\n // this.smallModal.show();\n // }\n\n deletionList: InvoceExpensesModel[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n\n SearchTerm: any = '';\n\n\n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n\n this.deletionList = [];\n this.selected = [];\n\n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n\n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n\n loadAllData() {\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.loadSearch();\n }\n )\n }\n\n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n}\n","\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Name\" | translate}}\n \n
    \n {{\"Date\" | translate}}\n \n
    \n {{\"Total Price\" | translate}}\n \n
    \n {{\"CostOfMerchandise\" | translate}}\n \n
    \n {{\"Suppliers\" | translate}}\n \n
    \n {{\"expensesType\" | translate}}\n \n
    \n {{\"projects-management\" | translate}}\n \n
    \n {{\"Quantity\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{lang==='ar-EG'?obj.NameAr:obj.NameEn}}{{obj.Date}}{{obj.TotalPrice}}{{obj.CostOfMerchandise}}{{obj.SupplierName}}{{obj.ExpensesCategoryName}}{{obj.ProjectName}}{{obj.Quantity}}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","\r\nexport class InvoceExpensesModel{\r\n Id?: number;\r\n SupplierId?: number;\r\n CategoryId?: number;\r\n ProjectId?: number;\r\n Quantity?: number;\r\n UnitPrice?: number;\r\n TotalPrice?: number;\r\n Date?:Date;\r\n CostOfMerchandise?:boolean;\r\n NameAr?: string;\r\n NameEn?: string;\r\n SupplierName?: string;\r\n ExpensesCategoryName?: string;\r\n ProjectName?: string;\r\n DescriptionEn?: string;\r\n DescriptionAr?: string;\r\n constructor(item?: InvoceExpensesModel) {\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.SupplierId = item.SupplierId ? item.SupplierId : 0;\r\n this.CategoryId = item.CategoryId ? item.CategoryId : 0;\r\n this.ProjectId = item.ProjectId ? item.ProjectId : 0;\r\n this.Quantity = item.Quantity ? item.Quantity : 0;\r\n this.UnitPrice = item.UnitPrice ? item.UnitPrice : 0;\r\n this.TotalPrice = item.TotalPrice ? item.TotalPrice : 0;\r\n this.CostOfMerchandise=item.CostOfMerchandise?item.CostOfMerchandise:true;\r\n this.Date = item.Date ? item.Date : new Date();\r\n this.NameAr = item.NameAr ? item.NameAr : '';\r\n this.NameEn = item.NameEn ? item.NameEn : '';\r\n this.SupplierName = item.SupplierName ? item.SupplierName : '';\r\n this.ExpensesCategoryName = item.ExpensesCategoryName ? item.ExpensesCategoryName : '';\r\n this.ProjectName = item.ProjectName ? item.ProjectName : '';\r\n this.DescriptionEn = item.DescriptionEn ? item.DescriptionEn : '';\r\n this.DescriptionAr = item.DescriptionAr ? item.DescriptionAr : '';\r\n }\r\n}\r\n","export class ProjectModel{\r\n Id?: number;\r\n NameAr?: string;\r\n NameEn?: string;\r\n constructor(item?: ProjectModel) {\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.NameAr = item.NameAr ? item.NameAr : '';\r\n this.NameEn = item.NameEn ? item.NameEn : '';\r\n }\r\n}","\r\nexport class SuppliersModel{\r\n Id?: number;\r\n NameEn?: string;\r\n NameAr?: string;\r\n Phone?: string;\r\n Address?: string;\r\n SupplierType?: string;\r\n CountryId?: number;\r\n CityId?: number;\r\n CitiyName?: string;\r\n PostalCode?: string;\r\n constructor(item?: SuppliersModel) {\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.NameEn = item.NameEn ? item.NameEn : '';\r\n this.NameAr = item.NameAr ? item.NameAr : '';\r\n this.Phone = item.Phone ? item.Phone : '';\r\n this.Address = item.Address ? item.Address : '';\r\n this.SupplierType = item.SupplierType ? item.SupplierType : '';\r\n this.CountryId = item.CountryId ? item.CountryId : 0;\r\n this.CityId = item.CityId ? item.CityId : null;\r\n this.CitiyName = item.CitiyName ? item.CitiyName : '';\r\n this.PostalCode = item.PostalCode ? item.PostalCode : '';\r\n }\r\n}","import { Component, ViewChild } from '@angular/core';\nimport productItems from 'src/app/data/products';\n\nimport { ColumnMode, DatatableComponent, SelectionType } from '@swimlane/ngx-datatable';\nimport { GetProject } from '../../serves/project_serves';\nimport { ProjectModel } from '../../model/projectModel';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\n\n@Component({\n // moduleId: module.id,\n selector: 'project-view',\n templateUrl: 'project-view.component.html',\n styleUrls: ['project-view.component.scss']\n})\nexport class ProjectViewComponent {\n projectList:ProjectModel[]=[];\n\n projectModel : ProjectModel = new ProjectModel({});\n @ViewChild('staticModal') addModal: ModalDirective;\n\n\n constructor(private formBuilder:FormBuilder,private getProjectServes:GetProject,){\n\n getProjectServes.getAll().subscribe(\n item=>{\n this.projectList=item;\n console.log(\"this.projectList\",this.projectList);\n \n }\n );\n }\n\nProjectForm : FormGroup = new FormGroup({\n Id: new FormControl(),\n Name: new FormControl(),\n ArName: new FormControl(),\n});\n\n createForm():FormGroup{\n return this.formBuilder.group({ \n Id: [this.projectModel.Id>=0? this.projectModel.Id : 0],\n Name: [this.projectModel.NameEn, Validators.compose([Validators.required, Validators.pattern(/^[a-zA-Z]+([\\s]*[a-zA-Z]+)*$/)])],\n ArName: [this.projectModel.NameAr, Validators.compose([Validators.required, Validators.pattern(/^[\\u0621-\\u064A]+([\\s]*[\\u0621-\\u064A]+)*$/)])],\n })}\n showAddModal(): void {\n debugger;\n this.projectModel = new ProjectModel;\n this.ProjectForm = this.createForm();\n this.addModal.show();\n }\n hideAddModal(): void {\n this.addModal.hide();\n }\n\n\n showEditModal(): void {\n var item= this.projectList[0]\n this.ProjectForm.getRawValue().Name= item.NameEn;\n this.ProjectForm.getRawValue().ArName = item.NameAr;\n \n // this.hideEditModal();\n\n // this.projectModel = new ProjectModel;\n // this.ProjectForm.Id=\n this.ProjectForm = this.createForm();\n this.addModal.show();\n\n }\n\n addProject(){\n this.projectModel = new ProjectModel();\n // this.projectModel.Id = this.projectList.length > 0 ?this. projectList.length+1 : 0;\n this.projectModel.NameAr = this.ProjectForm.getRawValue().Name;\n this.projectModel.NameEn = this.ProjectForm.getRawValue().ArName;\n // this.currency.Value = this.ProjectForm.getRawValue().Value;\n // this.projectList.push(this.projectModel);\n console.log(\"projectList\",this.projectList);\n this.getProjectServes.postData(this.projectModel).subscribe(\n item=>{\n if(item){\n console.log(\"succsess\");\n \n }\n }\n );\n // this.lastId += 1;\n this.addModal.hide();\n }\n \n \n // sanitizeInput(input:string)\n // {\n // switch(input){\n // case 'currencyEN': {\n // let inputValue = this.ProjectForm.get('Name');\n // var english = /^[a-zA-Z\\s]+$/;\n // if(!english.test(inputValue.value.toString())){\n // inputValue.setValue(inputValue.value.replace(/[^a-zA-Z\\s]/gi, ''));\n // }\n // break;\n // }\n // case 'currencyAR': {\n // let inputValue = this.ProjectForm.get('ArName');\n // var arabic = /^[\\u0621-\\u064A]+$/;\n // if(!arabic.test(inputValue.value.toString())){\n // inputValue.setValue(inputValue.value.replace(/[^\\u0621-\\u064A\\s]/gi, ''));\n // }\n // break;\n // }\n // // case 'currencyVal': {\n // // let inputValue = this.ProjectForm.get('Value');\n // // if(inputValue.value===null){\n // // inputValue.setValue(0);\n // // }\n // // break;\n // // }\n // }\n // }\n\n sanitizeNumbers()\n {\n let inputValue = this.ProjectForm.get('Value');\n if(inputValue.value===null){\n inputValue.setValue(0);\n }\n }\n sanitizeEngNames()\n {\n let inputValue = this.ProjectForm.get('Name');\n var english = /^[a-zA-Z\\s]+$/;\n if(!english.test(inputValue.value.toString())){\n inputValue.setValue(inputValue.value.replace(/[^a-zA-Z\\s]/gi, ''));\n }\n }\n sanitizeArNames()\n {\n let inputValue = this.ProjectForm.get('ArName');\n var arabic = /^[\\u0621-\\u064A]+$/;\n if(!arabic.test(inputValue.value.toString())){\n inputValue.setValue(inputValue.value.replace(/[^\\u0621-\\u064A\\s]/gi, ''));\n }\n }\n }","\n\n\n
    \n
    \n
    \n \n
    \n

    {{\"Add New Project\" | translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n {{\"Project-EN-Required\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"Project-AR-Required\" | translate}}
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { CityModel } from '../model/citymodel';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CityServes {\r\n CompanyId:number =+ localStorage.getItem(\"CompanyId\");\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n constructor(private http: HttpClient) {\r\n\r\n }\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}City/GetAll/${this.CompanyId}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n\r\n \r\n postData(payload: CityModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}City/Insert/${this.CompanyId}`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n getById(id:number): Observable {\r\n \r\n // debugger;\r\n return this.http\r\n .get(`${this.baseUrl}City/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: CityModel): Observable {\r\n \r\n debugger;\r\n return this.http\r\n .post(`${this.baseUrl}City/Insert/${this.CompanyId}`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n update(payload: CityModel): Observable {\r\n debugger;\r\n return this.http\r\n .post(`${this.baseUrl}City/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n delete(id: number): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}City/Delete/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n deleteList(payload: CityModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}City/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { CountryModel } from '../model/countrymodel';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CountryServes {\r\n CompanyId:number =+ localStorage.getItem(\"CompanyId\");\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n constructor(private http: HttpClient) {\r\n\r\n }\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Country/GetAll/${this.CompanyId}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n\r\n \r\n postData(payload: CountryModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}Country/Insert/${this.CompanyId}`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n getById(id:number): Observable {\r\n \r\n // debugger;\r\n return this.http\r\n .get(`${this.baseUrl}Country/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: CountryModel): Observable {\r\n \r\n debugger;\r\n return this.http\r\n .post(`${this.baseUrl}Country/Insert/${this.CompanyId}`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n update(payload: CountryModel): Observable {\r\n debugger;\r\n return this.http\r\n .post(`${this.baseUrl}Country/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n delete(id: number): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}Country/Delete/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n deleteList(payload: CountryModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}Country/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GetExpensesCategory {\r\n CompanyId:number =+ localStorage.getItem(\"CompanyId\");\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n constructor(private http: HttpClient) {\r\n\r\n }\r\n\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}ExpensesCategory/GetAll/${this.CompanyId}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n getById(id:number): Observable {\r\n \r\n // debugger;\r\n return this.http\r\n .get(`${this.baseUrl}ExpensesCategory/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: any): Observable {\r\n \r\n debugger;\r\n return this.http\r\n .post(`${this.baseUrl}ExpensesCategory/Insert/${this.CompanyId}`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n update(payload: any): Observable {\r\n debugger;\r\n return this.http\r\n .post(`${this.baseUrl}ExpensesCategory/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n delete(id: number): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}ExpensesCategory/Delete/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n deleteList(payload: any []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}ExpensesCategory/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { InvoceExpensesModel } from '../model/expensesItemModel';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PostExpensesItemServes {\r\n CompanyId:number =+ localStorage.getItem(\"CompanyId\");\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n constructor(private http: HttpClient) {\r\n\r\n }\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Expenses/GetAll/${this.CompanyId}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n\r\n \r\n postData(payload: InvoceExpensesModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}Expenses/Insert/${this.CompanyId}`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n getById(id:number): Observable {\r\n \r\n // debugger;\r\n return this.http\r\n .get(`${this.baseUrl}Expenses/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: InvoceExpensesModel): Observable {\r\n \r\n debugger;\r\n return this.http\r\n .post(`${this.baseUrl}Expenses/Insert/${this.CompanyId}`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n update(payload: InvoceExpensesModel): Observable {\r\n debugger;\r\n return this.http\r\n .post(`${this.baseUrl}Expenses/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n delete(id: number): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}Expenses/Delete/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n deleteList(payload: InvoceExpensesModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}Expenses/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ProjectModel } from '../model/projectModel';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GetProject {\r\n CompanyId:number =+ localStorage.getItem(\"CompanyId\");\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n constructor(private http: HttpClient) {\r\n\r\n }\r\n\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Project/GetAll/${this.CompanyId}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n getById(id:number): Observable {\r\n \r\n // debugger;\r\n return this.http\r\n .get(`${this.baseUrl}Project/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n postData(payload: ProjectModel): Observable {\r\n \r\n debugger;\r\n return this.http\r\n .post(`${this.baseUrl}Project/Insert/${this.CompanyId}`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n put(payload: ProjectModel): Observable {\r\n debugger;\r\n return this.http\r\n .post(`${this.baseUrl}Alboum/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n delete(id: number): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}Alboum/Delete/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { SuppliersModel } from '../model/suppliersModel';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GetSupplier {\r\n CompanyId:number =+ localStorage.getItem(\"CompanyId\");\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n constructor(private http: HttpClient) {\r\n\r\n }\r\n\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Supplier/GetAll/${this.CompanyId}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n getById(id:number): Observable {\r\n \r\n // debugger;\r\n return this.http\r\n .get(`${this.baseUrl}Supplier/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: SuppliersModel): Observable {\r\n \r\n // debugger;\r\n return this.http\r\n .post(`${this.baseUrl}Supplier/Insert/${this.CompanyId}`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n update(payload: SuppliersModel): Observable {\r\n debugger;\r\n return this.http\r\n .post(`${this.baseUrl}Supplier/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n delete(id: number): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}Supplier/Delete/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n deleteList(payload: SuppliersModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}Supplier/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n UploadExcel(formData: FormData) {\r\n let headers = new HttpHeaders();\r\n\r\n headers.append('Content-Type', 'multipart/form-data');\r\n headers.append('Accept', 'application/json');\r\n\r\n const httpOptions = { headers: headers };\r\n\r\n return this.http.post(`${this.baseUrl}Supplier/UploadExcel/${this.CompanyId}` , formData, httpOptions)\r\n }\r\n}\r\n","import { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { of } from 'rxjs';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\n\n\nimport { InvoceExpensesModel } from '../model/expensesItemModel'\nimport {PostExpensesItemServes} from '../serves/expenses_item_serves'\nimport {GetSupplier} from '../serves/suppliers_serves'\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { SuppliersModel } from '../model/suppliersModel';\nimport { ProjectModel } from '../model/projectModel';\nimport { GetProject } from '../serves/project_serves';\nimport { GetExpensesCategory } from '../serves/expensesCategory';\nimport { CountryModel } from '../model/countrymodel';\nimport { CountryServes } from '../serves/countryServes';\nimport { DataFilterer } from 'src/app/views/app/aio/shared/DataFilterer';\nimport { DataSorter } from 'src/app/views/app/aio/shared/DataSorter';\nimport { DataPaginator } from 'src/app/views/app/aio/shared/DataPaginator';\n\n\n@Component({\n // moduleId: module.id,\n selector: 'show-suppliers',\n templateUrl: 'show-suppliers.component.html',\n styleUrls: ['show-suppliers.component.scss']\n})\nexport class ShowSuppliersComponent {\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n constructor( private expensesCategoryServes: GetExpensesCategory,private countryServes: CountryServes, private router: Router, private GetSupplierServes: GetSupplier,private getProjectServes: GetProject ,private formBuilder: FormBuilder, private modelService: GetSupplier, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService) {\n }\n\n translationName: string = 'Supplier'\n\n sortableKeys = [];\n searchableKeys = ['NameEn', 'NameAr'];\n expensesTypeList: any[] = [];\n\n ogData: SuppliersModel [] = [];\n modelObject: SuppliersModel = new SuppliersModel({});\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n NameEn: new FormControl(),\n NameAr: new FormControl(),\n });\n\n ngOnInit(): void {\n\n \n // this.GetSupplierServes.getAll().subscribe(\n // item => {\n // this.expensesTypeList = item;\n // }\n // );\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Expenses', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' };\n this.sortableKeys = [\n { label: 'Expenses', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' },\n ];\n this.loadData();\n //this.dataSorter.sortData('NameEn', this.ogData);\n }\n\n // createForm(): FormGroup {\n // return this.formBuilder.group({\n // Id: [this.modelObject.Id >= 0 ? this.modelObject.Id : 0],\n // NameEn: [this.modelObject.NameEn, Validators.compose([Validators.required, Validators.minLength(2)])],\n // NameAr: [this.modelObject.NameAr, Validators.compose([Validators.required, Validators.pattern(/^[\\u0621-\\u064A]+([\\s]*[\\u0621-\\u064A]+)*$/)])],\n // });\n // }\n\n // addObject() {\n // //prevent multiclick submits. enable again after API response.\n // this.currentAction = 'loading';\n\n // this.modelObject = new InvoceExpensesModel();\n // this.modelObject.Id = 0;\n // this.modelObject.NameEn = this.mainForm.getRawValue().NameEn;\n // this.modelObject.NameAr = this.mainForm.getRawValue().NameAr;\n // this.modelObject.Date = this.mainForm.getRawValue().Date;\n // this.modelObject.TotalPrice = this.mainForm.getRawValue().TotalPrice;\n // this.modelObject.CostOfMerchandise = this.mainForm.getRawValue().CostOfMerchandise;\n // this.modelObject.SupplierName = this.mainForm.getRawValue().SupplierName;\n // this.modelObject.ExpensesCategoryName = this.mainForm.getRawValue().ExpensesCategoryName;\n // this.modelObject.ProjectName = this.mainForm.getRawValue().ProjectName;\n // this.modelObject.TotalPrice = this.mainForm.getRawValue().TotalPrice;\n // this.modelObject.CostOfMerchandise = this.mainForm.getRawValue().CostOfMerchandise;\n // this.executeAddObject();\n // }\n\n // executeAddObject(){\n // this.modelService.insert(this.modelObject).subscribe(result => {\n // if (result === true) {\n // this.loadData();\n // this.currentAction = '';\n // this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n // this.smallModal.hide();\n // }\n // else {\n // this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n // }\n // })\n // }\n\n // editObject() {\n // this.savedPage = this.currentPage;\n\n // let tempObj = new InvoceExpensesModel({\n // Id: this.modelObject.Id,\n // NameEn: this.mainForm.getRawValue().NameEn,\n // NameAr: this.mainForm.getRawValue().NameAr,\n // });\n // this.executeEditObject(tempObj);\n // }\n\n // executeEditObject(Object)\n // {\n // this.modelService.update(Object).subscribe(result => {\n // if (result === true) {\n // this.loadData();\n // this.currentAction = '';\n // this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n\n // this.smallModal.hide();\n // }\n // else {\n // this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n // }\n // })\n // }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject(){\n this.modelService.deleteList(this.deletionList).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.finalizeDeletion();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n CountryList: CountryModel[] = [];\n\n onClick(){\n this.router.navigate( ['Create-Suppliers', {state: 'Add', id: '0'}]);\n}\nfindByCode(list: any, Id: any): any {\n return list.find(x => x.Id === Id)\n}\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n lang: string;\n currentFormMode: string = '';\n currentAction: string = '';\n\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n\n SelectAllBox: any = false;\n\n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n itemOrder: any;\n orderAsc: boolean = true;\n\n currentPage = 1;\n savedPage = 0;\n\n\n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n\n loadData() {\n //this.sortData();\n \n this.currentAction = 'loading';\n this.countryServes.getAll().subscribe(\n item => {\n this.CountryList = item;\n console.log(this.CountryList);\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n //////////////////////////////////////\n this.ogData.forEach(\n item=>{\n item.CitiyName = this.lang==='ar-EG'?this.findByCode(this.CountryList,item.CountryId).NameAr:this.findByCode(this.CountryList,item.CountryId).NameEn\n // item.ProjectName= this.lang==='ar-EG'?this.findByCode(this.projectList,item.ProjectId).NameAr:this.findByCode(this.projectList,item.ProjectId).NameEn\n // item.ExpensesCategoryName= this.lang==='ar-EG'?this.findByCode(this.expensesTypeList,item.CategoryId).NameAr:this.findByCode(this.expensesTypeList,item.CategoryId).NameEn\n }\n )\n \n \n this.sortData();\n this.loadSearch();\n this.currentAction = '';\n }\n )\n }\n );\n \n }\n\n sortData() {\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n\n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n\n filterData() {\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n\n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n\n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n\n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n\n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n\n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n\n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n\n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n\n isSelected(p: any): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n\n onSelect(item: any): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n\n // @ViewChild('smallModal') smallModal: ModalDirective;\n @ViewChild('delModal') delModal: ModalDirective;\n // showAddNewModalRef(): void {\n // this.currentFormMode = 'Add'\n // this.modelObject = new InvoceExpensesModel();\n // this.mainForm = this.createForm();\n // this.smallModal.show();\n // }\n\n showEditModalRef(Id: any): void {\n this.currentFormMode = 'Edit'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n // this.mainForm = this.createForm();\n // this.smallModal.show();\n }\n\n // showInfoModalRef(Id: any): void {\n // this.currentFormMode = 'Info'\n // this.modelObject = this.ogData.find(i => i.Id === Id);\n // of(this.modelObject).subscribe(data => {\n // this.modelObject = data;\n // })\n // this.mainForm = this.createForm();\n // this.smallModal.show();\n // }\n\n deletionList: InvoceExpensesModel[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n\n SearchTerm: any = '';\n\n\n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n\n this.deletionList = [];\n this.selected = [];\n\n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n\n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n\n loadAllData() {\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.loadSearch();\n }\n )\n }\n\n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n @ViewChild('fileInput') fileInput;\n uploadFile() {\n let formData = new FormData();\n formData.append('upload', this.fileInput.nativeElement.files[0])\n\n this.modelService.UploadExcel(formData).subscribe(result => {\n \n });\n \n\n }\n}\n","\n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n\n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Name\" | translate}}\n \n
    \n {{\"Phone\" | translate}}\n \n
    \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{lang==='ar-EG'?obj.NameAr:obj.NameEn}}{{obj.Phone}}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","export class TaxTypesModel{\r\n Id?:number;\r\n NameAr?:string;\r\n NameEn?:string;\r\n TaxableTypeCode?:string;\r\n TaxableSubTypeCode?:string;\r\n Percentage?:number;\r\n Value?:number;\r\n IsRate?:boolean;\r\n AccountId?:number;\r\n ISMain?:boolean;\r\n constructor(obj?:TaxTypesModel){\r\n obj = obj? obj:{};\r\n this.Id = obj.Id? obj.Id:0;\r\n this.AccountId = obj.AccountId? obj.AccountId:0;\r\n this.NameAr = obj.NameAr? obj.NameAr:'';\r\n this.NameEn = obj.NameEn? obj.NameEn:'';\r\n this.TaxableTypeCode = obj.TaxableTypeCode? obj.TaxableTypeCode:null;\r\n this.TaxableSubTypeCode = obj.TaxableSubTypeCode? obj.TaxableSubTypeCode:null;\r\n this.Percentage = obj.Percentage? obj.Percentage:0;\r\n this.Value = obj.Value? obj.Value:0;\r\n this.IsRate = obj.IsRate? obj.IsRate:true;\r\n this.ISMain = obj.ISMain? obj.ISMain:false;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { TaxTypesModel } from './TaxTypesModel';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TaxTypesService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n CompanyId:number =+ localStorage.getItem(\"CompanyId\");\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}TaxType/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}TaxType/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: TaxTypesModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}TaxType/Insert/${this.CompanyId}`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n InsertCountries(payload: any[]): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}Country/InsertCountries/${this.CompanyId}`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n update(payload: TaxTypesModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}TaxType/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: TaxTypesModel): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}TaxType/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: TaxTypesModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}TaxType/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { TaxTypesService } from './TaxTypesService';\nimport { TaxTypesModel } from './TaxTypesModel';\nimport { Component, HostBinding, Renderer2, ViewChild, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { of } from 'rxjs';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { DataFilterer } from 'src/app/views/app/aio/shared/DataFilterer';\nimport { DataSorter } from 'src/app/views/app/aio/shared/DataSorter';\nimport { DataPaginator } from 'src/app/views/app/aio/shared/DataPaginator';\n\nimport TaxSubtypes from 'src/assets/tax-types/TaxSubtypes.json';\nimport TaxTypes from 'src/assets/tax-types/TaxTypes.json';\nimport NonTaxableTaxTypes from 'src/assets/tax-types/NonTaxableTaxTypes.json';\nimport Country from 'src/assets/tax-types/CountryCodes.json';\nimport { SidePopupComponent } from 'src/app/views/app/aio/shared/side-popup/side-popup.component';\n\n@Component({\n selector: 'app-tax-types',\n templateUrl: './tax-types.component.html',\n styleUrls: ['./tax-types.component.scss']\n})\nexport class TaxTypesComponent implements OnInit{\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n constructor(private formBuilder: FormBuilder, private modelService: TaxTypesService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService) {\n console.log('countries',this.countries)\n\n }\n\n translationName: string = 'TaxType'\n\n sortableKeys = [];\n searchableKeys = ['NameEn', 'NameAr'];\n\n ogData: TaxTypesModel [] = [];\n modelObject: TaxTypesModel = new TaxTypesModel({});\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n NameEn: new FormControl(),\n NameAr: new FormControl(),\n TaxableTypeCode: new FormControl(),\n TaxableSubTypeCode: new FormControl(),\n Percentage: new FormControl()\n });\n countriesList:any[]=[];\n ngOnInit(): void {\n // debugger;\n // console.log('countries',this.countries)\n // this.countries.forEach(element => {\n // var country={\n // Id:0,\n // NameAr:element.Desc_ar,\n // NameEn:element.Desc_en,\n // Code:element.code,\n // }\n // this.countriesList.push(country);\n // });\n // this.modelService.InsertCountries(this.countriesList)\n // .subscribe(result =>{\n // console.log(result);\n // })\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'TaxTypesName', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' };\n this.sortableKeys = [\n { label: 'TaxTypesName', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' },\n { label: 'TaxType', property: 'TaxableTypeCode' },\n { label: 'TaxSubType', property: 'TaxableSubTypeCode' },\n { label: 'TaxTypesPercentage', property: 'Percentage' }\n ];\n this.loadData();\n //this.dataSorter.sortData('NameEn', this.ogData);\n }\n\n createForm(): FormGroup {\n return this.formBuilder.group({\n Id: [this.modelObject.Id >= 0 ? this.modelObject.Id : 0],\n NameEn: [this.modelObject.NameEn, Validators.compose([Validators.required, Validators.minLength(2)])],\n NameAr: [this.modelObject.NameAr, Validators.compose([Validators.required, Validators.pattern(/^[\\u0621-\\u064A]+([\\s]*[\\u0621-\\u064A]+)*$/)])],\n TaxableTypeCode: [this.modelObject.TaxableTypeCode, Validators.compose([Validators.required, Validators.minLength(2)])],\n TaxableSubTypeCode: [this.modelObject.TaxableSubTypeCode, Validators.compose([Validators.required, Validators.minLength(2)])],\n Percentage: [this.modelObject.Percentage, Validators.compose([Validators.required, Validators.pattern(/^([0-9]+)([0-9])*(\\.[0-9]+)?$/)])]\n });\n }\n\n addObject() {\n //prevent multiclick submits. enable again after API response.\n this.currentAction = 'loading';\n\n this.modelObject = new TaxTypesModel();\n this.modelObject.Id = 0;\n this.modelObject.NameEn = this.mainForm.getRawValue().NameEn;\n this.modelObject.NameAr = this.mainForm.getRawValue().NameAr;\n this.modelObject.TaxableTypeCode = this.mainForm.getRawValue().TaxableTypeCode;\n this.modelObject.TaxableSubTypeCode = this.mainForm.getRawValue().TaxableSubTypeCode;\n this.modelObject.Percentage = this.mainForm.getRawValue().Percentage;\n this.modelObject.IsRate = this.fixedTypes.includes(this.modelObject.TaxableTypeCode)\n || this.fixedTypes.includes(this.modelObject.TaxableSubTypeCode) ? true : false;\n\n this.executeAddObject();\n }\n\n executeAddObject(){\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n this.sideModalRef.modalRef.hide();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n\n editObject() {\n this.savedPage = this.currentPage;\n this.currentAction = 'loading';\n\n let tempObj = new TaxTypesModel({\n Id: this.modelObject.Id,\n NameEn: this.mainForm.getRawValue().NameEn,\n NameAr: this.mainForm.getRawValue().NameAr,\n TaxableTypeCode: this.mainForm.getRawValue().TaxableTypeCode,\n TaxableSubTypeCode: this.mainForm.getRawValue().TaxableSubTypeCode,\n Percentage: this.mainForm.getRawValue().Percentage,\n IsRate: this.fixedTypes.includes(this.modelObject.TaxableTypeCode)\n || this.fixedTypes.includes(this.modelObject.TaxableSubTypeCode) ? true : false\n });\n \n if(tempObj != this.modelObject){\n this.executeEditObject(tempObj);\n }\n else{\n this.sideModalRef.modalRef.hide();\n }\n }\n\n executeEditObject(Object)\n {\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n\n this.sideModalRef.modalRef.hide();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject(){\n this.modelService.deleteList(this.deletionList).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.finalizeDeletion();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n taxTypesJson: any[] = TaxTypes;\n nonTaxableTaxTypesJson: any[] = NonTaxableTaxTypes;\n taxSubtypesJson: any[] = TaxSubtypes;\n allTaxTypes: any[] = this.taxTypesJson.concat(this.nonTaxableTaxTypesJson.concat(this.taxSubtypesJson));\n fixedTypes: any[] = this.taxTypesJson.filter(x => x.Desc_en.toLowerCase().includes(\"amount\")).concat(\n this.nonTaxableTaxTypesJson.filter(x => x.Desc_en.toString().includes(\"amount\")).concat(\n this.taxSubtypesJson.filter(x => x.Desc_en.toString().includes(\"amount\"))\n ));\n countries:any[]=Country;\n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n lang: string;\n currentFormMode: string = '';\n currentAction: string = '';\n\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n\n SelectAllBox: any = false;\n\n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n itemOrder: any;\n orderAsc: boolean = true;\n\n currentPage = 1;\n savedPage = 0;\n\n\n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n\n loadData() {\n console.log(this.fixedTypes.map(i=>i.Desc_ar));\n this.currentAction = 'loading';\n \n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.sortData();\n this.loadSearch();\n this.currentAction = '';\n }\n )\n }\n\n sortData() {\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n\n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n\n filterData() {\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n\n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n\n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n\n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n\n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n\n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n\n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n\n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n\n isSelected(p: any): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n\n onSelect(item: any): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n\n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent;\n @ViewChild('delModal') delModal: ModalDirective;\n showAddNewModalRef(): void {\n this.currentFormMode = 'Add'\n this.modelObject = new TaxTypesModel();\n this.mainForm = this.createForm();\n this.sideModalRef.show();\n }\n\n showEditModalRef(Id: any): void {\n this.currentFormMode = 'Edit'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.sideModalRef.show();\n }\n\n showInfoModalRef(Id: any): void {\n this.currentFormMode = 'Info'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.sideModalRef.show();\n }\n\n deletionList: TaxTypesModel[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n\n SearchTerm: any = '';\n\n\n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n\n this.deletionList = [];\n this.selected = [];\n\n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n\n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n\n loadAllData() {\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.loadSearch();\n }\n )\n }\n\n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n}\n","\n
    \n
    \n
    \n

    \n {{currentFormMode+\"TaxTypes\" | translate}}

    \n
    \n
    \n
    \n\n
    \n \n \n \n
    \n {{\"TaxTypesNameArRequired\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n {{\"TaxTypesNameEnRequired\" | translate}}
    \n \n
    \n \n
    \n \n
    \n \n \n {{lang==='ar-EG'?taxableTypeCode.Desc_ar:taxableTypeCode.Desc_en}}\n \n
    \n \n
    \n {{\"TaxableTypeCodeRequired\" | translate}}
    \n \n
    \n\n
    \n \n
    \n \n
    \n \n {{lang==='ar-EG'?taxSubtype.Desc_ar:taxSubtype.Desc_en}}\n
    \n
    \n
    \n \n
    \n {{\"TaxableSubTypeCode\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n {{\"TaxTypesPercentageRequired\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDelTaxTypes\" |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"TaxTypesName\" | translate}}\n \n
    \n {{\"TaxType\" | translate}}\n \n
    \n {{\"TaxSubType\" | translate}}\n \n
    \n {{\"TaxTypesPercentage\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n {{lang==='ar-EG'?obj.NameAr:obj.NameEn}}\n {{lang==='ar-EG'?findByCode(allTaxTypes,obj.TaxableTypeCode).Desc_ar:findByCode(allTaxTypes,obj.TaxableTypeCode).Desc_en}}\n {{lang==='ar-EG'?findByCode(allTaxTypes,obj.TaxableSubTypeCode).Desc_ar:findByCode(allTaxTypes,obj.TaxableSubTypeCode).Desc_en}}\n {{ obj.IsRate===true?obj.Percentage+\"%\":obj.Percentage }}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { InvoiceService } from '../invoices/InvoiceService';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport html2canvas from 'html2canvas';\nimport jspdf from 'jspdf';\n\n@Component({\n selector: 'view-invoice',\n templateUrl: 'view-invoice.component.html',\n styleUrls: ['view-invoice.component.scss']\n})\nexport class ViewInvoiceComponent implements OnInit{\n declare lang: any;\n Id = 0;\n constructor( \n private invoiceService: InvoiceService,\n private route: ActivatedRoute,\n public router:Router\n ){\n this.lang = localStorage.getItem('theme_lang');\n this.Id = + route.snapshot.paramMap.get('Id');\n \n }\n invoice:any={};\n ngOnInit(): void {\n this.invoiceService.getById(this.Id)\n .subscribe(result =>{\n this.invoice = result;\n console.log('invoice',result);\n })\n }\n openForExport = false;\n exportTable(){\n debugger;\n this.openForExport = true;\n var data = document.getElementById('contentToConvert');\n data.style.display = 'inline-block';\n html2canvas(data,{}).then(canvas => {\n var imgWidth = 208;\n var pageHeight = 295;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n var heightLeft = imgHeight;\n const contentDataURL = canvas.toDataURL('image/png')\n let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF\n var position = 0;\n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n pdf.save('new-file.pdf'); // Generated PDF\n data.style.display = 'block';\n\n // data.style.display = 'none';\n \n });\n }\n print(){\n let printContents, popupWin;\n printContents = document.getElementById('contentToConvert').innerHTML;\n popupWin = window.open('', '_blank', 'top=0,left=0,height=100%,width=auto');\n popupWin.document.open();\n window.print();\n \n }\n}\n","
    \n
    \n
    \n \n {{\" \"}}\n {{\" \"}}\n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n

    119 مصر حلوان الزراعي - الدور الثالث - المعادي - مصر\n
    +2 022525495\n

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

    {{'Invoice To : '|translate}}

    \n

    {{lang==='ar-EG'?invoice.ClientNameAr:invoice.ClientNameEn}}

    \n
    \n
    \n

    {{'Invoice Number'|translate}} : # {{invoice.InvoiceNumber}}

    \n

    {{invoice.ReleaseDate|date:'dd/MM/yyyy'}}

    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{'Item'|translate}}{{'Quantity'|translate}}{{'Price'|translate}}{{'Discount'|translate}}{{'Total'|translate}}
    {{lang==='ar-EG'?item.NameAr:item.NameEn}}{{item.Quantity| number}}{{item.Price| number}}{{item.DiscountAmount| number}}{{item.NetTotal| number}}
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{'Subtotal'|translate}} :{{invoice.netAmount| number}}
    {{'Taxes'|translate}} :{{invoice.totalAmount - (invoice.totalDiscountAmount + invoice.netAmount)| number}}
    {{'Discount'|translate}} :{{invoice.totalDiscountAmount| number}}
    {{'Total'|translate}} :{{invoice.totalAmount| number}}
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n ","import { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { MembershipModel } from '../../models/membership.model';\nimport { DataFilterer } from 'src/app/views/invoice/shared/DataFilterer';\nimport { DataSorter } from 'src/app/views/invoice/shared/DataSorter';\nimport { DataPaginator } from 'src/app/views/invoice/shared/DataPaginator';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { MembershipService } from '../../membership.service';\n@Component({\n selector: 'all-memberships',\n templateUrl: 'all-memberships.component.html',\n styleUrls: ['all-memberships.component.scss']\n})\nexport class AllMembershipsComponent {\n constructor(private formBuilder: FormBuilder, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private router : Router,\n private MembershipService:MembershipService\n ) {\n }\n currentScreen: any = 'Table';\n \n translationName: string = 'Memberships'\n \n sortableKeys = [];\n searchableKeys = ['Id'];\n \n ogData: MembershipModel [] = [ \n // {Id:5, ArabicName:'محمود احمد' , EnglishName:'Mahmoud Ahmed', Phone:'01098340345', Email:\"mahmoud@gmail.com\" }, \n // {Id:1, ArabicName:'عمرو محمد' , EnglishName:'Amro Mohamed', Phone:'01098340342', Email:\"Amro@gmail.com\" }, \n // {Id:2, ArabicName:'محمد نوح' , EnglishName:'Mohamed Nouh', Phone:'01098340341', Email:\"Mohamed@gmail.com\" }, \n // {Id:3, ArabicName:'يوسف احمد' , EnglishName:'Youssef Ahmed', Phone:'01098340345', Email:\"Youssef@gmail.com\" }, \n // {Id:4, ArabicName:'ابراهيم حسن' , EnglishName:'Ibrahim Hassen', Phone:'01098340347', Email:\"Ibrahim@gmail.com\" }, \n \n ];\n\n \n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Id', property: 'Id' };\n this.sortableKeys = [\n { label: 'Id', property: 'Id' },\n { label: 'ArabicName', property: 'ArabicName' },\n { label: 'EnglishName', property: 'EnglishName' },\n { label: 'Phone', property: 'Phone' },\n { label: 'Email', property: 'Email' },\n ];\n this.loadData();\n console.log(this.ogData);\n }\n \n //Deletion methods:\n //Customize if needed.\n //Pass the target object as paraMetre if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject(){\n this.MembershipService.deleteList(this.deletionList).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.finalizeDeletion();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n \n \n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n lang: string;\n currentFormMode: string = '';\n currentAction: string = '';\n \n \n //ogData = [];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n \n SelectAllBox: any = false;\n \n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n itemOrder: any;\n orderAsc: boolean = true;\n \n currentPage = 1;\n savedPage = 0;\n \n \n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n \n loadData() {\n debugger;\n this.MembershipService.getAll()\n .subscribe(result=>{\n this.currentAction = '';\n this.ogData = result;\n this.sortData();\n\n })\n\n // this.modelService.getAll().subscribe(\n // data => {\n // this.currentAction = '';\n \n // this.ogData = data;\n // this.sortData();\n // }\n // )\n \n }\n \n sortData() {\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n \n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n \n filterData() {\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n \n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n \n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n \n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n \n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n \n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n \n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n \n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n \n isSelected(p: MembershipModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n \n onSelect(item: MembershipModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n \n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n \n @ViewChild('delModal') delModal: ModalDirective;\n showAddNewModalRef(): void {\n this.router.navigate(['app/memberships/create-membership',0])\n }\n \n onEdit(id): void {\n this.router.navigate(['app/memberships/create-membership',id])\n }\n \n showInfoModalRef(Id: any): void {\n //IMPORTANT\n //REDIRECT TO INFO PAGE\n }\n modelObject:MembershipModel={};\n deletionList: MembershipModel[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n \n SearchTerm: any = '';\n onview(id){\n this.router.navigate(['app/memberships/view-membership',id])\n\n }\n \n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n \n this.deletionList = [];\n this.selected = [];\n \n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n \n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n \n loadAllData() {\n // this.modelService.getAll().subscribe(\n // data => {\n // this.ogData = data;\n // this.loadSearch();\n // }\n // )\n }\n \n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n \n @ViewChild('smallModal') smallModal: ModalDirective;\n \n}\n","\n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n\n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Id\" | translate}}\n \n
    \n {{\"ArabicName\" | translate}}\n \n
    \n {{\"EnglishName\" | translate}}\n \n
    \n {{\"Phone\" | translate}}\n \n
    \n {{\"Email\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{obj.Id}}{{obj.ArabicName }}{{obj.EnglishName }}{{obj.Phone }}{{obj.Email }}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { MembershipModel } from '../../models/membership.model';\nimport { MembershipService } from '../../membership.service';\n@Component({\n selector: 'create-membership',\n templateUrl: 'create-membership.component.html',\n styleUrls: ['create-membership.component.scss']\n})\nexport class CreateMembershipComponent implements OnInit {\n showCard: boolean = false;\n ItemHolderList: any[] = [];\n Form: FormGroup;\n lang: string;\n Id = 0;\n constructor(\n public router:Router, \n public fb:FormBuilder, \n private MembershipService:MembershipService,\n private route: ActivatedRoute\n\n ) {\n \n this.Id = +route.snapshot.paramMap.get(\"Id\");\n \n }\n \n ngOnInit() {\n if(this.Id > 0){\n this.MembershipService.getById(this.Id)\n .subscribe(result=>{\n this.picurl=result.ImageURL;\n this.NationalIdPicurl=result.NationalIDImage;\n this.graduationPicurl=result.GraduationDocument;\n this.Form = this.createForm(result); \n\n })\n }\n else{\n this.Form = this.createForm(new MembershipModel()); \n\n }\n }\n\n \n Save() {\n debugger;\n\n var membership = this.Form.getRawValue();\n membership.ImageURL = this.picurl;\n membership.NationalIDImage = this.NationalIdPicurl;\n membership.GraduationDocument = this.graduationPicurl;\n if(this.Id > 0){\n this.MembershipService.update(membership)\n .subscribe(result=>{\n if(result == true){\n this.router.navigate(['app/memberships'])\n }\n })\n }\n else{\n this.MembershipService.insert(membership)\n .subscribe(result=>{\n if(result == true){\n this.router.navigate(['app/memberships'])\n }\n })\n }\n\n\n }\n \n goBack(){\n this.router.navigate(['app/memberships'])\n }\n\n \n createForm(modelObject:MembershipModel): FormGroup {\n debugger;\n return this.fb.group({\n Id:[modelObject.Id],\n ArabicName :[modelObject.ArabicName ],\n FirstArabicName :[modelObject.FirstArabicName ],\n SecondArabicName :[modelObject.SecondArabicName ],\n LastArabicName :[modelObject.LastArabicName ],\n EnglishName :[modelObject.EnglishName ],\n Phone :[modelObject.Phone ],\n Email :[modelObject.Email ],\n Gender :[modelObject.Gender ],\n IsEgyptian :[modelObject.IsEgyptian ],\n NationalID :[modelObject.NationalID ],\n PassportNumber :[modelObject.PassportNumber ],\n BranchNameEn :[modelObject.BranchNameEn ],\n BranchNameAr :[modelObject.BranchNameAr ],\n CountryEn :[modelObject.CountryEn ],\n CountryAr :[modelObject.CountryAr ],\n NationaltyID :[modelObject.NationaltyID ],\n City :[modelObject.City ],\n GovernorateId :[modelObject.GovernorateId ],\n EmergencyContactNumber :[modelObject.EmergencyContactNumber ],\n BirthDate :[modelObject.BirthDate ],\n ImageURL :[modelObject.ImageURL ],\n PWS :[modelObject.PWS ],\n IsActive :[modelObject.IsActive ],\n Address :[modelObject.Address ],\n TeamId :[modelObject.TeamId ],\n BranchId :[modelObject.BranchId ],\n RoleId :[modelObject.RoleId ],\n IsBlocked :[modelObject.IsBlocked ],\n IsStudent :[modelObject.IsStudent ],\n FieldsStudyOrWorkId :[modelObject.FieldsStudyOrWorkId ],\n SubFieldsStudyOrWorkId :[modelObject.SubFieldsStudyOrWorkId ],\n CollegeId :[modelObject.CollegeId ],\n SchoolId :[modelObject.SchoolId ],\n AcademicYear :[modelObject.AcademicYear ],\n VolunteerItherFiled :[modelObject.VolunteerItherFiled ],\n CurrentPosition :[modelObject.CurrentPosition ],\n Employer :[modelObject.Employer ],\n UserId :[modelObject.UserId ],\n IsHaveExpereanceInVolunteerFildes:[modelObject.IsHaveExpereanceInVolunteerFildes],\n HowDidYouKnowAboutUs :[modelObject.HowDidYouKnowAboutUs ],\n IsMembershipExpered :[modelObject.IsMembershipExpered ],\n IsDisability:[modelObject.IsDisability],\n DisabilityType:[modelObject.DisabilityType],\n CreateBy :[modelObject.CreateBy ],\n CreateDate :[modelObject.CreateDate ],\n ModifiedBy :[modelObject.ModifiedBy ],\n ModifiedDate :[modelObject.ModifiedDate ],\n IsDeleted :[modelObject.IsDeleted ],\n DeletedBy :[modelObject.DeletedBy ],\n DeletedDate :[modelObject.DeletedDate ],\n GovernorateNameEn :[modelObject.GovernorateNameEn ],\n GovernorateNameAr :[modelObject.GovernorateNameAr ],\n CityNameEn :[modelObject.CityNameEn ],\n CityNameAr :[modelObject.CityNameAr ],\n SectorNameAr :[modelObject.SectorNameAr ],\n SectorNameEn :[modelObject.SectorNameEn ],\n FieldNameAr :[modelObject.FieldNameAr ],\n FieldNameEn :[modelObject.FieldNameEn ],\n HasWork :[modelObject.HasWork ],\n StudentType :[modelObject.StudentType ],\n CollegeNameAr :[modelObject.CollegeNameAr ],\n CollegeNameEn :[modelObject.CollegeNameEn ],\n SchoolNameAr :[modelObject.SchoolNameAr ],\n SchoolNameEn :[modelObject.SchoolNameEn ],\n VolunteerNumber :[modelObject.VolunteerNumber ],\n UniversityNameAr :[modelObject.UniversityNameAr ],\n UniversityNameEn :[modelObject.UniversityNameEn ],\n InstituteNameAr :[modelObject.InstituteNameAr ],\n InstituteNameEn :[modelObject.InstituteNameEn ],\n EventsCount :[modelObject.EventsCount ],\n ActivitiesCount :[modelObject.ActivitiesCount ],\n NumberOfActivityPoints :[modelObject.NumberOfActivityPoints ],\n NumberOfActivityHours :[modelObject.NumberOfActivityHours ],\n EndMembershipDate :[modelObject.EndMembershipDate ],\n MembershipIsIsEnded :[modelObject.MembershipIsIsEnded ],\n Latitude :[modelObject.Latitude ],\n Langitude :[modelObject.Langitude ],\n Zoom :[modelObject.Zoom ],\n EndMembershipRequest :[modelObject.EndMembershipRequest ],\n TransferMembershipRequest :[modelObject.TransferMembershipRequest ],\n RenewMembershipRequest :[modelObject.RenewMembershipRequest ],\n HasOtherExperinceField :[modelObject.HasOtherExperinceField ],\n OtherExperinceField :[modelObject.OtherExperinceField ],\n OtherNationalty :[modelObject.OtherNationalty ],\n IsAccepted :[modelObject.IsAccepted ],\n IsObsolete :[modelObject.IsObsolete ],\n IsRejected :[modelObject.IsRejected ],\n PrefierdInterview :[modelObject.PrefierdInterview ],\n SocialStatus:[modelObject.SocialStatus],\n GraduationYear:[modelObject.GraduationYear],\n EducationalQualification:[modelObject.EducationalQualification],\n });\n }\n public editEnabled = true;\n public picurl: string ='';\n\n clear(){\n this.picurl = '';\n }\n public NationalIdEditEnabled = true;\n public NationalIdPicurl: string ='';\n\n clearNationalId(){\n this.NationalIdPicurl = '';\n}\npublic graduationEditEnabled = true;\npublic graduationPicurl: string ='';\n\ncleargraduation(){\n this.graduationPicurl = '';\n}\n\n }\n ","
    \n\n
    \n \n {{\"Save\" | translate}}\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    {{'Profile Image'|translate}}
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    {{'National Id'|translate}}
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    {{'Graduation document'|translate}}
    \n
    \n \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n

    {{ 'Basic Data' | translate }}

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

    {{ 'Education And Work' | translate }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n \n {{'Has a job'|translate}} \n {{'I do not have work'|translate}}\n \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n
    \n\n
    \n\n
    \n \n {{\"Save\" | translate}}\n \n
    \n
    \n\n\n","import { Component, OnInit } from '@angular/core';\nimport { MembershipModel } from '../../models/membership.model';\nimport { Lightbox } from 'ngx-lightbox';\nimport { ActivatedRoute } from '@angular/router';\nimport { MembershipService } from '../../membership.service';\n@Component({\n selector: 'membership-profile',\n templateUrl: 'membership-profile.component.html',\n styleUrls: ['membership-profile.component.scss']\n})\nexport class MembershipProfileComponent implements OnInit{\n membership:MembershipModel = new MembershipModel()\n Id = 0;\n\nconstructor(private lightbox:Lightbox,\n private MembershipService:MembershipService,\n private route: ActivatedRoute\n){\n this.Id = +route.snapshot.paramMap.get(\"Id\");\n\n}\n ngOnInit(): void {\n this.MembershipService.getById(this.Id)\n .subscribe(result=>{\n this.membership = result;\n })\n // this.membership.AcademicYear='',\n // this.membership.ActivitiesCount=10,\n // this.membership.Address=\"cairo\",\n // this.membership.ArabicName=\"محمد سيد\",\n // this.membership.BirthDate=new Date(\"01/01/1996\");\n // this.membership.CurrentPosition=\"Software Engineer\";\n // this.membership.Email = \"info@futurecore.net\";\n // this.membership.EnglishName=\"Mohamed Sayed\";\n // this.membership.Employer = \"FutureCore\";\n // this.membership.Gender=\"Male\";\n // this.membership.Id = 1;\n // this.membership.NationalID=\"29601012418518\";\n // this.membership.Phone = \"01098680787\";\n // this.membership.VolunteerNumber=\"NSR 0462 002346\";\n // this.membership.GraduationYear=\"2019\";\n // this.membership.EducationalQualification=\"Bachelor of Computer Science\";\n\n }\n \n openLightbox(src: string): void {\n this.lightbox.open([{ src, thumb: '' }], 0, { centerVertically: true, positionFromTop: 0, disableScrolling: true, wrapAround: true });\n }\n}\n","\"Profile\"\n
    \n
    \n
    \n

    {{membership.EnglishName}}

    \n
    \n \n\n \n

    \n \n {{'Edit'|translate}}\n {{\" \"}}\n \n {{'Renewal Membership'|translate}}\n {{\" \"}}\n \n {{'End Membership'|translate}}\n {{\" \"}}\n \n

    \n\n

    {{'Contact' | translate}}

    \n
    \n
      \n
    • \n \n
    • \n
    • \n \n
    • \n
    • \n \n
    • \n
    \n
    \n
    \n
    \n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { FileUploader } from 'ng2-file-upload';\nimport { environment } from 'src/environments/environment';\n\n@Component({\n selector: 'upload-graduation-document',\n templateUrl: 'upload-graduation-document.component.html',\n styleUrls: ['upload-graduation-document.component.scss']\n})\nexport class UploadGraduationDocumentComponent implements OnInit {\n public GraduationDocument: FileUploader;\n public hasDragOver = false;\n \n @Input()\n public editmode = false;\n \n @Input()\n public url = '';\n \n @Output()\n public urlChange = new EventEmitter();\n declare lang: any;\n \n constructor(private translate: TranslateService, private notifications: NotificationsService) {\n this.lang = localStorage.getItem('theme_lang');\n\n this.GraduationDocument = new FileUploader({\n url: environment.baseApiUrl+'Membership/UploadGraduation',\n disableMultipart: false,\n autoUpload: true\n });\n \n this.GraduationDocument.response.subscribe(res => {\n // Upload returns a JSON with the image ID\n if(res != null && res != \"\" && res != undefined){\n this.url = environment.apiUrl+ '/Resources/UploadGraduation/' + JSON.parse(res);\n this.urlChange.emit(this.url);\n }\n else{\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessUpload\"))\n }\n },error =>{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedUpload\"))\n });\n }\n \n public fileOver(e: any): void {\n \n this.hasDragOver = e;\n }\n \n ngOnInit() {\n \n }\n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n }\n ","
    \n \n {{\"Download\"|translate}}\n \n \n
    \n ","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { FileUploader } from 'ng2-file-upload';\nimport { environment } from 'src/environments/environment';\n\n@Component({\n selector: 'upload-membership-profile',\n templateUrl: 'upload-membership-profile.component.html',\n styleUrls: ['upload-membership-profile.component.scss']\n})\nexport class UploadMembershipProfileComponent implements OnInit {\n public MembershipProfile: FileUploader;\n public hasDragOver = false;\n \n @Input()\n public editmode = false;\n \n @Input()\n public url = '';\n \n @Output()\n public urlChange = new EventEmitter();\n declare lang: any;\n \n constructor(private translate: TranslateService, private notifications: NotificationsService) {\n this.lang = localStorage.getItem('theme_lang');\n\n this.MembershipProfile = new FileUploader({\n url: environment.baseApiUrl+'Membership/UploadMembershipProfile',\n disableMultipart: false,\n autoUpload: true\n });\n \n this.MembershipProfile.response.subscribe(res => {\n // Upload returns a JSON with the image ID\n if(res != null && res != \"\" && res != undefined){\n this.url = environment.apiUrl+ '/Resources/UploadMembershipProfile/' + JSON.parse(res);\n this.urlChange.emit(this.url);\n }\n else{\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessUpload\"))\n }\n },error =>{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedUpload\"))\n });\n }\n \n public fileOver(e: any): void {\n \n this.hasDragOver = e;\n }\n \n ngOnInit() {\n \n }\n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n }\n ","
    \n \n {{\"Download\"|translate}}\n \n \n
    \n ","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { FileUploader } from 'ng2-file-upload';\nimport { environment } from 'src/environments/environment';\n\n@Component({\n selector: 'upload-nationalid-image',\n templateUrl: 'upload-nationalid-image.component.html',\n styleUrls: ['upload-nationalid-image.component.scss']\n})\nexport class UploadNationalidImageComponent implements OnInit {\n public NationalID: FileUploader;\n public hasDragOver = false;\n \n @Input()\n public editmode = false;\n \n @Input()\n public url = '';\n \n @Output()\n public urlChange = new EventEmitter();\n declare lang: any;\n \n constructor(private translate: TranslateService, private notifications: NotificationsService) {\n this.lang = localStorage.getItem('theme_lang');\n\n this.NationalID = new FileUploader({\n url: environment.baseApiUrl+'Membership/UploadNationalidImage',\n disableMultipart: false,\n autoUpload: true\n });\n \n this.NationalID.response.subscribe(res => {\n // Upload returns a JSON with the image ID\n if(res != null && res != \"\" && res != undefined){\n this.url = environment.apiUrl+ '/Resources/UploadNationalidImage/' + JSON.parse(res);\n this.urlChange.emit(this.url);\n }\n else{\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessUpload\"))\n }\n },error =>{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedUpload\"))\n });\n }\n \n public fileOver(e: any): void {\n \n this.hasDragOver = e;\n }\n \n ngOnInit() {\n \n }\n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n }\n ","
    \n \n {{\"Download\"|translate}}\n \n \n
    \n ","import { Component, OnInit } from '@angular/core';\nimport { MembershipModel } from '../../models/membership.model';\nimport { ActivatedRoute } from '@angular/router';\nimport { MembershipService } from '../../membership.service';\n@Component({\n selector: 'view-membership',\n templateUrl: 'view-membership.component.html',\n styleUrls: ['view-membership.component.scss']\n})\nexport class ViewMembershipComponent implements OnInit{\n membership:MembershipModel = new MembershipModel()\n Id = 0;\n\nconstructor( private MembershipService:MembershipService,\n private route: ActivatedRoute){\n this.Id = +route.snapshot.paramMap.get(\"Id\");\n \n }\n ngOnInit(): void {\n this.MembershipService.getById(this.Id)\n .subscribe(result=>{\n this.membership = result;\n })\n\n\n }\n}\n","
    \n
    \n
    \n

    {{membership.EnglishName}}

    \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n \n \n
    \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{'Membership Number'|translate}}:{{membership.VolunteerNumber}}
    {{'Name'|translate}}:{{membership.EnglishName}}
    {{'Phone'|translate}}:{{membership.Phone}}
    {{'Email'|translate}}:{{membership.Email}}
    {{'Address'|translate}}:{{membership.Address}}
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{'Graduation Year'|translate}}:{{membership.GraduationYear}}
    {{'Educational Qualification'|translate}}:{{membership.EducationalQualification}}
    {{'Employer'|translate}}:{{membership.Employer}}
    {{'CurrentPosition'|translate}}:{{membership.CurrentPosition}}
    \n \n
    \n \n
    \n
    \n
    \n
    \n
    {{'Profile Image'|translate}}
    \n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    {{'National Id'|translate}}
    \n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    {{'Graduation document'|translate}}
    \n
    \n
    \n \n \n {{\"Download\"|translate}}\n\n \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n \n ","\r\nimport { SortablejsModule } from 'ngx-sortablejs';\r\nimport { SearchPipePipe } from './../pipes/search-pipe.pipe';\r\nimport { PagesContainersModule } from './../containers/pages/pages.containers.module';\r\nimport { ComponentsCarouselModule } from './../components/carousel/components.carousel.module';\r\nimport { SharedModule } from './../shared/shared.module';\r\nimport { environment } from './../../environments/environment';\r\nimport { LayoutContainersModule } from './../containers/layout/layout.containers.module';\r\nimport { NgModule } from '@angular/core';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { AngularFireModule } from '@angular/fire';\r\nimport { CommonModule, DatePipe } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { ModalModule } from 'ngx-bootstrap/modal';\r\nimport { ArchwizardModule } from 'angular-archwizard';\r\nimport { AngularFireAuthModule } from '@angular/fire/auth';\r\nimport { AngularFireAuthGuardModule } from '@angular/fire/auth-guard';\r\nimport { FormsModule as FormsModuleAngular } from '@angular/forms';\r\nimport { TabsModule } from 'ngx-bootstrap/tabs';\r\nimport { HeadroomModule } from '@ctrl/ngx-headroom';\r\nimport { ScrollToModule } from '@nicky-lenaers/ngx-scroll-to';\r\nimport { NgxDatatableModule } from '@swimlane/ngx-datatable';\r\nimport { CollapseModule } from 'ngx-bootstrap/collapse';\r\nimport { PopoverModule } from 'ngx-bootstrap/popover';\r\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { SidePopupComponent } from '../views/app/aio/shared/side-popup/side-popup.component';\r\nimport { PaginationConfig, PaginationModule } from 'ngx-bootstrap/pagination';\r\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\r\nimport { SimpleNotificationsModule } from 'angular2-notifications';\r\nimport {MatTabsModule} from '@angular/material/tabs';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { FileUploadModule } from 'ng2-file-upload';\r\nimport { AccordionModule } from 'ngx-bootstrap/accordion';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { RatingModule } from 'ngx-bootstrap/rating';\r\nimport { ComponentsPlayerModule } from '../components/player/components.player.module';\r\nimport { LightboxModule } from 'ngx-lightbox';\r\nimport { RouterModule } from '@angular/router';\r\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\r\nimport { BootstrapModule } from '../components/bootstrap/bootstrap.module';\r\nimport { TimepickerModule } from 'ngx-bootstrap/timepicker';\r\nimport { MembershipRoutingModule } from './membership.routing';\r\nimport { AllMembershipsComponent } from './components/all-memberships/all-memberships.component';\r\nimport { CreateMembershipComponent } from './components/create-membership/create-membership.component';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { UploadMembershipProfileComponent } from './components/upload-membership-profile/upload-membership-profile.component'\r\nimport { UploadNationalidImageComponent } from './components/upload-nationalid-image/upload-nationalid-image.component'\r\nimport { UploadGraduationDocumentComponent } from './components/upload-graduation-document/upload-graduation-document.component';\r\nimport { ViewMembershipComponent } from './components/view-membership/view-membership.component';\r\nimport { MembershipProfileComponent } from './components/membership-profile/membership-profile.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MembershipRoutingModule,\r\n LayoutContainersModule,\r\n MatRadioModule,\r\n MatTabsModule,\r\n TranslateModule,\r\n HttpClientModule,\r\n AngularFireModule.initializeApp(environment.firebase),\r\n FormsModule,\r\n ReactiveFormsModule,\r\n ModalModule.forRoot(),\r\n ArchwizardModule,\r\n SharedModule,\r\n NgSelectModule,\r\n FormsModuleAngular,\r\n AngularFireAuthModule,\r\n AngularFireAuthGuardModule,\r\n ComponentsCarouselModule,\r\n TabsModule.forRoot(),\r\n HeadroomModule,\r\n ScrollToModule.forRoot(),\r\n NgxDatatableModule,\r\n CollapseModule,\r\n PagesContainersModule,\r\n PopoverModule.forRoot(),\r\n TooltipModule.forRoot(),\r\n BsDropdownModule,\r\n SortablejsModule,\r\n PaginationModule,\r\n SimpleNotificationsModule.forRoot(),\r\n SimpleNotificationsModule,\r\n LayoutContainersModule,\r\n MatTooltipModule,\r\n FileUploadModule,\r\n AccordionModule,\r\n MatTreeModule,\r\n MatIconModule,\r\n MatButtonModule ,\r\nMatCheckboxModule ,\r\nMatFormFieldModule,\r\nMatInputModule ,\r\nMatProgressBarModule,\r\n\r\nRatingModule.forRoot(),\r\nComponentsPlayerModule,\r\nLightboxModule,\r\nRouterModule,\r\nPerfectScrollbarModule,\r\nBootstrapModule,\r\n\r\nTimepickerModule.forRoot(),\r\n ],\r\n declarations: [\r\n AllMembershipsComponent,\r\n CreateMembershipComponent,\r\n UploadMembershipProfileComponent,\r\n UploadNationalidImageComponent,\r\n UploadGraduationDocumentComponent,\r\n ViewMembershipComponent,\r\n MembershipProfileComponent\r\n ],\r\n providers: [DatePipe,PaginationConfig],\r\n exports:[MembershipProfileComponent,UploadMembershipProfileComponent,UploadNationalidImageComponent,UploadGraduationDocumentComponent],\r\n// bootstrap: [InvoiceComponent]\r\n})\r\nexport class MembershipModule { }\r\n","\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { NgModule } from '@angular/core';\r\nimport { AllMembershipsComponent } from './components/all-memberships/all-memberships.component';\r\nimport { CreateMembershipComponent } from './components/create-membership/create-membership.component';\r\nimport { ViewMembershipComponent } from './components/view-membership/view-membership.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '', component: AllMembershipsComponent,\r\n \r\n },{\r\n path:'create-membership/:Id',\r\n component:CreateMembershipComponent\r\n },{\r\n path:'view-membership/:Id',\r\n component:ViewMembershipComponent\r\n }\r\n \r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class MembershipRoutingModule { }","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { MembershipModel } from './models/membership.model';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MembershipService {\r\n\r\n \r\n constructor(private http:HttpClient ) { }\r\n\r\n \r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Membership/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n}\r\n\r\ngetById(Id:number): Observable {\r\n\r\n return this.http\r\n .get(`${this.baseUrl}Membership/GetById/${Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n}\r\ninsert(payload: MembershipModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}Membership/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n}\r\n\r\nupdate(payload: MembershipModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}Membership/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n}\r\n\r\ndelete(Id:number): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}Membership/Delete/${Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n}\r\n\r\n deleteList(payload: MembershipModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}Membership/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n}\r\n","\r\n\r\nexport class MembershipModel{\r\n Id?: number;\r\n ArabicName ?: string;\r\n EnglishName ?: string;\r\n Phone ?: string;\r\n Email ?: string;\r\n Gender ?: string;\r\n IsEgyptian ?: boolean;\r\n NationalID ?: string;\r\n NationalIDImage ?: string;\r\n GraduationDocument ?: string;\r\n PassportNumber ?: string;\r\n BranchNameEn ?: string;\r\n BranchNameAr ?: string;\r\n CountryEn ?: string;\r\n CountryAr ?: string;\r\n NationaltyID ?: number;\r\n City ?: number;\r\n GovernorateId ?: number;\r\n EmergencyContactNumber ?: string;\r\n BirthDate ?: Date|null;\r\n ImageURL ?: string;\r\n PWS ?: string;\r\n IsActive ?: boolean;\r\n Address ?: string;\r\n TeamId ?: number;\r\n BranchId ?: number;\r\n RoleId ?: number;\r\n IsBlocked ?: boolean;\r\n IsStudent ?: boolean;\r\n FieldsStudyOrWorkId ?: number;\r\n SubFieldsStudyOrWorkId ?: number;\r\n CollegeId ?: number;\r\n SchoolId ?: number;\r\n AcademicYear ?: string;\r\n VolunteerItherFiled ?: string;\r\n CurrentPosition ?: string;\r\n Employer ?: string;\r\n UserId ?: string;\r\n IsHaveExpereanceInVolunteerFildes?: boolean;\r\n HowDidYouKnowAboutUs ?: string;\r\n IsMembershipExpered ?: boolean;\r\n IsDisability?:boolean;\r\n DisabilityType?:string;\r\n CreateBy ?: string;\r\n CreateDate ?: Date|null;\r\n ModifiedBy ?: string;\r\n ModifiedDate ?: Date|null;\r\n IsDeleted ?: boolean;\r\n DeletedBy ?: string;\r\n DeletedDate ?: Date|null;\r\n GovernorateNameEn ?:string;\r\n GovernorateNameAr ?:string;\r\n CityNameEn ?:string;\r\n CityNameAr ?:string;\r\n SectorNameAr ?: string;\r\n SectorNameEn ?: string;\r\n FieldNameAr ?: string;\r\n FieldNameEn ?: string;\r\n HasWork ?: boolean;\r\n StudentType ?: string;\r\n CollegeNameAr ?: string;\r\n CollegeNameEn ?: string;\r\n SchoolNameAr ?: string;\r\n SchoolNameEn ?: string;\r\n VolunteerNumber ?:string; \r\n UniversityNameAr ?:string;\r\n UniversityNameEn ?:string;\r\n InstituteNameAr ?:string;\r\n InstituteNameEn ?:string;\r\n EventsCount ?:number;\r\n ActivitiesCount ?:number;\r\n NumberOfActivityPoints ?:number;\r\n NumberOfActivityHours ?:number;\r\n EndMembershipDate ?:Date|null;\r\n MembershipIsIsEnded ?:boolean;\r\n Latitude ?: number;\r\n\tLangitude ?: number;\r\n\tZoom ?:number;\r\n EndMembershipRequest ?:boolean;\r\n TransferMembershipRequest ?:boolean;\r\n RenewMembershipRequest ?:boolean;\r\n HasOtherExperinceField ?:boolean;\r\n OtherExperinceField ?:string;\r\n OtherNationalty ?:string;\r\n IsAccepted ?: boolean;\r\n IsObsolete ?:boolean;\r\n IsRejected ?:boolean;\r\n PrefierdInterview ?: number;\r\n FirstArabicName ?: string;\r\n SecondArabicName ?: string;\r\n LastArabicName ?: string;\r\n SocialStatus?:string;\r\n EducationalQualification?:string;\r\n GraduationYear?:string;\r\n constructor(item ?: MembershipModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.EducationalQualification = item.EducationalQualification ? item.EducationalQualification : '';\r\n this.GraduationYear = item.GraduationYear ? item.GraduationYear : '';\r\n\r\n this.PrefierdInterview = item.PrefierdInterview ? item.PrefierdInterview : 1;\r\n this.IsAccepted = item.IsAccepted ? item.IsAccepted : false;\r\n this.IsObsolete = item.IsObsolete ? item.IsObsolete : false;\r\n this.IsRejected = item.IsRejected ? item.IsRejected : false;\r\n this.HasOtherExperinceField = item.HasOtherExperinceField ? item.HasOtherExperinceField : false;\r\n this.OtherExperinceField = item.OtherExperinceField ? item.OtherExperinceField : '';\r\n this.OtherNationalty = item.OtherNationalty ? item.OtherNationalty : '';\r\n this.RenewMembershipRequest = item.RenewMembershipRequest ? item.RenewMembershipRequest : false;\r\n this.TransferMembershipRequest = item.TransferMembershipRequest ? item.TransferMembershipRequest : false;\r\n this.EndMembershipRequest = item.EndMembershipRequest ? item.EndMembershipRequest : false;\r\n this.Latitude = item.Latitude ? item.Latitude : 0;\r\n this.Langitude = item.Langitude ? item.Langitude : 0;\r\n this.Zoom = item.Zoom ? item.Zoom : 0;\r\n this.ArabicName = item.ArabicName ? item.ArabicName : '';\r\n this.EnglishName = item.EnglishName ? item.EnglishName : '';\r\n this.UniversityNameAr= item.UniversityNameAr ? item.UniversityNameAr : '';\r\n this.UniversityNameEn= item.UniversityNameEn ? item.UniversityNameEn : '';\r\n this.InstituteNameAr= item.InstituteNameAr ? item.InstituteNameAr : '';\r\n this.InstituteNameEn= item.InstituteNameEn ? item.InstituteNameEn : '';\r\n this.CountryEn = item.CountryEn ? item.CountryEn : '';\r\n this.CountryAr = item.CountryAr ? item.CountryAr : '';\r\n this.BranchNameEn = item.BranchNameEn ? item.BranchNameEn : '';\r\n this.BranchNameAr = item.BranchNameAr ? item.BranchNameAr : '';\r\n this.GovernorateNameEn = item.GovernorateNameEn ? item.GovernorateNameEn : '';\r\n this.GovernorateNameAr = item.GovernorateNameAr ? item.GovernorateNameAr : '';\r\n this.CityNameEn = item.CityNameEn? item.CityNameEn : '';\r\n this.CityNameAr = item.CityNameAr? item.CityNameAr : '';\r\n this.Phone = item.Phone ? item.Phone : '';\r\n this.Email = item.Email ? item.Email : '';\r\n this.Gender = item.Gender ? item.Gender : '';\r\n this.IsEgyptian = item.IsEgyptian ? item.IsEgyptian : true;\r\n this.NationalID = item.NationalID ? item.NationalID : '';\r\n this.PassportNumber = item.PassportNumber ? item.PassportNumber : '';\r\n this.NationaltyID = item.NationaltyID ? item.NationaltyID : 0;\r\n this.City = item.City ? item.City : 0;\r\n this.GovernorateId = item.GovernorateId ? item.GovernorateId : 0;\r\n this.EmergencyContactNumber = item.EmergencyContactNumber ? item.EmergencyContactNumber : '';\r\n this.BirthDate = item.BirthDate ? item.BirthDate : null;\r\n this.ImageURL = item.ImageURL ? item.ImageURL : '';\r\n this.PWS = item.PWS ? item.PWS : '';\r\n this.IsActive = item.IsActive ? item.IsActive : false;\r\n this.Address = item.Address ? item.Address : '';\r\n this.TeamId = item.TeamId ? item.TeamId : 0;\r\n this.BranchId = item.BranchId ? item.BranchId : 0;\r\n this.RoleId = item.RoleId ? item.RoleId : 0;\r\n this.IsBlocked = item.IsBlocked ? item.IsBlocked : false;\r\n this.IsStudent = item.IsStudent ? item.IsStudent : false;\r\n this.FieldsStudyOrWorkId = item.FieldsStudyOrWorkId ? item.FieldsStudyOrWorkId : 0;\r\n this.SubFieldsStudyOrWorkId = item.SubFieldsStudyOrWorkId ? item.SubFieldsStudyOrWorkId : 0;\r\n this.CollegeId = item.CollegeId ? item.CollegeId : 0;\r\n this.SchoolId = item.SchoolId ? item.SchoolId : 0;\r\n this.AcademicYear = item.AcademicYear ? item.AcademicYear : '';\r\n this.VolunteerItherFiled = item.VolunteerItherFiled ? item.VolunteerItherFiled : '';\r\n this.CurrentPosition = item.CurrentPosition ? item.CurrentPosition : '';\r\n this.Employer = item.Employer ? item.Employer : '';\r\n this.UserId = item.UserId ? item.UserId : '';\r\n this.IsHaveExpereanceInVolunteerFildes = item.IsHaveExpereanceInVolunteerFildes ? item.IsHaveExpereanceInVolunteerFildes : false;\r\n this.HowDidYouKnowAboutUs = item.HowDidYouKnowAboutUs ? item.HowDidYouKnowAboutUs : '';\r\n this.IsDisability = item.IsDisability ? item.IsDisability : false;\r\n this.IsMembershipExpered = item.IsMembershipExpered ? item.IsMembershipExpered : false;\r\n this.DisabilityType = item.DisabilityType ? item.DisabilityType : '';\r\n this.CreateBy = item.CreateBy ? item.CreateBy : '';\r\n this.CreateDate = item.CreateDate ? item.CreateDate : null;\r\n this.ModifiedBy = item.ModifiedBy ? item.ModifiedBy : '';\r\n this.ModifiedDate = item.ModifiedDate ? item.ModifiedDate : null;\r\n this.IsDeleted = item.IsDeleted ? item.IsDeleted : false;\r\n this.DeletedBy = item.DeletedBy ? item.DeletedBy : '';\r\n this.DeletedDate = item.DeletedDate ? item.DeletedDate : null;\r\n this.SectorNameAr= item.SectorNameAr? item.SectorNameAr: '';\r\n this.SectorNameEn= item.SectorNameEn? item.SectorNameEn: '';\r\n this.FieldNameAr= item.FieldNameAr? item.FieldNameAr: '';\r\n this.FieldNameEn= item.FieldNameEn? item.FieldNameEn: '';\r\n this.HasWork = item.HasWork ? item.HasWork : true;\r\n this.StudentType = item.StudentType ? item.StudentType : '';\r\n this.CollegeNameAr = item.CollegeNameAr ? item.CollegeNameAr : '';\r\n this.CollegeNameEn = item.CollegeNameEn ? item.CollegeNameEn : '';\r\n this.SchoolNameAr = item.SchoolNameAr ? item.SchoolNameAr : '';\r\n this.SchoolNameEn = item.SchoolNameEn ? item.SchoolNameEn : '';\r\n this.VolunteerNumber = item.VolunteerNumber ? item.VolunteerNumber : '';\r\n this.EventsCount = item.EventsCount ? item.EventsCount : 0;\r\n this.ActivitiesCount = item.ActivitiesCount ? item.ActivitiesCount : 0;\r\n this.NumberOfActivityPoints = item.NumberOfActivityPoints ? item.NumberOfActivityPoints : 0;\r\n this.NumberOfActivityHours = item.NumberOfActivityHours ? item.NumberOfActivityHours : 0;\r\n this.EndMembershipDate = item.EndMembershipDate ? item.EndMembershipDate : null;\r\n this.MembershipIsIsEnded = item.MembershipIsIsEnded ? item.MembershipIsIsEnded : false;\r\n this.FirstArabicName = item.FirstArabicName ? item.FirstArabicName : '';\r\n this.SecondArabicName = item.SecondArabicName ? item.SecondArabicName : '';\r\n this.LastArabicName = item.LastArabicName ? item.LastArabicName : '';\r\n this.SocialStatus = item.SocialStatus?item.SocialStatus:'';\r\n }\r\n}","import { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { MyPharmacyPackageModel } from '../../models/my-pharmacy-package.model';\nimport { DataFilterer } from 'src/app/views/invoice/shared/DataFilterer';\nimport { DataSorter } from 'src/app/views/invoice/shared/DataSorter';\nimport { DataPaginator } from 'src/app/views/invoice/shared/DataPaginator';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { SidePopupComponent } from 'src/app/views/invoice/side-popup/side-popup.component';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { of } from 'rxjs';\n@Component({\n selector: 'my-pharmacy-packages',\n templateUrl: 'my-pharmacy-packages.component.html',\n styleUrls: ['my-pharmacy-packages.component.scss']\n})\nexport class MyPharmacyPackagesComponent {\n constructor(private formBuilder: FormBuilder, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService\n ) { //Additional services for City and Country\n }\n currentScreen: any = 'Table';\n \n translationName: string = 'Package'\n \n sortableKeys = [];\n searchableKeys = ['NameEn', 'NameAr'];\n \n modelObject: MyPharmacyPackageModel = new MyPharmacyPackageModel({});\n ogData: MyPharmacyPackageModel [] = [ \n {Id:5, Name:'باقة 1', Status:'Active', Price:10000 }, \n {Id:1, Name:'باقة 2', Status:'Active', Price:20000 },\n {Id:2, Name:'باقة 3', Status:'Active', Price:30000 },\n {Id:3, Name:'باقة 4', Status:'Active', Price:40000 }, \n {Id:4, Name:'باقة 5', Status:'Active', Price:50000 } \n ];\n // ogData: MyPharmacyPackageModel [] = [ ];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Name: new FormControl(),\n Type: new FormControl(),\n Status: new FormControl(),\n Price: new FormControl(),\n PeriodValue: new FormControl(),\n PeriodType: new FormControl(),\n Description: new FormControl(),\n });\n \n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: this.lang === 'ar-EG' ? 'Name' : 'Name' };\n this.sortableKeys = [\n { label: 'Name', property: this.lang === 'ar-EG' ? 'Name' : 'Name' },\n { label: 'Status', property: 'Status' },\n { label: 'Price', property: 'Price' },\n ];\n //this.loadData();\n this.loadServices();\n }\n \n createForm(): FormGroup {\n return this.formBuilder.group({\n Id: [this.modelObject.Id >= 0 ? this.modelObject.Id : 0],\n Name: [this.modelObject.Name],\n Description: [this.modelObject.Description],\n PeriodType: [this.modelObject.PeriodType],\n PeriodValue: [this.modelObject.PeriodValue],\n Price: [this.modelObject.Price],\n Status: [this.modelObject.Status],\n Type: [this.modelObject.Type],\n });\n }\n \n addObject() {\n //prevent multiclick submits. enable again after API response.\n this.currentAction = '';\n \n this.modelObject = new MyPharmacyPackageModel();\n this.modelObject = this.mainForm.getRawValue();\n this.modelObject.Id = 0;\n \n this.executeAddObject();\n }\n \n executeAddObject(){\n this.ogData.push(this.modelObject);\n }\n \n editObject() {\n this.savedPage = this.currentPage;\n \n \n }\n \n executeEditObject(Object)\n {\n \n }\n \n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = '';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject(){\n \n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n \n //Get any additional data here\n loadServices(){ \n this.currentAction = '';\n this.loadData();\n }\n \n lang: string;\n currentFormMode: string = '';\n currentAction: string = '';\n \n \n //ogData = [];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n \n SelectAllBox: any = false;\n \n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n itemOrder: any;\n orderAsc: boolean = true;\n \n currentPage = 1;\n savedPage = 0;\n \n \n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n \n loadData() {\n this.sortData();\n this.loadSearch();\n this.currentAction = '';\n \n }\n \n sortData() {\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n \n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n \n filterData() {\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n \n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n \n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n \n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n \n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n \n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n \n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n \n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n \n isSelected(p: MyPharmacyPackageModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n \n onSelect(item: MyPharmacyPackageModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n \n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n \n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent;\n @ViewChild('delModal') delModal: ModalDirective;\n showAddNewModalRef(): void {\n this.currentFormMode = 'Add'\n this.modelObject = new MyPharmacyPackageModel;\n this.mainForm = this.createForm();\n this.sideModalRef.show();\n }\n \n showEditModalRef(Id: any): void {\n this.currentFormMode = 'Edit'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.sideModalRef.show();\n }\n \n showInfoModalRef(Id: any): void {\n this.currentFormMode = 'Info'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.sideModalRef.show();\n }\n \n deletionList: MyPharmacyPackageModel[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n \n SearchTerm: any = '';\n \n \n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n \n this.deletionList = [];\n this.selected = [];\n \n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n \n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n \n loadAllData() {\n this.loadSearch();\n\n }\n \n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n}\n","\n
    \n
    \n
    \n

    \n {{currentFormMode+translationName | translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n \n
    \n \n
    \n \n
    \n \n \n {{'Active'|translate}}\n \n {{'Not Active'|translate}}\n \n
    \n
    \n \n
    \n \n \n \n\n \n
    \n
    \n \n \n \n\n \n
    \n
    \n \n
    \n \n \n {{'Weekly'|translate}}\n \n {{'Monthly'|translate}}\n \n {{'Annual'|translate}}\n \n
    \n
    \n\n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Name\" | translate}}\n \n
    \n {{\"Status\" | translate}}\n \n
    \n {{\"Price\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{obj.Name}}{{obj.Status | translate}}{{obj.Price}}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","export class MyPharmacyPackageModel{\r\n Id?:number;\r\n Name?:string;\r\n Type?:string;\r\n Status?:string;\r\n Price?:number;\r\n PeriodValue?:number;\r\n PeriodType?:string;\r\n Description?:string;\r\n constructor(item ?: MyPharmacyPackageModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.Name = item.Name ? item.Name : '';\r\n this.Status = item.Status ? item.Status : '';\r\n this.Type = item.Type ? item.Type : '';\r\n this.Description = item.Description ? item.Description : '';\r\n this.PeriodValue = item.PeriodValue ? item.PeriodValue : 0;\r\n this.PeriodType = item.PeriodType ? item.PeriodType : '';\r\n this.Price = item.Price ? item.Price : 0;\r\n }\r\n}","import { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { MyPharmacySubscriptionModel } from '../../models/my-pharmacy-subscription.model';\n\n@Component({\n selector: 'create-my-pharmacy-subscription',\n templateUrl: 'create-my-pharmacy-subscription.component.html',\n styleUrls: ['create-my-pharmacy-subscription.component.scss']\n})\nexport class CreateMyPharmacySubscriptionComponent implements OnInit {\n showCard: boolean = false;\n ItemHolderList: any[] = [];\n Form: FormGroup;\n FamlyForm:FormGroup;\n lang: string;\n \n constructor(\n public router:Router, \n public fb:FormBuilder, \n ) {\n \n \n }\n \n ngOnInit() {\n this.Form = this.createForm(new MyPharmacySubscriptionModel()); \n this.FamlyForm = this.createFamlyForm(); \n }\n\n \n Save() {\n this.router.navigate(['app/memberships'])\n\n }\n \n goBack(){\n this.router.navigate(['app/memberships'])\n }\n\n \n createForm(modelObject:MyPharmacySubscriptionModel): FormGroup {\n debugger;\n return this.fb.group({\n Id :[modelObject.Id ],\n MemberId :[modelObject.MemberId ],\n MmemberName :[modelObject.MmemberName ],\n PackageId :[modelObject.PackageId ],\n PackageName :[modelObject.PackageName ],\n PackagePrice:[modelObject.PackagePrice],\n StartDate :[modelObject.StartDate ],\n EndDate :[modelObject.EndDate ],\n Description:['']\n });\n }\n createFamlyForm(): FormGroup {\n debugger;\n return this.fb.group({\n Name :[''],\n Age :[0],\n DegreeOfKinship :[''],\n Gender :[''],\n \n });\n }\n famly=[\n {Name:'محمد',Age:14,DegreeOfKinship:'Close to first class',Gender:'Male'},\n {Name:'منة',Age:12,DegreeOfKinship:'Close to first class',Gender:'Female'},\n {Name:'ريهام',Age:8,DegreeOfKinship:'Close to first class',Gender:'Female'},\n {Name:'محمود',Age:18,DegreeOfKinship:'Close to second degree',Gender:'Male'},\n]\n public editEnabled = true;\n public picurl: string ='';\n members=[\n {Name:'محمود احمد' },\n {Name:'عمرو محمد' },\n {Name:'محمد نوح' },\n {Name:'يوسف احمد' },\n {Name:'ابراهيم حسن'},\n]\npackages=[\n {Name:'باقة 1', Price:10000},\n {Name:'باقة 2', Price:20000},\n {Name:'باقة 3', Price:30000},\n {Name:'باقة 4', Price:40000},\n {Name:'باقة 5', Price:50000},\n]\n\n clear(){\n this.picurl = '';\n }\n public NationalIdEditEnabled = true;\n public NationalIdPicurl: string ='';\n\n clearNationalId(){\n this.NationalIdPicurl = '';\n}\npublic graduationEditEnabled = true;\npublic graduationPicurl: string ='';\n\ncleargraduation(){\n this.graduationPicurl = '';\n}\n\n }\n ","
    \n\n
    \n \n {{\"Add\" | translate}}\n \n
    \n \n
    \n
    \n
    \n

    {{ 'Basic Data' | translate }}

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

    {{ 'Family Info' | translate }}

    \n
    \n \n
    \n
    \n \n \n
    \n
    \n \n \n\n
    \n \n
    \n \n
    \n
    \n \n \n \n \n \n
    \n
    \n \n \n \n \n \n \n
    \n
    \n {{\"Add\" | translate}}\n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{'Name'|translate}}{{'Age'|translate}}{{'Degree Of Kinship'|translate}}{{'Gender'|translate}}
    {{item.Name}}{{item.Age}}{{item.DegreeOfKinship | translate}}{{item.Gender | translate}}
    \n \n
    \n \n \n
    \n
    \n\n
    \n \n {{\"Add\" | translate}}\n \n
    \n
    \n\n\n","import { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { MyPharmacySubscriptionModel } from '../../models/my-pharmacy-subscription.model';\nimport { DataFilterer } from 'src/app/views/invoice/shared/DataFilterer';\nimport { DataSorter } from 'src/app/views/invoice/shared/DataSorter';\nimport { DataPaginator } from 'src/app/views/invoice/shared/DataPaginator';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\n\n@Component({\n selector: 'my-pharmacy-subscription',\n templateUrl: 'my-pharmacy-subscription.component.html',\n styleUrls: ['my-pharmacy-subscription.component.scss']\n})\nexport class MyPharmacySubscriptionComponent {\n constructor(private formBuilder: FormBuilder, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private router : Router) {\n }\n currentScreen: any = 'Table';\n \n translationName: string = ''\n \n sortableKeys = [];\n searchableKeys = ['Id'];\n \n ogData: MyPharmacySubscriptionModel [] = [ \n {Id:5, MmemberName:'محمود احمد', PackageName:'باقة 1', PackagePrice:1000, StartDate:new Date(),EndDate:new Date() }, \n {Id:1, MmemberName:'عمرو محمد', PackageName:'باقة 1', PackagePrice:1000, StartDate:new Date(),EndDate:new Date() }, \n {Id:2, MmemberName:'محمد نوح', PackageName:'باقة 1', PackagePrice:1000, StartDate:new Date(),EndDate:new Date() }, \n {Id:3, MmemberName:'يوسف احمد', PackageName:'باقة 1', PackagePrice:1000, StartDate:new Date(),EndDate:new Date() }, \n {Id:4, MmemberName:'ابراهيم حسن', PackageName:'باقة 1', PackagePrice:1000, StartDate:new Date(),EndDate:new Date() }, \n \n ];\n\n \n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Id', property: 'Id' };\n this.sortableKeys = [\n { label: 'Id', property: 'Id' },\n { label: 'MmemberName', property: 'MmemberName' },\n { label: 'PackageName', property: 'PackageName' },\n { label: 'PackagePrice', property: 'PackagePrice' },\n { label: 'StartDate', property: 'StartDate' },\n { label: 'EndDate', property: 'EndDate' },\n ];\n this.loadData();\n console.log(this.ogData);\n }\n \n //Deletion methods:\n //Customize if needed.\n //Pass the target object as paraMetre if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject(){\n // this.modelService.deleteList(this.deletionList).subscribe(result => {\n // if (result === true) {\n // this.loadData();\n // this.currentAction = '';\n // this.finalizeDeletion();\n // }\n // else {\n // this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n // this.currentAction = '';\n // }\n // })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n \n \n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n lang: string;\n currentFormMode: string = '';\n currentAction: string = '';\n \n \n //ogData = [];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n \n SelectAllBox: any = false;\n \n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n itemOrder: any;\n orderAsc: boolean = true;\n \n currentPage = 1;\n savedPage = 0;\n \n \n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n \n loadData() {\n debugger;\n this.currentAction = '';\n this.sortData();\n\n // this.modelService.getAll().subscribe(\n // data => {\n // this.currentAction = '';\n \n // this.ogData = data;\n // this.sortData();\n // }\n // )\n \n }\n \n sortData() {\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n \n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n \n filterData() {\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n \n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n \n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n \n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n \n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n \n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n \n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n \n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n \n isSelected(p: MyPharmacySubscriptionModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n \n onSelect(item: MyPharmacySubscriptionModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n \n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n \n @ViewChild('delModal') delModal: ModalDirective;\n showAddNewModalRef(): void {\n this.router.navigate(['app/health-care/create-subscription',0])\n }\n \n showInfoModalRef(Id: any): void {\n //IMPORTANT\n //REDIRECT TO INFO PAGE\n }\n modelObject:MyPharmacySubscriptionModel={};\n deletionList: MyPharmacySubscriptionModel[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n \n SearchTerm: any = '';\n \n \n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n \n this.deletionList = [];\n this.selected = [];\n \n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n \n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n \n loadAllData() {\n // this.modelService.getAll().subscribe(\n // data => {\n // this.ogData = data;\n // this.loadSearch();\n // }\n // )\n }\n \n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n \n @ViewChild('smallModal') smallModal: ModalDirective;\n \n}\n","\n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n\n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Id\" | translate}}\n \n
    \n {{\"Mmember Name\" | translate}}\n \n
    \n {{\"Package Name\" | translate}}\n \n
    \n {{\"Package Price\" | translate}}\n \n
    \n {{\"Start Date\" | translate}}\n \n
    \n {{\"End Date\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{obj.Id}}{{obj.MmemberName }}{{obj.PackageName }}{{obj.PackagePrice }}{{obj.StartDate |date:'dd/MM/yyyy'}}28/02/2025
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","export class MyPharmacySubscriptionModel{\r\n Id ?:number;\r\n MemberId ?:number;\r\n MmemberName ?:string;\r\n PackageId ?:number;\r\n PackageName ?:string;\r\n PackagePrice?:number;\r\n StartDate ?:Date|null;\r\n EndDate ?:Date|null;\r\n constructor(item ?:MyPharmacySubscriptionModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.MemberId = item.MemberId ? item.MemberId : 0;\r\n this.MmemberName = item.MmemberName ? item.MmemberName : '';\r\n this.PackageId = item.PackageId ? item.PackageId : 0;\r\n this.PackageName = item.PackageName ? item.PackageName : '';\r\n this.PackagePrice = item.PackagePrice ? item.PackagePrice: 1000;\r\n this.StartDate = item.StartDate ? item.StartDate : null;\r\n this.EndDate = item.EndDate ? item.EndDate : null;\r\n }\r\n}","\r\nimport { SortablejsModule } from 'ngx-sortablejs';\r\nimport { SearchPipePipe } from './../pipes/search-pipe.pipe';\r\nimport { PagesContainersModule } from './../containers/pages/pages.containers.module';\r\nimport { ComponentsCarouselModule } from './../components/carousel/components.carousel.module';\r\nimport { SharedModule } from './../shared/shared.module';\r\nimport { environment } from './../../environments/environment';\r\nimport { LayoutContainersModule } from './../containers/layout/layout.containers.module';\r\nimport { NgModule } from '@angular/core';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { AngularFireModule } from '@angular/fire';\r\nimport { CommonModule, DatePipe } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { ModalModule } from 'ngx-bootstrap/modal';\r\nimport { ArchwizardModule } from 'angular-archwizard';\r\nimport { AngularFireAuthModule } from '@angular/fire/auth';\r\nimport { AngularFireAuthGuardModule } from '@angular/fire/auth-guard';\r\nimport { FormsModule as FormsModuleAngular } from '@angular/forms';\r\nimport { TabsModule } from 'ngx-bootstrap/tabs';\r\nimport { HeadroomModule } from '@ctrl/ngx-headroom';\r\nimport { ScrollToModule } from '@nicky-lenaers/ngx-scroll-to';\r\nimport { NgxDatatableModule } from '@swimlane/ngx-datatable';\r\nimport { CollapseModule } from 'ngx-bootstrap/collapse';\r\nimport { PopoverModule } from 'ngx-bootstrap/popover';\r\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { SidePopupComponent } from '../views/app/aio/shared/side-popup/side-popup.component';\r\nimport { PaginationConfig, PaginationModule } from 'ngx-bootstrap/pagination';\r\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\r\nimport { SimpleNotificationsModule } from 'angular2-notifications';\r\nimport {MatTabsModule} from '@angular/material/tabs';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { FileUploadModule } from 'ng2-file-upload';\r\nimport { AccordionModule } from 'ngx-bootstrap/accordion';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { RatingModule } from 'ngx-bootstrap/rating';\r\nimport { ComponentsPlayerModule } from '../components/player/components.player.module';\r\nimport { LightboxModule } from 'ngx-lightbox';\r\nimport { RouterModule } from '@angular/router';\r\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\r\nimport { BootstrapModule } from '../components/bootstrap/bootstrap.module';\r\nimport { TimepickerModule } from 'ngx-bootstrap/timepicker';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MyPharmacyRoutingModule } from './my-pharmacy.routing';\r\nimport { MyPharmacyComponent } from './my-pharmacy/my-pharmacy.component';\r\nimport { MyPharmacyPackagesComponent } from './my-pharmacy-packages/components/my-pharmacy-packages/my-pharmacy-packages.component';\r\nimport { MyPharmacySubscriptionComponent } from './my-pharmacy-subscription/components/my-pharmacy-subscription/my-pharmacy-subscription.component';\r\nimport { CreateMyPharmacySubscriptionComponent } from './my-pharmacy-subscription/components/create-my-pharmacy-subscription/create-my-pharmacy-subscription.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MyPharmacyRoutingModule,\r\n LayoutContainersModule,\r\n MatRadioModule,\r\n MatTabsModule,\r\n TranslateModule,\r\n HttpClientModule,\r\n AngularFireModule.initializeApp(environment.firebase),\r\n FormsModule,\r\n ReactiveFormsModule,\r\n ModalModule.forRoot(),\r\n ArchwizardModule,\r\n SharedModule,\r\n NgSelectModule,\r\n FormsModuleAngular,\r\n AngularFireAuthModule,\r\n AngularFireAuthGuardModule,\r\n ComponentsCarouselModule,\r\n TabsModule.forRoot(),\r\n HeadroomModule,\r\n ScrollToModule.forRoot(),\r\n NgxDatatableModule,\r\n CollapseModule,\r\n PagesContainersModule,\r\n PopoverModule.forRoot(),\r\n TooltipModule.forRoot(),\r\n BsDropdownModule,\r\n SortablejsModule,\r\n PaginationModule,\r\n SimpleNotificationsModule.forRoot(),\r\n SimpleNotificationsModule,\r\n LayoutContainersModule,\r\n MatTooltipModule,\r\n FileUploadModule,\r\n AccordionModule,\r\n MatTreeModule,\r\n MatIconModule,\r\n MatButtonModule ,\r\nMatCheckboxModule ,\r\nMatFormFieldModule,\r\nMatInputModule ,\r\nMatProgressBarModule,\r\n\r\nRatingModule.forRoot(),\r\nComponentsPlayerModule,\r\nLightboxModule,\r\nRouterModule,\r\nPerfectScrollbarModule,\r\nBootstrapModule,\r\n\r\nTimepickerModule.forRoot(),\r\n ],\r\n declarations: [\r\n MyPharmacyComponent,\r\n MyPharmacyPackagesComponent,\r\n MyPharmacySubscriptionComponent,\r\n CreateMyPharmacySubscriptionComponent\r\n ],\r\n providers: [DatePipe,PaginationConfig],\r\n// bootstrap: [InvoiceComponent]\r\n})\r\nexport class MyPharmacyModule { }\r\n","\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { NgModule } from '@angular/core';\r\nimport { MyPharmacyComponent } from './my-pharmacy/my-pharmacy.component';\r\nimport { MyPharmacyPackagesComponent } from './my-pharmacy-packages/components/my-pharmacy-packages/my-pharmacy-packages.component';\r\nimport { MyPharmacySubscriptionComponent } from './my-pharmacy-subscription/components/my-pharmacy-subscription/my-pharmacy-subscription.component';\r\nimport { CreateMyPharmacySubscriptionComponent } from './my-pharmacy-subscription/components/create-my-pharmacy-subscription/create-my-pharmacy-subscription.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '', component: MyPharmacyComponent,\r\n \r\n },\r\n {\r\n path: 'packages', component: MyPharmacyPackagesComponent,\r\n \r\n },\r\n {\r\n path: 'subscriptions', component: MyPharmacySubscriptionComponent,\r\n \r\n },\r\n {\r\n path: 'create-subscription/:Id', component: CreateMyPharmacySubscriptionComponent,\r\n \r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class MyPharmacyRoutingModule { }","import { Component } from '@angular/core';\n\n@Component({\n selector: 'my-pharmacy',\n templateUrl: 'my-pharmacy.component.html',\n styleUrls: ['my-pharmacy.component.scss']\n})\nexport class MyPharmacyComponent {\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'searchPipe'\n})\nexport class SearchPipePipe implements PipeTransform {\n\n\n transform(list: any[], value: string, target: string): any {\n switch(target){\n case 'item': {\n return value ? list.filter(item => item.Name.toLowerCase().includes(value.toLowerCase())\n || item.Code.toLowerCase().includes(value.toLowerCase()) \n || item.Description.toLowerCase().includes(value.toLowerCase()) ) : list;\n break;\n }\n \n case 'currency': {\n return value ? list.filter(item => item.NameEn.toLowerCase().includes(value.toLowerCase()) \n || item.NameAr.toLowerCase().includes(value.toLowerCase()) ) : list; \n break;\n }\n \n case 'branch': {\n return value ? list.filter(item => item.Name.toLowerCase().includes(value.toLowerCase()) ) : list;\n break;\n }\n \n case 'client': {\n return value ? list.filter(item => item.Name.toLowerCase().includes(value.toLowerCase()) \n || item.Code.toLowerCase().includes(value.toLowerCase()) ) : list; \n break;\n }\n \n case 'invoice': {\n return value ? list.filter(item => item.InvoiceNumber.toLowerCase().includes(value.toLowerCase()) ) : list;\n break;\n }\n }\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'tableFilter'\n})\nexport class TableFilterPipe implements PipeTransform {\n\n transform(list: any[], value: string): any {\n return value ? list.filter(item => item.Name.toLowerCase().includes(value.toLowerCase()) || item.ArName.toLowerCase().includes(value.toLowerCase()) ) : list;\n }\n\n}\n","export enum UserRole {\n Editor,\n Admin,\n}\n","import { Injectable } from '@angular/core';\nimport { AngularFireAuth } from '@angular/fire/auth';\nimport { from } from 'rxjs';\n\nimport { getUserRole } from 'src/app/utils/util';\n\nexport interface ISignInCredentials {\n email: string;\n password: string;\n}\n\nexport interface ICreateCredentials {\n email: string;\n password: string;\n displayName: string;\n}\n\nexport interface IPasswordReset {\n code: string;\n newPassword: string;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class AuthService {\n constructor(private auth: AngularFireAuth) {}\n\n // tslint:disable-next-line:typedef\n signIn(credentials: ISignInCredentials) {\n return this.auth\n .signInWithEmailAndPassword(credentials.email, credentials.password)\n .then(({ user }) => {\n return user;\n });\n }\n\n // tslint:disable-next-line:typedef\n signOut() {\n return from(this.auth.signOut());\n }\n\n // tslint:disable-next-line:typedef\n register(credentials: ICreateCredentials) {\n return this.auth\n .createUserWithEmailAndPassword(credentials.email, credentials.password)\n .then(async ({ user }) => {\n user.updateProfile({\n displayName: credentials.displayName,\n });\n this.auth.updateCurrentUser(user);\n return user;\n });\n }\n\n // tslint:disable-next-line:typedef\n sendPasswordEmail(email) {\n return this.auth.sendPasswordResetEmail(email).then(() => {\n return true;\n });\n }\n\n // tslint:disable-next-line:typedef\n resetPassword(credentials: IPasswordReset) {\n return this.auth\n .confirmPasswordReset(credentials.code, credentials.newPassword)\n .then((data) => {\n return data;\n });\n }\n\n // tslint:disable-next-line:typedef\n async getUser() {\n const u = await this.auth.currentUser;\n return { ...u, role: getUserRole() };\n }\n}\n","import { Injectable, Renderer2, RendererFactory2 } from '@angular/core';\nimport { TranslateService, LangChangeEvent } from '@ngx-translate/core';\n\nimport en from '../../lang/en-US.json';\nimport ar from '../../lang/ar-EG.json';\nimport { Router } from '@angular/router';\nimport { getThemeLang, setThemeLang } from 'src/app/utils/util';\n\nconst languageKey = '__lang';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LangService {\n isSingleLang = false;\n renderer: Renderer2;\n defaultLanguage = getThemeLang();\n supportedLanguages: Language[] = [\n { code: 'en-US', direction: 'ltr', label: 'English', shorthand: 'en' },\n { code: 'ar-EG', direction: 'rtl', label: 'العربية', shorthand: 'العربية' },\n // {\n // code: 'en-EN',\n // direction: 'rtl',\n // label: 'English - RTL',\n // shorthand: 'enrtl',\n // },\n ];\n\n constructor(\n private translate: TranslateService,\n private rendererFactory: RendererFactory2,\n private router: Router\n ) {\n this.renderer = this.rendererFactory.createRenderer(null, null);\n }\n\n init(): void {\n this.translate.setTranslation('en-US', en);\n this.translate.setTranslation('ar-EG',ar);\n // this.translate.setTranslation('en-EN', en);\n this.translate.setDefaultLang(this.defaultLanguage);\n if (this.isSingleLang) {\n this.translate.use(this.defaultLanguage);\n } else {\n this.language = '';\n }\n }\n\n checkForDirectionChange(): void {\n this.renderer.removeClass(document.body, 'ltr');\n this.renderer.removeClass(document.body, 'rtl');\n this.renderer.addClass(document.body, this.direction);\n this.renderer.setAttribute(\n document.documentElement,\n 'direction',\n this.direction\n );\n }\n\n set language(lang: string) {\n let language = lang || getThemeLang();\n const isSupportedLanguage = this.supportedLanguages\n .map((item) => item.code)\n .includes(language);\n if (!isSupportedLanguage) {\n language = this.defaultLanguage;\n }\n\n if (\n lang !== '' &&\n this.supportedLanguages.map((item) => item.code).includes(lang) &&\n this.direction !==\n this.supportedLanguages.find((item) => item.code === lang).direction\n ) {\n setThemeLang(lang);\n window.location.reload();\n } else {\n this.translate.use(language);\n }\n this.checkForDirectionChange();\n setThemeLang(language);\n }\n\n get language(): string {\n return this.translate.currentLang;\n }\n\n get languageShorthand(): string {\n return this.supportedLanguages.find(\n (item) => item.code === this.translate.currentLang\n ).shorthand;\n }\n\n get direction(): string {\n return this.supportedLanguages.find(\n (item) => item.code === this.translate.currentLang\n ).direction;\n }\n\n get languageLabel(): string {\n return this.supportedLanguages.find(\n (item) => item.code === this.translate.currentLang\n ).label;\n }\n}\n\nexport class Language {\n code: string;\n direction: string;\n label: string;\n shorthand: string;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ErrorComponent } from '../views/error/error.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { RouterModule } from '@angular/router';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\nimport { UnauthorizedComponent } from '../views/unauthorized/unauthorized.component';\nimport { SidePopupComponent } from '../views/invoice/side-popup/side-popup.component';\nimport { BrowserModule } from '@angular/platform-browser';\n@NgModule({\n declarations: [ErrorComponent, UnauthorizedComponent,SidePopupComponent],\n imports: [\n RouterModule,\n CommonModule,\n TranslateModule,\n PerfectScrollbarModule,\n ],\n exports: [\n PerfectScrollbarModule,\n RouterModule,\n ErrorComponent,\n UnauthorizedComponent,\n TranslateModule,\n CommonModule,\n SidePopupComponent\n ],\n})\nexport class SharedModule {}\n","import { environment } from 'src/environments/environment';\n\n\nexport const getThemeColor = () => {\n let color = environment.defaultColor;\n try {\n color = localStorage.getItem(environment.themeColorStorageKey) || environment.defaultColor\n } catch (error) {\n console.log(\">>>> src/app/utils/util.js : getThemeColor -> error\", error)\n color = environment.defaultColor\n }\n return color;\n}\nexport const setThemeColor = (color) => {\n try {\n if (color) {\n localStorage.setItem(environment.themeColorStorageKey, color);\n } else {\n localStorage.removeItem(environment.themeColorStorageKey)\n }\n } catch (error) {\n console.log(\">>>> src/app/utils/util.js : setThemeColor -> error\", error)\n }\n}\nexport const getThemeRadius = () => {\n let radius = 'rounded';\n try {\n radius = localStorage.getItem(environment.themeRadiusStorageKey) || 'rounded';\n } catch (error) {\n console.log(\">>>> src/app/utils/util.js : getThemeRadius -> error\", error)\n radius = 'rounded'\n }\n return radius;\n}\nexport const setThemeRadius = (radius) => {\n try {\n localStorage.setItem(environment.themeRadiusStorageKey, radius);\n } catch (error) {\n console.log(\">>>> src/app/utils/util.js : setThemeRadius -> error\", error)\n }\n}\n\nexport const getThemeLang = () => {\n let lang = 'ar-EG';\n try {\n lang = localStorage.getItem('theme_lang') || 'ar-EG';\n } catch (error) {\n console.log(\">>>> src/app/utils/util.js : getThemeLang -> error\", error)\n lang = 'ar-EG'\n }\n return lang;\n}\nexport const setThemeLang = (lang) => {\n try {\n localStorage.setItem('theme_lang', lang);\n } catch (error) {\n console.log(\">>>> src/app/utils/util.js : setThemeLang -> error\", lang)\n }\n}\n\nexport const getUserRole = () => {\n let role = environment.defaultRole;\n try {\n role = localStorage.getItem('theme_user_role') || environment.defaultRole;\n } catch (error) {\n console.log(\">>>> src/app/utils/util.js : getUserRole -> error\", error)\n role = environment.defaultRole\n }\n return role;\n}\nexport const setUserRole = (role) => {\n try {\n localStorage.setItem('theme_user_role', role);\n } catch (error) {\n console.log(\">>>> src/app/utils/util.js : setUserRole -> error\", role)\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { ExpensesModel } from '../../models/expenses.model';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { BasicModel } from '../../../expensess-type/helper/model';\nimport { CurrencyModel } from 'src/app/invoices/currencies/CurrencyModel';\nimport { ExpensesAccountsModel } from '../../models/expenses-accounts.model';\nimport { ExpensesCostCenterModel } from '../../models/expenses-cost-centers.model';\nimport { LockerBasicModel } from '../../../locker-data/helper/model';\nimport { AccountNameModel } from '../../../account-name/AccountNameModel';\nimport { CostCenterModel } from '../../../cost-center/models/cost-center.model';\nimport { BankCodeModel } from '../../../bank-code/bank_code_model';\nimport { TaxTypesModel } from 'src/app/invoices/tax-types/TaxTypesModel';\nimport { AccountsNameService } from '../../../account-name/AccountNameService';\nimport { CostCenterService } from '../../../cost-center/services/cost-center.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AccountExpensesTypeService } from '../../../expensess-type/helper/serves';\nimport { TreasuryAndBankAccountsService } from '../../../treasury-and-bank-accounts/treasury-and-bank-accounts.service';\nimport { TaxTypesService } from 'src/app/invoices/tax-types/TaxTypesService';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { CurrencyService } from 'src/app/invoices/currencies/CurrencyService';\nimport { LockersDataService } from '../../../locker-data/helper/serves';\nimport { BankCodeService } from '../../../bank-code/serves';\nimport { ExpensesService } from '../../services/expenses.service';\nimport { ExpensesFilesModel } from '../../models/expenses-files.model';\nimport { EmployeesManagementService } from 'src/app/HR/Employees/EmployeesManagement/employees-management.service';\nimport { EmployeesChoiceModel } from 'src/app/HR/Salaries/add-salaries-manager/EmployeesChoiceModel';\nimport { PurchaseInvoiceService } from 'src/app/views/purchases/invoice-purchase/PurchaseInvoiceService';\nimport { PurchaseInvoiceModel } from 'src/app/views/purchases/invoice-purchase/PurchaseInvoiceModel';\n\n@Component({\n selector: 'create-expenses',\n templateUrl: 'create-expenses.component.html',\n styleUrls: ['create-expenses.component.scss']\n})\nexport class CreateExpensesComponent implements OnInit{\n expenses:ExpensesModel={};\n declare lang: any;\n Id=0;\n Form:FormGroup;\n buttonName='Add';\n categories:BasicModel[]=[];\n curenncies:CurrencyModel[]=[];\n users:any[]=[];\n SelectedAccount:ExpensesAccountsModel[]=[{AccountId:0,Amount:0,ExpensesId:this.Id,Description:'',Id:0}];\n SelectedCostCenters:ExpensesCostCenterModel[]=[{CostCenterId:0,Amount:0,ExpensesId:this.Id,Percent:0,Id:0}];\n LockersData:LockerBasicModel[]=[];\n public editEnabled = true;\n public picurl: string ='';\n AccountsNameModel: AccountNameModel[] = [];\n PackUpAccounts: AccountNameModel[] = [];\n centers:CostCenterModel[]=[];\n Banks:BankCodeModel[]=[];\n Treasuries:any[]=[];\n taxes:TaxTypesModel[]=[]\n employees:EmployeesChoiceModel[]=[];\n invoices:PurchaseInvoiceModel[]=[];\n constructor(\n private CurrencyService: CurrencyService, \n private accountsNameService: AccountsNameService,\n private costCenterService:CostCenterService,\n private route: ActivatedRoute,\n public router:Router,\n private ExpensesService:ExpensesService,\n public fb:FormBuilder,\n private ExpensesCategoryService:AccountExpensesTypeService,\n private LockersDataService:LockersDataService,\n private BankCodeService:BankCodeService,\n private treasuryService:TreasuryAndBankAccountsService,\n private taxService:TaxTypesService,\n private translate: TranslateService,\n private notifications: NotificationsService,\n private employeeService:EmployeesManagementService,\n private PurchaseInvoiceService:PurchaseInvoiceService\n ){\n this.lang = localStorage.getItem('theme_lang');\n this.Id = + route.snapshot.paramMap.get('Id');\n \n }\n centersLoaded= false;\n TreasuriesLoaded= false;\n taxesLoaded= false;\n AccountsLoaded= false;\n categoriesLoaded= false;\n curennciesLoaded= false;\n ngOnInit(): void {\n this.PurchaseInvoiceService.GetAllNotPayed()\n .subscribe(result=>{\n this.invoices = result\n })\n this.employeeService.getAll()\n .subscribe(result=>{\n this.employees = result;\n })\n this.treasuryService.getAll()\n .subscribe(data=>{\n\n this.Treasuries = data;\n this.TreasuriesLoaded = true;\n })\n this.taxService.getAll()\n .subscribe(data => {\n this.taxes = data;\n this.taxesLoaded = true;\n \n\n })\n this.accountsNameService.GetAllSubAccountes(0).subscribe(\n data=>{\n this.AccountsNameModel=data;\n this.PackUpAccounts = data.map(item=>Object.assign({}, item))\n this.AccountsLoaded = true;\n\n }\n );\n this.ExpensesCategoryService.getAll()\n .subscribe(cstegorie=>{\n this.categories = cstegorie\n console.log('this.categories ',this.categories )\n this.categoriesLoaded = true;\n\n })\n this.CurrencyService.getAll()\n .subscribe(data => {\n debugger;\n this.curenncies = data;\n \n this.curennciesLoaded = true;\n \n })\n this.costCenterService.getAll(0)\n .subscribe(cosetCenters=>{\n this.centers = cosetCenters;\n this.centersLoaded = true;\n })\n if(this.Id == 0){\n this.ExpensesService.GetLastCode()\n .subscribe(code=>{\n this.expenses = new ExpensesModel();\n this.expenses.Code = code + 1;\n this.Form = this.createForm();\n this.curenncies.forEach(element => {\n if(element.IsMain == true){\n this.Form.controls['CurrencyId'].setValue(element.Id);\n }\n });\n })\n \n }\n else{\n this.ExpensesService.getById(this.Id)\n .subscribe(data=>{\n this.buttonName = \"Edit\"\n this.expenses =data;\n this.SelectedAccount =this.expenses.Accounts ;\n this.SelectedCostCenters=this.expenses.CostCenters ;\n this.files =this.expenses.Files ;\n this.Form = this.createForm();\n })\n }\n \n }\n createForm():FormGroup{\n return this.fb.group({\n Id :[this.expenses.Id ],\n Amount :[this.expenses.Amount ],\n CurrencyId :[this.expenses.CurrencyId ],\n Code :[this.expenses.Code ],\n Date :[this.expenses.Date ],\n TheRecipient :[this.expenses.TheRecipient ],\n CategoryId :[this.expenses.CategoryId ],\n TaxId :[this.expenses.TaxId ],\n TaxValue :[this.expenses.TaxValue ],\n IsMulti :[this.expenses.IsMulti ],\n WithCostCenters :[this.expenses.WithCostCenters ],\n IsFrequent :[this.expenses.IsFrequent ],\n FrequentType :[this.expenses.FrequentType ],\n ExpiryDate :[this.expenses.ExpiryDate ],\n Files :[this.expenses.Files ],\n Description :[this.expenses.Description ],\n Accounts :[this.expenses.Accounts ],\n CostCenters :[this.expenses.CostCenters ],\n AccountId :[this.expenses.AccountId ],\n Treasury :[this.expenses.Treasury ],\n TreasuryType :[this.expenses.TreasuryType ],\n PurchaseInvoiceId :[this.expenses.PurchaseInvoiceId ],\n })\n }\n setIsMulti(IsMulti){\n this.Form.controls['IsMulti'].setValue(IsMulti);\n if(this.Form.controls['IsMulti'].value==false){\n this.SelectedAccount=[{AccountId:0,Amount:0,ExpensesId:this.Id,Description:'',Id:0}];\n }\n else if(this.Form.controls['IsMulti'].value==true){\n this.Form.controls['AccountId'].setValue(0);\n this.SelectedCostCenters=[{CostCenterId:0,Amount:0,ExpensesId:this.Id,Percent:0,Id:0}];\n this.Form.controls['TaxId'].setValue(0);\n this.Form.controls['TaxValue'].setValue(0);\n\n }\n }\n splitAccount($event){\n debugger;\n var i = this.AccountsNameModel.findIndex(x=>x.Id == $event.Id);\n if(i > -1){\n this.AccountsNameModel.splice(i,1);\n }\n }\n deleteSelectedAccount(item){\n debugger;\n var i = this.SelectedAccount.indexOf(item);\n if(i > -1){\n \n var x= this.PackUpAccounts.findIndex(x=>x.Id == this.SelectedAccount[i].AccountId);\n if(x > -1){\n\n this.AccountsNameModel.push(this.PackUpAccounts[x]);\n }\n this.SelectedAccount.splice(i,1);\n this.changeAccountAmount();\n }\n }\n AddonClick(){\n debugger;\n var selectedDailyrestrictionsFooterModel =new ExpensesAccountsModel();\n selectedDailyrestrictionsFooterModel.Id = this.SelectedAccount.length+1 ;\n selectedDailyrestrictionsFooterModel.Amount = 0 ;\n selectedDailyrestrictionsFooterModel.AccountId = 0 ;\n selectedDailyrestrictionsFooterModel.ExpensesId = this.Id ;\n selectedDailyrestrictionsFooterModel.Description = \"\" ;\n this.SelectedAccount.push(selectedDailyrestrictionsFooterModel);\n }\n AddCostCenter(){\n this.SelectedCostCenters.push(new ExpensesCostCenterModel());\n }\n deleteCostCenter(cost){\n var i = this.SelectedCostCenters.indexOf(cost);\n if(i > -1){\n this.SelectedCostCenters.splice(i,1);\n }\n \n }\n changePercent(cost,$event){\n debugger;\n var amount = this.Form.controls['Amount'].value;\n cost.Percent = + $event.target.value;\n var totalPercent = 0;\n this.SelectedCostCenters.forEach(element => {\n totalPercent += element.Percent;\n });\n totalPercent = totalPercent - cost.Percent;\n if(cost.Percent <= 100 && cost.Percent > 0 && totalPercent < 100){\n if((cost.Percent+totalPercent) > 100){\n cost.Percent = 100 - totalPercent ;\n if(cost.Percent < 0){\n cost.Percent *= -1\n }\n }\n cost.Amount = (amount * cost.Percent) / 100;\n\n }\n else if(totalPercent >= 100){\n cost.Percent = 0;\n cost.Amount = (amount * cost.Percent) / 100;\n\n }\n else if(cost.Percent > 100){\n cost.Percent = 100;\n cost.Amount = (amount * cost.Percent) / 100;\n\n }\n }\n changeAmount(cost,$event){\n debugger;\n var amount = this.Form.controls['Amount'].value;\n cost.Amount = + $event.target.value;\n var totalPercent = 0;\n this.SelectedCostCenters.forEach(element => {\n totalPercent += element.Percent;\n });\n cost.Percent =(cost.Amount * 100)/ amount\n\n if(cost.Percent <= 100 && cost.Percent > 0&& totalPercent < 100){\n if((cost.Percent+totalPercent) > 100){\n cost.Percent = 100 - totalPercent ;\n if(cost.Percent < 0){\n cost.Percent *= -1\n }\n\n }\n cost.Amount = (amount * cost.Percent) / 100;\n\n }\n else if(totalPercent >= 100){\n cost.Percent = 0;\n cost.Amount = (amount * cost.Percent) / 100;\n\n }\n else if(cost.Percent > 100){\n cost.Percent = 100;\n cost.Amount = (amount * cost.Percent) / 100;\n\n }\n }\n changeAccountAmount(){\n var total = 0;\n this.SelectedAccount.forEach(element => {\n total += element.Amount;\n });\n var amount = this.Form.controls['Amount'].setValue(total);\n }\n Save(){\n debugger;\n this.expenses = this.Form.getRawValue();\n this.expenses.Id = this.Id;\n this.expenses.Accounts = this.SelectedAccount;\n this.expenses.CostCenters = this.SelectedCostCenters;\n this.expenses.Files = this.files;\n if(this.Id > 0 ){\n this.ExpensesService.update(this.expenses)\n .subscribe(result => {\n if(result == true){\n this.router.navigate(['app/accounts/expenses']);\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n \n }\n else{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n\n }\n })\n }\n else{\n this.ExpensesService.insert(this.expenses)\n .subscribe(result => {\n if(result == true){\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdd\"));\n this.router.navigate(['app/accounts/expenses']);\n \n }\n else{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n\n }\n })\n }\n \n }\n addAndNew(){\n debugger;\n this.expenses = this.Form.getRawValue();\n this.expenses.Id = this.Id;\n this.expenses.Accounts = this.SelectedAccount;\n this.expenses.CostCenters = this.SelectedCostCenters;\n this.expenses.Files = this.files;\n if(this.Id > 0 ){\n this.ExpensesService.update(this.expenses)\n .subscribe(result => {\n if(result == true){\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n this.expenses = new ExpensesModel();\n this.picurl = '';\n this.SelectedAccount = [];\n this.SelectedCostCenters = [];\n this.files = [];\n }\n else{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n \n }\n })\n }\n else{\n this.ExpensesService.insert(this.expenses)\n .subscribe(result => {\n if(result == true){\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdd\"));\n this.expenses = new ExpensesModel();\n this.picurl = '';\n this.SelectedAccount = [];\n this.SelectedCostCenters = [];\n this.files = [];\n\n }\n else{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n\n }\n })\n }\n \n }\n files:ExpensesFilesModel[]=[];\n setFileToList(){\n var file = new ExpensesFilesModel();\n file.ExpensesId = this.Id ;\n file.FileUrl = this.picurl;\n file.Id = 0;\n this.files.push(file);\n }\n deleteFile(file){\n var i = this.files.indexOf(file);\n if(i>-1){\n this.files.splice(i,1);\n }\n }\n maxAmount = 0;\n GetPayedAmount(){\n var InvoiceId = this.Form.controls['PurchaseInvoiceId'].value;\n this.ExpensesService.GetPayedAmount(InvoiceId)\n .subscribe(result=>{\n console.log('PayedAmount',result);\n var invoiceIndex = this.invoices.findIndex(x=>x.Id == InvoiceId);\n if(invoiceIndex > -1){\n this.maxAmount = this.invoices[invoiceIndex].TotalItemGrossPrices - result;\n this.Form.controls['Amount'].setValue(this.maxAmount);\n\n }\n })\n }\n \n chickAmount(){\n var amount = this.Form.controls['Amount'].value;\n if(amount > this.maxAmount && this.maxAmount > 0){\n this.Form.controls['Amount'].setValue(this.maxAmount);\n }\n }\n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n}\n\n","
    \n {{\"Back\" |\n translate}}\n \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n

    {{ buttonName + ' Expenses' | translate }}

    \n \n
    \n \n \n \n
    \n
    \n
    \n \n \n
    \n \n \n \n {{\"Currency\" | translate}}\n {{lang==='ar-EG'?item.Code:item.Code}}\n \n
    \n
    \n \n
    \n \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n
    #{{i+1}}{{\"Download\"|translate}}\n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n \n
    \n \n \n
    \n
    \n \n \n {{ \"Invoice\"|translate}}\n {{car.Code}}#\n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{ \"Please Choose\"|translate}}\n {{ lang==='ar-EG'? car.Name:car.Name}}\n\n \n
    \n
    \n \n \n {{ \"Please Choose\"|translate}}\n {{ lang==='ar-EG'? car.NameAr:car.NameEn}}\n \n \n\n
    \n
    \n \n \n {{ \"Please Choose\"|translate}}\n {{ car.Name}}\n \n \n
    \n
    \n
    \n
    \n \n {{ 'Multi' | translate }}\n {{ 'Multi' | translate }}\n \n {{ \"Please Choose\"|translate}}\n {{ lang==='ar-EG'? car.NameAr:car.NameEn}}\n \n \n
    \n
    \n \n \n {{ \"Please Choose\"|translate}}\n {{ lang==='ar-EG'? car.NameAr:car.NameEn}}\n \n \n
    \n
    \n \n {{'Frequent'|translate}}\n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n \n {{'Set cost centers'|translate}}\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n {{\"Accounts\"|translate}}\n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    #{{'Account'| translate}}{{'Description'| translate}}{{'Amount'| translate}}{{'Delete'| translate}}
    {{i+1}}\n \n \n \n \n \n \n \n \n
    \n\n
    \n
    \n
    \n {{' '}}\n\n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n {{\"Cost Centers\"|translate}}\n
    \n \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    #{{'Cost Center'| translate}}{{'Percent'| translate}}{{'Amount'| translate}}{{'Delete'| translate}}
    {{i + 1}}\n \n \n \n \n \n \n
    \n \n
    \n
    \n
    \n {{' '}}\n\n
    \n
    \n
    ","import { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from 'src/app/views/app/aio/shared/side-popup/side-popup.component';\nimport { ListPageHeaderComponent } from 'src/app/containers/pages/list-page-header/list-page-header.component';\nimport { Router } from '@angular/router';\nimport { NotificationsService } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { Component, Renderer2, ViewChild } from '@angular/core';\nimport { ExpensesService } from '../../services/expenses.service';\nimport { DatePipe } from '@angular/common';\nimport { ExpensesModel } from '../../models/expenses.model';\nimport { TableEngine } from '../../../../shared/TableEngine';\n\n@Component({\n selector: 'expenses',\n templateUrl: 'expenses.component.html',\n styleUrls: ['expenses.component.scss']\n})\nexport class ExpensesComponent {\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n \n //Enable debugMode to make API modules return static data from within the service class\n debugMode: boolean = false;\n \n constructor(private formBuilder: FormBuilder, private modelService: ExpensesService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private datePipe: DatePipe,\n private router : Router\n ) {\n }\n listHeader = new ListPageHeaderComponent();\n @ViewChild('search') search: any;\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n tableView: any = true;\n \n translationName: string = 'Expenses'\n \n sortableKeys = [];\n searchableKeys = ['Id'];\n \n modelObject: ExpensesModel = new ExpensesModel();\n \n ogData: ExpensesModel[] = [];\n mainForm: FormGroup = new FormGroup({\n });\n \n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n branches:any[]=[];\n employees:any[]=[];\n roles:any[]=[];\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective=null;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective =null;\n formPresentationModal: any;\n ngOnInit(): void {\n \n if (this.debugMode) {\n this.enableDebugOnAllServices();\n }\n \n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Code', property: 'Code' };\n this.sortableKeys = [\n { label: 'Code', property: 'Code' },\n { label: 'Date', property: 'Date' },\n { label: 'Amount', property: 'Amount' },\n \n ];\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n \n this.loadServices();\n }\n \n \n enableDebugOnAllServices() {\n //this.modelService.debugMode = true;\n // this.itemService.debugMode = true;\n //this.codingUnitService.debugMode = true;\n //this.storeDataService.debugMode = true;\n //this.supplierService.debugMode = true;\n }\n \n lastCode = 0;\n showModal(Id, action) {\n debugger;\n if (action === 'Add') {\n this.router.navigate(['app/accounts/create-expenses/0'])\n\n }\n else if (action === 'Edit') {\n this.router.navigate(['app/accounts/create-expenses',Id])\n }\n else if (action === 'Info') {\n this.router.navigate(['app/accounts/create-expenses',Id])\n }\n this.tableView = false;\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n console.log((action + \" object\"), this.modelObject);\n \n \n console.log(\"modelObject after entering edit\", this.modelObject);\n }\n\n currentDate='';\n \n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true || result > 0) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n \n \n //lastCode = 0;\n codeWasChecked = false;\n checkCode() : boolean{\n if(!(this.lastCode > 0)){\n this.codeWasChecked = false;\n console.log(\"bad code\", this.lastCode);\n \n return this.codeWasChecked;\n }\n return this.codeWasChecked;\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n SearchFrom: Date = null ;\n SearchTo: Date= null;\n \n clearSearch() {\n this.SearchFrom= null ;\n this.SearchTo = null;\n }\n \n prevAction = '';\n \n \n \n loadServices() {\n this.currentAction = 'loading';\n this.tableEngine.loadData();\n\n \n \n }\n \n newExpensesItemInternalId = 0;\n \n currentTotal = 0;\n \n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepChangeSort(sortKey) {\n this.SearchFrom ;\n this.SearchTo ;\n \n \n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n \n getFormattedDate(dateString: any){\n let splitDate: number[] = dateString.toString().split(\"/\");\n \n return new Date(splitDate[2], splitDate[1]-1, splitDate[0])\n }\n ///////////////////////////////////////////////////////\n \n displayMode = 'list';\n changeDisplayMode(mode): void {\n this.displayMode = mode;\n }\n itemsPerPageChange(perPage: number): void {\n this.tableEngine.paginateData(perPage, 1)\n }\n selectedCurrency = '';\n \n SearchKey = ''\n AddEnabled: boolean = true;\n dateSearch: boolean = true;\n searchDateRange(): void {\n this.tableEngine.filterDataByDateRange(this.SearchFrom,this.SearchTo,this.SearchKey==''?'Date':this.SearchKey);\n console.log(\"datefrom header\",this.SearchFrom);\n }\n searchUsingKeys(): void {\n this.tableEngine.filterData();\n }\n \n deleteSelected(): void {\n this.tableEngine.showDelModal('delMulti');\n }\n \n \n }\n ","\n\n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n\n
    \n
    \n
    \n
    \n \n \n \n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n \n \n \n {{\"Code\" | translate}}\n \n \n \n \n {{\"Date\" | translate}}\n \n \n \n \n {{\"Amount\" | translate}}\n \n\n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • \n {{item}}
  • \n
    \n
    \n
    \n\n
    \n
    \n \n \n
    \n
    {{obj.Code}}{{obj.Date|date:'dd/MM/yyyy'}}{{obj.Amount}}\n \n \n \n \n \n
    \n\n
    \n
    \n \n
    \n\n \n \n \n \n
    \n
    \n
    \n\n\n
    \n
    \n\n
    \n
    \n
    \n\n
    \n\n
     
    \n\n\n
     
    \n\n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { FileUploader } from 'ng2-file-upload';\nimport { environment } from 'src/environments/environment';\n\n@Component({\n selector: 'upload-expenses-file',\n templateUrl: 'upload-expenses-file.component.html',\n styleUrls: ['upload-expenses-file.component.scss']\n})\nexport class UploadExpensesFileComponent implements OnInit {\n public NationalIDImage: FileUploader;\n public hasDragOver = false;\n \n @Input()\n public editmode = false;\n \n @Input()\n public url = '';\n \n @Output()\n public urlChange = new EventEmitter();\n declare lang: any;\n \n constructor(private translate: TranslateService, private notifications: NotificationsService) {\n this.lang = localStorage.getItem('theme_lang');\n\n this.NationalIDImage = new FileUploader({\n url: environment.baseApiUrl+'AccountingExpenses/UploadFile',\n disableMultipart: false,\n autoUpload: true\n });\n \n this.NationalIDImage.response.subscribe(res => {\n // Upload returns a JSON with the image ID\n if(res != null && res != \"\" && res != undefined){\n this.url = environment.apiUrl+ '/Resources/AccountingExpensesFiles/' + JSON.parse(res);\n this.urlChange.emit(this.url);\n }\n else{\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessUpload\"))\n }\n },error =>{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedUpload\"))\n });\n }\n \n public fileOver(e: any): void {\n \n this.hasDragOver = e;\n }\n \n ngOnInit() {\n \n }\n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n }\n ","
    \n \n \n \n \n
    \n ","export class ExpensesAccountsModel{\r\n Id?: number;\r\n AccountId?: number;\r\n ExpensesId?: number;\r\n Description?: string;\r\n Amount?: number;\r\n constructor(item ?: ExpensesAccountsModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.AccountId = item.AccountId ? item.AccountId : 0;\r\n this.ExpensesId = item.ExpensesId ? item.ExpensesId : 0;\r\n this.Amount = item.Amount ? item.Amount : 0;\r\n this.Description = item.Description ? item.Description : '';\r\n }\r\n}","export class ExpensesCostCenterModel{\r\n Id?: number;\r\n CostCenterId?: number;\r\n Percent?: number;\r\n Amount?: number;\r\n ExpensesId?: number;\r\n constructor(item ?: ExpensesCostCenterModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.CostCenterId = item.CostCenterId ? item.CostCenterId : 0;\r\n this.Percent = item.Percent ? item.Percent : 0;\r\n this.Amount = item.Amount ? item.Amount : 0;\r\n this.ExpensesId = item.ExpensesId ? item.ExpensesId : 0;\r\n }\r\n}","export class ExpensesFilesModel{\r\n Id?:number;\r\n ExpensesId?:number;\r\n FileUrl?:string;\r\n constructor(item ?: ExpensesFilesModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.ExpensesId = item.ExpensesId ? item.ExpensesId : 0;\r\n this.FileUrl = item.FileUrl ? item.FileUrl : '';\r\n }\r\n}","import { ExpensesAccountsModel } from \"./expenses-accounts.model\";\r\nimport { ExpensesCostCenterModel } from \"./expenses-cost-centers.model\";\r\nimport { ExpensesFilesModel } from \"./expenses-files.model\";\r\n\r\nexport class ExpensesModel{\r\n Id ?: number;\r\n Amount ?: number;\r\n CurrencyId ?: number;\r\n Code ?: number;\r\n AccountId ?:number;\r\n Treasury ?:number;\r\n Date ?: Date;\r\n TheRecipient ?: number;\r\n CategoryId ?: number;\r\n TaxId ?: number;\r\n TaxValue ?: number;\r\n IsMulti ?: boolean;\r\n WithCostCenters?: boolean;\r\n IsFrequent ?: boolean;\r\n FrequentType ?: string;\r\n ExpiryDate ?: Date;\r\n Files?: ExpensesFilesModel[];\r\n Description ?: string;\r\n Accounts ?: ExpensesAccountsModel[];\r\n CostCenters ?: ExpensesCostCenterModel[];\r\n TreasuryType ?: number; //1 for Treasury and 2 for banck account\r\n PurchaseInvoiceId?:number;\r\n constructor(item ?: ExpensesModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.Amount = item.Amount ? item.Amount : 0;\r\n this.PurchaseInvoiceId = item.PurchaseInvoiceId ? item.PurchaseInvoiceId : 0;\r\n this.CurrencyId = item.CurrencyId ? item.CurrencyId : 0;\r\n this.Code = item.Code ? item.Code : 0;\r\n this.AccountId = item.AccountId ? item.AccountId : 0;\r\n this.Treasury = item.Treasury ? item.Treasury : 0;\r\n this.Date = item.Date ? item.Date : new Date();\r\n this.TheRecipient = item.TheRecipient ? item.TheRecipient : 0;\r\n this.CategoryId = item.CategoryId ? item.CategoryId : 0;\r\n this.TaxId = item.TaxId ? item.TaxId : 0;\r\n this.TaxValue = item.TaxValue ? item.TaxValue : 0;\r\n this.TreasuryType = item.TreasuryType ? item.TreasuryType : 0;\r\n this.IsMulti = item.IsMulti ? item.IsMulti : false;\r\n this.WithCostCenters = item.WithCostCenters ? item.WithCostCenters : false;\r\n this.IsFrequent = item.IsFrequent ? item.IsFrequent : false;\r\n this.FrequentType = item.FrequentType ? item.FrequentType : '';\r\n this.ExpiryDate = item.ExpiryDate ? item.ExpiryDate : new Date();\r\n this.Files = item.Files ? item.Files : [];\r\n this.Description = item.Description ? item.Description : '';\r\n this.Accounts = item.Accounts ? item.Accounts : [];\r\n this.CostCenters = item.CostCenters ? item.CostCenters : [];\r\n }\r\n}","import { environment } from 'src/environments/environment';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { ExpensesModel } from '../models/expenses.model';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExpensesService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}AccountingExpenses/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}AccountingExpenses/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n GetLastCode(): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}AccountingExpenses/GetLastCode`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n insert(payload: ExpensesModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}AccountingExpenses/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: ExpensesModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}AccountingExpenses/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: ExpensesModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}AccountingExpenses/Delete`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n GetPayedAmount(InvoiceId:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}AccountingExpenses/GetPayedAmount/${InvoiceId}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n deleteList(payload: ExpensesModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}AccountingExpenses/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","\r\nexport class AccountBalanceModel{\r\n Id?:number;\r\n Date?:Date;\r\n BalanceNameId?:number;\r\n Totaldebit?:number;\r\n TotalCredit?:number;\r\n Totalbalance?:number;\r\n \r\n accountBalanceFooterList?:AccountBalanceFooterModel[];\r\n IsPosted?:boolean;\r\n \r\n constructor(obj?:AccountBalanceModel){\r\n obj = obj? obj:{};\r\n this.Id = obj.Id? obj.Id:0;\r\n this.Date = obj.Date? obj.Date:new Date();\r\n this.BalanceNameId = obj.BalanceNameId? obj.BalanceNameId:0;\r\n this.Totaldebit = obj.Totaldebit? obj.Totaldebit:0;\r\n this.TotalCredit = obj.TotalCredit? obj.TotalCredit:0;\r\n this.Totalbalance = obj.Totalbalance? obj.Totalbalance:0;\r\n \r\n this.accountBalanceFooterList = obj.accountBalanceFooterList? obj.accountBalanceFooterList:[];\r\n this.IsPosted = obj.IsPosted? obj.IsPosted:false;\r\n\r\n }\r\n}\r\nexport class AccountBalanceFooterModel{\r\n Id?:number;\r\n Accountsnameid?:number;\r\n Debit?:number;\r\n Credit?:number;\r\n \r\n \r\n constructor(obj?:AccountBalanceFooterModel){\r\n obj = obj? obj:{};\r\n this.Id = obj.Id? obj.Id:0;\r\n this.Accountsnameid = obj.Accountsnameid? obj.Accountsnameid:0;\r\n this.Debit = obj.Debit? obj.Debit:0;\r\n this.Credit = obj.Credit? obj.Credit:0;\r\n }\r\n}\r\n\r\nexport class SelectedAccountBalanceFooterModel{\r\n Id?:number;\r\n NameAr?:string;\r\n NameEn?:string;\r\n Debit?:number;\r\n Credit?:number;\r\n\r\n constructor(obj?:SelectedAccountBalanceFooterModel){\r\n obj = obj? obj:{};\r\n this.Id = obj.Id? obj.Id:0;\r\n this.NameAr = obj.NameAr? obj.NameAr:'';\r\n this.NameEn = obj.NameEn? obj.NameEn:'';\r\n this.Debit = obj.Debit? obj.Debit:0;\r\n this.Credit = obj.Credit? obj.Credit:0;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { AccountBalanceModel } from \"./AccountBalanceModel\";\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AccountsBalancService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}AccountsBalanceHeader/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}AccountsBalanceHeader/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: AccountBalanceModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}AccountsBalanceHeader/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: AccountBalanceModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}AccountsBalanceHeader/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: AccountBalanceModel): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}AccountsBalanceHeader/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: AccountBalanceModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}AccountsBalanceHeader/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n ","import { Component } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { AccountNameModel } from '../account-name/AccountNameModel';\nimport { AccountsNameService } from '../account-name/AccountNameService';\nimport { BasicModel } from '../account-type/helper/model';\nimport { AccountsTypeService } from '../account-type/helper/serves';\nimport { AccountBalanceModel } from './AccountBalanceModel';\nimport { AccountsBalancService } from './AccountBalanceService';\nimport { AccountBalanceFooterModel } from './AccountBalanceModel';\nimport { SelectedAccountBalanceFooterModel } from './AccountBalanceModel';\nimport data from '../expense-definition/products';\n\n@Component({\n // moduleId: module.id,\n selector: 'account-balance',\n templateUrl: 'account-balance.component.html',\n styleUrls: ['account-balance.component.scss']\n})\nexport class AccountBalanceComponent {\n\n accountsTypeModel: BasicModel[] = [];\n AccountsNameModel: AccountNameModel[] = [];\n // AccountsNameListDropDownSelected: AccountNameModel[] = [];\n AccountBalanceModel: AccountBalanceModel=new AccountBalanceModel();\n AccountBalanceFooterModel: AccountBalanceFooterModel[] = [];\n SelectedAccountBalanceFooterModel: SelectedAccountBalanceFooterModel[] = [];\n \n // SaveIsValid=false;\n HeaderFormGroup:FormGroup;\n FooterFormGroup:FormGroup;\n TotalCreditor:number=0;\n TotalDebtor:number=0;\n Total:number=0;\n constructor(private AccountsBalancService:AccountsBalancService, private accountsTypeService: AccountsTypeService,private accountsNameService: AccountsNameService,){\n this.HeaderFormGroup = new FormGroup({\n BalanceNameDropdwon: new FormControl(null, Validators.required,),\n startDate: new FormControl(null, Validators.required),\n });\n // this.FooterFormGroup = new FormGroup({\n // DebtorControll: new FormControl(0,),\n // CreditorControll: new FormControl(0,),\n\n // });\n \n this.accountsTypeService.getAll().subscribe(\n data=>{\n this.accountsTypeModel=data;\n console.log(\"accountsTypeModel\",this.accountsTypeModel); \n }\n );\n this.accountsNameService.getAll(0).subscribe(\n data=>{\n this.AccountsNameModel=data;\n this.SelectedAccountBalanceFooterModel =data;\n console.log(\"AccountsNameList\",this.accountsTypeModel); \n }\n );\n }\n // createMainFormForm():FormGroup{\n // return this.MainFormGroup = new FormGroup({\n // BalanceNameDropdwon: new FormControl(null, Validators.required,),\n // startDate: new FormControl(null, Validators.required),\n // DebtorControll: new FormControl(0,),\n // CreditorControll: new FormControl(0,),\n\n // });\n // }\n\n changeDebtor(Item,$event){\n var ItemValue = +$event.target.value;\n console.log(\"changeDebtor\",);\n console.log(\"addItem\",ItemValue);\n console.log(\"ItemId\",Item[\"Id\"]);\n let indexselected = this.SelectedAccountBalanceFooterModel.findIndex(i => i.Id == Item[\"Id\"]);\n this.SelectedAccountBalanceFooterModel[indexselected].Debit=ItemValue;\n this.TotalCreditor=0;\n this.TotalDebtor=0; \n this.SelectedAccountBalanceFooterModel[indexselected].Credit=0;\n this.SelectedAccountBalanceFooterModel.forEach(\n item=>{\n this.TotalCreditor+=item.Credit;\n this.TotalDebtor+=item.Debit; \n }\n )\n \n console.log(\"Item\",Item);\n \n }\n changeCredit(Item,$event){\n var ItemValue =+ $event.target.value;\n console.log(\"addItem\",ItemValue);\n console.log(\"ItemId\",Item[\"Id\"]);\n let indexselected = this.SelectedAccountBalanceFooterModel.findIndex(i => i.Id == Item[\"Id\"]);\n this.SelectedAccountBalanceFooterModel[indexselected].Credit=ItemValue;\n this.TotalCreditor=0;\n this.TotalDebtor=0; \n this.SelectedAccountBalanceFooterModel[indexselected].Debit=0;\n this.SelectedAccountBalanceFooterModel.forEach(\n item=>{\n if(item.Credit>0){\n this.TotalCreditor+=item.Credit;\n \n }else{\n \n this.TotalDebtor+=item.Debit; \n }\n }\n )\n\n console.log(\".Credit\",this.TotalCreditor);\n \n // var subAccountBalanceFooterModel = new AccountBalanceFooterModel();\n\n console.log(\"Item\",Item);\n \n }\n // OnAddSelectedItemFunc($event){}\n // OnRemoveSelectedItemFunc($event){\n // var Item = $event.value;\n // console.log(\" OnRemoveSelected\",Item);\n // // let indexselected = this.SelectedAccountBalanceFooterModel.findIndex(i => i.Id == Item);\n // var Credit = $event.value.Credit;\n // var Debit = $event.value.Debit;\n // if(Credit>0){\n // this.TotalCreditor-=Credit;\n // }else{\n // this.TotalDebtor-=Debit;\n // }\n // }\n\n //save \n onClick(){\n this.Total = this.TotalCreditor - this.TotalDebtor;\n if(this.Total==0){\n console.log(\"secound condition completed total = 0\");\n if(this.HeaderFormGroup.valid){\n console.log(\"theard condition completed Header Form Group Completed\");\n // this.AccountBalanceModel.accountBalanceFooterList =\n console.log(\"this.AccountBalanceModel.accountBalanceFooterModel \",this.SelectedAccountBalanceFooterModel );\n \n this.AccountBalanceModel.BalanceNameId =this.HeaderFormGroup.getRawValue().BalanceNameDropdwon;\n this.AccountBalanceModel.Date=this.HeaderFormGroup.getRawValue().startDate;\n this.AccountBalanceModel.TotalCredit=this.TotalCreditor;\n this.AccountBalanceModel.Totaldebit=this.TotalDebtor;\n this.AccountBalanceModel.Totalbalance=this.Total;\n this.SelectedAccountBalanceFooterModel.forEach(\n Item=>{\n var subAccountBalanceFooterModel = new AccountBalanceFooterModel();\n subAccountBalanceFooterModel.Id =Item.Id ;\n subAccountBalanceFooterModel.Credit =Item.Credit ;\n subAccountBalanceFooterModel.Debit =Item.Debit ;\n this.AccountBalanceModel.accountBalanceFooterList.push(subAccountBalanceFooterModel)\n }\n );\n console.log(\"this.AccountBalanceModel.accountBalanceFooterModel \",this.AccountBalanceModel);\n this.AccountsBalancService.insert(this.AccountBalanceModel).subscribe(\n data=>{\n if(data){\n console.log(\"Done\");\n }\n }\n )\n \n }else{\n console.log(\"theard condition field Header Form Group Completed\");\n\n }\n\n }else{\n console.log(\"secound condition field total = 0\");\n\n } \n } \n\n\n \n\n}\n","\n
    \n
    \n
    \n
    \n \n
    \n
    \n

    {{ 'AccountBalance' | translate }}

    \n \n
    \n \n {{' '}}\n \n
    \n
    \n \n
    \n \n
    \n \n \n
    \n
    \n \n \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n \n \n \n
    \n
    \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    #{{'Account'| translate}}{{'Debtor'| translate}}{{'Creditor'| translate}}
    {{Item.Id}}{{lang==='ar-EG'?Item.NameAr:Item.NameEn}}
    \n\n
    \n \n\n \n \n \n \n \n \n \n \n \n
    {{ 'Total' | translate }}{{TotalDebtor}}{{TotalCreditor}}
    \n\n
    \n \n
    \n \n","import { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { BasicModel } from \"./helper/model\";\nimport { AccountFicationCostTypeService } from './helper/serves';\n\n\n\nimport { TableEngine } from 'src/app/views/app/aio/shared/TableEngine'\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from '../../shared/side-popup/side-popup.component';\n\n\n@Component({\n // moduleId: module.id,\n selector: 'account-fication-cost-type',\n templateUrl: 'account-fication-cost-type.component.html',\n styleUrls: ['account-fication-cost-type.component.scss']\n})\nexport class AccountFicationCostTypeComponent{\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n\n constructor(private formBuilder: FormBuilder, public modelService: AccountFicationCostTypeService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService\n\n ) {\n }\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n\n translationName: string = 'Fication Cost Type'\n\n sortableKeys = [];\n searchableKeys = ['NameEn', 'NameAr'];\n\n modelObject: BasicModel = new BasicModel();\n\n ogData: BasicModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n NameEn: new FormControl(),\n NameAr: new FormControl(),\n });\n\n\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective;\n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' };\n this.sortableKeys = [\n { label: 'Name', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' },\n ];\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n this.loadServices();\n }\n\n showModal(Id, action) {\n if (action === 'Add') {\n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n }\n else if (action === 'Edit') {\n\n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder)\n console.log(\"this model object:\" + this.modelObject);\n console.log(this.modelObject);\n console.log(\"table engine model object:\" + this.tableEngine.modelObject);\n console.log(this.tableEngine.modelObject);\n\n }\n else if (action === 'Info') {\n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder)\n }\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n }\n\n createForm(modelObject, formBuilder): FormGroup {\n //console.log(\"from craeteform\");\n\n //console.log(\"modelObject\",modelObject.NameEn);\n\n return formBuilder.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n NameEn: [modelObject.NameEn, Validators.compose([Validators.required, Validators.minLength(2)])],\n NameAr: [modelObject.NameAr, Validators.compose([Validators.required, Validators.pattern(/^[\\u0621-\\u064A]+([\\s]*[\\u0621-\\u064A]+)*$/)])],\n // PostalCode: [modelObject.PostalCode, Validators.compose([Validators.required, Validators.pattern(/^/d{5}$/)])],\n });\n }\n\n addObject() {\n this.currentAction = 'loading';\n\n this.modelObject = new BasicModel();\n this.modelObject.Id = 0;\n this.modelObject.NameEn = this.mainForm.getRawValue().NameEn;\n this.modelObject.NameAr = this.mainForm.getRawValue().NameAr;\n // this.modelObject.PostalCode = this.mainForm.getRawValue().PostalCode;\n\n this.executeAddObject();\n }\n\n executeAddObject() {\n console.log(this.modelObject);\n\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n\n editObject() {\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n\n let tempObj = new BasicModel({\n Id: this.modelObject.Id,\n NameEn: this.mainForm.getRawValue().NameEn,\n NameAr: this.mainForm.getRawValue().NameAr,\n // PostalCode : this.mainForm.getRawValue().PostalCode\n });\n\n if (JSON.stringify(tempObj) != JSON.stringify(this.modelObject)) {\n this.executeEditObject(tempObj);\n }\n else {if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n }\n\n executeEditObject(Object) {\n console.log(\"ObjectObject\", Object);\n\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n\n\n prepChangeSort(sortKey) {\n this.tableEngine.itemOrder = this.itemOrder;\n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey))\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n loadServices() {\n this.currentAction = 'loading';\n this.tableEngine.loadData();\n }\n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepSort(sortKey) {\n this.tableEngine.changeSort(this.tableEngine.getSort('Name'));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n

    \n {{tableEngine.currentFormMode+translationName | translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"NameArRequired\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n {{\"NameEnRequired\" | translate}}
    \n \n
    \n \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n tableEngine.deletionList.length === tableEngine.ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Name\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{lang==='ar-EG'?obj.NameAr:obj.NameEn}}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","export class BasicModel{\r\n Id?: number;\r\n NameAr?: string;\r\n NameEn?: string;\r\n constructor(item?: BasicModel) {\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.NameAr = item.NameAr ? item.NameAr : '';\r\n this.NameEn = item.NameEn ? item.NameEn : '';\r\n }\r\n }","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { BasicModel } from \"./model\";\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AccountFicationCostTypeService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}AccountFicationCostType/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}AccountFicationCostType/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: BasicModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}AccountFicationCostType/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: BasicModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}AccountFicationCostType/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: BasicModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}AccountFicationCostType/Delete`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n \r\n deleteList(payload: BasicModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}AccountFicationCostType/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { BasicModel } from \"./helper/model\";\nimport { AccountFicationService } from './helper/serves';\n\n\n\nimport { TableEngine } from 'src/app/views/app/aio/shared/TableEngine'\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from '../../shared/side-popup/side-popup.component';\n\n@Component({\n // moduleId: module.id,\n selector: 'account-fications',\n templateUrl: 'account-fications.component.html',\n styleUrls: ['account-fications.component.scss']\n})\nexport class AccountFicationsComponent {\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n\n constructor(private formBuilder: FormBuilder, public modelService: AccountFicationService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService\n\n ) {\n }\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n\n translationName: string = 'AccountFication'\n\n sortableKeys = [];\n searchableKeys = ['NameEn', 'NameAr'];\n\n modelObject: BasicModel = new BasicModel();\n\n ogData: BasicModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n NameEn: new FormControl(),\n NameAr: new FormControl(),\n });\n\n\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective;\n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' };\n this.sortableKeys = [\n { label: 'Name', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' },\n ];\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n this.loadServices();\n }\n\n showModal(Id, action) {\n if (action === 'Add') {\n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n }\n else if (action === 'Edit') {\n\n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder)\n console.log(\"this model object:\" + this.modelObject);\n console.log(this.modelObject);\n console.log(\"table engine model object:\" + this.tableEngine.modelObject);\n console.log(this.tableEngine.modelObject);\n\n }\n else if (action === 'Info') {\n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder)\n }\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n }\n\n createForm(modelObject, formBuilder): FormGroup {\n //console.log(\"from craeteform\");\n\n //console.log(\"modelObject\",modelObject.NameEn);\n\n return formBuilder.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n NameEn: [modelObject.NameEn, Validators.compose([Validators.required, Validators.minLength(2)])],\n NameAr: [modelObject.NameAr, Validators.compose([Validators.required, Validators.pattern(/^[\\u0621-\\u064A]+([\\s]*[\\u0621-\\u064A]+)*$/)])],\n // PostalCode: [modelObject.PostalCode, Validators.compose([Validators.required, Validators.pattern(/^/d{5}$/)])],\n });\n }\n\n addObject() {\n this.currentAction = 'loading';\n\n this.modelObject = new BasicModel();\n this.modelObject.Id = 0;\n this.modelObject.NameEn = this.mainForm.getRawValue().NameEn;\n this.modelObject.NameAr = this.mainForm.getRawValue().NameAr;\n // this.modelObject.PostalCode = this.mainForm.getRawValue().PostalCode;\n\n this.executeAddObject();\n }\n\n executeAddObject() {\n console.log(this.modelObject);\n\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n\n editObject() {\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n\n let tempObj = new BasicModel({\n Id: this.modelObject.Id,\n NameEn: this.mainForm.getRawValue().NameEn,\n NameAr: this.mainForm.getRawValue().NameAr,\n // PostalCode : this.mainForm.getRawValue().PostalCode\n });\n\n if (JSON.stringify(tempObj) != JSON.stringify(this.modelObject)) {\n this.executeEditObject(tempObj);\n }\n else {if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n }\n\n executeEditObject(Object) {\n console.log(\"ObjectObject\", Object);\n\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n\n\n prepChangeSort(sortKey) {\n this.tableEngine.itemOrder = this.itemOrder;\n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey))\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n loadServices() {\n this.currentAction = 'loading';\n this.tableEngine.loadData();\n }\n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepSort(sortKey) {\n this.tableEngine.changeSort(this.tableEngine.getSort('Name'));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n

    \n {{tableEngine.currentFormMode+translationName | translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"NameArRequired\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n {{\"NameEnRequired\" | translate}}
    \n \n
    \n \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n tableEngine.deletionList.length === tableEngine.ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Name\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{lang==='ar-EG'?obj.NameAr:obj.NameEn}}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","export class BasicModel{\r\n Id?: number;\r\n NameAr?: string;\r\n NameEn?: string;\r\n constructor(item?: BasicModel) {\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.NameAr = item.NameAr ? item.NameAr : '';\r\n this.NameEn = item.NameEn ? item.NameEn : '';\r\n }\r\n }","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { BasicModel } from \"./model\";\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AccountFicationService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}AccountFication/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}AccountFication/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: BasicModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}AccountFication/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: BasicModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}AccountFication/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: BasicModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}AccountFication/Delete`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n \r\n deleteList(payload: BasicModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}AccountFication/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { BasicModel } from \"./helper/model\";\nimport { AccountMenuService } from './helper/serves';\n\n\n\nimport { TableEngine } from 'src/app/views/app/aio/shared/TableEngine'\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from '../../shared/side-popup/side-popup.component';\n\n@Component({\n // moduleId: module.id,\n selector: 'account-menu',\n templateUrl: 'account-menu.component.html',\n styleUrls: ['account-menu.component.scss']\n})\nexport class AccountMenuComponent{\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n\n constructor(private formBuilder: FormBuilder, public modelService: AccountMenuService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService\n\n ) {\n }\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n\n translationName: string = 'Account Menu'\n\n sortableKeys = [];\n searchableKeys = ['NameEn', 'NameAr'];\n\n modelObject: BasicModel = new BasicModel();\n\n ogData: BasicModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n NameEn: new FormControl(),\n NameAr: new FormControl(),\n });\n\n\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective;\n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' };\n this.sortableKeys = [\n { label: 'Name', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' },\n ];\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n this.loadServices();\n }\n\n showModal(Id, action) {\n if (action === 'Add') {\n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n }\n else if (action === 'Edit') {\n\n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder)\n console.log(\"this model object:\" + this.modelObject);\n console.log(this.modelObject);\n console.log(\"table engine model object:\" + this.tableEngine.modelObject);\n console.log(this.tableEngine.modelObject);\n\n }\n else if (action === 'Info') {\n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder)\n }\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n }\n\n createForm(modelObject, formBuilder): FormGroup {\n //console.log(\"from craeteform\");\n\n //console.log(\"modelObject\",modelObject.NameEn);\n\n return formBuilder.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n NameEn: [modelObject.NameEn, Validators.compose([Validators.required, Validators.minLength(2)])],\n NameAr: [modelObject.NameAr, Validators.compose([Validators.required, Validators.pattern(/^[\\u0621-\\u064A]+([\\s]*[\\u0621-\\u064A]+)*$/)])],\n // PostalCode: [modelObject.PostalCode, Validators.compose([Validators.required, Validators.pattern(/^/d{5}$/)])],\n });\n }\n\n addObject() {\n this.currentAction = 'loading';\n\n this.modelObject = new BasicModel();\n this.modelObject.Id = 0;\n this.modelObject.NameEn = this.mainForm.getRawValue().NameEn;\n this.modelObject.NameAr = this.mainForm.getRawValue().NameAr;\n // this.modelObject.PostalCode = this.mainForm.getRawValue().PostalCode;\n\n this.executeAddObject();\n }\n\n executeAddObject() {\n console.log(this.modelObject);\n\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n\n editObject() {\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n\n let tempObj = new BasicModel({\n Id: this.modelObject.Id,\n NameEn: this.mainForm.getRawValue().NameEn,\n NameAr: this.mainForm.getRawValue().NameAr,\n // PostalCode : this.mainForm.getRawValue().PostalCode\n });\n\n if (JSON.stringify(tempObj) != JSON.stringify(this.modelObject)) {\n this.executeEditObject(tempObj);\n }\n else {if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n }\n\n executeEditObject(Object) {\n console.log(\"ObjectObject\", Object);\n\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n\n\n prepChangeSort(sortKey) {\n this.tableEngine.itemOrder = this.itemOrder;\n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey))\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n loadServices() {\n this.currentAction = 'loading';\n this.tableEngine.loadData();\n }\n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepSort(sortKey) {\n this.tableEngine.changeSort(this.tableEngine.getSort('Name'));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n

    \n {{tableEngine.currentFormMode+translationName | translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"NameArRequired\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n {{\"NameEnRequired\" | translate}}
    \n \n
    \n \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n tableEngine.deletionList.length === tableEngine.ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Name\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{lang==='ar-EG'?obj.NameAr:obj.NameEn}}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","export class BasicModel{\r\n Id?: number;\r\n NameAr?: string;\r\n NameEn?: string;\r\n constructor(item?: BasicModel) {\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.NameAr = item.NameAr ? item.NameAr : '';\r\n this.NameEn = item.NameEn ? item.NameEn : '';\r\n }\r\n }","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { BasicModel } from \"./model\";\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AccountMenuService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}AccountMenu/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}AccountMenu/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: BasicModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}AccountMenu/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: BasicModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}AccountMenu/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: BasicModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}AccountMenu/Delete`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n \r\n deleteList(payload: BasicModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}AccountMenu/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","\r\nexport class AccountNameModel{\r\n Id?:number;\r\n NameAr?:string;\r\n NameEn?:string;\r\n CompanyDataId?:number;\r\n AccountNumber?:number;\r\n Parentcode?:number;\r\n Levelcode?:number;\r\n AccounExpensesTypeId?:number;\r\n AccountFicationId?:number;\r\n AccountFicationType?:number;\r\n AccountMenuId?:number;\r\n AccountType?:number;\r\n AccountNature?:number;\r\n IsNotMenu?:boolean;\r\n ParentName?:string;\r\n Debit?:number;\r\n Credit?:number;\r\n IsCurrencyEvaluation ?:boolean;\r\n ItIsLinkedToAcostCenter?:boolean;\r\n constructor(obj?:AccountNameModel){\r\n obj = obj? obj:{};\r\n this.Id = obj.Id? obj.Id:0;\r\n this.NameAr = obj.NameAr? obj.NameAr:'';\r\n this.NameEn = obj.NameEn? obj.NameEn:'';\r\n this.ParentName = obj.ParentName? obj.ParentName:'';\r\n this.CompanyDataId = obj.CompanyDataId? obj.CompanyDataId:0;\r\n this.AccountNumber = obj.AccountNumber? obj.AccountNumber:0;\r\n this.Parentcode = obj.Parentcode? obj.Parentcode:0;\r\n this.Levelcode = obj.Levelcode? obj.Levelcode:0;\r\n this.AccounExpensesTypeId = obj.AccounExpensesTypeId? obj.AccounExpensesTypeId:0;\r\n this.AccountFicationId = obj.AccountFicationId? obj.AccountFicationId:0;\r\n this.AccountFicationType = obj.AccountFicationType? obj.AccountFicationType:0;\r\n this.AccountMenuId = obj.AccountMenuId? obj.AccountMenuId:0;\r\n this.AccountType = obj.AccountType? obj.AccountType:0;\r\n this.AccountNature = obj.AccountNature? obj.AccountNature:0;\r\n this.Debit = obj.Debit? obj.Debit:0;\r\n this.Credit = obj.Credit? obj.Credit:0;\r\n this.IsNotMenu = obj.IsNotMenu? obj.IsNotMenu:false;\r\n this.IsCurrencyEvaluation = obj.IsCurrencyEvaluation ? obj.IsCurrencyEvaluation :false;\r\n this.ItIsLinkedToAcostCenter = obj.ItIsLinkedToAcostCenter? obj.ItIsLinkedToAcostCenter:false;\r\n\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { AccountNameModel } from \"./AccountNameModel\";\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AccountsNameService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}AccountsName/GetAll/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n GetAllFixedAssets(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}AccountsName/GetAllFixedAssets/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n GetAllSubAccountes(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}AccountsName/GetAllSubAccountes/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n GetAllMainAccountes(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}AccountsName/GetAllMainAccountes/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n GetLastAccountCode(): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}AccountsName/GetLastAccountCode`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}AccountsName/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: AccountNameModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}AccountsName/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: AccountNameModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}AccountsName/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: AccountNameModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}AccountsName/Delete`,payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: AccountNameModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}AccountsName/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n ","import { Component, Inject, ViewChild } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Params } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { AccountFicationCostTypeService } from '../../account-fication-cost-type/helper/serves';\nimport { AccountFicationService } from '../../account-fications/helper/serves';\nimport { AccountMenuService } from '../../account-menu/helper/serves';\nimport { AccountNatureService } from '../../account-natures/helper/serves';\nimport { AccountsTypeService } from '../../account-type/helper/serves';\nimport { BasicModel } from '../../expensess-type/helper/model';\nimport { AccountExpensesTypeService } from '../../expensess-type/helper/serves';\nimport { AccountNameModel } from '../AccountNameModel';\nimport { AccountsNameService } from '../AccountNameService';\n\n@Component({\n // moduleId: module.id,\n selector: 'account-name-actions',\n templateUrl: 'account-name-actions.component.html',\n styleUrls: ['account-name-actions.component.scss']\n})\nexport class AccountNameActionsComponent {\n accountFicationList: BasicModel[] = [];\n accountFicationCostTypeList: BasicModel[] = [];\n accountExpensesTypeList: BasicModel[] = [];\n accountsTypeList: BasicModel[] = [];\n accountMenuList: BasicModel[] = [];\n AccountNatureList: BasicModel[] = [];\n AccountsNameList: AccountNameModel[] = [];\n AccountsNameModel: AccountNameModel;\n itemId:number;\n modelState:string;\n titleButton: String = \"\";\n\n IsMainAccountcheck :boolean =true;\n formLoaded :boolean =false;\n\n AccountNameActionsFormGroup: FormGroup;\n\n constructor( private translate: TranslateService, public notifications: NotificationsService,private activatedRoute: ActivatedRoute,private accountsNameService: AccountsNameService, accountNatureService: AccountNatureService, accountMenuService: AccountMenuService,accountsTypeService: AccountsTypeService,accountFicationService: AccountFicationService, accountFicationCostTypeService: AccountFicationCostTypeService, accountExpensesTypeService: AccountExpensesTypeService,){\n \n this.activatedRoute.params.subscribe((params: Params) => {\n this.modelState = params['state'];\n this.itemId = +params['id'];\n });\n \n \n accountFicationService.getAll().subscribe(\n item => {\n this.accountFicationList = item;\n console.log(\"accountFicationList\",item);\n accountFicationCostTypeService.getAll().subscribe(\n item => {\n this.accountFicationCostTypeList = item;\n console.log(\"accountFicationCostTypeList\",item);\n accountExpensesTypeService.getAll().subscribe(\n item => {\n this.accountExpensesTypeList = item;\n console.log(\"accountExpensesTypeList\",item);\n accountsTypeService.getAll().subscribe(\n item => {\n this.accountsTypeList = item;\n console.log(\"accountsTypeService\",item);\n \n accountMenuService.getAll().subscribe(\n item => {\n this.accountMenuList = item;\n console.log(\"accountMenuService\",item);\n\n accountNatureService.getAll().subscribe(\n item => {\n this.AccountNatureList = item;\n console.log(\"accountMenuService\",item);\n \n accountsNameService.getAll(0).subscribe(\n item => {\n this.AccountsNameList = item;\n console.log(\"AccountsNameList\",item);\n this.AccountsNameModel= this.AccountsNameList.find(item=>item.Id==this.itemId);\n console.log(\" this.AccountsNameModel\", this.AccountsNameModel);\n this.formLoaded =true;\n this.LoadCase();\n }\n ); \n }\n );\n \n \n }\n );\n \n }\n );\n \n }\n );\n \n }\n );\n \n }\n );\n \n }\n\n\n\n ngOnInit() {\n if (this.modelState == \"Add\") {\n this.titleButton = \"wizard.save\";\n } else {\n this.titleButton = \"update\";\n }\n // if (this.modelState != \"Add\") {\n // this.accountsNameService.getAll(0).subscribe(\n // data => {\n // this.AccountsNameList = data;\n // var index = this.AccountsNameList.findIndex(index => index.Id == +this.itemId);\n // if (index > -1) {\n // this.AccountsNameModel = this.AccountsNameList[+index];\n // this.LoadCase();\n // }\n // }\n // )\n // } else {\n // this.LoadCase();\n // }\n }\n LoadCase() {\n switch (this.modelState) {\n case 'Edit': {\n this.EditForm();\n break;\n }\n case 'Show': {\n this.ShowForm();\n break;\n }\n default: {\n this.AddForm();\n break;\n }\n }\n }\n AddForm() {\n this.AccountNameActionsFormGroup = new FormGroup({\n AccountExpenses: new FormControl(null, Validators.required,),\n AccountFication: new FormControl(null, Validators.required,),\n AccountFicationcost: new FormControl(null, Validators.required,),\n\n AccountType: new FormControl(null, Validators.required,),\n AccountNature: new FormControl(null, Validators.required,),\n AccountMenu: new FormControl(null, Validators.required,),\n\n MainAccount: new FormControl(null),\n IsMainAccount: new FormControl(false),\n\n NameArControl: new FormControl(null, Validators.required,),\n NameEnControl: new FormControl(null, Validators.required,),\n\n AccountNumber: new FormControl(null, Validators.required,),\n LevelCode: new FormControl(null, Validators.required,),\n\n NotMenu: new FormControl(false),\n IsNotActive: new FormControl(false),\n\n })\n }\n\n EditForm() {\n // const datepipe: DatePipe = new DatePipe('en-US')\n // let formattedDate = datepipe.transform(this.AccountsNameModel.Date, \"yyyy-MM-dd\");\n this.AccountNameActionsFormGroup = new FormGroup({\n AccountExpenses: new FormControl(this.AccountsNameModel.AccounExpensesTypeId, Validators.required,),\n AccountFication: new FormControl(this.AccountsNameModel.AccountFicationId, Validators.required,),\n AccountFicationcost: new FormControl(this.AccountsNameModel.AccountFicationType, Validators.required,),\n \n AccountType: new FormControl(this.AccountsNameModel.AccountType, Validators.required,),\n AccountNature: new FormControl(this.AccountsNameModel.AccountNature, Validators.required,),\n AccountMenu: new FormControl(this.AccountsNameModel.AccountMenuId, Validators.required,),\n\n MainAccount: new FormControl(this.AccountsNameModel.Parentcode, Validators.required,),\n // IsMainAccount: new FormControl(this.AccountsNameModel., ),\n\n\n NameArControl: new FormControl(this.AccountsNameModel.NameAr, Validators.required,),\n NameEnControl: new FormControl(this.AccountsNameModel.NameEn, Validators.required,),\n\n AccountNumber: new FormControl(this.AccountsNameModel.AccountNumber, Validators.required,),\n LevelCode: new FormControl(this.AccountsNameModel.Levelcode, Validators.required,),\n\n NotMenu: new FormControl(this.AccountsNameModel.IsNotMenu, ),\n // IsNotActive: new FormControl(this.AccountsNameModel.,),\n })\n }\n // ({ value: this.AccountsNameModel.NameAr, disabled: true }),\n ShowForm() {\n // const datepipe: DatePipe = new DatePipe('en-US')\n // let formattedDate = datepipe.transform(this.AccountsNameModel.Date, \"yyyy-MM-dd\");\n this.AccountNameActionsFormGroup = new FormGroup({\n AccountExpenses: new FormControl({ value: this.AccountsNameModel.AccounExpensesTypeId, disabled: true }),\n AccountFication: new FormControl({ value: this.AccountsNameModel.AccountFicationId,disabled: true }),\n AccountFicationcost: new FormControl({ value: this.AccountsNameModel.AccountFicationType, disabled: true }),\n \n AccountType: new FormControl({ value: this.AccountsNameModel.AccountType, disabled: true }),\n AccountNature: new FormControl({ value: this.AccountsNameModel.AccountNature, disabled: true }),\n AccountMenu: new FormControl({ value: this.AccountsNameModel.AccountMenuId, disabled: true }),\n\n MainAccount: new FormControl({ value: this.AccountsNameModel.Parentcode,disabled: true }),\n // IsMainAccount: new FormControl(this.AccountsNameModel., ),\n\n\n NameArControl: new FormControl({ value: this.AccountsNameModel.NameAr, disabled: true }),\n NameEnControl: new FormControl({ value: this.AccountsNameModel.NameEn,disabled: true }),\n\n AccountNumber: new FormControl({ value: this.AccountsNameModel.AccountNumber, disabled: true }),\n LevelCode: new FormControl({ value: this.AccountsNameModel.Levelcode, disabled: true }),\n\n NotMenu: new FormControl({ value: this.AccountsNameModel.IsNotMenu, disabled: true }),\n // IsNotActive: new FormControl(this.AccountsNameModel.,),\n })\n }\n\n onClick() {\n if (this.modelState == \"Add\") {\n this.Save();\n } else {\n this.Update();\n }\n }\n\n Save() {\n this.onWarning();\n var accountNameActionsFormGroup = this.AccountNameActionsFormGroup.getRawValue();\n var accountNameModel = new AccountNameModel;\n accountNameModel.Id = 0;\n accountNameModel.AccounExpensesTypeId = accountNameActionsFormGroup.AccountExpenses;\n accountNameModel.AccountFicationId = accountNameActionsFormGroup.AccountFication;\n accountNameModel.AccountFicationType = accountNameActionsFormGroup.AccountFicationcost;\n\n accountNameModel.AccountMenuId = accountNameActionsFormGroup.AccountMenu;\n accountNameModel.AccountType = accountNameActionsFormGroup.AccountType;\n accountNameModel.AccountNature = accountNameActionsFormGroup.AccountNature;\n\n accountNameModel.AccountNumber = accountNameActionsFormGroup.AccountNumber;\n accountNameModel.Parentcode = accountNameActionsFormGroup.MainAccount ??0;\n accountNameModel.NameAr = accountNameActionsFormGroup.NameArControl;\n accountNameModel.NameEn = accountNameActionsFormGroup.NameEnControl;\n\n accountNameModel.Levelcode = accountNameActionsFormGroup.LevelCode;\n accountNameModel.IsNotMenu = accountNameActionsFormGroup.NotMenu;\n\n this.accountsNameService.insert(accountNameModel).subscribe(\n result => {\n if (result) {\n this.onSuccess();\n } else {\n this.onError();\n }\n }\n )\n\n }\n\n Update() {\n this.onWarning();\n var accountNameActionsFormGroup = this.AccountNameActionsFormGroup.getRawValue();\n var accountNameModel = new AccountNameModel;\n accountNameModel.Id = this.itemId;\n accountNameModel.AccounExpensesTypeId = accountNameActionsFormGroup.AccountExpenses;\n accountNameModel.AccountFicationId = accountNameActionsFormGroup.AccountFication;\n accountNameModel.AccountFicationType = accountNameActionsFormGroup.AccountFicationcost;\n\n accountNameModel.AccountMenuId = accountNameActionsFormGroup.AccountMenu;\n accountNameModel.AccountType = accountNameActionsFormGroup.AccountType;\n accountNameModel.AccountNature = accountNameActionsFormGroup.AccountNature;\n\n accountNameModel.AccountNumber = accountNameActionsFormGroup.AccountNumber;\n accountNameModel.Parentcode = accountNameActionsFormGroup.MainAccount;\n accountNameModel.NameAr = accountNameActionsFormGroup.NameArControl;\n accountNameModel.NameEn = accountNameActionsFormGroup.NameEnControl;\n\n accountNameModel.Levelcode = accountNameActionsFormGroup.LevelCode;\n accountNameModel.IsNotMenu = accountNameActionsFormGroup.NotMenu;\n console.log(\" this.accountNameModel\", accountNameModel);\n\n this.accountsNameService.update(accountNameModel).subscribe(\n result => {\n if (result) {\n console.log(\"Succsess\");\n this.onSuccess();\n console.log(\" Succsess.accountNameModel\", accountNameModel);\n\n } else {\n this.onError();\n }\n }\n )\n\n }\n\n onWarning(): void {\n\n this.notifications.create(this.translate.instant('Wait'),\n this.translate.instant('Action processing '),\n NotificationType.Warn, { timeOut: 3000, showProgressBar: true });\n }\n\n onError(): void {\n this.notifications.create(this.translate.instant('Error'),\n this.translate.instant('Something wrong'),\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n\n onSuccess(): void {\n\n this.notifications.create(this.translate.instant('Success'),\n this.translate.instant('Action Success'),\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n \n \n }","\n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n\n
    \n\n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n\n\n\n
    \n\n
    \n
    \n \n \n
    \n
    \n \n \n
    \n\n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n\n
    \n
    \n \n
    \n
    \n \n
    \n
    \n {{' '}}\n\n
    \n
    \n
    \n\n","import { Component, Inject, OnInit, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Params } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { AccountFicationCostTypeService } from '../account-fication-cost-type/helper/serves';\nimport { AccountFicationService } from '../account-fications/helper/serves';\nimport { AccountMenuService } from '../account-menu/helper/serves';\nimport { AccountNatureService } from '../account-natures/helper/serves';\nimport { AccountsTypeService } from '../account-type/helper/serves';\nimport { BasicModel } from '../expensess-type/helper/model';\nimport { AccountExpensesTypeService } from '../expensess-type/helper/serves';\nimport { AccountNameModel } from './AccountNameModel';\nimport { AccountsNameService } from './AccountNameService';\nimport {NestedTreeControl} from '@angular/cdk/tree';\nimport {MatTreeNestedDataSource} from '@angular/material/tree';\nimport {CdkTreeModule} from '@angular/cdk/tree';\nimport { AssignCostCentersComponent } from '../assign-cost-centers/assign-cost-centers.component';\n\n\ninterface AccountNameNode {\n Id?: number;\n Children?: AccountNameNode[];\n Level?: number;\n Parentcode?:number;\n Name?:string;\n }\n@Component({\n // moduleId: module.id,\n selector: 'account-name',\n templateUrl: 'account-name.component.html',\n styleUrls: ['account-name.component.scss']\n})\nexport class AccountNameComponent implements OnInit{\n @ViewChild(AssignCostCentersComponent) AssignCostCentersComponent:AssignCostCentersComponent;\n declare lang: any;\n Form:FormGroup;\n ExpensesTypes:BasicModel[]=[];\n accountMenus:any[]=[];\n accountsTypes:any[]=[];\n accountFications:any[]=[];\n accountFicationCostType:any[]=[];\n accountExpensesTypes:any[]=[];\n AccountsNameList:AccountNameNode[]=[\n {Id:1,Level:0,Children:[\n {Id:2,Level:1,Children:[],Parentcode:1,Name:'Chiled 1'},\n {Id:3,Level:1,Children:[],Parentcode:1,Name:'Chiled 2'},\n {Id:4,Level:1,Children:[],Parentcode:1,Name:'Chiled 3'}\n ],Parentcode:0,Name:'Parent 1'},\n {Id:5,Level:0,Children:[\n {Id:6,Level:1,Children:[],Parentcode:5,Name:'Chiled 1'},\n {Id:7,Level:1,Children:[],Parentcode:5,Name:'Chiled 2'},\n {Id:8,Level:1,Children:[],Parentcode:5,Name:'Chiled 3'}\n ],Parentcode:0,Name:'Parent 2'},\n {Id:9,Level:0,Children:[\n {Id:10,Level:1,Children:[\n {Id:13,Level:2,Children:[],Parentcode:10,Name:'Chiled 1'},\n {Id:14,Level:2,Children:[],Parentcode:10,Name:'Chiled 2'},\n {Id:15,Level:2,Children:[],Parentcode:10,Name:'Chiled 3'}\n ],Parentcode:5,Name:'Chiled 1'},\n {Id:11,Level:1,Children:[],Parentcode:5,Name:'Chiled 2'},\n {Id:12,Level:1,Children:[],Parentcode:5,Name:'Chiled 3'}\n ],Parentcode:0,Name:'Parent 3'}\n ]\n centers:AccountNameModel[]=[\n {AccounExpensesTypeId:1,AccountFicationId:1,AccountFicationType:1,AccountMenuId:1,AccountNature:1,AccountNumber:1,AccountType:1,CompanyDataId:0,Id:1,IsNotMenu:true,Levelcode:1,NameAr:'الاصول',NameEn:'Assets',Parentcode:0},\n {AccounExpensesTypeId:1,AccountFicationId:1,AccountFicationType:1,AccountMenuId:1,AccountNature:1,AccountNumber:1,AccountType:1,CompanyDataId:0,Id:2,IsNotMenu:true,Levelcode:1,NameAr:'الخصوم',NameEn:'Liabilities',Parentcode:0},\n {AccounExpensesTypeId:1,AccountFicationId:1,AccountFicationType:1,AccountMenuId:1,AccountNature:1,AccountNumber:1,AccountType:1,CompanyDataId:0,Id:3,IsNotMenu:true,Levelcode:1,NameAr:'حقوق الملكية',NameEn:'Property Rights',Parentcode:0},\n {AccounExpensesTypeId:1,AccountFicationId:1,AccountFicationType:1,AccountMenuId:1,AccountNature:1,AccountNumber:1,AccountType:1,CompanyDataId:0,Id:4,IsNotMenu:true,Levelcode:1,NameAr:'الإيرادات',NameEn:'Incomes',Parentcode:0},\n \n ]\n accountModel:AccountNameModel=new AccountNameModel();\n constructor(\n private translate: TranslateService, \n public notifications: NotificationsService,\n private fb:FormBuilder,\n private accountService:AccountsNameService,\n public accountMenuService: AccountMenuService,\n public accountsTypeService: AccountsTypeService,\n public accountFicationService: AccountFicationService,\n public accountFicationCostTypeService: AccountFicationCostTypeService,\n public accountExpensesTypeService: AccountExpensesTypeService,\n ){\n this.lang = localStorage.getItem('theme_lang');\n \n }\n SetCostCenters = false;\n AccountId = 0;\n assignCostCenters(AccountId:number){\n this.AccountId = AccountId;\n this.SetCostCenters = true;\n this.formCreated = false;\n }\n LastAccountNumber = 0; \n ngOnInit(): void {\n debugger;\n this.accountService.getAll(0)\n .subscribe(data => {\n this.centers = data;\n console.log('accounts',this.centers);\n if(this.centers && this.centers.length > 0){\n \n }\n this.getDataNodes();\n // this.Form = this.createForm();\n })\n this.getData();\n this.accountService.GetLastAccountCode()\n .subscribe(accountNumber=>{\n this.LastAccountNumber = accountNumber;\n })\n \n }\n formCreated = false;\n createForm():FormGroup{\n this.formCreated = true;\n return this.fb.group({\n Id:[this.accountModel.Id],\n AccounExpensesTypeId:[this.accountModel.AccounExpensesTypeId],\n AccountFicationId:[this.accountModel.AccountFicationId],\n AccountFicationType:[this.accountModel.AccountFicationType],\n AccountMenuId:[this.accountModel.AccountMenuId],\n AccountNature:[this.accountModel.AccountNature],\n AccountNumber:[this.accountModel.AccountNumber],\n AccountType:[this.accountModel.AccountType],\n CompanyDataId:[this.accountModel.CompanyDataId],\n IsNotMenu:[this.accountModel.IsNotMenu],\n Levelcode:[this.accountModel.Levelcode],\n NameAr:[this.accountModel.NameAr],\n NameEn:[this.accountModel.NameEn],\n Parentcode:[this.accountModel.Parentcode],\n ParentName:[this.accountModel.ParentName],\n })\n }\n nodeList: AccountNameNode [] = [];\n openProjects = false;\n \n getDataNodes(){\n this.nodeCount = 0;\n this.nodeList = [];\n this.centers.forEach(element => {\n debugger;\n if(element.Parentcode == 0){\n this.nodeList.push({\n Id : element.Id,\n Level : element.Levelcode,\n Name : this.lang =='ar-EG' ? element.NameAr : element.NameEn,\n Parentcode : element.Parentcode,\n Children : []\n });\n }\n else{\n this.nodeList.forEach(child => {\n if(child.Id == element.Parentcode){\n child.Children?.push({\n Id : element.Id,\n Level : element.Levelcode,\n Name : this.lang =='ar-EG' ? element.NameAr : element.NameEn,\n Parentcode : element.Parentcode,\n Children : []\n })\n }\n else{\n \n while(child.Children&&child.Children.length > 0){\n if(child.Id == element.Parentcode){\n child.Children.push({\n Id : element.Id,\n Level : element.Levelcode,\n Name : this.lang =='ar-EG' ? element.NameAr : element.NameEn,\n Parentcode : element.Parentcode,\n Children : []\n })\n break;\n }\n break;\n \n }\n }\n \n },\n );\n }\n this.nodeCount++;\n });\n \n console.log(this.nodeList);\n \n this.drawTreeFromTop(this.nodeList);\n \n this.dataSource.data = [];\n this.dataSource.data = this.nodeList;\n \n \n \n }\n //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n ///////////////////////////////////////////////////////////\n // TREE CODE //\n ///////////////////////////////////////////////////////////\n nodeCount = 0;\n drawTreeFromTop(currentlevelList: AccountNameNode []){\n console.log(\"data count: \", this.AccountsNameList.length);\n console.log(\"node count: \", this.nodeCount);\n console.log(\"current nodes: \", this.nodeList);\n \n if(this.nodeCount >= this.AccountsNameList.length){\n console.log(\"we did it, men. we found the deepest nodes.\");\n return currentlevelList;\n }\n else{\n console.log(\"we're not yet done... descending one level deeper into this madness\");\n \n let nextLevelList: AccountNameNode[] = [];\n \n currentlevelList.forEach(node => {\n this.AccountsNameList.filter(x=>x.Parentcode == node.Id).forEach(childNode => {\n let tempNode: AccountNameNode = {};\n tempNode.Id = childNode.Id;\n tempNode.Children = [];\n tempNode.Level = node.Level + 1;\n node.Children?.push(tempNode)\n this.nodeCount++;\n nextLevelList.push(tempNode);\n });\n });\n return this.drawTreeFromTop(nextLevelList);\n }\n }\n levelLimit = 5;\n treeControl = new NestedTreeControl(node => node.Children);\n dataSource = new MatTreeNestedDataSource();\n //limiting depth level to 4 + base (total of 5 nested nodes)\n hasChild = (_: number, node: AccountNameNode) => !!node.Children && node.Children.length > 0 && node.Level+1x.Id===id);\n }\n AddNewCostCenter(){\n this.accountModel.Id = 0;\n this.accountModel.Levelcode = 1;\n this.accountModel.Parentcode = 0;\n this.accountModel.AccounExpensesTypeId = 0;\n this.accountModel.AccountFicationId = 0;\n this.accountModel.AccountFicationType = 0;\n this.accountModel.AccountMenuId = 0;\n this.accountModel.NameAr = '';\n this.accountModel.NameEn = '';\n this.accountModel.Parentcode = 0;\n this.accountModel.AccountNumber = this.LastAccountNumber + 1;\n this.Form = this.createForm();\n }\n addChildCostCenter(Id){\n debugger;\n var i = this.centers.findIndex(x=>x.Id == Id);\n this.accountModel.Id = 0;\n \n if(i > -1){\n this.accountModel.Levelcode = this.centers[i].Levelcode +1;\n this.accountModel.Parentcode = Id;\n this.lang =='ar-EG' ? this.accountModel.ParentName = this.centers[i].NameAr : this.accountModel.ParentName = this.centers[i].NameEn;\n this.accountModel.AccountNumber = this.LastAccountNumber + 1;\n \n this.Form = this.createForm();\n }\n else{\n this.accountModel.AccountNumber = this.LastAccountNumber + 1;\n \n this.accountModel.Levelcode = 1;\n this.accountModel.Parentcode = 0;\n this.Form = this.createForm();\n }\n }\n EditNode(Id){\n debugger;\n this.AccountId = Id;\n var i = this.centers.findIndex(x=>x.Id == Id);\n if(i > -1){\n this.accountModel = this.centers[i];\n \n this.Form = this.createForm();\n }\n }\n lodingNature=false;\n lodingMenu=false;\n lodingaccountsType=false;\n lodingaccountFications=false;\n lodingaccountFicationCostType=false;\n lodingaccountExpensesTypes=false;\n getData(){\n \n this.accountMenuService.getAll()\n .subscribe(data => {\n this.accountMenus = [...data]\n this.lodingMenu = true;\n })\n this.accountsTypeService.getAll()\n .subscribe(data => {\n this.accountsTypes = [...data]\n this.lodingaccountsType = true;\n })\n this.accountFicationService.getAll()\n .subscribe(data => {\n this.accountFications = [...data]\n this.lodingaccountFications = true;\n })\n this.accountFicationCostTypeService.getAll()\n .subscribe(data => {\n this.accountFicationCostType = [...data]\n this.lodingaccountFicationCostType = true;\n })\n this.accountExpensesTypeService.getAll()\n .subscribe(data => {\n this.accountExpensesTypes = [...data]\n this.lodingaccountExpensesTypes = true;\n })\n }\n \n Save() {\n this.accountModel = this.Form.getRawValue();\n this.accountService.insert(this.accountModel).subscribe(\n result => {\n if (result > 0 ) {\n // this.Form = this.createForm();\n this.accountModel.Id = result;\n this.centers.push(this.accountModel);\n this.getDataNodes();\n this.accountModel = new AccountNameModel();\n this.formCreated = false;\n this.LastAccountNumber++;\n this.onSuccess();\n } else {\n this.onError();\n }\n }\n )\n \n }\n \n Update() {\n debugger\n this.accountModel = this.Form.getRawValue();\n this.accountService.update(this.accountModel).subscribe(\n result => {\n if (result) {\n this.accountModel = new AccountNameModel();\n this.formCreated = false;\n \n this.onSuccess();\n } else {\n this.onError();\n }\n }\n )\n }\n Delete(){\n this.accountService.delete(this.accountModel)\n .subscribe(data => {\n var i = this.centers.findIndex(x=>x.Id == this.accountModel.Id);\n if(i > -1){\n this.centers.splice(i,1);\n this.getDataNodes();\n this.accountModel = new AccountNameModel();\n this.formCreated = false;\n }\n })\n }\n SaveCenters(){\n if(this.AssignCostCentersComponent.saveCostCenters() == true){\n this.AccountId = 0;\n this.SetCostCenters = false;\n }\n // this.AssignCostCentersComponent.saveCostCenters();\n }\n onSuccess(): void {\n debugger;\n this.notifications.create(this.translate.instant('Success'),\n this.translate.instant('Action Success'),\n NotificationType.Success, { timeOut: 300, showProgressBar: true });\n }\n \n onWarning(): void {\n \n this.notifications.create(this.translate.instant('Wait'),\n this.translate.instant('Action processing '),\n NotificationType.Warn, { timeOut: 3000, showProgressBar: true });\n }\n \n onError(): void {\n this.notifications.create(this.translate.instant('Error'),\n this.translate.instant('Something wrong'),\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n }\n ","\n
    \n {{\"Back\" |\n translate}}\n \n \n \n \n
    \n
    \n \n
    \n
    \n
    \n

    {{\"Accounts\" | translate}}

    \n
    \n \n \n \n
    \n
    \n \n \n \n \n \n
  • \n \n {{node.Name}}\n \n \n \n
  • \n
    \n \n \n
  • \n
    \n \n \n {{node.Name}}\n \n \n \n
    \n
      \n \n
    \n
  • \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n \n
    \n \n \n
    \n \n
    \n \n \n
    \n
    \n \n \n
    \n \n
    \n
    \n
    \n \n \n
    \n \n
    \n \n \n
    \n
    \n \n \n
    \n \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n\n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n\n
    \n\n
    \n
    \n \n \n
    \n
    \n \n \n
    \n\n
    \n
    \n \n
    \n\n \n \n
    \n 0\" [AccountId]=\"AccountId\">\n
    \n\n
    ","import { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { BasicModel } from \"./helper/model\";\nimport { AccountNatureService } from './helper/serves';\n\n\n\nimport { TableEngine } from 'src/app/views/app/aio/shared/TableEngine'\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from '../../shared/side-popup/side-popup.component';\n\n@Component({\n // moduleId: module.id,\n selector: 'account-natures',\n templateUrl: 'account-natures.component.html',\n styleUrls: ['account-natures.component.scss']\n})\nexport class AccountNaturesComponent {\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n constructor(private formBuilder: FormBuilder, public modelService: AccountNatureService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService\n\n ) {\n }\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n\n translationName: string = 'Account Nature'\n\n sortableKeys = [];\n searchableKeys = ['NameEn', 'NameAr'];\n\n modelObject: BasicModel = new BasicModel();\n\n ogData: BasicModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n NameEn: new FormControl(),\n NameAr: new FormControl(),\n });\n\n\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective;\n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' };\n this.sortableKeys = [\n { label: 'Name', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' },\n ];\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n this.loadServices();\n }\n\n showModal(Id, action) {\n if (action === 'Add') {\n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n }\n else if (action === 'Edit') {\n\n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder)\n console.log(\"this model object:\" + this.modelObject);\n console.log(this.modelObject);\n console.log(\"table engine model object:\" + this.tableEngine.modelObject);\n console.log(this.tableEngine.modelObject);\n\n }\n else if (action === 'Info') {\n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder)\n }\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n }\n\n createForm(modelObject, formBuilder): FormGroup {\n //console.log(\"from craeteform\");\n\n //console.log(\"modelObject\",modelObject.NameEn);\n\n return formBuilder.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n NameEn: [modelObject.NameEn, Validators.compose([Validators.required, Validators.minLength(2)])],\n NameAr: [modelObject.NameAr, Validators.compose([Validators.required, Validators.pattern(/^[\\u0621-\\u064A]+([\\s]*[\\u0621-\\u064A]+)*$/)])],\n // PostalCode: [modelObject.PostalCode, Validators.compose([Validators.required, Validators.pattern(/^/d{5}$/)])],\n });\n }\n\n addObject() {\n this.currentAction = 'loading';\n\n this.modelObject = new BasicModel();\n this.modelObject.Id = 0;\n this.modelObject.NameEn = this.mainForm.getRawValue().NameEn;\n this.modelObject.NameAr = this.mainForm.getRawValue().NameAr;\n // this.modelObject.PostalCode = this.mainForm.getRawValue().PostalCode;\n\n this.executeAddObject();\n }\n\n executeAddObject() {\n console.log(this.modelObject);\n\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n\n editObject() {\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n\n let tempObj = new BasicModel({\n Id: this.modelObject.Id,\n NameEn: this.mainForm.getRawValue().NameEn,\n NameAr: this.mainForm.getRawValue().NameAr,\n // PostalCode : this.mainForm.getRawValue().PostalCode\n });\n\n if (JSON.stringify(tempObj) != JSON.stringify(this.modelObject)) {\n this.executeEditObject(tempObj);\n }\n else {if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n }\n\n executeEditObject(Object) {\n console.log(\"ObjectObject\", Object);\n\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n\n\n prepChangeSort(sortKey) {\n this.tableEngine.itemOrder = this.itemOrder;\n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey))\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n loadServices() {\n this.currentAction = 'loading';\n this.tableEngine.loadData();\n }\n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepSort(sortKey) {\n this.tableEngine.changeSort(this.tableEngine.getSort('Name'));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n

    \n {{tableEngine.currentFormMode+translationName | translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"NameArRequired\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n {{\"NameEnRequired\" | translate}}
    \n \n
    \n \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n tableEngine.deletionList.length === tableEngine.ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Name\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{lang==='ar-EG'?obj.NameAr:obj.NameEn}}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","export class BasicModel{\r\n Id?: number;\r\n NameAr?: string;\r\n NameEn?: string;\r\n constructor(item?: BasicModel) {\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.NameAr = item.NameAr ? item.NameAr : '';\r\n this.NameEn = item.NameEn ? item.NameEn : '';\r\n }\r\n }","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { BasicModel } from \"./model\";\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AccountNatureService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}AccountNature/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}AccountNature/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: BasicModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}AccountNature/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: BasicModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}AccountNature/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: BasicModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}AccountNature/Delete`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n \r\n deleteList(payload: BasicModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}AccountNature/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { BasicModel } from \"./helper/model\";\nimport { AccountsTypeService } from './helper/serves';\n\n\n\nimport { TableEngine } from 'src/app/views/app/aio/shared/TableEngine'\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from '../../shared/side-popup/side-popup.component';\n\n@Component({\n // moduleId: module.id,\n selector: 'account-type',\n templateUrl: 'account-type.component.html',\n styleUrls: ['account-type.component.scss']\n})\nexport class AccountTypeComponent{\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n\n constructor(private formBuilder: FormBuilder, public modelService: AccountsTypeService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService\n\n ) {\n }\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n\n translationName: string = 'Account Type'\n\n sortableKeys = [];\n searchableKeys = ['NameEn', 'NameAr'];\n\n modelObject: BasicModel = new BasicModel();\n\n ogData: BasicModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n NameEn: new FormControl(),\n NameAr: new FormControl(),\n });\n\n\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective;\n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' };\n this.sortableKeys = [\n { label: 'Name', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' },\n ];\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n this.loadServices();\n }\n\n showModal(Id, action) {\n if (action === 'Add') {\n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n }\n else if (action === 'Edit') {\n\n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder)\n console.log(\"this model object:\" + this.modelObject);\n console.log(this.modelObject);\n console.log(\"table engine model object:\" + this.tableEngine.modelObject);\n console.log(this.tableEngine.modelObject);\n\n }\n else if (action === 'Info') {\n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder)\n }\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n }\n\n createForm(modelObject, formBuilder): FormGroup {\n //console.log(\"from craeteform\");\n\n //console.log(\"modelObject\",modelObject.NameEn);\n\n return formBuilder.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n NameEn: [modelObject.NameEn, Validators.compose([Validators.required, Validators.minLength(2)])],\n NameAr: [modelObject.NameAr, Validators.compose([Validators.required, Validators.pattern(/^[\\u0621-\\u064A]+([\\s]*[\\u0621-\\u064A]+)*$/)])],\n // PostalCode: [modelObject.PostalCode, Validators.compose([Validators.required, Validators.pattern(/^/d{5}$/)])],\n });\n }\n\n addObject() {\n this.currentAction = 'loading';\n\n this.modelObject = new BasicModel();\n this.modelObject.Id = 0;\n this.modelObject.NameEn = this.mainForm.getRawValue().NameEn;\n this.modelObject.NameAr = this.mainForm.getRawValue().NameAr;\n // this.modelObject.PostalCode = this.mainForm.getRawValue().PostalCode;\n\n this.executeAddObject();\n }\n\n executeAddObject() {\n console.log(this.modelObject);\n\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n\n editObject() {\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n\n let tempObj = new BasicModel({\n Id: this.modelObject.Id,\n NameEn: this.mainForm.getRawValue().NameEn,\n NameAr: this.mainForm.getRawValue().NameAr,\n // PostalCode : this.mainForm.getRawValue().PostalCode\n });\n\n if (JSON.stringify(tempObj) != JSON.stringify(this.modelObject)) {\n this.executeEditObject(tempObj);\n }\n else {if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n }\n\n executeEditObject(Object) {\n console.log(\"ObjectObject\", Object);\n\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n\n\n prepChangeSort(sortKey) {\n this.tableEngine.itemOrder = this.itemOrder;\n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey))\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n loadServices() {\n this.currentAction = 'loading';\n this.tableEngine.loadData();\n }\n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepSort(sortKey) {\n this.tableEngine.changeSort(this.tableEngine.getSort('Name'));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n

    \n {{tableEngine.currentFormMode+translationName | translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"NameArRequired\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n {{\"NameEnRequired\" | translate}}
    \n \n
    \n \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n tableEngine.deletionList.length === tableEngine.ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Name\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{lang==='ar-EG'?obj.NameAr:obj.NameEn}}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","export class BasicModel{\r\n Id?: number;\r\n NameAr?: string;\r\n NameEn?: string;\r\n constructor(item?: BasicModel) {\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.NameAr = item.NameAr ? item.NameAr : '';\r\n this.NameEn = item.NameEn ? item.NameEn : '';\r\n }\r\n }","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { BasicModel } from \"./model\";\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AccountsTypeService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}AccountsType/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}AccountsType/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: BasicModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}AccountsType/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: BasicModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}AccountsType/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: BasicModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}AccountsType/Delete`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n \r\n deleteList(payload: BasicModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}AccountsType/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { Component } from '@angular/core';\n\n@Component({\n // moduleId: module.id,\n selector: 'account-power',\n templateUrl: 'account-power.component.html',\n styleUrls: ['account-power.component.scss']\n})\nexport class AccountPowerComponent {\n\n}\n","\n
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n \n
    \n
    ","import { Component } from '@angular/core';\n@Component({\n // moduleId: module.id,\n selector: 'accounting-manual',\n templateUrl: 'accounting-manual.component.html',\n styleUrls: ['accounting-manual.component.scss']\n})\nexport class AccountingManualComponent {\n\n}\n","\n
    {{ 'wizard.basic' | translate }}
    \n
    \n
    \n \n \n \n
    \n {{\" \"}}\n \n
    \n
    \n \n \n
    \n {{\" \"}}\n \n
    \n
    \n \n
    \n

    {{ 'wizard.content-thanks' | translate }}

    \n

    {{ 'wizard.registered' | translate }}

    \n
    \n
    \n {{\" \"}}\n \n
    \n
    \n
    \n
    \n
    ","import { Component } from '@angular/core';\n\n@Component({\n // moduleId: module.id,\n selector: 'accounting-dashboard',\n templateUrl: 'accounting-dashboard.component.html',\n styleUrls: ['accounting-dashboard.component.scss']\n})\nexport class AccountingDashboardComponent {\n\n}\n","\n
    \n
    \n

    {{'Finance'|translate}}

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

    {{\"ExpensessType\" | translate}}

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

    {{\"Expenses\" | translate}}

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

    {{\"Catch Receipt Categories\" | translate}}

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

    {{\"Catch Receipt\" | translate}}

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

    {{\"Treasury And Bank Accounts\" | translate}}

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

    {{'General Accounts'|translate}}

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

    {{\"Dailyrestrictions\" | translate}}

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

    {{\"Accounting guide\" | translate}}

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

    {{\"Cost Centers\" | translate}}

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

    {{\"Assets\" | translate}}

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

    {{\"Revenues\" | translate}}

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

    {{'Check cycle'|translate}}

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

    {{\"Checks Received\" | translate}}

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

    {{\"Check Book\" | translate}}

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

    {{\"Paid Checks\" | translate}}

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

    {{'Reports'|translate}}

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

    {{\"Daily Restrictions Report\" | translate}}

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

    {{\"Cost Center Report\" | translate}}

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

    {{\"Income List\" | translate}}

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

    {{\"Balance Sheet\" | translate}}

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

    {{\"Assets Report\" | translate}}

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

    {{\"Trial Balance Balances Report\" | translate}}

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

    {{\"Ledger Account\" | translate}}

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

    {{\"Taxes Report\" | translate}}

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

    {{\"Taxes Return Report\" | translate}}

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

    {{\"Cash Flows\" | translate}}

    \n
    \n
    \n
    \n
    \n
    \n
    \n","import { environment } from './../../../../../../../environments/environment';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { AssetsReportModel } from './models/assets-report-search.model';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AssetsReportService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n search(search:AssetsReportModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}AssetsReport/Search`,search,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n}\r\n ","import { Component, OnInit } from '@angular/core';\nimport { AssetsReportDataModel } from '../../models/assets-report-data.model';\nimport { AssetsReportService } from '../../assets-report.service';\nimport { AssetsReportModel } from '../../models/assets-report-search.model';\nimport { EmployeesManagementService } from 'src/app/HR/Employees/EmployeesManagement/employees-management.service';\nimport html2canvas from 'html2canvas';\nimport jspdf from 'jspdf';\n\n@Component({\n selector: 'assets-report',\n templateUrl: 'assets-report.component.html',\n styleUrls: ['assets-report.component.scss']\n})\nexport class AssetsReportComponent implements OnInit{\n declare lang: any;\n today:Date=new Date();\n list:AssetsReportDataModel[]=[];\n liabilities:AssetsReportDataModel[]=[];\n PropertyRights:AssetsReportDataModel[]=[];\n employees=[];\n nodeList:AssetsReportDataModel[]=[];\n constructor(private AssetsReportService:AssetsReportService,private employeeService:EmployeesManagementService){\n this.lang = localStorage.getItem('theme_lang');\n }\n TotalAssets = 0;\n Totalliabilities = 0;\n TotalPropertyRights = 0;\n data:AssetsReportDataModel[]=[];\n assets:AssetsReportDataModel[]=[];\n search:AssetsReportModel={};\n ngOnInit(): void {\n this.AssetsReportService.search(this.search)\n .subscribe(data => {\n this.data = data;\n this.data.forEach(element => {\n element.TotalDevastations = element.BalanceOfPreviousDepreciations + element.PeriodicDevastations;\n element.CurrentAmount -= element.TotalDevastations;\n });\n this.assets = data;\n this.employeeService.getAll()\n .subscribe(result =>{\n this.employees = result;\n })\n })\n \n }\n Search(){\n this.AssetsReportService.search(this.search)\n .subscribe(data => {\n this.data = data;\n this.data.forEach(element => {\n element.TotalDevastations = element.BalanceOfPreviousDepreciations + element.PeriodicDevastations;\n element.CurrentAmount -= element.TotalDevastations;\n });\n })\n }\n exportTable(){\n var data = document.getElementById('contentToConvert');\n data.style.display = 'inline-block';\n html2canvas(data,{}).then(canvas => {\n var imgWidth = 208;\n var pageHeight = 295;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n var heightLeft = imgHeight;\n const contentDataURL = canvas.toDataURL('image/png')\n let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF\n var position = 0;\n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n pdf.save('new-file.pdf'); // Generated PDF\n data.style.display = 'block';\n\n // data.style.display = 'none';\n \n });\n }\n print(){\n let printContents, popupWin;\n printContents = document.getElementById('contentToConvert').innerHTML;\n popupWin = window.open('', '_blank', 'top=0,left=0,height=100%,width=auto');\n popupWin.document.open();\n window.print();\n \n }\n}\n","\n\n
    \n
    \n
    \n
    \n \n
    \n
    \n \n \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n \n \n \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n \n \n \n \n
    \n \n
    \n {{\" \"}}\n {{\" \"}}\n {{\" \"}}\n {{\" \"}}\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    {{ 'Assets Report' | translate }}

    \n

    {{ today| date:'dd/MM/yyyy' }}

    \n
    {{ 'Future Core' | translate }}
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{ 'Name' | translate }} {{ 'Employee' | translate }} {{ 'Start Service Date' | translate }} {{ 'Purchase Date' | translate }} {{ 'Purchase Amount' | translate }} {{ 'Discounts' | translate }} {{ 'Increases' | translate }} {{ 'Current Amount Before Depreciations' | translate }}{{ 'Balance Of Previous Depreciations' | translate }} {{ 'Periodic Devastations' | translate }} {{ 'Total Devastations' | translate }} {{ 'Current Amount' | translate }}
    {{item.Name}}{{item.EmployeeName}}{{item.ServiceStartDate|date:'dd/MM/yyyy'}}{{item.PurchaseDate|date:'dd/MM/yyyy'}}{{item.PurchaseAmount}}{{item.Discounts}}{{item.Increases}}{{item.CurrentAmountBeforeDepreciations}}{{item.BalanceOfPreviousDepreciations}}{{item.PeriodicDevastations}}{{item.TotalDevastations}}{{item.CurrentAmount}}
    \n \n
    \n \n
    \n
    \n
    ","import { environment } from 'src/environments/environment';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { SearchPeriodModel } from './models/search-period.model';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BalanceSheetService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n search(search:SearchPeriodModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}BalanceSheet/Search`,search,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n}\r\n ","import { MatTreeNestedDataSource } from '@angular/material/tree';\nimport { NestedTreeControl } from '@angular/cdk/tree';\nimport { Component, OnInit } from '@angular/core';\nimport { BalanceSheetService } from '../../balance-sheet.service';\nimport { BalanceSheetModel } from '../../models/balance-sheet.model';\nimport { SearchPeriodModel } from '../../models/search-period.model';\nimport html2canvas from 'html2canvas';\nimport jspdf from 'jspdf';\n@Component({\n selector: 'balance-sheet',\n templateUrl: 'balance-sheet.component.html',\n styleUrls: ['balance-sheet.component.scss']\n})\nexport class BalanceSheetComponent implements OnInit{\n declare lang: any;\n list:BalanceSheetModel[]=[];\n liabilities:BalanceSheetModel[]=[];\n PropertyRights:BalanceSheetModel[]=[];\n today=new Date();\n \n nodeList:BalanceSheetModel[]=[];\n constructor(private balanceSheetService:BalanceSheetService){\n this.lang = localStorage.getItem('theme_lang');\n }\n TotalAssets = 0;\n Totalliabilities = 0;\n TotalPropertyRights = 0;\n data:BalanceSheetModel;\n search:SearchPeriodModel={};\n ngOnInit(): void {\n debugger;\n this.balanceSheetService.search(this.search)\n .subscribe(data => {\n this.data = data;\n this.data.Assets.forEach(element => {\n this.TotalAssets += element.Value;\n });\n this.data.Liabilities.forEach(element => {\n this.Totalliabilities += element.Value;\n });\n this.data.CapitalAndPropertyRights.forEach(element => {\n this.TotalPropertyRights += element.Value;\n });\n var i = this.data.Liabilities.findIndex(x=>x.KeyEn == \"other credit parties\");\n if(i > -1){\n if(this.TotalAssets > (this.Totalliabilities + this.TotalPropertyRights )){\n this.data.Liabilities[i].Value = this.TotalAssets - (this.Totalliabilities + this.TotalPropertyRights );\n this.Totalliabilities += this.data.Liabilities[i].Value;\n }\n else{\n this.data.Liabilities[i].Value = (this.Totalliabilities + this.TotalPropertyRights ) - this.TotalAssets ;\n this.Totalliabilities += this.data.Liabilities[i].Value;\n }\n \n }\n })\n \n }\n Search(){\n this.balanceSheetService.search(this.search)\n .subscribe(data => {\n this.data = data;\n this.data.Assets.forEach(element => {\n this.TotalAssets += element.Value;\n });\n this.data.Liabilities.forEach(element => {\n this.Totalliabilities += element.Value;\n });\n this.data.CapitalAndPropertyRights.forEach(element => {\n this.TotalPropertyRights += element.Value;\n });\n })\n }\n exportTable(){\n var data = document.getElementById('contentToConvert');\n data.style.display = 'inline-block';\n html2canvas(data,{}).then(canvas => {\n var imgWidth = 208;\n var pageHeight = 295;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n var heightLeft = imgHeight;\n const contentDataURL = canvas.toDataURL('image/png')\n let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF\n var position = 0;\n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n pdf.save('new-file.pdf'); // Generated PDF\n data.style.display = 'block';\n\n // data.style.display = 'none';\n \n });\n }\n print(){\n let printContents, popupWin;\n printContents = document.getElementById('contentToConvert').innerHTML;\n popupWin = window.open('', '_blank', 'top=0,left=0,height=100%,width=auto');\n popupWin.document.open();\n window.print();\n \n }\n\n}\n","\n\n
    \n
    \n
    \n
    \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n {{\" \"}}\n {{\" \"}}\n {{\" \"}}\n {{\" \"}}\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    {{ 'Balance Sheet' | translate }}

    \n \n

    {{'From Date'|translate}}{{ search.FromDate| date:'dd/MM/yyyy' }}

    \n

    {{'To Date'|translate}}{{ search.ToDate| date:'dd/MM/yyyy' }}

    \n

    {{'To Date'|translate}}{{ today| date:'dd/MM/yyyy' }}

    \n
    {{ 'Future Core' | translate }}
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n 0\">\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{'Account'|translate}}{{'Total'|translate}}
    {{'Assets'|translate}}{{TotalAssets}}
    {{lang==='ar-EG'?item.KeyAr:item.KeyEn}}{{item.Value}}
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n 0\">\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{'Account'|translate}}{{'Total'|translate}}
    {{'liabilities'|translate}}{{Totalliabilities}}
    {{lang==='ar-EG'?item.KeyAr:item.KeyEn}}{{item.Value}}
    {{'PropertyRights'|translate}}{{TotalPropertyRights}}
    {{lang==='ar-EG'?item.KeyAr:item.KeyEn}}{{item.Value}}
    \n
    \n\n
    \n
    \n
    ","import { Component, OnInit } from '@angular/core';\nimport { CashFlowsDataModel, CashFlowsDetailsModel } from './models/cash-flows.model';\nimport { CashFlowsSearchModel } from './models/cash-flows-search.model';\nimport html2canvas from 'html2canvas';\nimport jspdf from 'jspdf';\n@Component({\n selector: 'cash-flows',\n templateUrl: 'cash-flows.component.html',\n styleUrls: ['cash-flows.component.scss']\n})\nexport class CashFlowsComponent implements OnInit{\n declare lang: any;\n data:CashFlowsDataModel;\n search:CashFlowsSearchModel={};\n constructor(){\n this.lang = localStorage.getItem('theme_lang');\n }\n TotalAssets = 0;\n Totalliabilities = 0;\n TotalPropertyRights = 0;\n today=new Date();\n totalCashFlowFromOperations=0\n totalCashFlowFromInvestments=0\n totalCashFlowFromFinancing=0;\n type=\"indirect\";\n ngOnInit(): void {\n this.changeType()\n }\n Search(){\n \n }\n changeType(){\n this.totalCashFlowFromOperations = 0;\n this.totalCashFlowFromInvestments = 0;\n this.totalCashFlowFromFinancing = 0;\n if(this.type == \"indirect\"){\n \n ///////////////////\n this.data=new CashFlowsDataModel();\n var details = new CashFlowsDetailsModel();\n details.KeyAr = \"صافي الدخل\";\n details.KeyEn = \"net income\";\n details.Value = 70000;\n this.totalCashFlowFromOperations += details.Value;\n this.data.CashFlowFromOperations.push(details);\n\n var DepreciationExpense = new CashFlowsDetailsModel();\n DepreciationExpense.KeyAr = \"مصروفات الإهلاك\";\n DepreciationExpense.KeyEn = \"Depreciation expense\";\n DepreciationExpense.Value = 30000;\n this.totalCashFlowFromOperations += DepreciationExpense.Value;\n this.data.CashFlowFromOperations.push(DepreciationExpense);\n\n\n var IncreaseInAccountsPayable = new CashFlowsDetailsModel();\n IncreaseInAccountsPayable.KeyAr = \"التغيرات في الحسابات الدائنة\";\n IncreaseInAccountsPayable.KeyEn = \"Changes in accounts payable\";\n IncreaseInAccountsPayable.Value = 8000;\n this.totalCashFlowFromOperations += IncreaseInAccountsPayable.Value;\n this.data.CashFlowFromOperations.push(IncreaseInAccountsPayable);\n\n var IncreaseInCustomerAccountsReceivable = new CashFlowsDetailsModel();\n IncreaseInCustomerAccountsReceivable.KeyAr = \"التغيرات في الحسابات المدينة\";\n IncreaseInCustomerAccountsReceivable.KeyEn = \"Changes in accounts receivable\";\n IncreaseInCustomerAccountsReceivable.Value = 6000;\n this.totalCashFlowFromOperations += IncreaseInCustomerAccountsReceivable.Value;\n this.data.CashFlowFromOperations.push(IncreaseInCustomerAccountsReceivable);\n\n \n\n var IncreaseInInventory = new CashFlowsDetailsModel();\n IncreaseInInventory.KeyAr = \"التغيرات في المخزون \";\n IncreaseInInventory.KeyEn = \"Changes in inventory\";\n IncreaseInInventory.Value = -5500;\n this.totalCashFlowFromOperations += IncreaseInInventory.Value;\n this.data.CashFlowFromOperations.push(IncreaseInInventory);\n\n var IncreaseInInventory = new CashFlowsDetailsModel();\n IncreaseInInventory.KeyAr = \"التغيرات في المصروفات المستحقة\";\n IncreaseInInventory.KeyEn = \"Changes in accrued expenses\";\n IncreaseInInventory.Value = -17000;\n this.totalCashFlowFromOperations += IncreaseInInventory.Value;\n this.data.CashFlowFromOperations.push(IncreaseInInventory);\n\n var IncreaseInInventory = new CashFlowsDetailsModel();\n IncreaseInInventory.KeyAr = \"التغيرات في النقدية المدفوعة لضريبة الدخل\";\n IncreaseInInventory.KeyEn = \"Changes in cash paid for income tax\";\n IncreaseInInventory.Value = -7000;\n this.totalCashFlowFromOperations += IncreaseInInventory.Value;\n this.data.CashFlowFromOperations.push(IncreaseInInventory);\n\n var IncreaseInInventory = new CashFlowsDetailsModel();\n IncreaseInInventory.KeyAr = \"التغيرات في النقدية المدفوعة لمصروفات الفوائد \";\n IncreaseInInventory.KeyEn = \"Changes in cash paid for interest expense\";\n IncreaseInInventory.Value = -18000;\n this.totalCashFlowFromOperations += IncreaseInInventory.Value;\n this.data.CashFlowFromOperations.push(IncreaseInInventory);\n\n\n //////////////////////////////////////////////////////\n var CashReceivedFromTheSaleOfAssets = new CashFlowsDetailsModel();\n CashReceivedFromTheSaleOfAssets.KeyAr = \"المتحصلات النقدية من بيع استثمارات طويلة الأجل\";\n CashReceivedFromTheSaleOfAssets.KeyEn = \"Cash proceeds from the sale of long-term investments\";\n CashReceivedFromTheSaleOfAssets.Value = 50000;\n this.totalCashFlowFromInvestments += CashReceivedFromTheSaleOfAssets.Value;\n this.data.CashFlowFromInvestments.push(CashReceivedFromTheSaleOfAssets);\n \n \n var CashSpentToPurchaseAssets = new CashFlowsDetailsModel();\n CashSpentToPurchaseAssets.KeyAr = \"مصاريف شراء آلات ومعدات وأصول ثابتة أخرى\";\n CashSpentToPurchaseAssets.KeyEn = \"Expenses for purchasing machinery, equipment and other fixed assets\";\n CashSpentToPurchaseAssets.Value = 20000;\n this.totalCashFlowFromInvestments += CashSpentToPurchaseAssets.Value;\n this.data.CashFlowFromInvestments.push(CashSpentToPurchaseAssets);\n //////////////////////////////////////////////////////\n var IncreaseInCommonStock = new CashFlowsDetailsModel();\n IncreaseInCommonStock.KeyAr = \"الزيادة في القروض طويلة الأجل رأس المال\";\n IncreaseInCommonStock.KeyEn = \"Increase in long-term loan capital\";\n IncreaseInCommonStock.Value = 40000;\n this.totalCashFlowFromFinancing += IncreaseInCommonStock.Value;\n this.data.CashFlowFromFinancing.push(IncreaseInCommonStock);\n \n \n \n var IncreaseInCommonStock = new CashFlowsDetailsModel();\n IncreaseInCommonStock.KeyAr = \"سداد أقساط قروض وسندات\";\n IncreaseInCommonStock.KeyEn = \"Payment of installments of loans and bonds\";\n IncreaseInCommonStock.Value = -12000;\n this.totalCashFlowFromFinancing += IncreaseInCommonStock.Value;\n this.data.CashFlowFromFinancing.push(IncreaseInCommonStock);\n \n var IncreaseInCommonStock = new CashFlowsDetailsModel();\n IncreaseInCommonStock.KeyAr = \"توزيعات أرباح\";\n IncreaseInCommonStock.KeyEn = \"Dividend\";\n IncreaseInCommonStock.Value = -9500;\n this.totalCashFlowFromFinancing += IncreaseInCommonStock.Value;\n this.data.CashFlowFromFinancing.push(IncreaseInCommonStock);\n }\n else{\n this.data=new CashFlowsDataModel();\n var details = new CashFlowsDetailsModel();\n details.KeyAr = \"النقدية الواردة من العملاء \";\n details.KeyEn = \"Cash received from customers\";\n details.Value = 113200;\n this.totalCashFlowFromOperations += details.Value;\n this.data.CashFlowFromOperations.push(details);\n \n var DepreciationExpense = new CashFlowsDetailsModel();\n DepreciationExpense.KeyAr = \"النقدية المدفوعة للموردين\";\n DepreciationExpense.KeyEn = \"Cash paid to suppliers\";\n DepreciationExpense.Value = -29000 ;\n this.totalCashFlowFromOperations += DepreciationExpense.Value;\n this.data.CashFlowFromOperations.push(DepreciationExpense);\n \n \n var IncreaseInAccountsPayable = new CashFlowsDetailsModel();\n IncreaseInAccountsPayable.KeyAr = \"النقدية المدفوعة للمصروفات التشغيلية\";\n IncreaseInAccountsPayable.KeyEn = \"Cash paid for operating expenses\";\n IncreaseInAccountsPayable.Value = -7500;\n this.totalCashFlowFromOperations += IncreaseInAccountsPayable.Value;\n this.data.CashFlowFromOperations.push(IncreaseInAccountsPayable);\n \n var IncreaseInCustomerAccountsReceivable = new CashFlowsDetailsModel();\n IncreaseInCustomerAccountsReceivable.KeyAr = \"النقدية المدفوعة لضريبة الدخل\";\n IncreaseInCustomerAccountsReceivable.KeyEn = \"Cash paid for income tax\";\n IncreaseInCustomerAccountsReceivable.Value = -4000;\n this.totalCashFlowFromOperations += IncreaseInCustomerAccountsReceivable.Value;\n this.data.CashFlowFromOperations.push(IncreaseInCustomerAccountsReceivable);\n \n \n \n var IncreaseInInventory = new CashFlowsDetailsModel();\n IncreaseInInventory.KeyAr = \"التغيرات في النقدية المدفوعة لمصروفات الفوائد \";\n IncreaseInInventory.KeyEn = \"Changes in cash paid for interest expense\";\n IncreaseInInventory.Value = -6200;\n this.totalCashFlowFromOperations += IncreaseInInventory.Value;\n this.data.CashFlowFromOperations.push(IncreaseInInventory); \n //////////////////////////////////////////////////////\n var CashReceivedFromTheSaleOfAssets = new CashFlowsDetailsModel();\n CashReceivedFromTheSaleOfAssets.KeyAr = \"المتحصلات النقدية من بيع استثمارات طويلة الأجل\";\n CashReceivedFromTheSaleOfAssets.KeyEn = \"Cash proceeds from the sale of long-term investments\";\n CashReceivedFromTheSaleOfAssets.Value = 50000;\n this.totalCashFlowFromInvestments += CashReceivedFromTheSaleOfAssets.Value;\n this.data.CashFlowFromInvestments.push(CashReceivedFromTheSaleOfAssets);\n \n \n var CashSpentToPurchaseAssets = new CashFlowsDetailsModel();\n CashSpentToPurchaseAssets.KeyAr = \"مصاريف شراء آلات ومعدات وأصول ثابتة أخرى\";\n CashSpentToPurchaseAssets.KeyEn = \"Expenses for purchasing machinery, equipment and other fixed assets\";\n CashSpentToPurchaseAssets.Value = 20000;\n this.totalCashFlowFromInvestments += CashSpentToPurchaseAssets.Value;\n this.data.CashFlowFromInvestments.push(CashSpentToPurchaseAssets);\n //////////////////////////////////////////////////////\n var IncreaseInCommonStock = new CashFlowsDetailsModel();\n IncreaseInCommonStock.KeyAr = \"الزيادة في القروض طويلة الأجل رأس المال\";\n IncreaseInCommonStock.KeyEn = \"Increase in long-term loan capital\";\n IncreaseInCommonStock.Value = 40000;\n this.totalCashFlowFromFinancing += IncreaseInCommonStock.Value;\n this.data.CashFlowFromFinancing.push(IncreaseInCommonStock);\n \n \n \n var IncreaseInCommonStock = new CashFlowsDetailsModel();\n IncreaseInCommonStock.KeyAr = \"سداد أقساط قروض وسندات\";\n IncreaseInCommonStock.KeyEn = \"Payment of installments of loans and bonds\";\n IncreaseInCommonStock.Value = -12000;\n this.totalCashFlowFromFinancing += IncreaseInCommonStock.Value;\n this.data.CashFlowFromFinancing.push(IncreaseInCommonStock);\n \n var IncreaseInCommonStock = new CashFlowsDetailsModel();\n IncreaseInCommonStock.KeyAr = \"توزيعات أرباح\";\n IncreaseInCommonStock.KeyEn = \"Dividend\";\n IncreaseInCommonStock.Value = -9500;\n this.totalCashFlowFromFinancing += IncreaseInCommonStock.Value;\n this.data.CashFlowFromFinancing.push(IncreaseInCommonStock);\n }\n }\n exportTable(){\n var data = document.getElementById('contentToConvert');\n data.style.display = 'inline-block';\n html2canvas(data,{}).then(canvas => {\n var imgWidth = 208;\n var pageHeight = 295;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n var heightLeft = imgHeight;\n const contentDataURL = canvas.toDataURL('image/png')\n let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF\n var position = 0;\n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n pdf.save('new-file.pdf'); // Generated PDF\n data.style.display = 'block';\n \n // data.style.display = 'none';\n \n });\n }\n print(){\n let printContents, popupWin;\n printContents = document.getElementById('contentToConvert').innerHTML;\n popupWin = window.open('', '_blank', 'top=0,left=0,height=100%,width=auto');\n popupWin.document.open();\n window.print();\n \n }\n}\n","\n\n
    \n
    \n
    \n
    \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n \n \n
    \n \n \n \n {{\"In the indirect way\" | translate}}\n {{\"In the direct way\" | translate}}\n \n \n
    \n
    \n {{\" \"}}\n {{\" \"}}\n {{\" \"}}\n {{\" \"}}\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    {{ 'Cash Flows' | translate }}\n {{ 'In the indirect way' |translate}} \n {{ 'In the direct way'|translate}} \n\n

    \n

    {{ today| date:'dd/MM/yyyy' }}

    \n
    {{ 'Future Core' | translate }}
    \n \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n \n \n \n \n \n \n
    {{'Name'|translate}}{{'Total'|translate}}
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{'Cash Flow From Operations'|translate}}{{'Value'|translate}}
    {{lang==='ar-EG'?item.KeyAr:item.KeyEn}}{{item.Value}}
    {{'Total Cash Flow From Operations'|translate}}{{totalCashFlowFromOperations}}
    \n \n
    \n
    \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n
    {{'Cash FlowFrom Investments'|translate}}{{'Value'|translate}}
    {{lang==='ar-EG'?item.KeyAr:item.KeyEn}}{{item.Value}}
    {{'Total Cash Flow From Investments'|translate}}{{totalCashFlowFromInvestments}}
    \n \n
    \n
    \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n
    {{'Cash Flow From Financing'|translate}}{{'Value'|translate}}
    {{lang==='ar-EG'?item.KeyAr:item.KeyEn}}{{item.Value}}
    {{'Total Cash Flow From Financing'|translate}}{{totalCashFlowFromFinancing}}
    \n \n
    \n
    \n
    \n
    \n","export class CashFlowsDataModel{\r\n CashFlowFromOperations?:CashFlowsDetailsModel[];\r\n CashFlowFromInvestments?:CashFlowsDetailsModel[];\r\n CashFlowFromFinancing?:CashFlowsDetailsModel[];\r\n constructor(item ?: CashFlowsDataModel){\r\n item = item ? item : {};\r\n this.CashFlowFromFinancing = item.CashFlowFromFinancing?item.CashFlowFromFinancing:[];\r\n this.CashFlowFromInvestments = item.CashFlowFromInvestments?item.CashFlowFromInvestments:[];\r\n this.CashFlowFromOperations = item.CashFlowFromOperations?item.CashFlowFromOperations:[];\r\n }\r\n}\r\nexport class CashFlowsDetailsModel{\r\n KeyAr: string;\r\n KeyEn: string;\r\n Value: number | null;\r\n}","import { CostCenterReportSearchModel } from './../../models/cost-center-report-search.model';\nimport { CostCenterReportDataModel } from './../../models/cost-center-ceport-data.mdel';\nimport { Component, OnInit } from '@angular/core';\nimport { AccountesNameModel } from 'src/app/Invintory/models/AccountesNameModel';\nimport { CostCenterReportService } from '../../cost-center-report.service';\nimport { BranchService } from 'src/app/invoices/branches/BranchService';\nimport { AccountsNameService } from '../../../../account-name/AccountNameService';\nimport { BranchModel } from '../../../../test-component/BranchModel';\nimport html2canvas from 'html2canvas';\nimport jspdf from 'jspdf';\nimport { CostCenterService } from '../../../../cost-center/services/cost-center.service';\nimport { CostCenterModel } from '../../../../cost-center/models/cost-center.model';\n@Component({\n selector: 'cost-center-report',\n templateUrl: 'cost-center-report.component.html',\n styleUrls: ['cost-center-report.component.scss']\n})\nexport class CostCenterReportComponent implements OnInit{\n\n declare lang: any;\n data:CostCenterReportDataModel[];\n search:CostCenterReportSearchModel={};\n accounts:AccountesNameModel[]=[];\n constructor(private CostCenterReportService:CostCenterReportService,\n private branchService:BranchService,\n private accountService:AccountsNameService,\n private costCenterService:CostCenterService\n ){\n this.lang = localStorage.getItem('theme_lang');\n }\n TotalAssets = 0;\n Totalliabilities = 0;\n TotalPropertyRights = 0;\n branches:BranchModel[]=[];\n today=new Date();\n mainCenters:CostCenterModel[]=[];\n subCenters:CostCenterModel[]=[];\n BackUpmainCenters:CostCenterModel[]=[];\n BackUpsubCenters:CostCenterModel[]=[];\n ngOnInit(): void {\n debugger;\n this.CostCenterReportService.Search(this.search)\n .subscribe(data => {\n this.data =data;\n console.log('data',this.data)\n })\n this.branchService.getAll()\n .subscribe(branches=>{\n this.branches = branches;\n })\n this.accountService.GetAllSubAccountes(0)\n .subscribe(data => {\n this.accounts = data;\n })\n this.costCenterService.getAll(0)\n .subscribe(data=>{\n console.log('Centers',data)\n data.forEach(element => {\n if(element.CenterType == \"Main\"){\n this.mainCenters.push(element);\n }\n else{\n this.subCenters.push(element);\n }\n \n });\n this.BackUpmainCenters = [...this.mainCenters];\n this.BackUpsubCenters = [...this.subCenters];\n })\n }\n Search(){\n this.CostCenterReportService.Search(this.search)\n .subscribe(data => {\n this.data =data;\n \n })\n }\n exportTable(){\n var data = document.getElementById('contentToConvert');\n data.style.display = 'inline-block';\n html2canvas(data,{}).then(canvas => {\n var imgWidth = 208;\n var pageHeight = 295;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n var heightLeft = imgHeight;\n const contentDataURL = canvas.toDataURL('image/png')\n let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF\n var position = 0;\n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n pdf.save('new-file.pdf'); // Generated PDF\n data.style.display = 'block';\n \n // data.style.display = 'none';\n \n });\n }\n print(){\n let printContents, popupWin;\n printContents = document.getElementById('contentToConvert').innerHTML;\n popupWin = window.open('', '_blank', 'top=0,left=0,height=100%,width=auto');\n popupWin.document.open();\n window.print();\n \n }\n changeMainCostCenter(){\n var i = this.mainCenters.findIndex(x=>x.Id == this.search.MainCostCenterId);\n if(i > -1){\n this.subCenters = this.BackUpsubCenters.filter(x=>x.ParentId == this.mainCenters[i].Id);\n }\n }\n changeSubCostCenter(){\n \n }\n }\n","\n\n
    \n
    \n
    \n
    \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n \n \n \n \n
    \n \n
    \n \n \n \n \n \n
    \n
    0\">\n \n \n \n \n \n
    \n
    0\">\n \n \n \n \n \n
    \n
    \n
    \n
    \n {{\" \"}}\n {{\" \"}}\n {{\" \"}}\n {{\" \"}}\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    {{ 'Cost Center Report' | translate }}

    \n

    {{ today| date:'dd/MM/yyyy' }}

    \n
    {{ 'Future Core' | translate }}
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n \n
    \n \n \n \n \n \n \n \n
    {{lang==='ar-EG'?cost.CostCenterNameAr:cost.CostCenterNameEn}}
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{'Code'|translate}}{{'Date'|translate}}{{'Account Code'|translate}}{{'Account Name'|translate}}{{'Registration Number'|translate}}{{'Description'|translate}}{{'Percent'|translate}}{{'Operation'|translate}}{{'Balance Credit'|translate}}{{'Balance Debit'|translate}}
    {{item.Code}}{{item.Date|date:'dd/MM/yyyy'}}{{item.AccountCode}}{{lang==='ar-EG'?item.AccountNameAr:item.AccountNameEn}}{{item.DailyRestrictionsCode}}{{item.Description}}{{item.Percent}} 0\">{{item.OperationCredit}} 0\">{{item.OperationDebit}}{{item.BalanceCredit}}{{item.BalanceDebit}}
    \n \n
    \n \n
    \n
    \n
    ","import { environment } from 'src/environments/environment';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { CostCenterReportDataModel } from './models/cost-center-ceport-data.mdel';\r\nimport { CostCenterReportSearchModel } from './models/cost-center-report-search.model';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CostCenterReportService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n Search(search:CostCenterReportSearchModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}CostCenterReport/Search`,search,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n}\r\n ","import { DailyRestrictionsDataDto } from './../../models/daily-restrictions-report-data.model';\nimport { Component, OnInit } from '@angular/core';\nimport { DailyRestrictionsSearchDto } from '../../models/daily-restrictions-report-search.model';\nimport { DailyRestrictionsReportService } from '../../daily-restrictions-report.service';\nimport { BranchModel } from 'src/app/invoices/branches/BranchModel';\nimport { BranchService } from 'src/app/invoices/branches/BranchService';\nimport { AccountsNameService } from '../../../../account-name/AccountNameService';\nimport { AccountesNameModel } from 'src/app/Invintory/models/AccountesNameModel';\nimport html2canvas from 'html2canvas';\nimport jspdf from 'jspdf';\nimport sources from '../../models/Daily-restiction-sources.json'\n@Component({\n selector: 'daily-restrictions-report',\n templateUrl: 'daily-restrictions-report.component.html',\n styleUrls: ['daily-restrictions-report.component.scss']\n})\nexport class DailyRestrictionsReportComponent implements OnInit{\n\n sources:any[]=sources;\n declare lang: any;\n data:DailyRestrictionsDataDto[];\n search:DailyRestrictionsSearchDto={};\n accounts:AccountesNameModel[]=[];\n constructor(private DailyRestrictionsReportService:DailyRestrictionsReportService,\n private branchService:BranchService,\n private accountService:AccountsNameService\n ){\n this.lang = localStorage.getItem('theme_lang');\n }\n TotalAssets = 0;\n Totalliabilities = 0;\n TotalPropertyRights = 0;\n branches:BranchModel[]=[];\n today=new Date();\n ngOnInit(): void {\n debugger;\n this.DailyRestrictionsReportService.Search(this.search)\n .subscribe(data => {\n this.data =data;\n console.log('data',this.data)\n })\n this.branchService.getAll()\n .subscribe(branches=>{\n this.branches = branches;\n })\n this.accountService.GetAllSubAccountes(0)\n .subscribe(data => {\n this.accounts = data;\n })\n }\n Search(){\n this.DailyRestrictionsReportService.Search(this.search)\n .subscribe(data => {\n this.data =data;\n \n })\n }\n exportTable(){\n var data = document.getElementById('contentToConvert');\n data.style.display = 'inline-block';\n html2canvas(data,{}).then(canvas => {\n var imgWidth = 208;\n var pageHeight = 295;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n var heightLeft = imgHeight;\n const contentDataURL = canvas.toDataURL('image/png')\n let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF\n var position = 0;\n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n pdf.save('new-file.pdf'); // Generated PDF\n data.style.display = 'block';\n\n // data.style.display = 'none';\n \n });\n }\n print(){\n let printContents, popupWin;\n printContents = document.getElementById('contentToConvert').innerHTML;\n popupWin = window.open('', '_blank', 'top=0,left=0,height=100%,width=auto');\n popupWin.document.open();\n window.print();\n \n }\n}\n","\n\n
    \n
    \n
    \n
    \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n \n \n \n \n
    \n \n
    \n \n \n \n \n \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    \n
    \n {{\" \"}}\n {{\" \"}}\n {{\" \"}}\n {{\" \"}}\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    {{ 'Daily Restrictions' | translate }}

    \n

    {{ today| date:'dd/MM/yyyy' }}

    \n
    {{ 'Future Core' | translate }}
    \n \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{'Date'|translate}}{{'Code'|translate}}{{'Description'|translate}}{{'Source'|translate}}{{'Branch'|translate}}{{'Amount'|translate}}
    {{item.Date|date:'dd/MM/yyyy'}}{{item.Code}}{{item.Description}}{{item.Source | translate}}{{lang==='ar-EG'?item.BranchNameAr:item.BranchNameEn}}{{item.Amount}}
    \n \n
    \n\n
    \n
    \n
    ","import { environment } from 'src/environments/environment';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { DailyRestrictionsSearchDto } from './models/daily-restrictions-report-search.model';\r\nimport { DailyRestrictionsDataDto } from './models/daily-restrictions-report-data.model';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DailyRestrictionsReportService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n Search(search:DailyRestrictionsSearchDto): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}DailyRestrictionsReport/Search`,search,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n}\r\n ","import { BranchModel } from './../../../../test-component/BranchModel';\nimport { IncomeListDataModel } from './../../models/income-list-data.model';\nimport { IncomeListSearchModel } from './../../models/income-list-search.model';\nimport { Component, OnInit } from '@angular/core';\nimport { IncomeListService } from '../../income-list.service'\nimport { BranchService } from 'src/app/invoices/branches/BranchService';\nimport html2canvas from 'html2canvas';\nimport jspdf from 'jspdf';\n\n\n@Component({\n selector: 'income-list',\n templateUrl: 'income-list.component.html',\n styleUrls: ['income-list.component.scss']\n})\nexport class IncomeListComponent implements OnInit{\n declare lang: any;\n data:IncomeListDataModel;\n search:IncomeListSearchModel={};\n constructor(private IncomeListService:IncomeListService,private branchService:BranchService){\n this.lang = localStorage.getItem('theme_lang');\n }\n TotalAssets = 0;\n Totalliabilities = 0;\n TotalPropertyRights = 0;\n branches:BranchModel[]=[];\n today=new Date();\n totalIncomes=0\n totalOutComes=0\n ngOnInit(): void {\n debugger;\n this.IncomeListService.Search(this.search)\n .subscribe(data => {\n this.data =data;\n data.Incomes.forEach(element => {\n if(element.Value == null || element.Value == undefined ){\n element.Value = 0;\n }\n this.totalIncomes += element.Value;\n });\n data.Expenses.forEach(element => {\n if(element.Value == null || element.Value == undefined ){\n element.Value = 0;\n }\n this.totalOutComes += element.Value;\n });\n console.log('data',this.data)\n })\n this.branchService.getAll()\n .subscribe(branches=>{\n this.branches = branches;\n })\n \n }\n Search(){\n this.IncomeListService.Search(this.search)\n .subscribe(data => {\n this.data =data;\n \n })\n }\n exportTable(){\n var data = document.getElementById('contentToConvert');\n data.style.display = 'inline-block';\n html2canvas(data,{}).then(canvas => {\n var imgWidth = 208;\n var pageHeight = 295;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n var heightLeft = imgHeight;\n const contentDataURL = canvas.toDataURL('image/png')\n let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF\n var position = 0;\n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n pdf.save('new-file.pdf'); // Generated PDF\n data.style.display = 'block';\n\n // data.style.display = 'none';\n \n });\n }\n print(){\n let printContents, popupWin;\n printContents = document.getElementById('contentToConvert').innerHTML;\n popupWin = window.open('', '_blank', 'top=0,left=0,height=100%,width=auto');\n popupWin.document.open();\n window.print();\n \n }\n}\n","\n
    \n
    \n
    \n
    \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n {{\" \"}}\n {{\" \"}}\n {{\" \"}}\n {{\" \"}}\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    {{ 'Income List' | translate }}

    \n

    {{'From'|translate}} : {{ search.From| date:'dd/MM/yyyy' }}

    \n

    {{'To'|translate}} : {{ search.To| date:'dd/MM/yyyy' }}

    \n
    {{ 'Future Core' | translate }}
    \n \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n \n \n \n \n \n \n
    {{'Name'|translate}}{{'Total'|translate}}
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{'Incomes'|translate}}{{'Value'|translate}}
    {{lang==='ar-EG'?item.KeyAr:item.KeyEn}}{{item.Value}}
    {{'Total'|translate}}{{totalIncomes}}
    \n \n
    \n
    \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n
    {{'Expenses'|translate}}{{'Value'|translate}}
    {{lang==='ar-EG'?item.KeyAr:item.KeyEn}}{{item.Value}}
    {{'Total'|translate}}{{totalOutComes}}
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n
    {{'Net Profit'|translate}}{{totalIncomes - totalOutComes}}
    \n \n
    \n
    \n
    \n
    \n","import { IncomeListSearchModel } from './models/income-list-search.model';\r\nimport { environment } from 'src/environments/environment';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { IncomeListDataModel } from './models/income-list-data.model';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class IncomeListService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n Search(search:IncomeListSearchModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}IncomeList/Search`,search,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n}\r\n ","import { LedgerAccountDataModel } from './../../models/ledger-account-data.model';\nimport { Component, OnInit } from '@angular/core';\nimport { LedgerAccountSearchModel } from './../../models/ledger-account-search.model';\nimport { AccountesNameModel } from 'src/app/Invintory/models/AccountesNameModel';\nimport { LedgerAccountService } from '../../ledger-account.service';\nimport { BranchService } from 'src/app/invoices/branches/BranchService';\nimport { AccountsNameService } from '../../../../account-name/AccountNameService';\nimport { BranchModel } from '../../../../test-component/BranchModel';\nimport html2canvas from 'html2canvas';\nimport jspdf from 'jspdf';\n\n@Component({\n selector: 'ledger-account',\n templateUrl: 'ledger-account.component.html',\n styleUrls: ['ledger-account.component.scss']\n})\nexport class LedgerAccountComponent implements OnInit{\n\n declare lang: any;\n data:LedgerAccountDataModel[];\n search:LedgerAccountSearchModel={};\n accounts:AccountesNameModel[]=[];\n constructor(private LedgerAccountService:LedgerAccountService,\n private branchService:BranchService,\n private accountService:AccountsNameService,\n ){\n this.lang = localStorage.getItem('theme_lang');\n }\n TotalAssets = 0;\n Totalliabilities = 0;\n TotalPropertyRights = 0;\n branches:BranchModel[]=[];\n today=new Date();\n ngOnInit(): void {\n debugger;\n this.LedgerAccountService.search(this.search)\n .subscribe(data => {\n this.data =data;\n \n console.log('data',this.data)\n })\n this.branchService.getAll()\n .subscribe(branches=>{\n this.branches = branches;\n })\n this.accountService.GetAllSubAccountes(0)\n .subscribe(data => {\n this.accounts = data;\n })\n \n }\n Search(){\n this.LedgerAccountService.search(this.search)\n .subscribe(data => {\n this.data =data;\n \n })\n }\n exportTable(){\n var data = document.getElementById('contentToConvert');\n data.style.display = 'inline-block';\n html2canvas(data,{}).then(canvas => {\n var imgWidth = 208;\n var pageHeight = 295;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n var heightLeft = imgHeight;\n const contentDataURL = canvas.toDataURL('image/png')\n let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF\n var position = 0;\n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n pdf.save('new-file.pdf'); // Generated PDF\n data.style.display = 'block';\n\n // data.style.display = 'none';\n \n });\n }\n print(){\n let printContents, popupWin;\n printContents = document.getElementById('contentToConvert').innerHTML;\n popupWin = window.open('', '_blank', 'top=0,left=0,height=100%,width=auto');\n popupWin.document.open();\n window.print();\n \n }\n \n changeSubCostCenter(){\n \n }\n}\n","\n\n
    \n
    \n
    \n
    \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n \n \n \n \n
    \n \n
    \n \n \n \n \n \n
    \n \n
    \n
    \n
    \n {{\" \"}}\n {{\" \"}}\n {{\" \"}}\n {{\" \"}}\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    {{ 'Ledger Account' | translate }}

    \n

    {{ today| date:'dd/MM/yyyy' }}

    \n
    {{ 'Future Core' | translate }}
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n
    {{'Journal Code'|translate}}{{'Date'|translate}}{{'Description'|translate}}{{'The Operation'|translate}}{{'Balance'|translate}}
    {{'Credit'|translate}}{{'Debit'|translate}}{{'Credit'|translate}}{{'Debit'|translate}}
    \n
    \n
    \n
    \n
    \n
    \n
    \n 0\">\n \n \n \n \n \n \n \n \n
    {{lang==='ar-EG'?cost.AccountNameAr:cost.AccountNameEn}}
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{'Balance Before'|translate}}{{cost.CreditBalanceBefore}}{{cost.DebitBalanceBefore}}
    {{item.JournalCode}}#{{item.Date|date:'dd/MM/yyyy'}}{{item.Description}}{{item.CreditTransfer}}{{item.DebitTransfer}}{{item.CreditBalance>item.DebitBalance?item.CreditBalance - item.DebitBalance:0}}{{item.DebitBalance>item.CreditBalance? item.DebitBalance - item.CreditBalance : 0}}
    \n {{'Total'|translate}}\n {{cost.TotalCreditTransfer}}{{cost.TotalDebitTransfer}}{{cost.TotalCreditBalance > cost.TotalDebitBalance ? cost.TotalCreditBalance - cost.TotalDebitBalance : 0}}{{cost.TotalDebitBalance > cost.TotalCreditBalance ? cost.TotalDebitBalance - cost.TotalCreditBalance : 0}}
    \n \n
    \n
    \n \n
    \n
    \n
    ","import { environment } from './../../../../../../../environments/environment';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { LedgerAccountSearchModel } from './models/ledger-account-search.model';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LedgerAccountService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n search(search:LedgerAccountSearchModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}LedgerAccount/Search`,search,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n}\r\n ","import { TaxReportDataModel } from './../../models/tax-report-data.model';\nimport { Component, OnInit } from '@angular/core';\nimport { TaxReportSearchModel } from '../../models/tax-report-search.model';\nimport { TaxModel } from 'src/app/invoices/create-invoice/helper/model/taxModel';\nimport { TaxReportService } from '../../tax-report.service';\nimport { BranchService } from 'src/app/invoices/branches/BranchService';\nimport { TaxTypesService } from 'src/app/invoices/tax-types/TaxTypesService';\nimport { BranchModel } from '../../../../test-component/BranchModel';\nimport html2canvas from 'html2canvas';\nimport jspdf from 'jspdf';\n\n@Component({\n selector: 'tax-report',\n templateUrl: 'tax-report.component.html',\n styleUrls: ['tax-report.component.scss']\n})\nexport class TaxReportComponent implements OnInit{\n\n declare lang: any;\n data:TaxReportDataModel[];\n search:TaxReportSearchModel={};\n taxes:TaxModel[]=[];\n constructor(private TaxReportService:TaxReportService,\n private branchService:BranchService,\n private taxService:TaxTypesService,\n ){\n this.lang = localStorage.getItem('theme_lang');\n }\n TotalAssets = 0;\n Totalliabilities = 0;\n TotalPropertyRights = 0;\n branches:BranchModel[]=[];\n today=new Date();\n ngOnInit(): void {\n debugger;\n this.TaxReportService.search(this.search)\n .subscribe(data => {\n this.data =data;\n \n console.log('data',this.data)\n })\n this.branchService.getAll()\n .subscribe(branches=>{\n this.branches = branches;\n })\n this.taxService.getAll()\n .subscribe(data => {\n this.taxes = data;\n })\n \n }\n Search(){\n this.TaxReportService.search(this.search)\n .subscribe(data => {\n this.data =data;\n \n })\n }\n exportTable(){\n var data = document.getElementById('contentToConvert');\n data.style.display = 'inline-block';\n html2canvas(data,{}).then(canvas => {\n var imgWidth = 208;\n var pageHeight = 295;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n var heightLeft = imgHeight;\n const contentDataURL = canvas.toDataURL('image/png')\n let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF\n var position = 0;\n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n pdf.save('new-file.pdf'); // Generated PDF\n data.style.display = 'block';\n\n // data.style.display = 'none';\n \n });\n }\n print(){\n let printContents, popupWin;\n printContents = document.getElementById('contentToConvert').innerHTML;\n popupWin = window.open('', '_blank', 'top=0,left=0,height=100%,width=auto');\n popupWin.document.open();\n window.print();\n \n }\n \n changeSubCostCenter(){\n \n }\n}\n","\n\n\n
    \n
    \n
    \n
    \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n \n \n \n \n
    \n \n
    \n \n \n \n \n \n
    \n \n
    \n
    \n
    \n {{\" \"}}\n {{\" \"}}\n {{\" \"}}\n {{\" \"}}\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    {{ 'Taxes Report' | translate }}

    \n

    {{ today| date:'dd/MM/yyyy' }}

    \n
    {{ 'Future Core' | translate }}
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n 0\">\n \n \n \n \n \n \n \n \n \n \n \n \n
    {{lang==='ar-EG'?cost.TaxNameAr:cost.TaxNameEn}}
    {{\"Sales Invoices\"|translate}}
    \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{'Code'|translate}}{{'Financier'|translate}}{{'Commercial Record'|translate}}{{'Tax card'|translate}}{{'Date'|translate}}{{'Item'|translate}}{{'Description'|translate}}{{'Taxable amount'|translate}}{{'Taxes'|translate}}
    {{item.Code}}#{{item.Financier}}{{item.CommercialRecord}}{{item.TaxRecord}}{{item.Date|date:'dd/MM/yyyy'}}{{item.ItemName}}{{item.Description}}{{item.TheTaxableAmount}}{{item.TaxesValue}}
    \n \n \n 0\">\n \n \n \n \n \n \n \n \n \n
    {{\"Sales Returns\"|translate}}
    \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{'Code'|translate}}{{'Financier'|translate}}{{'Commercial Record'|translate}}{{'Tax card'|translate}}{{'Date'|translate}}{{'Item'|translate}}{{'Description'|translate}}{{'Taxable amount'|translate}}{{'Taxes'|translate}}
    {{item.Code}}#{{item.Financier}}{{item.CommercialRecord}}{{item.TaxRecord}}{{item.Date|date:'dd/MM/yyyy'}}{{item.ItemName}}{{item.Description}}{{item.TheTaxableAmount}}{{item.TaxesValue}}
    \n \n\n
    \n 0\">\n \n \n \n \n \n \n \n \n \n
    {{\"Purchases Invoices\"|translate}}
    \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{'Code'|translate}}{{'Financier'|translate}}{{'Commercial Record'|translate}}{{'Tax card'|translate}}{{'Date'|translate}}{{'Item'|translate}}{{'Description'|translate}}{{'Taxable amount'|translate}}{{'Taxes'|translate}}
    {{item.Code}}#{{item.Financier}}{{item.CommercialRecord}}{{item.TaxRecord}}{{item.Date|date:'dd/MM/yyyy'}}{{item.ItemName}}{{item.Description}}{{item.TheTaxableAmount}}{{item.TaxesValue}}
    \n \n 0\">\n \n \n \n \n \n \n \n \n\n
    {{\"Purchases Returns\"|translate}}
    \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{'Code'|translate}}{{'Financier'|translate}}{{'Commercial Record'|translate}}{{'Tax card'|translate}}{{'Date'|translate}}{{'Item'|translate}}{{'Description'|translate}}{{'Taxable amount'|translate}}{{'Taxes'|translate}}
    {{item.Code}}#{{item.Financier}}{{item.CommercialRecord}}{{item.TaxRecord}}{{item.Date|date:'dd/MM/yyyy'}}{{item.ItemName}}{{item.Description}}{{item.TheTaxableAmount}}{{item.TaxesValue}}
    \n \n \n \n \n \n \n \n \n \n \n \n\n
    {{\"Total\"|translate}}{{cost.TotlaTheTaxableAmount}}
    \n
    \n \n
    \n
    \n
    ","import { environment } from './../../../../../../../environments/environment';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { TaxReportSearchModel } from './models/tax-report-search.model';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TaxReportService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n search(search:TaxReportSearchModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}TaxReport/Search`,search,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n}\r\n ","import { TaxModel } from 'src/app/invoices/create-invoice/helper/model/taxModel';\nimport { TaxReturnReportDataModel } from './../../models/tax-return-report-data.model';\nimport { TaxReturnReportSearchModel } from './../../models/tax-return-report-search.model';\nimport { Component, OnInit } from '@angular/core';\nimport { TaxReturnReportService } from '../../tax-return-report.service';\nimport { BranchService } from 'src/app/invoices/branches/BranchService';\nimport { TaxTypesService } from 'src/app/invoices/tax-types/TaxTypesService';\nimport { BranchModel } from '../../../../test-component/BranchModel';\nimport html2canvas from 'html2canvas';\nimport jspdf from 'jspdf';\n\n@Component({\n selector: 'tax-return-report',\n templateUrl: 'tax-return-report.component.html',\n styleUrls: ['tax-return-report.component.scss']\n})\nexport class TaxReturnReportComponent implements OnInit{\n\n declare lang: any;\n data:TaxReturnReportDataModel[]=[];\n search:TaxReturnReportSearchModel={};\n taxes:TaxModel[]=[];\n totalAmount = 0;\n totalAmountAdjustments = 0;\n totalTaxDue = 0;\n constructor(private TaxReturnReportService:TaxReturnReportService,\n private branchService:BranchService,\n private taxService:TaxTypesService,\n ){\n this.lang = localStorage.getItem('theme_lang');\n }\n\n branches:BranchModel[]=[];\n today=new Date();\n ngOnInit(): void {\n debugger;\n this.TaxReturnReportService.search(this.search)\n .subscribe(data => {\n this.data =data;\n this.data.forEach(element => {\n if(element.Type == 1){\n this.totalAmount += element.Amount;\n this.totalAmountAdjustments += element.AmountAdjustments;\n this.totalTaxDue += element.TaxDue;\n }\n else if(element.Type == 2){\n this.totalAmount -= element.Amount;\n this.totalAmountAdjustments -= element.AmountAdjustments;\n this.totalTaxDue -= element.TaxDue;\n }\n });\n console.log('data',this.data)\n })\n this.branchService.getAll()\n .subscribe(branches=>{\n this.branches = branches;\n })\n this.taxService.getAll()\n .subscribe(data => {\n this.taxes = data;\n })\n \n }\n Search(){\n this.TaxReturnReportService.search(this.search)\n .subscribe(data => {\n this.data =data;\n \n })\n }\n exportTable(){\n var data = document.getElementById('contentToConvert');\n data.style.display = 'inline-block';\n html2canvas(data,{}).then(canvas => {\n var imgWidth = 208;\n var pageHeight = 295;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n var heightLeft = imgHeight;\n const contentDataURL = canvas.toDataURL('image/png')\n let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF\n var position = 0;\n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n pdf.save('new-file.pdf'); // Generated PDF\n data.style.display = 'block';\n\n // data.style.display = 'none';\n \n });\n }\n print(){\n let printContents, popupWin;\n printContents = document.getElementById('contentToConvert').innerHTML;\n popupWin = window.open('', '_blank', 'top=0,left=0,height=100%,width=auto');\n popupWin.document.open();\n window.print();\n \n }\n \n changeSubCostCenter(){\n \n }\n}\n","
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n \n \n \n \n
    \n \n
    \n \n \n \n \n \n
    \n \n
    \n
    \n
    \n {{\" \"}}\n {{\" \"}}\n {{\" \"}}\n {{\" \"}}\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    {{ 'Taxes Return Report' | translate }}

    \n

    {{ today| date:'dd/MM/yyyy' }}

    \n
    {{ 'Future Core' | translate }}
    \n \n
    \n
    \n
    \n
    \n \n
    0\">\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n
    {{lang==='ar-EG'?cost.NameAr:cost.NameEn}}
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{'Tax'|translate}}{{lang==='ar-EG'?cost.NameAr:cost.NameEn}}{{'Adjustments'|translate}}{{'Tax Due'|translate}}
    {{lang==='ar-EG'?item.TaxNameAr:item.TaxNameEn}}{{item.Amount}}{{item.AmountAdjustments}}{{item.TaxDue}}
    \n {{'Total'|translate}}\n {{cost.Amount}}{{cost.AmountAdjustments}}{{cost.TaxDue}}
    \n \n \n\n
    \n \n
    \n\n
    \n\n \n \n\n \n \n \n \n \n \n
    \n {{'Net'|translate}}\n {{totalTaxDue}}
    \n
    \n
    ","import { environment } from './../../../../../../../environments/environment';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { TaxReturnReportSearchModel } from './models/tax-return-report-search.model';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TaxReturnReportService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n search(search:TaxReturnReportSearchModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}TaxReturnReport/Search`,search,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n}\r\n ","import { TrialBalanceBalancesDataModel } from './../../models/trial-balance-balances-data.model';\nimport { Component, OnInit } from '@angular/core';\nimport { TrialBalanceBalancesService } from '../../trial-balance-balances.service';\nimport { TrialBalanceBalancesSearchModel } from '../../models/trial-balance-balances-search.model';\nimport html2canvas from 'html2canvas';\nimport jspdf from 'jspdf';\nimport { FlatTreeControl, NestedTreeControl } from '@angular/cdk/tree';\nimport { MatTreeFlatDataSource, MatTreeFlattener, MatTreeNestedDataSource } from '@angular/material/tree';\ninterface AccountNameNode {\n Id?: number;\n Children?: AccountNameNode[];\n Level?: number;\n Parentcode?:number;\n Name?:string;\n Type?:number;\n Debit?:number;\n Credit?:number;\n }\n@Component({\n selector: 'trial-balance-balances',\n templateUrl: 'trial-balance-balances.component.html',\n styleUrls: ['trial-balance-balances.component.scss']\n})\nexport class TrialBalanceBalancesComponent implements OnInit{\n declare lang: any;\n today:Date=new Date();\n list:TrialBalanceBalancesDataModel[]=[];\n liabilities:TrialBalanceBalancesDataModel[]=[];\n PropertyRights:TrialBalanceBalancesDataModel[]=[];\n employees=[];\n nodeList:AccountNameNode[]=[];\n constructor(private TrialBalanceBalancesService:TrialBalanceBalancesService){\n this.lang = localStorage.getItem('theme_lang');\n // this.tabledataSource.data = TREE_DATA;\n\n }\n TotalAssets = 0;\n Totalliabilities = 0;\n TotalPropertyRights = 0;\n data:TrialBalanceBalancesDataModel[]=[];\n assets:TrialBalanceBalancesDataModel[]=[];\n search:TrialBalanceBalancesSearchModel={};\n ngOnInit(): void {\n this.TrialBalanceBalancesService.search(this.search)\n .subscribe(data => {\n this.data = data;\n console.log('this.data',this.data)\n this.assets = data;\n this.groupedByData = this.groupByKey(this.data, 'Levelcode')\n this.nodeList = [];\n\n this.getDataNodes2();\n })\n \n }\n Search(){\n this.TrialBalanceBalancesService.search(this.search)\n .subscribe(data => {\n this.data = data;\n })\n }\n exportTable(){\n var data = document.getElementById('contentToConvert');\n data.style.display = 'inline-block';\n html2canvas(data,{}).then(canvas => {\n var imgWidth = 208;\n var pageHeight = 295;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n var heightLeft = imgHeight;\n const contentDataURL = canvas.toDataURL('image/png')\n let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF\n var position = 0;\n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n pdf.save('new-file.pdf'); // Generated PDF\n data.style.display = 'block';\n\n // data.style.display = 'none';\n \n });\n }\n print(){\n let printContents, popupWin;\n printContents = document.getElementById('contentToConvert').innerHTML;\n popupWin = window.open('', '_blank', 'top=0,left=0,height=100%,width=auto');\n popupWin.document.open();\n window.print();\n \n }\n groupedByData=[];\n\n getDataNodes2(){\n for (let index = 1; index <= Object.keys(this.groupedByData).length; index++) {\n debugger;\n const element = this.groupedByData[index];\n if(index == 1){\n element.forEach(value => {\n this.nodeList.push({\n Id : value.Id,\n Level : value.Levelcode,\n Name : this.lang =='ar-EG' ? value.NameAr : value.NameEn,\n Parentcode : value.Parentcode,\n Children : [],\n Credit : value.Credit,\n Debit : value.Debit\n });\n });\n }\n } \n this.drawTreeFromTop(this.nodeList);\n \n this.dataSource.data = [];\n this.dataSource.data = this.nodeList;\n \n }\n \ngroupByKey(data, key) {\n debugger;\n return data.reduce(function (rv, x) {\n (rv[x[key]] = rv[x[key]] || []).push(x);\n return rv;\n }, {});\n };\n nodeCount = 0;\n count = 0;\n\n drawTreeFromTop(currentlevelList: AccountNameNode []){\n debugger;\n console.log(\"data count: \", this.data.length);\n console.log(\"node count: \", this.nodeCount);\n console.log(\"current nodes: \", this.nodeList);\n \n if(this.nodeCount >= this.data.length){\n console.log(\"we did it, men. we found the deepest nodes.\");\n return currentlevelList;\n }\n else{\n console.log(\"we're not yet done... descending one level deeper into this madness\");\n if(this.levelLimit > this.count){\n let nextLevelList: AccountNameNode[] = [];\n if(currentlevelList.length > 0){\n currentlevelList.forEach(node => {\n this.data.filter(x=>x.Parentcode == node.Id).forEach(childNode => {\n let tempNode: AccountNameNode = {};\n tempNode.Id = childNode.Id;\n tempNode.Children = [];\n tempNode.Level = node.Level + 1;\n tempNode.Name = this.lang =='ar-EG' ? childNode.NameAr : childNode.NameEn,\n tempNode.Parentcode = childNode.Parentcode,\n tempNode.Type = childNode.AccountType,\n tempNode.Credit = childNode.Credit,\n tempNode.Debit = childNode.Debit,\n node.Children.push(tempNode)\n this.nodeCount++;\n nextLevelList.push(tempNode);\n });\n });\n }\n this.count ++;\n return this.drawTreeFromTop(nextLevelList);\n }\n else\n {\n return;\n }\n\n }\n }\n levelLimit = 6;\n treeControl = new NestedTreeControl(node => node.Children);\n// dataSource = new MatTreeNestedDataSource();\n //limiting depth level to 4 + base (total of 5 nested nodes)\n hasChild = (_: number, node: AccountNameNode) => !!node.Children && node.Children.length > 0 && node.Level+1 {\n return {\n expandable: !!node.Children && node.Children.length > 0,\n Id: node.Id,\n Name: node.Name,\n Parentcode: node.Parentcode,\n Type: node.Type,\n Level: Level,\n Credit:node.Credit,\n Debit:node.Debit\n\n };\n }\n\n tabletreeControl = new FlatTreeControl(\n node => node.Level, node => node.expandable);\n\n treeFlattener = new MatTreeFlattener(\n this.transformer, node => node.Level, \n node => node.expandable, node => node.Children);\n\n dataSource = new MatTreeFlatDataSource(this.tabletreeControl, this.treeFlattener);\n\n \n\n tablehasChild = (_: number, node: ExampleFlatNode) => node.expandable;\n\n\n}\ninterface FoodNode {\n Id?: number;\n Level?: number;\n Parentcode?:number;\n Name?:string;\n Type?:number;\n Debit?:number;\n Credit?:number;\n Children?: AccountNameNode[];\n}\n\n\ninterface ExampleFlatNode {\n expandable: boolean;\n Id?: number;\n Level?: number;\n Parentcode?:number;\n Name?:string;\n Type?:number;\n Debit?:number;\n Credit?:number;\n}\n","\n\n
    \n
    \n
    \n
    \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n {{\" \"}}\n {{\" \"}}\n {{\" \"}}\n {{\" \"}}\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    {{ 'Trial Balance Balances Report' | translate }}

    \n

    {{ today| date:'dd/MM/yyyy' }}

    \n
    {{ 'Future Core' | translate }}
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n {{'Name'|translate}}\n \n \n \n {{data.Name}}\n {{'Credit'|translate}} {{data.Credit}} {{'Debit'|translate}} {{data.Debit}}
    \n
    \n
    \n
    \n\n \n\n \n
    ","import { environment } from './../../../../../../../environments/environment';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { TrialBalanceBalancesSearchModel } from './models/trial-balance-balances-search.model';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TrialBalanceBalancesService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n search(search:TrialBalanceBalancesSearchModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}TrialBalanceBalances/Search`,search,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n}\r\n ","import { PaymentPlanComponent } from './payment-plan/components/payment-plan/payment-plan.component';\r\nimport { TrialBalanceBalancesComponent } from './accounting-reports/trial-balance-balances/components/trial-balance-balances/trial-balance-balances.component';\r\nimport { AssetsReportComponent } from './accounting-reports/assets-report/components/assets-report/assets-report.component';\r\nimport { UploadJournalFileComponent } from './dailyrestrictions/upload-journal-file/upload-journal-file.component';\r\nimport { ComponentsCarouselModule } from './../../../../components/carousel/components.carousel.module';\r\nimport { SharedModule } from './../../../../shared/shared.module';\r\nimport { PagesContainersModule } from './../../../../containers/pages/pages.containers.module';\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule, DatePipe } from \"@angular/common\";\r\nimport { AngularFireAuthModule } from \"@angular/fire/auth\";\r\nimport { AngularFireAuthGuardModule } from \"@angular/fire/auth-guard\";\r\nimport { TabsModule } from \"ngx-bootstrap/tabs\";\r\nimport { HeadroomModule } from \"@ctrl/ngx-headroom\";\r\nimport { ScrollToModule } from \"@nicky-lenaers/ngx-scroll-to\";\r\nimport { NgxDatatableModule } from \"@swimlane/ngx-datatable\";\r\nimport { CollapseModule } from \"ngx-bootstrap/collapse\";\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { ArchwizardModule } from \"angular-archwizard\";\r\nimport { FormsModule, FormsModule as FormsModuleAngular, ReactiveFormsModule } from '@angular/forms';\r\nimport { ModalModule } from \"ngx-bootstrap/modal\";\r\nimport { TooltipModule } from \"ngx-bootstrap/tooltip\";\r\nimport { PopoverModule } from \"ngx-bootstrap/popover\";\r\nimport { AccountingRoutingModule } from './accounting.routing'\r\nimport { LayoutContainersModule } from 'src/app/containers/layout/layout.containers.module';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { AngularFireModule } from '@angular/fire';\r\nimport { environment } from 'src/environments/environment';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\r\nimport { SortablejsModule } from 'ngx-sortablejs';\r\nimport { PaginationConfig, PaginationModule } from 'ngx-bootstrap/pagination';\r\nimport { SimpleNotificationsModule } from 'angular2-notifications';\r\nimport { PaidChecksComponent } from './checks/paid-checks/components/paid-checks/paid-checks.component';\r\nimport { ViewPaidChecksComponent } from './checks/paid-checks/components/view-paid-checks/view-paid-checks.component';\r\nimport { CreatePaidChecksComponent } from './checks/paid-checks/components/create-paid-checks/create-paid-checks.component';\r\nimport { UploadPaidChecksFileComponent } from './checks/paid-checks/components/upload-paid-checks-file/upload-paid-checks-file.component';\r\nimport { CheckBooksComponent } from './checks/check-book/components/check-books/check-books.component';\r\nimport { ChecksReceivedComponent } from './checks/checks-received/components/checks-received/checks-received.component';\r\nimport { ViewChecksRecievedComponent } from './checks/checks-received/components/view-checks-recieved/view-checks-recieved.component';\r\nimport { CreateChecksReceivedComponent } from './checks/checks-received/components/create-checks-received/create-checks-received.component';\r\nimport { UploadChecksRecievedFileComponent } from './checks/checks-received/components/upload-checks-recieved-file/upload-checks-recieved-file.component';\r\nimport { UploadExpensesFileComponent } from './Expenses/components/upload-expenses-file/upload-expenses-file.component';\r\nimport { TreasuryAndBankAccountsComponent } from './treasury-and-bank-accounts/components/treasury-and-bank-accounts/treasury-and-bank-accounts.component';\r\nimport { BalanceSheetComponent } from './accounting-reports/balance-sheet/components/balance-sheet/balance-sheet.component';\r\nimport { CreatGovernorateComponent } from './creat-governorate/creat-governorate.component';\r\nimport { LockerDataComponent } from './locker-data/locker-data.component';\r\nimport { AddPaymentModeComponent } from './add-payment-mode/add-payment-mode.component';\r\nimport { JournalEntriesTypeComponent } from './journal-entries-type/journal-entries-type.component';\r\nimport { DailyrestrictionsComponent } from './dailyrestrictions/dailyrestrictions.component';\r\nimport { AccountingManualComponent } from './account_manual_section/accounting-manual/accounting-manual.component';\r\nimport { AcountingBaseDataComponent } from './acounting-base-data/acounting-base-data.component';\r\nimport { AccountPowerComponent } from './account_manual_section/account-power/account-power.component';\r\nimport { ProjectInfoComponent } from './project-info/project-info.component';\r\nimport { ExpensesComponent } from './Expenses/components/expenses/expenses.component';\r\nimport { CreateExpensesComponent } from './Expenses/components/create-expenses/create-expenses.component';\r\nimport { ExpenseDefinitionComponent } from './expense-definition/expense-definition.component';\r\nimport { ExpensessTypeComponent } from './expensess-type/expensess-type.component';\r\nimport { AccountFicationsComponent} from './account-fications/account-fications.component';\r\nimport { AccountNaturesComponent } from './account-natures/account-natures.component';\r\nimport { AccountMenuComponent } from './account-menu/account-menu.component';\r\nimport { AccountFicationCostTypeComponent } from './account-fication-cost-type/account-fication-cost-type.component';\r\nimport { CheckTypesComponent } from './check-types/check-types.component';\r\nimport { CheckStatusesComponent } from './check-statuses/check-statuses.component';\r\nimport { GenerateAccountTypeComponent } from './generate-account-type/generate-account-type.component';\r\nimport { AccountTypeComponent } from './account-type/account-type.component';\r\nimport { BankCodeComponent } from './bank-code/bank-code.component';\r\nimport { CreatCountryComponent } from './creat-country/creat-country.component';\r\nimport { CityCodeComponent } from './city-code/city-code.component';\r\nimport { AccountingDashboardComponent } from './accounting-dashboard/accounting-dashboard.component';\r\nimport { AccountBalanceComponent } from './account-balance/account-balance.component';\r\nimport { CostCenterComponent } from './cost-center/cost-center.component';\r\nimport { AccountNameComponent } from './account-name/account-name.component';\r\nimport { AccountNameActionsComponent } from './account-name/account-name-actions/account-name-actions.component';\r\nimport { GeneralAccountComponent } from './general-account/general-account.component';\r\nimport { AccountsComponent } from './accounts/accounts.component';\r\nimport { ExpenseCodesComponent } from './expense-codes/expense-codes.component';\r\nimport { RevenueCodesComponent } from './revenue-codes/revenue-codes.component';\r\nimport { AssignCostCentersComponent } from './assign-cost-centers/assign-cost-centers.component';\r\nimport { SelectCostCenterComponent } from './select-cost-center/select-cost-center.component';\r\nimport { AllDailyrestrictionsComponent } from './all-dailyrestrictions/all-dailyrestrictions.component';\r\nimport { ViewDailyRestrictionComponent } from './view-daily-restriction/view-daily-restriction.component';\r\nimport { CatchReceiptCategoryComponent } from './catch-receipt-category/catch-receipt-category.component';\r\nimport { CatchReceiptComponent } from './catch-receipt/catch-receipt.component';\r\nimport { CreateCatchReceiptComponent } from './catch-receipt/create-catch-receipt/create-catch-receipt.component';\r\nimport { UploadImageComponent } from './catch-receipt/upload-image/upload-image.component';\r\nimport { AllAssetsComponent } from './assets/components/all-assets/all-assets.component';\r\nimport { UploadAssetsFileComponent } from './assets/components/upload-assets-file/upload-assets-file.component';\r\nimport { IconsComponent } from './icons/icons.component';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { FileUploadModule } from 'ng2-file-upload';\r\nimport { AccordionModule } from 'ngx-bootstrap/accordion';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { RatingModule } from 'ngx-bootstrap/rating';\r\nimport { ComponentsPlayerModule } from 'src/app/components/player/components.player.module';\r\nimport { LightboxModule } from 'ngx-lightbox';\r\nimport { RouterModule } from '@angular/router';\r\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\r\nimport { BootstrapModule } from 'src/app/components/bootstrap/bootstrap.module';\r\nimport { TimepickerModule } from 'ngx-bootstrap/timepicker';\r\nimport { IncomeListComponent } from './accounting-reports/income-list/components/income-list/income-list.component';\r\nimport { DailyRestrictionsReportComponent } from './accounting-reports/daily-restrictions-report/components/daily-restrictions-report/daily-restrictions-report.component'\r\nimport { CostCenterReportComponent } from './accounting-reports/cost-center-report/components/cost-center-report/cost-center-report.component';\r\nimport {LedgerAccountComponent } from './accounting-reports/ledger-account/components/ledger-account/ledger-account.component';\r\nimport {TaxReportComponent } from './accounting-reports/tax-report/components/tax-report/tax-report.component';\r\nimport {CdkTableModule} from '@angular/cdk/table';\r\nimport {CdkTreeModule} from '@angular/cdk/tree';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { TaxReturnReportComponent } from './accounting-reports/tax-return-report/components/tax-return-report/tax-return-report.component';\r\nimport { CashFlowsComponent } from './accounting-reports/cash-flows/cash-flows.component';\r\nimport { AllBudgetComponent } from './budget/components/all-budget/all-budget.component';\r\nimport { CreateBudgetComponent } from './budget/components/create-budget/create-budget.component';\r\nimport { AllMonthlyDistributionComponent } from './budget/monthly-distribution/components/all-monthly-distribution/all-monthly-distribution.component';\r\nimport { CreateMonthlyDistributionComponent } from './budget/monthly-distribution/components/create-monthly-distribution/create-monthly-distribution.component';\r\nimport { BudgetReportComponent } from './budget/budget-report/components/budget-report/budget-report.component';\r\nimport { ViewAssetComponent } from './assets/components/view-asset/view-asset.component';\r\nimport { FiscalYearComponent } from './fiscal-years/components/fiscal-year/fiscal-year.component';\r\n\r\n@NgModule({\r\n declarations: [ \r\n IncomeListComponent,\r\n ViewAssetComponent,\r\n AllBudgetComponent,\r\n BudgetReportComponent,\r\n AllMonthlyDistributionComponent,\r\n CreateMonthlyDistributionComponent,\r\n CreateBudgetComponent,\r\n AccountingDashboardComponent,\r\n AccountingManualComponent,\r\n AcountingBaseDataComponent,\r\n AccountPowerComponent,\r\n ExpenseDefinitionComponent,\r\n ProjectInfoComponent,\r\n ExpensessTypeComponent,\r\n AccountFicationsComponent,\r\n AccountNaturesComponent,\r\n AccountMenuComponent,\r\n CheckTypesComponent,\r\n AccountFicationCostTypeComponent,\r\n CheckStatusesComponent,\r\n GenerateAccountTypeComponent,\r\n AccountTypeComponent,\r\n BankCodeComponent,\r\n CreatCountryComponent,\r\n CityCodeComponent,\r\n // AccountingDashboardComponent,\r\n AccountBalanceComponent,\r\n CostCenterComponent,\r\n CatchReceiptCategoryComponent,\r\n CatchReceiptComponent,\r\n CreateCatchReceiptComponent,\r\n CreatGovernorateComponent,\r\n DailyrestrictionsComponent,\r\n JournalEntriesTypeComponent,\r\n AddPaymentModeComponent,\r\n AccountNameComponent,\r\n AccountNameActionsComponent,\r\n LockerDataComponent,\r\n GeneralAccountComponent,\r\n AccountsComponent,\r\n BalanceSheetComponent,\r\n ExpenseCodesComponent,\r\n RevenueCodesComponent,\r\n AllAssetsComponent,\r\n IconsComponent,\r\n AllDailyrestrictionsComponent,\r\n AssignCostCentersComponent,\r\n SelectCostCenterComponent,\r\n ViewDailyRestrictionComponent,\r\n UploadImageComponent,\r\n TreasuryAndBankAccountsComponent,\r\n ExpensesComponent,\r\n CreateExpensesComponent,\r\n UploadExpensesFileComponent,\r\n ChecksReceivedComponent,\r\n CreateChecksReceivedComponent,\r\n UploadChecksRecievedFileComponent,\r\n ViewChecksRecievedComponent,\r\n CheckBooksComponent,\r\n UploadPaidChecksFileComponent,\r\n CreatePaidChecksComponent,\r\n ViewPaidChecksComponent,\r\n PaidChecksComponent,\r\n DailyRestrictionsReportComponent,\r\n CostCenterReportComponent,\r\n UploadJournalFileComponent,\r\n UploadAssetsFileComponent,\r\n AssetsReportComponent,\r\n TrialBalanceBalancesComponent,\r\n PaymentPlanComponent,\r\n LedgerAccountComponent,\r\n TaxReportComponent,\r\n TaxReturnReportComponent,\r\n CashFlowsComponent,\r\n FiscalYearComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n AccountingRoutingModule,\r\n LayoutContainersModule,\r\n CdkTableModule,\r\n CdkTreeModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n TranslateModule,\r\n HttpClientModule,\r\n AngularFireModule.initializeApp(environment.firebase),\r\n FormsModule,\r\n ReactiveFormsModule,\r\n ModalModule.forRoot(),\r\n ArchwizardModule,\r\n SharedModule,\r\n NgSelectModule,\r\n FormsModuleAngular,\r\n AngularFireAuthModule,\r\n AngularFireAuthGuardModule,\r\n ComponentsCarouselModule,\r\n TabsModule.forRoot(),\r\n HeadroomModule,\r\n ScrollToModule.forRoot(),\r\n NgxDatatableModule,\r\n CollapseModule,\r\n PagesContainersModule,\r\n PopoverModule.forRoot(),\r\n TooltipModule.forRoot(),\r\n BsDropdownModule,\r\n SortablejsModule,\r\n PaginationModule,\r\n SimpleNotificationsModule.forRoot(),\r\n\r\n\r\n\r\n\r\n /////////////////////\r\n LayoutContainersModule,\r\n MatTooltipModule,\r\n FileUploadModule,\r\n AccordionModule,\r\n MatTreeModule,\r\n MatIconModule,\r\n MatButtonModule ,\r\nMatCheckboxModule ,\r\nMatFormFieldModule,\r\nMatInputModule ,\r\nMatProgressBarModule,\r\n\r\nRatingModule.forRoot(),\r\nComponentsPlayerModule,\r\nLightboxModule,\r\nRouterModule,\r\nPerfectScrollbarModule,\r\nBootstrapModule,\r\n\r\nTimepickerModule.forRoot(),\r\n\r\n ],\r\n entryComponents:[UploadAssetsFileComponent,UploadJournalFileComponent,AssignCostCentersComponent,UploadImageComponent],\r\n exports:[UploadAssetsFileComponent,UploadJournalFileComponent,UploadPaidChecksFileComponent,UploadImageComponent,UploadExpensesFileComponent,UploadChecksRecievedFileComponent],\r\n bootstrap: [AccountingDashboardComponent],\r\n providers: [DatePipe,PaginationConfig],\r\n})\r\nexport class AccountingModule {}\r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { AllAssetsComponent } from './assets/components/all-assets/all-assets.component';\r\nimport { ViewDailyRestrictionComponent } from './view-daily-restriction/view-daily-restriction.component';\r\nimport { ProjectInfoComponent } from './project-info/project-info.component';\r\nimport { AllBudgetComponent } from './budget/components/all-budget/all-budget.component';\r\n\r\nimport { AccountPowerComponent } from './account_manual_section/account-power/account-power.component';\r\nimport { AccountingManualComponent } from './account_manual_section/accounting-manual/accounting-manual.component';\r\nimport { AcountingBaseDataComponent } from './acounting-base-data/acounting-base-data.component';\r\nimport { ExpenseDefinitionComponent } from './expense-definition/expense-definition.component';\r\nimport { ExpensessTypeComponent } from './expensess-type/expensess-type.component';\r\nimport { AccountFicationsComponent} from './account-fications/account-fications.component';\r\nimport { AccountMenuComponent} from './account-menu/account-menu.component';\r\nimport { AccountFicationCostTypeComponent } from './account-fication-cost-type/account-fication-cost-type.component';\r\nimport { CheckTypesComponent } from './check-types/check-types.component';\r\nimport { CheckStatusesComponent } from './check-statuses/check-statuses.component';\r\nimport { GenerateAccountTypeComponent } from './generate-account-type/generate-account-type.component';\r\nimport { AccountTypeComponent } from './account-type/account-type.component';\r\nimport { BankCodeComponent } from './bank-code/bank-code.component';\r\nimport { CreatCountryComponent } from './creat-country/creat-country.component';\r\nimport { CreatGovernorateComponent } from './creat-governorate/creat-governorate.component';\r\nimport { CityCodeComponent } from './city-code/city-code.component';\r\nimport { AccountingDashboardComponent } from './accounting-dashboard/accounting-dashboard.component';\r\nimport { IconsComponent } from './icons/icons.component';\r\n\r\nimport { AccountBalanceComponent } from './account-balance/account-balance.component';\r\nimport {CostCenterComponent} from 'src/app//views/app/aio/acounting_components/cost-center/cost-center.component';\r\nimport { DailyrestrictionsComponent } from './dailyrestrictions/dailyrestrictions.component';\r\nimport { JournalEntriesTypeComponent } from './journal-entries-type/journal-entries-type.component';\r\nimport { AddPaymentModeComponent } from './add-payment-mode/add-payment-mode.component';\r\nimport { AccountNameComponent } from './account-name/account-name.component';\r\nimport { AccountNameActionsComponent } from './account-name/account-name-actions/account-name-actions.component';\r\nimport { LockerDataComponent } from './locker-data/locker-data.component';\r\nimport { AccountNaturesComponent } from './account-natures/account-natures.component';\r\nimport { GeneralAccountComponent } from './general-account/general-account.component';\r\nimport { AccountsComponent } from './accounts/accounts.component';\r\nimport { BalanceSheetComponent } from './accounting-reports/balance-sheet/components/balance-sheet/balance-sheet.component';\r\nimport { ExpenseCodesComponent } from './expense-codes/expense-codes.component';\r\nimport { RevenueCodesComponent } from './revenue-codes/revenue-codes.component';\r\nimport { AssignCostCentersComponent } from './assign-cost-centers/assign-cost-centers.component';\r\nimport { AllDailyrestrictionsComponent } from './all-dailyrestrictions/all-dailyrestrictions.component';\r\nimport { CatchReceiptCategoryComponent } from './catch-receipt-category/catch-receipt-category.component';\r\nimport { CreateCatchReceiptComponent } from './catch-receipt/create-catch-receipt/create-catch-receipt.component';\r\nimport { TreasuryAndBankAccountsComponent } from './treasury-and-bank-accounts/components/treasury-and-bank-accounts/treasury-and-bank-accounts.component';\r\nimport { CatchReceiptComponent } from './catch-receipt/catch-receipt.component';\r\nimport { CreateExpensesComponent } from './Expenses/components/create-expenses/create-expenses.component';\r\nimport { ExpensesComponent } from './Expenses/components/expenses/expenses.component';\r\nimport { ChecksReceivedComponent } from './checks/checks-received/components/checks-received/checks-received.component';\r\nimport { CreateChecksReceivedComponent } from './checks/checks-received/components/create-checks-received/create-checks-received.component';\r\nimport { ViewChecksRecievedComponent } from './checks/checks-received/components/view-checks-recieved/view-checks-recieved.component';\r\nimport { CheckBooksComponent } from './checks/check-book/components/check-books/check-books.component';\r\nimport { PaidChecksComponent } from './checks/paid-checks/components/paid-checks/paid-checks.component';\r\nimport { CreatePaidChecksComponent } from './checks/paid-checks/components/create-paid-checks/create-paid-checks.component';\r\nimport { ViewPaidChecksComponent } from './checks/paid-checks/components/view-paid-checks/view-paid-checks.component';\r\n\r\nimport { IncomeListComponent } from './accounting-reports/income-list/components/income-list/income-list.component';\r\nimport { DailyRestrictionsReportComponent } from './accounting-reports/daily-restrictions-report/components/daily-restrictions-report/daily-restrictions-report.component'\r\nimport { CostCenterReportComponent } from './accounting-reports/cost-center-report/components/cost-center-report/cost-center-report.component';\r\nimport { AssetsReportComponent } from './accounting-reports/assets-report/components/assets-report/assets-report.component';\r\nimport { TrialBalanceBalancesComponent } from './accounting-reports/trial-balance-balances/components/trial-balance-balances/trial-balance-balances.component';\r\nimport { PaymentPlanComponent } from './payment-plan/components/payment-plan/payment-plan.component';\r\nimport {LedgerAccountComponent } from './accounting-reports/ledger-account/components/ledger-account/ledger-account.component';\r\nimport {TaxReportComponent } from './accounting-reports/tax-report/components/tax-report/tax-report.component';\r\nimport { TaxReturnReportComponent } from './accounting-reports/tax-return-report/components/tax-return-report/tax-return-report.component';\r\nimport { CashFlowsComponent } from './accounting-reports/cash-flows/cash-flows.component';\r\nimport { CreateBudgetComponent } from './budget/components/create-budget/create-budget.component';\r\nimport { AllMonthlyDistributionComponent } from './budget/monthly-distribution/components/all-monthly-distribution/all-monthly-distribution.component';\r\nimport { CreateMonthlyDistributionComponent } from './budget/monthly-distribution/components/create-monthly-distribution/create-monthly-distribution.component';\r\nimport { BudgetReportComponent } from './budget/budget-report/components/budget-report/budget-report.component';\r\nimport { ViewAssetComponent } from './assets/components/view-asset/view-asset.component';\r\nimport { FiscalYearComponent } from './fiscal-years/components/fiscal-year/fiscal-year.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '', component: AccountingDashboardComponent,\r\n },\r\n { path: 'Finance', component: AccountingDashboardComponent },\r\n { path: 'AccountingManualComponent', component: AccountingManualComponent },\r\n { path: 'AcountingBaseDataComponent', component: AcountingBaseDataComponent},\r\n { path: 'AccountPowerComponent', component: AccountPowerComponent },\r\n { path: 'ExpenseDefinitionComponent', component: ExpenseDefinitionComponent },\r\n { path: 'ProjectInfoComponent', component: ProjectInfoComponent },\r\n { path: 'ExpensessType', component: ExpensessTypeComponent },\r\n { path: 'AccountFications', component: AccountFicationsComponent },\r\n { path: 'AccountMenu', component: AccountMenuComponent },\r\n { path: 'AccountFicationCostType', component: AccountFicationCostTypeComponent },\r\n { path: 'CheckTypes', component: CheckTypesComponent },\r\n { path: 'CheckStatuses', component: CheckStatusesComponent },\r\n { path: 'GenerateAccountType', component: GenerateAccountTypeComponent },\r\n { path: 'AccountType', component: AccountTypeComponent },\r\n { path: 'BankCode', component: BankCodeComponent },\r\n { path: 'CreatCountry', component: CreatCountryComponent },\r\n { path: 'CreatGovernorate', component: CreatGovernorateComponent },\r\n { path: 'CityCode', component: CityCodeComponent },\r\n { path: 'AccountBalance', component: AccountBalanceComponent },\r\n { path: 'CostCenter', component: CostCenterComponent },\r\n { path: 'Dailyrestrictions/:Id', component: DailyrestrictionsComponent },\r\n { path: 'JournalEntriesType', component: JournalEntriesTypeComponent },\r\n { path: 'AddPaymentMode', component: AddPaymentModeComponent },\r\n { path: 'AccountName', component: AccountNameComponent },\r\n { path: 'AccountName/AccountNameActions/:state/:id', component: AccountNameActionsComponent },\r\n { path: 'LockerData', component: LockerDataComponent },\r\n { path: 'AccountNatures', component: AccountNaturesComponent },\r\n { path: 'GeneralAccount', component: GeneralAccountComponent },\r\n { path: 'Accounts', component: AccountsComponent },\r\n { path: 'BalanceSheet', component: BalanceSheetComponent },\r\n { path: 'Expenses', component: ExpenseCodesComponent },\r\n { path: 'Revenues', component: RevenueCodesComponent },\r\n { path: 'assign-cost-centers/:AccountId', component: AssignCostCentersComponent },\r\n { path: 'all-daily', component: AllDailyrestrictionsComponent },\r\n { path: 'view-daily-restriction/:Id', component: ViewDailyRestrictionComponent },\r\n { path: 'create-catch-receipt/:Id', component: CreateCatchReceiptComponent },\r\n { path: 'catch-receipt-categories', component: CatchReceiptCategoryComponent },\r\n { path: 'assets', component: AllAssetsComponent },\r\n { path: 'catch-receipt',component:CatchReceiptComponent},\r\n \r\n { path: 'treasury-and-bank-accounts', component: TreasuryAndBankAccountsComponent },\r\n // { path: 'accounts', component: AccountingDashboardComponent },\r\n { path: 'icons', component: IconsComponent },\r\n { path: 'expenses', component: ExpensesComponent },\r\n { path: 'create-expenses/:Id', component: CreateExpensesComponent },\r\n { path: 'checks-received', component: ChecksReceivedComponent },\r\n { path: 'create-checks-received/:Id', component: CreateChecksReceivedComponent },\r\n { path: 'view-checks-received/:Id', component: ViewChecksRecievedComponent },\r\n { path: 'paid-checks', component: PaidChecksComponent },\r\n { path: 'create-paid-checks/:Id', component: CreatePaidChecksComponent },\r\n { path: 'view-paid-checks/:Id', component: ViewPaidChecksComponent },\r\n { path: 'check-book', component: CheckBooksComponent },\r\n { path: 'income-list', component: IncomeListComponent },\r\n { path: 'daily-restrictions-report', component: DailyRestrictionsReportComponent },\r\n { path: 'cost-center-report', component: CostCenterReportComponent },\r\n { path: 'assets-report', component: AssetsReportComponent },\r\n { path: 'trial-balance-balances', component: TrialBalanceBalancesComponent },\r\n { path: 'payment-plan', component: PaymentPlanComponent},\r\n { path: 'ledger-account', component: LedgerAccountComponent},\r\n { path: 'tax-report', component: TaxReportComponent},\r\n { path: 'tax-return-report', component: TaxReturnReportComponent},\r\n { path: 'budgets', component: AllBudgetComponent},\r\n { path: 'budget-report', component: BudgetReportComponent},\r\n { path: 'create-budget/:Id', component: CreateBudgetComponent},\r\n { path: 'monthly-distribution', component: AllMonthlyDistributionComponent},\r\n { path: 'create-monthly-distribution/:Id', component: CreateMonthlyDistributionComponent},\r\n { path: 'cash-flows', component: CashFlowsComponent } ,\r\n { path: 'view-asset/:Id', component: ViewAssetComponent } ,\r\n { path: 'fiscal-years', component: FiscalYearComponent }\r\n \r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class AccountingRoutingModule {}\r\n","import { AssignCostCentersComponent } from './../assign-cost-centers/assign-cost-centers.component';\nimport { AccountsNameService } from './../account-name/AccountNameService';\nimport { MatTreeNestedDataSource } from '@angular/material/tree';\nimport { NestedTreeControl } from '@angular/cdk/tree';\nimport { BasicModel } from './../journal-entries-type/helper/model';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { AccountNameModel } from '../account-name/AccountNameModel';\nimport { AccountMenuService } from '../account-menu/helper/serves';\nimport { AccountsTypeService } from '../account-type/helper/serves';\nimport { AccountFicationService } from '../account-fications/helper/serves';\nimport { AccountFicationCostTypeService } from '../account-fication-cost-type/helper/serves';\nimport { AccountExpensesTypeService } from '../expensess-type/helper/serves';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\ninterface AccountNameNode {\n Id?: number;\n Children?: AccountNameNode[];\n Level?: number;\n Parentcode?:number;\n Name?:string;\n Type?:number;\n AccountNumber?:number;\n }\n@Component({\n selector: 'accounts',\n templateUrl: 'accounts.component.html',\n styleUrls: ['accounts.component.scss']\n})\nexport class AccountsComponent implements OnInit{\n @ViewChild(AssignCostCentersComponent) AssignCostCentersComponent:AssignCostCentersComponent;\n declare lang: any;\n Form:FormGroup;\n ExpensesTypes:BasicModel[]=[];\n accountMenus:any[]=[];\n accountsTypes:any[]=[];\n accountFications:any[]=[];\n accountFicationCostType:any[]=[];\n accountExpensesTypes:any[]=[];\n AccountsNameList:AccountNameNode[]=[\n {Id:1,Level:0,Children:[\n {Id:2,Level:1,Children:[],Parentcode:1,Name:'Chiled 1'},\n {Id:3,Level:1,Children:[],Parentcode:1,Name:'Chiled 2'},\n {Id:4,Level:1,Children:[],Parentcode:1,Name:'Chiled 3'}\n ],Parentcode:0,Name:'Parent 1'},\n {Id:5,Level:0,Children:[\n {Id:6,Level:1,Children:[],Parentcode:5,Name:'Chiled 1'},\n {Id:7,Level:1,Children:[],Parentcode:5,Name:'Chiled 2'},\n {Id:8,Level:1,Children:[],Parentcode:5,Name:'Chiled 3'}\n ],Parentcode:0,Name:'Parent 2'},\n {Id:9,Level:0,Children:[\n {Id:10,Level:1,Children:[\n {Id:13,Level:2,Children:[],Parentcode:10,Name:'Chiled 1'},\n {Id:14,Level:2,Children:[],Parentcode:10,Name:'Chiled 2'},\n {Id:15,Level:2,Children:[],Parentcode:10,Name:'Chiled 3'}\n ],Parentcode:5,Name:'Chiled 1'},\n {Id:11,Level:1,Children:[],Parentcode:5,Name:'Chiled 2'},\n {Id:12,Level:1,Children:[],Parentcode:5,Name:'Chiled 3'}\n ],Parentcode:0,Name:'Parent 3'}\n ]\n centers:AccountNameModel[]=[\n {AccounExpensesTypeId:1,AccountFicationId:1,AccountFicationType:1,AccountMenuId:1,AccountNature:1,AccountNumber:1,AccountType:1,CompanyDataId:0,Id:1,IsNotMenu:true,Levelcode:1,NameAr:'الاصول',NameEn:'Assets',Parentcode:0},\n {AccounExpensesTypeId:1,AccountFicationId:1,AccountFicationType:1,AccountMenuId:1,AccountNature:1,AccountNumber:1,AccountType:1,CompanyDataId:0,Id:2,IsNotMenu:true,Levelcode:1,NameAr:'الخصوم',NameEn:'Liabilities',Parentcode:0},\n {AccounExpensesTypeId:1,AccountFicationId:1,AccountFicationType:1,AccountMenuId:1,AccountNature:1,AccountNumber:1,AccountType:1,CompanyDataId:0,Id:3,IsNotMenu:true,Levelcode:1,NameAr:'حقوق الملكية',NameEn:'Property Rights',Parentcode:0},\n {AccounExpensesTypeId:1,AccountFicationId:1,AccountFicationType:1,AccountMenuId:1,AccountNature:1,AccountNumber:1,AccountType:1,CompanyDataId:0,Id:4,IsNotMenu:true,Levelcode:1,NameAr:'الإيرادات',NameEn:'Incomes',Parentcode:0},\n \n ]\n accountModel:AccountNameModel=new AccountNameModel();\n constructor(\n private translate: TranslateService, \n public notifications: NotificationsService,\n private fb:FormBuilder,\n private accountService:AccountsNameService,\n public accountMenuService: AccountMenuService,\n public accountsTypeService: AccountsTypeService,\n public accountFicationService: AccountFicationService,\n public accountFicationCostTypeService: AccountFicationCostTypeService,\n public accountExpensesTypeService: AccountExpensesTypeService,\n ){\n this.lang = localStorage.getItem('theme_lang');\n \n }\n SetCostCenters = false;\n AccountId = 0;\n assignCostCenters(){\n this.AccountId = this.accountModel.Id;\n this.SetCostCenters = true;\n this.formCreated = false;\n }\n LastAccountNumber = 0; \n ngOnInit(): void {\n this.accountService.getAll(0)\n .subscribe(data => {\n this.centers = data;\n console.log('accounts',this.centers);\n if(this.centers && this.centers.length > 0){\n \n }\n this.groupedByData = this.groupByKey(this.centers, 'Levelcode')\n this.nodeList = [];\n\n this.getDataNodes2();\n // (Object.keys(groupedByData)).forEach(x => {\n // this.viewData.push(\n // {\n // LevelCode:x,\n // // quantity : groupedByData[x].length + 'x',\n // // subtotal : (groupedByData[x].map(x=> x.price)).reduce(function(a, b) { return a + b; }, 0)\n // }\n // )\n // })\n \n // console.log(groupedByData)\n // console.log(Object.keys(groupedByData));\n // console.log(Object.values(groupedByData));\n // (Object.keys(groupedByData)).forEach(x => {\n // this.viewData.push(\n // {\n // LevelCode:x,\n // // quantity : groupedByData[x].length + 'x',\n // // subtotal : (groupedByData[x].map(x=> x.price)).reduce(function(a, b) { return a + b; }, 0)\n // }\n // )\n // })\n console.log('this.viewData',this.viewData)\n // this.getDataNodes2();\n // this.Form = this.createForm();\n })\n this.getData();\n this.accountService.GetLastAccountCode()\n .subscribe(accountNumber=>{\n this.LastAccountNumber = accountNumber;\n })\n\n }\n \n formCreated = false;\n createForm():FormGroup{\n this.formCreated = true;\n return this.fb.group({\n Id:[this.accountModel.Id],\n AccounExpensesTypeId:[this.accountModel.AccounExpensesTypeId],\n AccountFicationId:[this.accountModel.AccountFicationId],\n AccountFicationType:[this.accountModel.AccountFicationType],\n AccountMenuId:[this.accountModel.AccountMenuId],\n AccountNature:[this.accountModel.AccountNature],\n AccountNumber:[this.accountModel.AccountNumber],\n AccountType:[this.accountModel.AccountType],\n CompanyDataId:[this.accountModel.CompanyDataId],\n IsNotMenu:[this.accountModel.IsNotMenu],\n Levelcode:[this.accountModel.Levelcode],\n NameAr:[this.accountModel.NameAr],\n NameEn:[this.accountModel.NameEn],\n Parentcode:[this.accountModel.Parentcode],\n ParentName:[this.accountModel.ParentName],\n Debit:[this.accountModel.Debit],\n Credit:[this.accountModel.Credit],\n IsCurrencyEvaluation:[this.accountModel.IsCurrencyEvaluation],\n ItIsLinkedToAcostCenter:[this.accountModel.ItIsLinkedToAcostCenter],\n })\n }\n nodeList: AccountNameNode [] = [];\n openProjects = false;\n \n getDataNodes(){\n this.nodeCount = 0;\n this.nodeList = [];\n var level = 0;\n this.centers.forEach(element => {\n debugger;\n while(level < 6){\n if(element.Parentcode == 0){\n this.nodeList.push({\n Id : element.Id,\n Level : element.Levelcode,\n AccountNumber:element.AccountNumber,\n Name : this.lang =='ar-EG' ? element.NameAr : element.NameEn,\n Parentcode : element.Parentcode,\n Children : []\n });\n }\n else{\n this.nodeList.forEach(child => {\n if(child.AccountNumber == element.Parentcode){\n child.Children?.push({\n Id : element.Id,\n Level : element.Levelcode,\n AccountNumber:element.AccountNumber,\n Name : this.lang =='ar-EG' ? element.NameAr : element.NameEn,\n Parentcode : element.Parentcode,\n Children : []\n })\n }\n else{\n while(child.Children&&child.Children.length > 0){\n if(child.AccountNumber == element.Parentcode){\n child.Children.push({\n Id : element.Id,\n Level : element.Levelcode,\n AccountNumber:element.AccountNumber,\n Name : this.lang =='ar-EG' ? element.NameAr : element.NameEn,\n Parentcode : element.Parentcode,\n Children : []\n })\n break;\n }\n break;\n \n }\n }\n \n },\n );\n }\n this.nodeCount++;\n if(element.Levelcode > level){\n level = element.Levelcode;\n }\n }\n \n });\n \n console.log(this.nodeList);\n \n this.drawTreeFromTop(this.nodeList);\n \n this.dataSource.data = [];\n this.dataSource.data = this.nodeList;\n \n \n \n }\n groupedByData=[];\n getDataNodes2(){\n for (let index = 1; index <= Object.keys(this.groupedByData).length; index++) {\n debugger;\n const element = this.groupedByData[index];\n if(index == 1){\n element.forEach(value => {\n this.nodeList.push({\n Id : value.Id,\n Level : value.Levelcode,\n AccountNumber:value.AccountNumber,\n Name : this.lang =='ar-EG' ? value.NameAr : value.NameEn,\n Parentcode : value.Parentcode,\n Children : []\n });\n });\n }\n } \n this.drawTreeFromTop(this.nodeList);\n \n this.dataSource.data = [];\n this.dataSource.data = this.nodeList;\n \n }\n //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n ///////////////////////////////////////////////////////////\n // TREE CODE //\n ///////////////////////////////////////////////////////////\n nodeCount = 0;\n count = 0;\n\n drawTreeFromTop(currentlevelList: AccountNameNode []){\n debugger;\n console.log(\"data count: \", this.centers.length);\n console.log(\"node count: \", this.nodeCount);\n console.log(\"current nodes: \", this.nodeList);\n \n if(this.nodeCount >= this.centers.length){\n console.log(\"we did it, men. we found the deepest nodes.\");\n return currentlevelList;\n }\n else{\n console.log(\"we're not yet done... descending one level deeper into this madness\");\n if(this.levelLimit > this.count){\n let nextLevelList: AccountNameNode[] = [];\n if(currentlevelList.length > 0){\n currentlevelList.forEach(node => {\n this.centers.filter(x=>x.Parentcode == node.AccountNumber).forEach(childNode => {\n let tempNode: AccountNameNode = {};\n tempNode.Id = childNode.Id;\n tempNode.AccountNumber = childNode.AccountNumber;\n tempNode.Children = [];\n tempNode.Level = node.Level + 1;\n tempNode.Name = this.lang =='ar-EG' ? childNode.NameAr : childNode.NameEn,\n tempNode.Parentcode = childNode.Parentcode,\n tempNode.Type = childNode.AccountType,\n node.Children.push(tempNode)\n this.nodeCount++;\n nextLevelList.push(tempNode);\n });\n });\n }\n this.count ++;\n return this.drawTreeFromTop(nextLevelList);\n }\n else\n {\n return;\n }\n \n }\n }\n levelLimit = 6;\n treeControl = new NestedTreeControl(node => node.Children);\n dataSource = new MatTreeNestedDataSource();\n //limiting depth level to 4 + base (total of 5 nested nodes)\n hasChild = (_: number, node: AccountNameNode) => !!node.Children && node.Children.length > 0 && node.Level+1x.Id===id);\n }\n AddNewCostCenter(){\n this.accountModel.Id = 0;\n this.accountModel.Levelcode = 1;\n this.accountModel.Parentcode = 0;\n this.accountModel.AccounExpensesTypeId = 0;\n this.accountModel.AccountFicationId = 0;\n this.accountModel.AccountFicationType = 0;\n this.accountModel.AccountMenuId = 0;\n this.accountModel.NameAr = '';\n this.accountModel.NameEn = '';\n this.accountModel.Parentcode = 0;\n this.accountModel.AccountNumber = this.LastAccountNumber + 1;\n this.Form = this.createForm();\n }\n openIsCurrencyEvaluation=false;\n openItIsLinkedToAcostCenter=false;\n addChildCostCenter(Id){\n debugger;\n var i = this.centers.findIndex(x=>x.Id == Id);\n this.accountModel.Id = 0;\n \n if(i > -1){\n this.accountModel.Levelcode = this.centers[i].Levelcode +1;\n this.accountModel.AccountNature = this.centers[i].AccountNature;\n this.accountModel.Parentcode = this.centers[i].AccountNumber;\n this.lang =='ar-EG' ? this.accountModel.ParentName = this.centers[i].NameAr : this.accountModel.ParentName = this.centers[i].NameEn;\n this.accountModel.AccountNumber = this.LastAccountNumber + 1;\n var level = this.centers[i].Levelcode;\n //for bahaa\n // for (let index = level; index > 1; index--) {\n // if(index == level )\n // {\n // var largParentIndex = i;\n // var largParent = this.centers[largParentIndex];\n // }\n // if(largParent.AccountNumber == 24 || largParent.AccountNumber==25 || largParent.AccountNumber==37|| largParent.AccountNumber==38){\n // this.openItIsLinkedToAcostCenter = true;\n // break;\n // }\n // else{\n // this.openItIsLinkedToAcostCenter = false;\n // }\n // if(largParent.AccountNumber == 6 || largParent.AccountNumber==15){\n // this.openIsCurrencyEvaluation = true;\n // break;\n // }\n // else{\n // this.openIsCurrencyEvaluation = false;\n // }\n // largParentIndex = this.centers.findIndex(x=>x.AccountNumber == this.centers[largParentIndex].Parentcode);\n // var largParent = this.centers[largParentIndex];\n // }\n this.Form = this.createForm();\n }\n else{\n this.accountModel.AccountNumber = this.LastAccountNumber + 1;\n\n this.accountModel.Levelcode = 1;\n this.accountModel.Parentcode = 0;\n this.Form = this.createForm();\n }\n }\n EditNode(Id){\n debugger;\n this.AccountId = Id;\n var i = this.centers.findIndex(x=>x.Id == Id);\n if(i > -1){\n this.accountModel = this.centers[i];\n \n this.Form = this.createForm();\n }\n }\n lodingNature=false;\n lodingMenu=false;\n lodingaccountsType=false;\n lodingaccountFications=false;\n lodingaccountFicationCostType=false;\n lodingaccountExpensesTypes=false;\n getData(){\n \n this.accountMenuService.getAll()\n .subscribe(data => {\n this.accountMenus = [...data]\n this.lodingMenu = true;\n })\n \n this.accountFicationService.getAll()\n .subscribe(data => {\n this.accountFications = [...data]\n this.lodingaccountFications = true;\n })\n \n this.accountExpensesTypeService.getAll()\n .subscribe(data => {\n this.accountExpensesTypes = [...data]\n this.lodingaccountExpensesTypes = true;\n })\n }\n\n Save() {\n this.accountModel = this.Form.getRawValue();\n this.accountService.insert(this.accountModel).subscribe(\n result => {\n if (result > 0 ) {\n // this.Form = this.createForm();\n this.accountModel.Id = result;\n this.centers.push(this.accountModel);\n this.ngOnInit();\n this.accountModel = new AccountNameModel();\n this.formCreated = false;\n this.LastAccountNumber++;\n this.onSuccess();\n } else {\n this.onError();\n }\n }\n )\n \n }\n \n Update() {\n debugger\n this.accountModel = this.Form.getRawValue();\n this.accountService.update(this.accountModel).subscribe(\n result => {\n if (result) {\n this.accountModel = new AccountNameModel();\n this.formCreated = false;\n\n this.onSuccess();\n } else {\n this.onError();\n }\n }\n )\n }\n Delete(){\n this.accountService.delete(this.accountModel)\n .subscribe(data => {\n var i = this.centers.findIndex(x=>x.Id == this.accountModel.Id);\n if(i > -1){\n this.centers.splice(i,1);\n this.ngOnInit();\n\n this.accountModel = new AccountNameModel();\n this.formCreated = false;\n }\n })\n }\n SaveCenters(){\n if(this.AssignCostCentersComponent.saveCostCenters() == true){\n this.AccountId = 0;\n this.SetCostCenters = false;\n }\n // this.AssignCostCentersComponent.saveCostCenters();\n }\n onSuccess(): void {\n debugger;\n this.notifications.create(this.translate.instant('Success'),\n this.translate.instant('Action Success'),\n NotificationType.Success, { timeOut: 300, showProgressBar: true });\n }\n \n onWarning(): void {\n\n this.notifications.create(this.translate.instant('Wait'),\n this.translate.instant('Action processing '),\n NotificationType.Warn, { timeOut: 3000, showProgressBar: true });\n }\n\n onError(): void {\n this.notifications.create(this.translate.instant('Error'),\n this.translate.instant('Something wrong'),\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n viewData = []\n\ngroupByKey(data, key) {\n debugger;\n return data.reduce(function (rv, x) {\n (rv[x[key]] = rv[x[key]] || []).push(x);\n return rv;\n }, {});\n};\n }\n ","\n
    \n {{\"Back\" |\n translate}}\n \n \n \n \n \n \n
    \n
    \n \n
    \n
    \n
    \n

    {{\"Accounts\" | translate}}

    \n
    \n \n \n \n
    \n
    \n \n \n \n \n \n
  • \n \n {{node.Name}}\n \n \n \n
  • \n
    \n \n \n
  • \n
    \n \n \n {{node.Name}}\n \n \n \n
    \n
      \n \n
    \n
  • \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n \n \n \n \n \n \n
    \n
    \n
    \n \n \n
    \n \n
    \n \n \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n\n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n\n
    \n\n
    \n
    \n \n \n
    \n
    \n \n \n
    \n\n
    \n
    \n \n \n
    \n
    \n \n \n
    \n\n\n \n \n
    \n 0\" [AccountId]=\"AccountId\">\n
    \n\n
    ","import { Component } from '@angular/core';\n\n@Component({\n // moduleId: module.id,\n selector: 'acounting-base-data',\n templateUrl: 'acounting-base-data.component.html',\n styleUrls: ['acounting-base-data.component.scss']\n \n})\nexport class AcountingBaseDataComponent {\n\n}\n","\n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n \n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    ","import { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { BasicModel } from \"./helper/model\";\nimport { CheckTypeService } from './helper/serves';\n\n\n\nimport { TableEngine } from 'src/app/views/app/aio/shared/TableEngine'\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from '../../shared/side-popup/side-popup.component';\n\n@Component({\n // moduleId: module.id,\n selector: 'add-payment-mode',\n templateUrl: 'add-payment-mode.component.html',\n styleUrls: ['add-payment-mode.component.scss']\n})\nexport class AddPaymentModeComponent{\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n\n constructor(private formBuilder: FormBuilder, public modelService: CheckTypeService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService\n\n ) {\n }\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n\n translationName: string = 'Add Payment Mode'\n\n sortableKeys = [];\n searchableKeys = ['NameEn', 'NameAr'];\n\n modelObject: BasicModel = new BasicModel();\n\n ogData: BasicModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n NameEn: new FormControl(),\n NameAr: new FormControl(),\n CodeTaxTabel :new FormControl(),\n });\n\n\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective;\n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' };\n this.sortableKeys = [\n { label: 'Name', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' },\n ];\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n this.loadServices();\n }\n\n showModal(Id, action) {\n if (action === 'Add') {\n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n }\n else if (action === 'Edit') {\n\n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder)\n console.log(\"this model object:\" + this.modelObject);\n console.log(this.modelObject);\n console.log(\"table engine model object:\" + this.tableEngine.modelObject);\n console.log(this.tableEngine.modelObject);\n\n }\n else if (action === 'Info') {\n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder)\n }\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n }\n\n createForm(modelObject, formBuilder): FormGroup {\n //console.log(\"from craeteform\");\n\n //console.log(\"modelObject\",modelObject.NameEn);\n\n return formBuilder.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n NameEn: [modelObject.NameEn, Validators.compose([Validators.required, Validators.minLength(2)])],\n NameAr: [modelObject.NameAr, Validators.compose([Validators.required, Validators.pattern(/^[\\u0621-\\u064A]+([\\s]*[\\u0621-\\u064A]+)*$/)])],\n CodeTaxTabel: [modelObject.CodeTaxTabel, Validators.compose([Validators.required])],\n });\n }\n\n addObject() {\n this.currentAction = 'loading';\n\n this.modelObject = new BasicModel();\n this.modelObject.Id = 0;\n this.modelObject.NameEn = this.mainForm.getRawValue().NameEn;\n this.modelObject.NameAr = this.mainForm.getRawValue().NameAr;\n this.modelObject.CodeTaxTabel = this.mainForm.getRawValue().CodeTaxTabel;\n\n this.executeAddObject();\n }\n\n executeAddObject() {\n console.log(this.modelObject);\n\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n\n editObject() {\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n\n let tempObj = new BasicModel({\n Id: this.modelObject.Id,\n NameEn: this.mainForm.getRawValue().NameEn,\n NameAr: this.mainForm.getRawValue().NameAr,\n CodeTaxTabel : this.mainForm.getRawValue().CodeTaxTabel\n });\n\n if (JSON.stringify(tempObj) != JSON.stringify(this.modelObject)) {\n this.executeEditObject(tempObj);\n }\n else {if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n }\n\n executeEditObject(Object) {\n console.log(\"ObjectObject\", Object);\n\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n\n\n prepChangeSort(sortKey) {\n this.tableEngine.itemOrder = this.itemOrder;\n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey))\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n loadServices() {\n this.currentAction = 'loading';\n this.tableEngine.loadData();\n }\n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepSort(sortKey) {\n this.tableEngine.changeSort(this.tableEngine.getSort('Name'));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n}\n","\n\n\n\n\n\n
    \n
    \n
    \n
    \n
    \n

    \n {{tableEngine.currentFormMode+translationName | translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"Required\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"NameArRequired\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n {{\"NameEnRequired\" | translate}}
    \n \n
    \n \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n tableEngine.deletionList.length === tableEngine.ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Name\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{lang==='ar-EG'?obj.NameAr:obj.NameEn}}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","\r\nexport class BasicModel{\r\n Id?: number;\r\n NameAr?: string;\r\n NameEn?: string;\r\n CodeTaxTabel?: string;\r\n IsPosted?: boolean;\r\n \r\n constructor(item?: BasicModel) {\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.NameAr = item.NameAr ? item.NameAr : '';\r\n this.NameEn = item.NameEn ? item.NameEn : '';\r\n this.CodeTaxTabel = item.CodeTaxTabel ? item.CodeTaxTabel : '';\r\n this.IsPosted = item.IsPosted ? item.IsPosted : false;\r\n }\r\n }","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { BasicModel } from \"./model\";\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CheckTypeService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}PaymentType/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}PaymentType/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: BasicModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}PaymentType/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: BasicModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}PaymentType/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: BasicModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}PaymentType/Delete`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n \r\n deleteList(payload: BasicModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}PaymentType/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { Router } from '@angular/router';\nimport { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from '../../shared/side-popup/side-popup.component';\nimport { TableEngine } from '../../shared/TableEngine';\nimport { DailyrestrictionsModel } from '../dailyrestrictions/DailyrestrictionsModel';\nimport { DailyrestrictionsService } from '../dailyrestrictions/DailyrestrictionsService';\nimport { FiscalYearService } from '../fiscal-years/fiscal-year.service';\n@Component({\n selector: 'all-dailyrestrictions',\n templateUrl: 'all-dailyrestrictions.component.html',\n styleUrls: ['all-dailyrestrictions.component.scss']\n})\nexport class AllDailyrestrictionsComponent {\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n dailyRestrictions: DailyrestrictionsModel[] = [];\n \n constructor(\n private FiscalYearService:FiscalYearService,\n private dailyRestrictionsService: DailyrestrictionsService,private formBuilder: FormBuilder, public modelService: DailyrestrictionsService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,public router : Router\n \n ) {\n }\n SearchFrom: Date = null;\n SearchTo: Date = null;\n \n clearSearch() {\n this.SearchFrom = null;\n this.SearchTo = null;\n }\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n \n translationName: string = ' Daily Restrictions'\n \n sortableKeys = [];\n searchableKeys = ['Id', 'Code'];\n \n modelObject: DailyrestrictionsModel = new DailyrestrictionsModel();\n \n ogData: DailyrestrictionsModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n NameEn: new FormControl(),\n NameAr: new FormControl(),\n BankAddress: new FormControl(),\n BankAccountIBAN: new FormControl(),\n SwiftCode: new FormControl(),\n Terms: new FormControl(),\n AccountNameId: new FormControl(),\n \n \n });\n \n \n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n \n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent ;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective= null;\n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Id', property: 'Id'};\n this.sortableKeys = [\n { label: 'Id', property: 'Id' },\n ];\n \n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n this.loadServices();\n }\n \n showModal(Id, action) {\n if (action === 'Add') {\n this.router.navigate(['app/accounts/Dailyrestrictions',0])\n }\n else if (action === 'Edit') {\n \n this.router.navigate(['app/accounts/Dailyrestrictions',Id])\n\n \n }\n else if (action === 'Info') {\n this.router.navigate(['app/accounts/view-daily-restriction',Id])\n }\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n }\n \n createForm(modelObject, formBuilder): FormGroup {\n //console.log(\"from craeteform\");\n \n //console.log(\"modelObject\",modelObject.NameEn);\n \n return formBuilder.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n \n Terms: [modelObject.Terms, Validators.compose([Validators.required, Validators.minLength(2)])],\n SwiftCode: [modelObject.SwiftCode, Validators.compose([Validators.required, Validators.minLength(2)])],\n BankAccountIBAN: [modelObject.BankAccountIBAN, Validators.compose([Validators.required, Validators.minLength(2)])],\n BankAddress: [modelObject.BankAddress, Validators.compose([Validators.required, Validators.minLength(2)])],\n NameEn: [modelObject.NameEn, Validators.compose([Validators.required, Validators.minLength(2)])],\n NameAr: [modelObject.NameAr, Validators.compose([Validators.required, Validators.pattern(/^[\\u0621-\\u064A]+([\\s]*[\\u0621-\\u064A]+)*$/)])],\n AccountNameId: [modelObject.AccountNameId, Validators.compose([Validators.required,])],\n });\n }\n \n addObject() {\n this.currentAction = 'loading';\n \n this.modelObject = new DailyrestrictionsModel();\n\n this.modelObject.AccountNameId = this.mainForm.getRawValue().AccountNameId;\n \n }\n \n \n \n \n \n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"Delete Done Successfully\"));\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n \n \n prepChangeSort(sortKey) {\n this.tableEngine.itemOrder = this.itemOrder;\n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey))\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n loadServices() {\n this.currentAction = 'loading';\n this.modelService.getAll().subscribe(\n data=>{\n this.dailyRestrictions=data;\n this.tableEngine.loadDataAndReverse();\n \n }\n );\n }\n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepSort(sortKey) {\n this.tableEngine.changeSort(this.tableEngine.getSort('Name'));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n debugger;\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n onInfo(toastHeader: string, toastBody: string): void {\n debugger;\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Info, { timeOut: 3000, showProgressBar: true });\n }\n }\n ","\n\n\n\n\n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n tableEngine.deletionList.length === tableEngine.ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n\n
    \n
    \n
    \n
    \n \n \n \n\n \n \n\n\n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n \n \n \n {{\"Code\" | translate}}\n \n\n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • \n {{item}}\n
  • \n
    \n
    \n
    \n\n
    \n
    \n \n \n
    \n
    \n
    #{{obj.Code}}
    \n
    {{obj.Date|date:'dd/MM/yyyy'}}
    \n
    \n
    \n \n
    \n \n \n \n
    \n \n
    \n
    \n \n \n \n
    \n\n
    \n
    \n \n
    \n\n \n \n \n \n
    \n
    \n
    \n\n\n
    \n
    \n\n
    \n
    \n
    \n\n
    \n\n
     
    \n\n\n
     
    \n\n
    \n
    \n\n\n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { environment } from './../../../../../../environments/environment';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { AssetsModel } from './models/assets.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AssetsService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Assets/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Assets/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: AssetsModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}Assets/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: AssetsModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}Assets/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n DepreciationOfAssets(payload: any): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}Assets/DepreciationOfAssets`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n delete(payload: AssetsModel): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}Assets/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: AssetsModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}Assets/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { EmployeesManagementModel } from 'src/app/HR/Employees/EmployeesManagement/EmployeesManagementModel';\nimport { TaxTypesService } from 'src/app/invoices/tax-types/TaxTypesService';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from 'src/app/views/app/aio/shared/side-popup/side-popup.component';\nimport { TableEngine } from 'src/app/invoices/TableEngine';\nimport { ListPageHeaderComponent } from 'src/app/containers/pages/list-page-header/list-page-header.component';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationsService } from 'angular2-notifications';\nimport { AssetsService } from './../../assets.service';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Component, Renderer2, ViewChild } from '@angular/core';\nimport { DatePipe } from '@angular/common';\nimport { AssetsModel } from '../../models/assets.model';\nimport { AccountNameModel } from '../../../account-name/AccountNameModel';\nimport { AccountsNameService } from '../../../account-name/AccountNameService';\nimport { CurrencyService } from 'src/app/invoices/currencies/CurrencyService';\nimport { CurrencyModel } from 'src/app/invoices/currencies/CurrencyModel';\nimport { TaxTypesModel } from 'src/app/invoices/tax-types/TaxTypesModel';\nimport { EmployeesManagementService } from 'src/app/HR/Employees/EmployeesManagement/employees-management.service';\nimport { AssetsFileModel } from '../../models/assets-files.model';\nimport { CostCenterService } from '../../../cost-center/services/cost-center.service';\nimport { CostCenterModel } from '../../../cost-center/models/cost-center.model';\nimport { JournalFooterCostCenterModel } from '../../../dailyrestrictions/journal-footer-cost-center.model';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'all-assets',\n templateUrl: 'all-assets.component.html',\n styleUrls: ['all-assets.component.scss']\n})\nexport class AllAssetsComponent {\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n \n //Enable debugMode to make API modules return static data from within the service class\n debugMode: boolean = false;\n employees:EmployeesManagementModel[]=[];\n centers:CostCenterModel[]=[];\n constructor(private formBuilder: FormBuilder, private modelService: AssetsService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private datePipe: DatePipe,\n private accountService:AccountsNameService,\n private currencyService:CurrencyService,\n private TaxTypesService:TaxTypesService,\n private employeeService:EmployeesManagementService,\n private costCenterService:CostCenterService,\n private router:Router\n ) {\n }\n currencies:CurrencyModel[]=[];\n taxes:TaxTypesModel[]=[];\n listHeader = new ListPageHeaderComponent();\n \n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n tableView: any = true;\n \n translationName: string = 'Assets'\n \n sortableKeys = [];\n searchableKeys = ['Id'];\n \n modelObject: AssetsModel = new AssetsModel();\n \n ogData: AssetsModel[] = [];\n mainAccounts:AccountNameModel[]=[];\n subAccounts:AccountNameModel[]=[];\n mainForm: FormGroup = new FormGroup({\n Id : new FormControl(),\n Name : new FormControl(),\n PurchaseDate : new FormControl(),\n ServiceStartDate : new FormControl(),\n MainAccountId : new FormControl(0),\n PlaceId : new FormControl(0),\n ProductiveAge : new FormControl(),\n EmployeeId : new FormControl(),\n Description : new FormControl(),\n PurchaseAmount : new FormControl(),\n CurrencyId : new FormControl(),\n CashAccountId : new FormControl(),\n Tax1Id : new FormControl(),\n Tax2Id : new FormControl(),\n ScrapValue : new FormControl(),\n ScrapType : new FormControl(),\n PeriodValue : new FormControl(),\n PeriodType : new FormControl(),\n FixedDepreciationValue : new FormControl(),\n PeriodDepreciation : new FormControl(),\n PricePerUnit : new FormControl(),\n TheNameOfTheLargestUnit : new FormControl(),\n TotalParentUnits : new FormControl(),\n\n });\n \n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n selectedCostCenters:JournalFooterCostCenterModel[]=[]\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective=null;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective =null;\n formPresentationModal: any;\n ngOnInit(): void {\n this.costCenterService.getAll(0)\n .subscribe(result=>{\n this.centers = result\n console.log('this.centers',this.centers)\n })\n this.employeeService.getAll()\n .subscribe(data=>{\n this.employees = data;\n })\n this.accountService.GetAllFixedAssets(0)\n .subscribe(data => {\n this.mainAccounts = data;\n })\n this.accountService.GetAllSubAccountes(0)\n .subscribe(data => {\n this.subAccounts = data;\n })\n this.currencyService.getAll()\n .subscribe(data => {\n this.currencies = data;\n })\n this.TaxTypesService.getAll()\n .subscribe(taxes =>{\n this.taxes = taxes\n })\n if (this.debugMode) {\n this.enableDebugOnAllServices();\n }\n \n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: 'Name' };\n this.sortableKeys = [\n { label: 'Name', property: 'Name' },\n { label: 'PurchaseDate', property: 'PurchaseDate' },\n { label: 'ServiceStartDate', property: 'ServiceStartDate' },\n \n ];\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n \n this.loadServices();\n }\n \n \n enableDebugOnAllServices() {\n //this.modelService.debugMode = true;\n // this.itemService.debugMode = true;\n //this.codingUnitService.debugMode = true;\n //this.storeDataService.debugMode = true;\n //this.supplierService.debugMode = true;\n }\n \n lastCode = 0;\n showModal(Id, action) {\n debugger;\n this.mainForm = this.createForm(this.modelObject, this.formBuilder);\n \n if (action === 'Add') {\n this.newAssetsItemInternalId = 0;\n this.checkCode();\n this.files = [];\n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n }\n else if (action === 'Edit') {\n //this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder)\n this.modelService.getById(Id).subscribe(\n detailedObject => {\n console.log(\"detailed object\", detailedObject);\n \n let targetIndex = this.tableEngine.ogData.findIndex(i => i.Id === Id);\n this.tableEngine.ogData[targetIndex] = detailedObject;\n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder)\n \n this.lastCode = this.tableEngine.modelObject.Code\n \n this.modelObject = this.tableEngine.modelObject;\n this.files = this.modelObject.Files;\n this.mainForm = this.tableEngine.mainForm;\n this.tableView = false;\n \n \n }\n )\n }\n else if (action === 'Info') {\n this.router.navigate(['app/accounts/view-asset',Id])\n // console.log(\"entered info\");\n // this.modelService.getById(Id).subscribe(\n // detailedObject => {\n // console.log(\"detailed object\", detailedObject);\n \n // let targetIndex = this.tableEngine.ogData.findIndex(i => i.Id === Id);\n // this.tableEngine.ogData[targetIndex] = detailedObject;\n // this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder)\n \n // this.lastCode = this.tableEngine.modelObject.Code\n \n // this.modelObject = this.tableEngine.modelObject;\n // this.files = this.modelObject.Files;\n\n // this.mainForm = this.tableEngine.mainForm;\n // this.tableView = false;\n \n \n // } \n // )\n }\n this.tableView = false;\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n console.log((action + \" object\"), this.modelObject);\n \n \n console.log(\"modelObject after entering edit\", this.modelObject);\n }\n currentDate='';\n createForm(modelObject, formBuilder): FormGroup {\n \n return formBuilder.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n Name : [modelObject.Name ],\n PurchaseDate : [modelObject.PurchaseDate ],\n ServiceStartDate : [modelObject.ServiceStartDate ],\n MainAccountId : [modelObject.MainAccountId ],\n PlaceId : [modelObject.PlaceId ],\n ProductiveAge : [modelObject.ProductiveAge ],\n EmployeeId : [modelObject.EmployeeId ],\n Description : [modelObject.Description ],\n PurchaseAmount : [modelObject.PurchaseAmount ],\n CurrencyId : [modelObject.CurrencyId ],\n CashAccountId : [modelObject.CashAccountId ],\n Tax1Id : [modelObject.Tax1Id ],\n Tax2Id : [modelObject.Tax2Id ],\n ScrapValue : [modelObject.ScrapValue ],\n ScrapType : [modelObject.ScrapType ],\n PeriodValue : [modelObject.PeriodValue ],\n PeriodType : [modelObject.PeriodType ],\n FixedDepreciationValue : [modelObject.FixedDepreciationValue ],\n PeriodDepreciation : [modelObject.PeriodDepreciation ],\n PricePerUnit : [modelObject.PricePerUnit ],\n TheNameOfTheLargestUnit : [modelObject.TheNameOfTheLargestUnit ],\n TotalParentUnits : [modelObject.TotalParentUnits ],\n TheEndDateOfDepreciation:[modelObject.TheEndDateOfDepreciation]\n });\n }\n \n addObject() {\n this.currentAction = 'loading';\n let lastId = this.tableEngine.ogData.length>0?this.tableEngine.ogData[this.tableEngine.ogData.length - 1].Id:0;\n this.modelObject = new AssetsModel();\n //this.modelObject.Id = this.debugMode ? lastId + 1 : 0;\n this.modelObject.Id = 0;\n // let date = new Date(this.mainForm.getRawValue().Date);\n this.modelObject = this.mainForm.getRawValue();\n this.modelObject.Files = this.files;\n this.modelObject.CostCenters = this.selectedCostCenters;\n console.log(this.modelObject);\n this.executeAddObject();\n }\n \n executeAddObject() {\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true || result > 0) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n if (this.sideModalRef === undefined) {\n if (this.smallModal != undefined) {\n this.tableEngine.smallModal.hide();\n }\n else {\n this.tableView = this.prevAction === 'AddThenNew' ? false : true;\n \n this.prevAction = '';\n }\n }\n else {\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n \n if(this.prevAction != 'AddThenNew'){\n this.goBack();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n \n editObject() {\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n //this.calculateTotalItemValue();\n //let newString = new DatePipe('en-US').transform(this.mainForm.getRawValue().Date, 'dd/MM/yyyy');\n //console.log(\"newstring\", newString);\n \n //let date: Date = this.getFormattedDate(new DatePipe('en-US').transform(this.mainForm.getRawValue().Date, 'dd/MM/yyyy'));\n let tempObj = new AssetsModel();\n tempObj = this.mainForm.getRawValue();\n tempObj.Id = this.modelObject.Id;\n tempObj.Files = this.files;\n tempObj.CostCenters = this.selectedCostCenters;\n\n this.executeEditObject(tempObj);\n console.log(\"saved object\", tempObj);\n }\n \n executeEditObject(Object) {\n \n \n this.modelService.update(Object).subscribe(result => {\n if (result === true || result > 0) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n \n if (this.sideModalRef === undefined) {\n if (this.smallModal != undefined) {\n this.tableEngine.smallModal.hide();\n }\n else {\n this.tableView = true;\n }\n }\n else {\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n \n this.goBack();\n \n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n \n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true || result > 0) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n \n \n //lastCode = 0;\n codeWasChecked = false;\n checkCode() : boolean{\n if(!(this.lastCode > 0)){\n this.codeWasChecked = false;\n console.log(\"bad code\", this.lastCode);\n \n return this.codeWasChecked;\n }\n return this.codeWasChecked;\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n SearchFrom: Date = null ;\n SearchTo: Date= null;\n \n clearSearch() {\n this.SearchFrom= null ;\n this.SearchTo = null;\n }\n \n prevAction = '';\n addAndNew() {\n this.prevAction = 'AddThenNew';\n this.addObject();\n this.showModal(null, 'Add');\n }\n \n \n loadServices() {\n this.currentAction = 'loading';\n this.tableEngine.loadData();\n\n \n \n }\n \n AssetsItemForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n ItemId: new FormControl(),\n //UnitId: new FormControl(),\n Quantity: new FormControl(),\n UnitCost: new FormControl(),\n TotalPrice: new FormControl(),\n });\n createAssetsItemForm(AssetsItemObject, formBuilder): FormGroup {\n return formBuilder.group({\n\n });\n }\n newAssetsItemInternalId = 0;\n \n currentTotal = 0;\n \n goBack(){\n console.log(\"back\");\n \n this.modelObject = {};\n this.currentTotal = 0;\n this.currentAction = \"\";\n this.tableView = true;\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepChangeSort(sortKey) {\n this.SearchFrom ;\n this.SearchTo ;\n \n \n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n \n getFormattedDate(dateString: any){\n let splitDate: number[] = dateString.toString().split(\"/\");\n \n return new Date(splitDate[2], splitDate[1]-1, splitDate[0])\n }\n ///////////////////////////////////////////////////////\n \n displayMode = 'list';\n changeDisplayMode(mode): void {\n this.displayMode = mode;\n }\n itemsPerPageChange(perPage: number): void {\n this.tableEngine.paginateData(perPage, 1)\n }\n selectedCurrency = '';\n changeCurrency(){\n var i = this.currencies.findIndex(x=>x.Id == this.mainForm.controls['CurrencyId'].value);\n if(i>-1){\n this.selectedCurrency = this.currencies[i].Code\n }\n }\n getMainAccountName(accountId){\n return this.mainAccounts.findIndex(x=>x.Id == accountId)>-1?(this.lang=='ar-EG'? this.mainAccounts.find(x=>x.Id == accountId).NameAr:this.mainAccounts.find(x=>x.Id == accountId).NameEn):\"\"\n }\n getSubAccountName(accountId){\n return this.subAccounts.findIndex(x=>x.Id == accountId)>-1?(this.lang=='ar-EG'? this.subAccounts.find(x=>x.Id == accountId).NameAr:this.subAccounts.find(x=>x.Id == accountId).NameEn):\"\"\n }\n getTax(TaxId){\n return this.taxes.findIndex(x=>x.Id == TaxId)>-1?(this.lang=='ar-EG'? this.taxes.find(x=>x.Id == TaxId).NameAr:this.taxes.find(x=>x.Id == TaxId).NameEn):\"\"\n }\n getCurrency(CurrencyId){\n return this.currencies.findIndex(x=>x.Id == CurrencyId)>-1?(this.lang=='ar-EG'? this.currencies.find(x=>x.Id == CurrencyId).NameAr:this.currencies.find(x=>x.Id == CurrencyId).NameEn):\"\"\n }\n getEmployee(EmployeeId){\n return this.employees.find(x=>x.Id == EmployeeId).Name;\n }\n getPlace(PlaceId){\n return \"\" //this.lang=='ar-EG'? this..find(x=>x.Id == PlaceId).NameAr:this.mainAccounts.find(x=>x.Id == accountId).NameEn\n }\n\n public editEnabled = true;\n public fileUrl: string ='';\n files:AssetsFileModel[]=[];\n setFileToList(){\n var file = new AssetsFileModel();\n file.AssetId = this.modelObject.Id ;\n file.FileUrl = this.fileUrl;\n file.Id = 0;\n this.files.push(file);\n }\n deleteFile(file){\n var i = this.files.indexOf(file);\n if(i>-1){\n this.files.splice(i,1);\n }\n }\n costCenterId=0;\n selectCenter(){\n var i = this.centers.findIndex(x=>x.Id == this.costCenterId);\n if(i>-1){\n var selected = new JournalFooterCostCenterModel();\n selected.CostCenterId = this.centers[i].Id;\n selected.Amount = 0;\n selected.Id = 0;\n selected.JournalFooterId = 0;\n selected.Percent = 0;\n this.selectedCostCenters.push(selected);\n this.costCenterId = 0;\n }\n }\n getCostName(id){\n return this.centers.find(x=>x.Id == id).NameAr\n }\n\n changePercent(cost,$event){\n debugger;\n cost.Percent = + $event.target.value;\n if(cost.Percent > 100){\n cost.Percent = 100\n }\n var amount = this.mainForm.controls['PurchaseAmount'].value;\n var totalPercent = 0;\n var i = this.selectedCostCenters.indexOf(cost);\n if(i>-1){\n this.selectedCostCenters[i].Percent = cost.Percent;\n this.selectedCostCenters[i].Amount = (amount * cost.Percent) / 100;\n }\n \n }\n changeAmount(cost,$event){\n debugger;\n cost.Amount = + $event.target.value;\n var amount = this.mainForm.controls['PurchaseAmount'].value;\n if(cost.Amount > amount){\n cost.Amount = amount\n }\n var i = this.selectedCostCenters.indexOf(cost);\n if(i>-1){\n this.selectedCostCenters[i].Amount = cost.Amount;\n this.selectedCostCenters[i].Percent = (cost.Amount * 100) / amount;\n }\n\n }\n deleteCostCenter(cost){\n var i = this.selectedCostCenters.indexOf(cost);\n if(i > -1){\n this.selectedCostCenters.splice(i,1);\n }\n \n }\n }\n ","\n\n\n
    \n
    \n
    \n\n
    \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n \n \n \n
    \n\n
    \n
    \n \n 0?'date':'text'\" onfocus=\"(this.type='date')\"\n onblur=\"if(!this.value)this.type='text'\" onchange=\"if(!this.value)this.type='text'\"\n name=\"PurchaseDate\" class=\"form-control\" formControlName=\"PurchaseDate\"\n placeholder='{{\"Purchase Date\" | translate}}'>\n \n \n \n
    \n
    \n
    \n \n 0?'date':'text'\" onfocus=\"(this.type='date')\"\n onblur=\"if(!this.value)this.type='text'\" onchange=\"if(!this.value)this.type='text'\"\n name=\"PurchaseDate\" class=\"form-control\" formControlName=\"ServiceStartDate\"\n placeholder='{{\"Service Start Date\" | translate}}'>\n \n \n \n
    \n \n\n
    \n\n \n\n\n\n
    \n\n
    \n\n
    \n
    \n \n
    \n \n {{\"Select Account\" | translate}}\n {{lang==='ar-EG'?item.NameAr:item.NameEn}}\n \n
    \n \n \n \n
    \n
    \n \n
    \n \n {{\"Select Place\" | translate}}\n \n \n
    \n \n \n \n
    \n
    \n \n
    \n \n {{\"Select Employee\" | translate}}\n {{ lang==='ar-EG'? car.Name:car.Name}}\n\n \n \n
    \n \n \n \n
    \n
    \n\n
    \n\n
    \n \n
    \n\n
    \n\n
    \n \n
    \n \n
    \n \n \n
    \n \n \n \n
    \n
    \n \n \n \n \n
    \n
    \n\n
    \n
    \n \n
    \n \n
    \n \n \n \n {{\"Currency\" | translate}}\n {{lang==='ar-EG'?item.Code:item.Code}}\n \n
    \n \n\n \n \n
    \n
    \n \n
    \n \n {{\"Select Cash Account\" | translate}}\n {{lang==='ar-EG'?item.NameAr:item.NameEn}}\n \n
    \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n \n {{\"Select Tax\" | translate}}\n {{lang==='ar-EG'?item.NameAr:item.NameEn}}\n \n
    \n \n \n
    \n
    \n \n
    \n \n {{\"Select Tax\" | translate}}\n {{lang==='ar-EG'?item.NameAr:item.NameEn}}\n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    {{\"asset depreciation\" | translate}}
    \n \n
    \n
    \n \n
    \n \n
    \n {{selectedCurrency}}\n
    \n \n
    \n \n \n
    \n
    \n \n
    \n \n {{\"Select Method\" | translate}}\n {{\"Fixed installment\" | translate}}\n {{\"Declining Equity (Ratio)\" | translate}}\n {{\"Production Units\" | translate}}\n \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n {{\"Month\" | translate}}\n {{\"Day\" | translate}}\n {{\"Week\" | translate}}\n \n
    \n \n \n
    \n
    \n \n
    \n \n
    \n {{selectedCurrency}}\n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n \n 0?'date':'text'\" onfocus=\"(this.type='date')\"\n onblur=\"if(!this.value)this.type='text'\" onchange=\"if(!this.value)this.type='text'\"\n name=\"TheEndDateOfDepreciation\" class=\"form-control\" formControlName=\"TheEndDateOfDepreciation\"\n placeholder='{{\"The End Date Of Depreciation\" | translate}}'>\n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n {{\"Month\" | translate}}\n {{\"Day\" | translate}}\n {{\"Week\" | translate}}\n \n
    \n \n \n
    \n
    \n \n
    \n \n
    \n %\n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n \n 0?'date':'text'\" onfocus=\"(this.type='date')\"\n onblur=\"if(!this.value)this.type='text'\" onchange=\"if(!this.value)this.type='text'\"\n name=\"TheEndDateOfDepreciation\" class=\"form-control\" formControlName=\"TheEndDateOfDepreciation\"\n placeholder='{{\"The End Date Of Depreciation\" | translate}}'>\n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n \n
    \n \n \n
    \n
    \n \n 0?'date':'text'\" onfocus=\"(this.type='date')\"\n onblur=\"if(!this.value)this.type='text'\" onchange=\"if(!this.value)this.type='text'\"\n name=\"TheEndDateOfDepreciation\" class=\"form-control\" formControlName=\"TheEndDateOfDepreciation\"\n placeholder='{{\"The End Date Of Depreciation\" | translate}}'>\n \n \n \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n\n \n
    \n
    \n\n
    \n \n
    \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    #{{'Cost Center'| translate}}{{'Percent'| translate}}{{'Amount'| translate}}{{'Delete'| translate}}
    {{i + 1}}\n {{getCostName(cost.CostCenterId)}}\n \n \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n \n \n \n \n \n \n \n \n \n \n
    #{{i+1}}{{\"Download\"|translate}}\n \n
    \n
    \n \n
    \n
    \n\n
    \n\n
    \n
    \n
    \n  \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n tableEngine.deletionList.length === tableEngine.ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n\n
    \n
    \n
    \n
    \n \n \n \n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n \n \n \n {{\"Name\" | translate}}\n \n \n \n \n {{\"Purchase Date\" | translate}}\n \n \n \n \n {{\"Service Start Date\" | translate}}\n \n\n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • \n {{item}}
  • \n
    \n
    \n
    \n\n
    \n
    \n \n \n
    \n
    {{obj.Name}}{{obj.PurchaseDate|date:'dd/MM/yyyy'}}{{obj.ServiceStartDate|date:'dd/MM/yyyy'}}\n \n \n \n \n \n
    \n\n
    \n
    \n \n
    \n\n \n \n \n \n
    \n
    \n
    \n\n\n
    \n
    \n\n
    \n
    \n
    \n\n
    \n\n
     
    \n\n\n
     
    \n\n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { environment } from './../../../../../../../../environments/environment';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\nimport { FileUploader } from 'ng2-file-upload';\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'upload-assets-file',\n templateUrl: 'upload-assets-file.component.html',\n styleUrls: ['upload-assets-file.component.scss']\n})\nexport class UploadAssetsFileComponent implements OnInit {\n public assetsFile: FileUploader;\n public hasDragOver = false;\n \n @Input()\n public editmode = false;\n \n @Input()\n public url = '';\n \n @Output()\n public urlChange = new EventEmitter();\n declare lang: any;\n \n constructor(private translate: TranslateService, private notifications: NotificationsService) {\n this.lang = localStorage.getItem('theme_lang');\n\n this.assetsFile = new FileUploader({\n url: environment.baseApiUrl+'Assets/UploadFile',\n disableMultipart: false,\n autoUpload: true\n });\n \n this.assetsFile.response.subscribe(res => {\n // Upload returns a JSON with the image ID\n if(res != null && res != \"\" && res != undefined){\n this.url = environment.apiUrl+ '/Resources/AssetsFiles/' + JSON.parse(res);\n this.urlChange.emit(this.url);\n }\n else{\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessUpload\"))\n }\n },error =>{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedUpload\"))\n });\n }\n \n public fileOver(e: any): void {\n \n this.hasDragOver = e;\n }\n \n ngOnInit() {\n \n }\n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n }\n ","
    \n \n \n \n \n
    \n ","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { AssetsModel } from '../../models/assets.model';\nimport { AssetsService } from '../../assets.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport html2canvas from 'html2canvas';\nimport jspdf from 'jspdf';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { DepreciationOfAssetsModel } from '../../models/depreciation-of-assets.model'\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'view-asset',\n templateUrl: 'view-asset.component.html',\n styleUrls: ['view-asset.component.scss']\n})\nexport class ViewAssetComponent implements OnInit {\n declare lang: any;\n Id = 0;\n buttonName='';\n obj : AssetsModel=new AssetsModel();\n constructor( \n private service: AssetsService,\n private route: ActivatedRoute,\n public router:Router,\n private fb:FormBuilder,\n private notifications: NotificationsService,\n private translate: TranslateService,\n ){\n this.lang = localStorage.getItem('theme_lang');\n this.Id = + route.snapshot.paramMap.get('Id');\n \n }\n ngOnInit(): void {\n this.service.getById(this.Id)\n .subscribe(result => {\n this.obj = result;\n })\n }\n openForExport = false;\n exportTable(){\n debugger;\n this.openForExport = true;\n var data = document.getElementById('contentToConvert');\n data.style.display = 'inline-block';\n html2canvas(data,{}).then(canvas => {\n var imgWidth = 208;\n var pageHeight = 295;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n var heightLeft = imgHeight;\n const contentDataURL = canvas.toDataURL('image/png')\n let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF\n var position = 0;\n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n pdf.save('new-file.pdf'); // Generated PDF\n data.style.display = 'block';\n\n // data.style.display = 'none';\n \n });\n }\n print(){\n let printContents, popupWin;\n printContents = document.getElementById('contentToConvert').innerHTML;\n popupWin = window.open('', '_blank', 'top=0,left=0,height=100%,width=auto');\n popupWin.document.open();\n window.print();\n \n }\n DepreciationModel:DepreciationOfAssetsModel = new DepreciationOfAssetsModel();\n DepreciationForm:FormGroup;\n createDepreciationForm():FormGroup{\n return this.fb.group({\n Id:[this.DepreciationModel.Id],\n Amount:[this.DepreciationModel.Amount],\n AssetId:[this.DepreciationModel.AssetId],\n Date:[this.DepreciationModel.Date],\n IsAuto:[this.DepreciationModel.IsAuto],\n IsPayed:[this.DepreciationModel.IsPayed],\n })\n }\n @ViewChild('Depreciation') Depreciation: ModalDirective;\n showDepreciationModal(): void {\n this.DepreciationModel = new DepreciationOfAssetsModel();\n this.DepreciationForm = this.createDepreciationForm();\n this.Depreciation.show();\n } \n SaveDepreciation(){\n this.DepreciationModel = this.DepreciationForm.getRawValue();\n this.DepreciationModel.AssetId = this.Id;\n this.DepreciationModel.Lang = this.lang;\n this.DepreciationModel.IsAuto = false;\n this.DepreciationModel.IsPayed = true;\n this.service.DepreciationOfAssets(this.DepreciationModel)\n .subscribe(data=>{\n if(data > 0){\n this.Depreciation.hide()\n this.DepreciationModel.Id = data;\n this.obj.DepreciationList.push(this.DepreciationModel);\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"Success Added\"));\n }\n else{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"Failed\"));\n \n }\n })\n }\n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n}\n","
    \n
    \n
    \n {{'Back' | translate}}{{\" \"}}\n \n {{\" \"}}\n \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n

    {{\"Asset Information\"|translate}}

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

    {{\"Name\"|translate}}:

    \n

    {{obj.Name}}

    \n
    \n
    \n
    \n
    \n

    {{\"Purchase Date\"|translate}}:

    \n

    {{obj.PurchaseDate | date:'dd/MM/yyyy'}}

    \n
    \n
    \n
    \n
    \n

    {{'Service Start Date'|translate}} :

    \n

    {{obj.ServiceStartDate|date:'dd/MM/yyyy'}}

    \n
    \n
    \n
    \n
    \n

    {{'Productive Age'|translate}} :

    \n

    {{obj.ProductiveAge}}

    \n
    \n
    \n
    \n
    \n

    {{\"Purchase Amount\"|translate}}:

    \n

    {{obj.PurchaseAmount}}

    \n
    \n
    \n
    \n
    \n

    {{'Description'|translate}} :

    \n

    {{obj.Description}}

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

    {{\"Depreciations\"|translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n
    {{\"Amount\"|translate}}{{\"Date\"|translate}}
    {{item.Amount}}{{item.Date|date:'dd/MM/yyyy'}}
    \n
    \n
    \n\n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n

    \n {{\"Add Depreciation\" |\n translate}}

    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n \n
    \n
    \n \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n","export class AssetsFileModel{\r\n Id ?: number;\r\n AssetId ?: number;\r\n FileUrl ?: string;\r\n constructor(item ?: AssetsFileModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.AssetId = item.AssetId ? item.AssetId : 0;\r\n this.FileUrl = item.FileUrl ? item.FileUrl : '';\r\n }\r\n}","import { JournalFooterCostCenterModel } from '../../dailyrestrictions/journal-footer-cost-center.model';\r\nimport { AssetsFileModel } from './assets-files.model';\r\nimport { DepreciationOfAssetsModel } from './depreciation-of-assets.model';\r\nexport class AssetsModel{\r\n Id ?: number;\r\n Name ?: string;\r\n PurchaseDate ?: Date;\r\n ServiceStartDate ?: Date;\r\n MainAccountId ?: number;\r\n PlaceId ?: number;\r\n ProductiveAge ?: number;\r\n EmployeeId ?: number;\r\n Description ?: string;\r\n PurchaseAmount ?: number;\r\n CurrencyId ?: number;\r\n CashAccountId ?: number;\r\n Tax1Id ?: number;\r\n Tax2Id ?: number;\r\n ScrapValue ?: number;\r\n ScrapType ?: string;\r\n PeriodValue ?: number;\r\n PeriodType ?: string;\r\n FixedDepreciationValue ?: number;\r\n PeriodDepreciation ?: number;\r\n PricePerUnit ?: number;\r\n TheNameOfTheLargestUnit ?: string;\r\n TotalParentUnits ?: number;\r\n EpreciationExpenseAccountId ?: number;\r\n AccumulatedDepreciationAccountId ?: number;\r\n TheEndDateOfDepreciation?:Date;\r\n Files?:AssetsFileModel[];\r\n CostCenters?:JournalFooterCostCenterModel[];\r\n DepreciationList?:DepreciationOfAssetsModel[];\r\n constructor(item?:AssetsModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.EpreciationExpenseAccountId = item.EpreciationExpenseAccountId ? item.EpreciationExpenseAccountId : 0;\r\n this.AccumulatedDepreciationAccountId = item.AccumulatedDepreciationAccountId ? item.AccumulatedDepreciationAccountId : 0;\r\n this.Name = item.Name ? item.Name : '';\r\n this.PurchaseDate = item.PurchaseDate ? item.PurchaseDate : new Date();\r\n this.ServiceStartDate = item.ServiceStartDate ? item.ServiceStartDate : new Date();\r\n this.MainAccountId = item.MainAccountId ? item.MainAccountId : 0;\r\n this.PlaceId = item.PlaceId ? item.PlaceId : 0;\r\n this.ProductiveAge = item.ProductiveAge ? item.ProductiveAge : 0;\r\n this.EmployeeId = item.EmployeeId ? item.EmployeeId : 0;\r\n this.Description = item.Description ? item.Description : '';\r\n this.PurchaseAmount = item.PurchaseAmount ? item.PurchaseAmount : 0;\r\n this.CurrencyId = item.CurrencyId ? item.CurrencyId : 0;\r\n this.CashAccountId = item.CashAccountId ? item.CashAccountId : 0;\r\n this.Tax1Id = item.Tax1Id ? item.Tax1Id : 0;\r\n this.Tax2Id = item.Tax2Id ? item.Tax2Id : 0;\r\n this.ScrapValue = item.ScrapValue ? item.ScrapValue : 0;\r\n this.ScrapType = item.ScrapType ? item.ScrapType : '';\r\n this.PeriodValue = item.PeriodValue ? item.PeriodValue : 0;\r\n this.PeriodType = item.PeriodType ? item.PeriodType : 'Month';\r\n this.FixedDepreciationValue = item.FixedDepreciationValue ? item.FixedDepreciationValue : 0;\r\n this.PeriodDepreciation = item.PeriodDepreciation ? item.PeriodDepreciation : 0;\r\n this.PricePerUnit = item.PricePerUnit ? item.PricePerUnit : 0;\r\n this.TheNameOfTheLargestUnit = item.TheNameOfTheLargestUnit ? item.TheNameOfTheLargestUnit : '';\r\n this.TotalParentUnits = item.TotalParentUnits ? item.TotalParentUnits : 0;\r\n this.TheEndDateOfDepreciation = item.TheEndDateOfDepreciation ? item.TheEndDateOfDepreciation : null;\r\n this.Files = item.Files ? item.Files : [];\r\n this.CostCenters = item.CostCenters ? item.CostCenters : [];\r\n this.DepreciationList = item.DepreciationList ? item.DepreciationList : [];\r\n }\r\n}","export class DepreciationOfAssetsModel{\r\n Id?:number;\r\n AssetId?:number;\r\n Date?:Date|null;\r\n Amount?:number;\r\n Lang?:string;\r\n IsAuto?:boolean;\r\n IsPayed?:boolean;\r\n constructor(item ?: DepreciationOfAssetsModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.Amount = item.Amount ? item.Amount : 0;\r\n this.AssetId = item.AssetId ? item.AssetId : 0;\r\n this.Amount = item.Amount ? item.Amount : 0;\r\n this.Lang = item.Lang ? item.Lang : \"\";\r\n this.IsAuto = item.IsAuto ? item.IsAuto : false;\r\n this.IsPayed = item.IsPayed ? item.IsPayed : true;\r\n }\r\n}","import { AccountsCostCentersModel } from './models/account-cost-center.model';\nimport { CostCenterModel } from './../cost-center/models/cost-center.model';\nimport { CostCenterService } from './../cost-center/services/cost-center.service';\nimport { AccountBalanceFooterModel } from './../account-balance/AccountBalanceModel';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { AccountsCostCentersService } from './services/account-cost-center.service';\nimport { ActivatedRoute } from '@angular/router';\n@Component({\n selector: 'assign-cost-centers',\n templateUrl: 'assign-cost-centers.component.html',\n styleUrls: ['assign-cost-centers.component.scss']\n})\nexport class AssignCostCentersComponent implements OnInit{\n\n accountCostCentes:AccountBalanceFooterModel[];\n @Input()\n AccountId:number = 0;\n centers:CostCenterModel[]=[];\n selectedCenters:AccountsCostCentersModel[]=[];\n \n columns = [\n { prop: 'CostCenterId', name: 'Cost Center' },\n { prop: 'Percentage', name: 'Percentage' },\n { prop: 'Auto', name: 'Auto' }\n ];\n rows:any;\n temp:any;\n constructor(\n private service:AccountsCostCentersService,\n public route:ActivatedRoute,\n private costCenterService:CostCenterService\n ){\n // this.AccountId = + route.snapshot.paramMap.get('AccountId');\n }\n ngOnInit(): void {\n console.log('this.AccountId',this.AccountId)\n if(this.AccountId > 0){\n this.service.GetByAccountId(this.AccountId)\n .subscribe(data => {\n this.selectedCenters = data;\n if(this.selectedCenters.length==0){\n this.selectedCenters.push( {AccountId:this.AccountId,Auto:false,CostCenterId:0,Id:0,Percentage:0,IsDeleted:false})\n }\n this.rows = this.selectedCenters.map(({ CostCenterId, Percentage, Auto, Id, IsDeleted }) => ({ CostCenterId, Percentage, Auto, Id, IsDeleted }));\n this.temp = [...this.rows];\n })\n }\n this.costCenterService.GetAllSub(0)\n .subscribe(data => {\n this.centers = data;\n })\n \n }\n splitCostCenter($event){\n debugger;\n var i = this.centers.findIndex(x=>x.Id == $event.Id);\n if(i > -1){\n console.log('selected',this.selectedCenters);\n this.centers.splice(i,1);\n }\n }\n AddNewCost(){\n var cost=new AccountsCostCentersModel();\n cost.AccountId = this.AccountId;\n cost.Auto = false;\n cost.CostCenterId = 0;\n cost.Id = 0;\n cost.IsDeleted = false;\n cost.Percentage = 0;\n this.selectedCenters.push(cost);\n }\n deleteSelectedCost(item){\n var i = this.selectedCenters.findIndex(x=>x.CostCenterId == item.CostCenterId && x.Auto == item.Auto && x.Percentage == item.Percentage && x.Id == item.Id);\n if(i>-1){\n this.selectedCenters[i].IsDeleted = true;\n }\n\n }\n saveCostCenters():boolean{\n debugger;\n var r = true;\n this.service.update(this.selectedCenters)\n .subscribe(result=>{\n r = result;\n })\n return r;\n }\n chickValue(item){\n debugger;\n var total = 0;\n this.selectedCenters.forEach(element => {\n total += element.Percentage;\n });\n total -=item.Percentage;\n var i = this.selectedCenters.findIndex(x=>x.CostCenterId == item.CostCenterId && x.Auto == item.Auto && x.Percentage == item.Percentage && x.Id == item.Id)\n if((total + item.Percentage) > 100){\n if(i > -1){\n this.selectedCenters[i].Percentage = 100 - total;\n }\n }\n if(item.Percentage < 0){\n if(i > -1){\n this.selectedCenters[i].Percentage = 0;\n }\n }\n }\n}\n","\n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n
    {{'Cost Center'|translate}}{{'Percentage'|translate}}{{' '|translate}}%{{'Auto'|translate}}{{'Delete'|translate}}
    \n \n \n \n \n \n \n \n \n \n \n
    \n\n\n
    \n
    \n
    \n{{' '}}\n\n
    ","export class AccountsCostCentersModel{\r\n Id?: number;\r\n AccountId?: number;\r\n CostCenterId?: number;\r\n Percentage?: number;\r\n Auto?: boolean;\r\n IsDeleted?: boolean;\r\n AccountNameAr?:string;\r\n AccountNameEn?:string;\r\n constructor(item ?: AccountsCostCentersModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.AccountId = item.AccountId ? item.AccountId : 0;\r\n this.CostCenterId = item.CostCenterId ? item.CostCenterId : 0;\r\n this.Percentage = item.Percentage ? item.Percentage : 0;\r\n this.Auto = item.Auto ? item.Auto : false;\r\n this.IsDeleted = item.IsDeleted ? item.IsDeleted : false;\r\n this.AccountNameAr = item.AccountNameAr ? item.AccountNameAr : '';\r\n this.AccountNameEn = item.AccountNameEn ? item.AccountNameEn : '';\r\n }\r\n}","import { environment } from './../../../../../../../environments/environment';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { AccountsCostCentersModel } from '../models/account-cost-center.model';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AccountsCostCentersService {\r\n \r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n GetByAccountId(AccountId:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}AccountsCostCenters/GetByAccountId/${AccountId}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n GetByCostCenterId(CostCenterId:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}AccountsCostCenters/GetByCostCenterId/${CostCenterId}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: AccountsCostCentersModel[]): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}AccountsCostCenters/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: AccountsCostCentersModel[]): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}AccountsCostCenters/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: AccountsCostCentersModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}AccountsCostCenters/Delete`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n \r\n deleteList(payload: AccountsCostCentersModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}AccountsCostCenters/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { BankCodeModel} from \"./bank_code_model\";\nimport { BankCodeService } from './serves';\n\n\n\nimport { TableEngine } from 'src/app/views/app/aio/shared/TableEngine'\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from '../../shared/side-popup/side-popup.component';\nimport { AccountsNameService } from '../account-name/AccountNameService';\nimport { AccountNameModel } from '../account-name/AccountNameModel';\n\n@Component({\n // moduleId: module.id,\n selector: 'bank-code',\n templateUrl: 'bank-code.component.html',\n styleUrls: ['bank-code.component.scss']\n})\nexport class BankCodeComponent {\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n AccountsNameList: AccountNameModel[] = [];\n\n constructor(private accountsNameService: AccountsNameService,private formBuilder: FormBuilder, public modelService: BankCodeService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService\n\n ) {\n }\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n\n translationName: string = ' Bank Code'\n\n sortableKeys = [];\n searchableKeys = ['NameEn', 'NameAr'];\n\n modelObject: BankCodeModel = new BankCodeModel();\n\n ogData: BankCodeModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n NameEn: new FormControl(),\n NameAr: new FormControl(),\n BankAddress: new FormControl(),\n BankAccountIBAN: new FormControl(),\n SwiftCode: new FormControl(),\n Terms: new FormControl(),\n AccountNameId: new FormControl(),\n \n \n });\n\n\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent ;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective= null;\n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' };\n this.sortableKeys = [\n { label: 'Name', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' },\n ];\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n this.loadServices();\n }\n\n showModal(Id, action) {\n if (action === 'Add') {\n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n }\n else if (action === 'Edit') {\n\n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder)\n console.log(\"this model object:\" + this.modelObject);\n console.log(this.modelObject);\n console.log(\"table engine model object:\" + this.tableEngine.modelObject);\n console.log(this.tableEngine.modelObject);\n\n }\n else if (action === 'Info') {\n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder)\n }\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n }\n\n createForm(modelObject, formBuilder): FormGroup {\n //console.log(\"from craeteform\");\n\n //console.log(\"modelObject\",modelObject.NameEn);\n\n return formBuilder.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n \n Terms: [modelObject.Terms, Validators.compose([Validators.required, Validators.minLength(2)])],\n SwiftCode: [modelObject.SwiftCode, Validators.compose([Validators.required, Validators.minLength(2)])],\n BankAccountIBAN: [modelObject.BankAccountIBAN, Validators.compose([Validators.required, Validators.minLength(2)])],\n BankAddress: [modelObject.BankAddress, Validators.compose([Validators.required, Validators.minLength(2)])],\n NameEn: [modelObject.NameEn, Validators.compose([Validators.required, Validators.minLength(2)])],\n NameAr: [modelObject.NameAr, Validators.compose([Validators.required, Validators.pattern(/^[\\u0621-\\u064A]+([\\s]*[\\u0621-\\u064A]+)*$/)])],\n AccountNameId: [modelObject.AccountNameId, Validators.compose([Validators.required,])],\n });\n }\n\n addObject() {\n this.currentAction = 'loading';\n\n this.modelObject = new BankCodeModel();\n this.modelObject.Id = 0;\n this.modelObject.NameEn = this.mainForm.getRawValue().NameEn;\n this.modelObject.NameAr = this.mainForm.getRawValue().NameAr;\n this.modelObject.BankAddress = this.mainForm.getRawValue().BankAddress;\n \n this.modelObject.BankAccountIBAN = this.mainForm.getRawValue().BankAccountIBAN;\n this.modelObject.SwiftCode = this.mainForm.getRawValue().SwiftCode;\n this.modelObject.Terms = this.mainForm.getRawValue().Terms;\n this.modelObject.AccountNameId = this.mainForm.getRawValue().AccountNameId;\n \n this.executeAddObject();\n }\n\n executeAddObject() {\n console.log(this.modelObject);\n\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n\n editObject() {\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n\n let tempObj = new BankCodeModel({\n Id: this.modelObject.Id,\n NameEn: this.mainForm.getRawValue().NameEn,\n NameAr: this.mainForm.getRawValue().NameAr,\n BankAddress : this.mainForm.getRawValue().BankAddress,\n BankAccountIBAN : this.mainForm.getRawValue().BankAccountIBAN,\n SwiftCode : this.mainForm.getRawValue().SwiftCode,\n Terms : this.mainForm.getRawValue().Terms,\n AccountNameId : this.mainForm.getRawValue().AccountNameId,\n \n \n });\n\n if (JSON.stringify(tempObj) != JSON.stringify(this.modelObject)) {\n this.executeEditObject(tempObj);\n }\n else {if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n }\n\n executeEditObject(Object) {\n console.log(\"ObjectObject\", Object);\n\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n\n\n prepChangeSort(sortKey) {\n this.tableEngine.itemOrder = this.itemOrder;\n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey))\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n loadServices() {\n this.currentAction = 'loading';\n this.accountsNameService.getAll(0).subscribe(\n data=>{\n this.AccountsNameList=data;\n this.tableEngine.loadData();\n\n }\n );\n }\n getAccountNameById(Id: any): any {\n return this.AccountsNameList.find(i => i.Id === Id);\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepSort(sortKey) {\n this.tableEngine.changeSort(this.tableEngine.getSort('Name'));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n}\n","\n
    \n
    \n
    \n

    \n {{tableEngine.currentFormMode+translationName | translate}}

    \n
    \n
    \n
    \n\n
    \n \n \n \n
    \n {{\"NameArRequired\" | translate}}
    \n
    \n\n\n
    \n \n \n \n
    \n {{\"NameEnRequired\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n \n
    \n \n \n \n
    \n {{\"Required\" | translate}}
    \n \n
    \n \n
    \n \n \n \n
    \n {{\"Required\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n {{\"Required\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n {{\"Required\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n tableEngine.deletionList.length === tableEngine.ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Name\" | translate}}\n \n
    \n {{\"Accounte Name\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{lang==='ar-EG'?obj.NameAr:obj.NameEn}}{{lang==='ar-EG'?getAccountNameById(obj.AccountNameId).NameAr:getAccountNameById(obj.AccountNameId).NameEn}}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","export class BankCodeModel{\r\n Id?:number;\r\n NameAr?:string;\r\n NameEn?:string;\r\n BankAddress?:string;\r\n BankAccountIBAN?:string;\r\n SwiftCode?:string;\r\n\r\n AccountNameId?:number;\r\n Terms?:string;\r\n constructor(obj?:BankCodeModel){\r\n obj = obj? obj:{};\r\n this.Id = obj.Id? obj.Id:0;\r\n this.NameAr = obj.NameAr? obj.NameAr:'';\r\n this.NameEn = obj.NameEn? obj.NameEn:'';\r\n this.BankAccountIBAN = obj.BankAccountIBAN? obj.BankAccountIBAN:'';\r\n this.BankAddress = obj.BankAddress? obj.BankAddress:'';\r\n this.AccountNameId = obj.AccountNameId? obj.AccountNameId:0;\r\n this.Terms = obj.Terms? obj.Terms:'';\r\n this.SwiftCode = obj.SwiftCode? obj.SwiftCode:'';\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { BankCodeModel } from \"./bank_code_model\";\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BankCodeService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}BankCode/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}BankCode/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: BankCodeModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}BankCode/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: BankCodeModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}BankCode/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: BankCodeModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}BankCode/Delete`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n \r\n deleteList(payload: BankCodeModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}BankCode/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { environment } from 'src/environments/environment';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BudgetReportService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n Search(CostCenterId:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}BudgetReport/Search/${CostCenterId}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { Component, OnInit } from '@angular/core';\nimport { BudgetReportService } from '../../budget-report.service';\nimport { CostCenterService } from '../../../../cost-center/services/cost-center.service';\nimport { CostCenterModel } from '../../../../cost-center/models/cost-center.model';\nimport html2canvas from 'html2canvas';\nimport jspdf from 'jspdf';\n\n@Component({\n selector: 'budget-report',\n templateUrl: 'budget-report.component.html',\n styleUrls: ['budget-report.component.scss']\n})\nexport class BudgetReportComponent implements OnInit{\n\n declare lang: any;\n data:any[]=[];\n constructor(private BudgetReportService:BudgetReportService,\n\n private costCenterService:CostCenterService\n ){\n this.lang = localStorage.getItem('theme_lang');\n }\n TotalAssets = 0;\n Totalliabilities = 0;\n TotalPropertyRights = 0;\n today=new Date();\n mainCenters:CostCenterModel[]=[];\n subCenters:CostCenterModel[]=[];\n BackUpmainCenters:CostCenterModel[]=[];\n BackUpsubCenters:CostCenterModel[]=[];\n ngOnInit(): void {\n debugger;\n this.costCenterService.getAll(0)\n .subscribe(data=>{\n console.log('Centers',data)\n this.subCenters = data;\n // data.forEach(element => {\n // if(element.CenterType == \"Main\"){\n // this.mainCenters.push(element);\n // }\n // else{\n // this.subCenters.push(element);\n // }\n \n // });\n this.BackUpmainCenters = [...this.mainCenters];\n this.BackUpsubCenters = [...this.subCenters];\n })\n }\n costCenterId=0;\n Search(){\n this.BudgetReportService.Search(this.costCenterId)\n .subscribe(data => {\n this.data =data;\n console.log('this.data',this.data)\n })\n }\n exportTable(){\n var data = document.getElementById('contentToConvert');\n data.style.display = 'inline-block';\n html2canvas(data,{}).then(canvas => {\n var imgWidth = 208;\n var pageHeight = 295;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n var heightLeft = imgHeight;\n const contentDataURL = canvas.toDataURL('image/png')\n let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF\n var position = 0;\n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n pdf.save('new-file.pdf'); // Generated PDF\n data.style.display = 'block';\n\n // data.style.display = 'none';\n \n });\n }\n print(){\n let printContents, popupWin;\n printContents = document.getElementById('contentToConvert').innerHTML;\n popupWin = window.open('', '_blank', 'top=0,left=0,height=100%,width=auto');\n popupWin.document.open();\n window.print();\n \n }\n MainCostCenterId = 0;\n changeMainCostCenter(){\n var i = this.mainCenters.findIndex(x=>x.Id == this.MainCostCenterId);\n if(i > -1){\n this.subCenters = this.BackUpsubCenters.filter(x=>x.ParentId == this.mainCenters[i].Id);\n }\n }\n changeSubCostCenter(){\n \n }\n}\n","\n\n
    \n
    \n
    \n
    \n \n
    \n \n \n
    0\">\n \n \n \n \n \n
    \n
    \n
    \n
    \n \n {{\" \"}}\n {{\" \"}}\n {{\" \"}}\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    {{ 'Budgets report' | translate }}

    \n

    {{ today| date:'dd/MM/yyyy' }}

    \n
    {{ 'Future Core' | translate }}
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n \n
    \n \n \n \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{'Month'|translate}}{{'Percentage'|translate}}{{'Value'|translate}}{{'The Actual Value'|translate}}{{'Total'|translate}}
    {{lang==='ar-EG'?item.MonthlyNameAr:item.MonthlyNameEn}}{{item.Percentage}}{{item.Value}}{{item.TheActualValue}}{{item.Value - item.TheActualValue}}
    \n \n
    \n \n
    \n
    \n
    ","import { environment } from 'src/environments/environment';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { BudgetModel } from './models/budget.model';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BudgetService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Budget/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Budget/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n GetPayedAmount(InvoiceId:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Budget/GetPayedAmount/${InvoiceId}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n GetLastCode(): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}Budget/GetLastCode`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n insert(payload: BudgetModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}Budget/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: BudgetModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}Budget/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: BudgetModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}Budget/Delete`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n \r\n deleteList(payload: BudgetModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}Budget/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { BudgetService } from '../../budget.service';\nimport { NotificationsService } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\nimport { DatePipe } from '@angular/common';\nimport { Router } from '@angular/router';\nimport { ListPageHeaderComponent } from 'src/app/containers/pages/list-page-header/list-page-header.component';\nimport { TableEngine } from '../../../../shared/TableEngine';\nimport { BudgetModel } from '../../models/budget.model';\nimport { SidePopupComponent } from '../../../../shared/side-popup/side-popup.component';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\n@Component({\n selector: 'all-budget',\n templateUrl: 'all-budget.component.html',\n styleUrls: ['all-budget.component.scss']\n})\nexport class AllBudgetComponent {\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n \n //Enable debugMode to make API modules return static data from within the service class\n debugMode: boolean = false;\n \n constructor(private formBuilder: FormBuilder, private modelService: BudgetService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private datePipe: DatePipe,\n private router : Router\n ) {\n }\n listHeader = new ListPageHeaderComponent();\n @ViewChild('search') search: any;\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n tableView: any = true;\n \n translationName: string = 'Budget'\n \n sortableKeys = [];\n searchableKeys = ['Id'];\n \n modelObject: BudgetModel = new BudgetModel();\n \n ogData: BudgetModel[] = [];\n mainForm: FormGroup = new FormGroup({\n });\n \n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n branches:any[]=[];\n employees:any[]=[];\n roles:any[]=[];\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective=null;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective =null;\n formPresentationModal: any;\n ngOnInit(): void {\n \n if (this.debugMode) {\n this.enableDebugOnAllServices();\n }\n \n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Id', property: 'Id' };\n this.sortableKeys = [\n { label: 'Id', property: 'Id' },\n { label: 'CostCenterName', property: this.lang == 'ar-EG'? 'CostCenterNameAr':'CostCenterNameEn' },\n { label: 'TotalAmount', property: 'TotalAmount' },\n \n ];\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n \n this.loadServices();\n }\n \n \n enableDebugOnAllServices() {\n //this.modelService.debugMode = true;\n // this.itemService.debugMode = true;\n //this.codingUnitService.debugMode = true;\n //this.storeDataService.debugMode = true;\n //this.supplierService.debugMode = true;\n }\n \n lastCode = 0;\n showModal(Id, action) {\n debugger;\n if (action === 'Add') {\n this.router.navigate(['app/accounts/create-budget/0'])\n\n }\n else if (action === 'Edit') {\n this.router.navigate(['app/accounts/create-budget',Id])\n }\n else if (action === 'Info') {\n this.router.navigate(['app/accounts/create-budget',Id])\n }\n this.tableView = false;\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n console.log((action + \" object\"), this.modelObject);\n \n \n console.log(\"modelObject after entering edit\", this.modelObject);\n }\n\n currentDate='';\n \n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true || result > 0) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n \n \n //lastCode = 0;\n codeWasChecked = false;\n checkCode() : boolean{\n if(!(this.lastCode > 0)){\n this.codeWasChecked = false;\n console.log(\"bad code\", this.lastCode);\n \n return this.codeWasChecked;\n }\n return this.codeWasChecked;\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n SearchFrom: Date = null ;\n SearchTo: Date= null;\n \n clearSearch() {\n this.SearchFrom= null ;\n this.SearchTo = null;\n }\n \n prevAction = '';\n \n \n \n loadServices() {\n this.currentAction = 'loading';\n this.tableEngine.loadData();\n\n \n \n }\n \n newBudgetItemInternalId = 0;\n \n currentTotal = 0;\n \n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepChangeSort(sortKey) {\n this.SearchFrom ;\n this.SearchTo ;\n \n \n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n \n getFormattedDate(dateString: any){\n let splitDate: number[] = dateString.toString().split(\"/\");\n \n return new Date(splitDate[2], splitDate[1]-1, splitDate[0])\n }\n ///////////////////////////////////////////////////////\n \n displayMode = 'list';\n changeDisplayMode(mode): void {\n this.displayMode = mode;\n }\n itemsPerPageChange(perPage: number): void {\n this.tableEngine.paginateData(perPage, 1)\n }\n selectedCurrency = '';\n \n SearchKey = ''\n AddEnabled: boolean = true;\n dateSearch: boolean = true;\n searchDateRange(): void {\n this.tableEngine.filterDataByDateRange(this.SearchFrom,this.SearchTo,this.SearchKey==''?'Date':this.SearchKey);\n console.log(\"datefrom header\",this.SearchFrom);\n }\n searchUsingKeys(): void {\n this.tableEngine.filterData();\n }\n \n deleteSelected(): void {\n this.tableEngine.showDelModal('delMulti');\n }\n }\n","\n\n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n\n
    \n
    \n
    \n
    \n \n \n \n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n \n \n \n {{\"Code\" | translate}}\n \n \n \n \n {{\"Cost Center\" | translate}}\n \n \n \n \n {{\"Total Amount\" | translate}}\n \n\n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • \n {{item}}
  • \n
    \n
    \n
    \n\n
    \n
    \n \n \n
    \n
    {{obj.Id}}{{ lang==='ar-EG' ? obj.CostCenterNameAr : obj.CostCenterNameEn}}{{obj.TotalAmount}}\n \n \n \n \n \n
    \n\n
    \n
    \n \n
    \n\n \n \n \n \n
    \n
    \n
    \n\n\n
    \n
    \n\n
    \n
    \n
    \n\n
    \n\n
     
    \n\n\n
     
    \n\n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { BudgetModel } from '../../models/budget.model';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { BudgetAccountsModel } from '../../models/budget-accounts.model';\nimport { LockerBasicModel } from '../../../locker-data/helper/model';\nimport { AccountNameModel } from '../../../account-name/AccountNameModel';\nimport { CostCenterModel } from '../../../cost-center/models/cost-center.model';\nimport { CurrencyService } from 'src/app/invoices/currencies/CurrencyService';\nimport { AccountsNameService } from '../../../account-name/AccountNameService';\nimport { CostCenterService } from '../../../cost-center/services/cost-center.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { BudgetService } from '../../budget.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { CurrencyModel } from 'src/app/invoices/currencies/CurrencyModel';\nimport { MonthlyDistributionModel } from '../../monthly-distribution/models/monthly-distribution.model';\nimport { MonthlyDistributionService } from '../../monthly-distribution/monthly-distribution.service';\nimport { AccountsCostCentersService } from '../../../assign-cost-centers/services/account-cost-center.service';\nimport { AccountsCostCentersModel } from '../../../assign-cost-centers/models/account-cost-center.model';\n\n@Component({\n selector: 'create-budget',\n templateUrl: 'create-budget.component.html',\n styleUrls: ['create-budget.component.scss']\n})\nexport class CreateBudgetComponent implements OnInit{\n Budget:BudgetModel={};\n declare lang: any;\n Id=0;\n Form:FormGroup;\n buttonName='Add';\n users:any[]=[];\n SelectedAccount:BudgetAccountsModel[]=[{AccountId:0,Amount:0,BudgetId:this.Id,Id:0}];\n LockersData:LockerBasicModel[]=[];\n public editEnabled = true;\n public picurl: string ='';\n AccountsNameModel: CostCenterModel[] = [];\n PackUpAccounts: CostCenterModel[] = [];\n centers:CostCenterModel[]=[];\n constructor(\n private CurrencyService: CurrencyService, \n private accountsNameService: AccountsNameService,\n private costCenterService:CostCenterService,\n private route: ActivatedRoute,\n public router:Router,\n private BudgetService:BudgetService,\n public fb:FormBuilder,\n private translate: TranslateService,\n private notifications: NotificationsService,\n private monthlyDistributionService:MonthlyDistributionService,\n private AccountsCostCentersService:AccountsCostCentersService\n ){\n this.lang = localStorage.getItem('theme_lang');\n this.Id = + route.snapshot.paramMap.get('Id');\n \n }\n centersLoaded= false;\n TreasuriesLoaded= false;\n taxesLoaded= false;\n AccountsLoaded= false;\n categoriesLoaded= false;\n curennciesLoaded= false;\n curenncies:CurrencyModel[]=[]\n accounts : AccountsCostCentersModel[]=[];\n MonthlyDistributions:MonthlyDistributionModel[]=[];\n totalAmount=0;\n ChangeAmount(Amount){\n var total = this.Form.controls['TotalAmount'].value;\n if(total == null || total == undefined){\n total = 0;\n }\n total += Amount;\n this.Form.controls['TotalAmount'].setValue(total);\n\n }\n changeCostCenter(){\n var costId=this.Form.controls['CostCenterId'].value;\n if(costId > 0){\n this.SelectedAccount=[{AccountId:0,Amount:0,BudgetId:this.Id,Id:0}];\n this.AccountsCostCentersService.GetByCostCenterId(costId)\n .subscribe(result=>{\n this.accounts = result;\n this.PackUpAccounts = result.map(item=>Object.assign({}, item))\n\n })\n }\n }\n ngOnInit(): void {\n this.monthlyDistributionService.getAll()\n .subscribe(result=>{\n this.MonthlyDistributions = result;\n })\n this.accountsNameService.GetAllSubAccountes(0).subscribe(\n data=>{\n this.AccountsNameModel=data;\n this.PackUpAccounts = data.map(item=>Object.assign({}, item))\n this.AccountsLoaded = true;\n\n }\n );\n \n this.CurrencyService.getAll()\n .subscribe(data => {\n this.curenncies = data;\n this.curennciesLoaded = true;\n })\n this.costCenterService.getAll(0)\n .subscribe(cosetCenters=>{\n this.centers = cosetCenters;\n this.centersLoaded = true;\n })\n if(this.Id == 0){\n this.Budget = new BudgetModel();\n this.Form = this.createForm();\n \n }\n else{\n this.BudgetService.getById(this.Id)\n .subscribe(data=>{\n this.buttonName = \"Edit\"\n this.Budget =data;\n this.SelectedAccount =this.Budget.BudgetAccounts ;\n \n this.Form = this.createForm();\n })\n }\n \n }\n createForm():FormGroup{\n return this.fb.group({\n Id:[this.Budget.Id],\n BudgetAgainst :[this.Budget.BudgetAgainst ],\n MonthlyDistributionId :[this.Budget.MonthlyDistributionId ],\n CostCenterNameAr :[this.Budget.CostCenterNameAr ],\n CostCenterNameEn :[this.Budget.CostCenterNameEn ],\n CostCenterId :[this.Budget.CostCenterId ],\n FiscalYearId :[this.Budget.FiscalYearId ],\n ApplicableOnMaterialRequest :[this.Budget.ApplicableOnMaterialRequest ],\n ApplicableOnBookingActualExpenses :[this.Budget.ApplicableOnBookingActualExpenses ],\n ApplicableOnPurchaseOrder :[this.Budget.ApplicableOnPurchaseOrder ],\n ActionIfAnnualBudgetExceededOnMR :[this.Budget.ActionIfAnnualBudgetExceededOnMR ],\n ActionIfAnnualBudgetExceededOnPO :[this.Budget.ActionIfAnnualBudgetExceededOnPO ],\n ActionIfAccumulatedMonthlyBudgetExceededOnMR :[this.Budget.ActionIfAccumulatedMonthlyBudgetExceededOnMR ],\n ActionIfAccumulatedMonthlyBudgetExceededOnPO :[this.Budget.ActionIfAccumulatedMonthlyBudgetExceededOnPO ],\n ActionIfAnnualBudgetExceededOnActual :[this.Budget.ActionIfAnnualBudgetExceededOnActual ],\n ActionIfAccumulatedMonthlyBudgetExceededOnActual :[this.Budget.ActionIfAccumulatedMonthlyBudgetExceededOnActual ],\n BudgetAccounts :[this.Budget.BudgetAccounts ],\n TotalAmount:[this.Budget.TotalAmount]\n })\n }\n \n splitAccount($event){\n debugger;\n var i = this.accounts.findIndex(x=>x.AccountId == $event.AccountId);\n if(i > -1){\n this.accounts.splice(i,1);\n }\n }\n deleteSelectedAccount(item){\n debugger;\n var i = this.SelectedAccount.indexOf(item);\n if(i > -1){\n var total = this.Form.controls['TotalAmount'].value;\n if(total == null || total == undefined){\n total = 0;\n }\n total -= item.Amount;\n this.Form.controls['TotalAmount'].setValue(total);\n var x= this.PackUpAccounts.findIndex(x=>x.Id == this.SelectedAccount[i].AccountId);\n if(x > -1){\n\n this.accounts.push(this.PackUpAccounts[x]);\n }\n this.SelectedAccount.splice(i,1);\n }\n }\n AddonClick(){\n debugger;\n var selectedDailyrestrictionsFooterModel =new BudgetAccountsModel();\n selectedDailyrestrictionsFooterModel.Id = this.SelectedAccount.length+1 ;\n selectedDailyrestrictionsFooterModel.Amount = 0 ;\n selectedDailyrestrictionsFooterModel.AccountId = 0 ;\n selectedDailyrestrictionsFooterModel.BudgetId = this.Id ;\n this.SelectedAccount.push(selectedDailyrestrictionsFooterModel);\n }\n \n Save(){\n debugger;\n this.Budget = this.Form.getRawValue();\n this.Budget.Id = this.Id;\n this.Budget.BudgetAccounts = this.SelectedAccount;\n if(this.Id > 0 ){\n this.BudgetService.update(this.Budget)\n .subscribe(result => {\n if(result == true){\n this.router.navigate(['app/accounts/budgets']);\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n \n }\n else{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n\n }\n })\n }\n else{\n this.BudgetService.insert(this.Budget)\n .subscribe(result => {\n if(result == true){\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdd\"));\n this.router.navigate(['app/accounts/budgets']);\n \n }\n else{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n\n }\n })\n }\n \n }\n addAndNew(){\n debugger;\n this.Budget = this.Form.getRawValue();\n this.Budget.Id = this.Id;\n this.Budget.BudgetAccounts = this.SelectedAccount;\n if(this.Id > 0 ){\n this.BudgetService.update(this.Budget)\n .subscribe(result => {\n if(result == true){\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n this.Budget = new BudgetModel();\n this.picurl = '';\n this.SelectedAccount = [];\n }\n else{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n \n }\n })\n }\n else{\n this.BudgetService.insert(this.Budget)\n .subscribe(result => {\n if(result == true){\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdd\"));\n this.Budget = new BudgetModel();\n this.picurl = '';\n this.SelectedAccount = [];\n\n }\n else{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n\n }\n })\n }\n \n }\n\n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n}\n\n","
    \n {{\"Back\" |\n translate}}\n \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n

    {{ buttonName + ' Budget' | translate }}

    \n \n
    \n \n \n \n
    \n
    \n
    \n \n \n {{ \"Cost Center\"|translate}}\n {{lang==='ar-EG'?car.NameAr:car.NameEn}}\n \n
    \n \n
    \n \n \n {{ \"Monthly Distribution\"|translate}}\n {{car.Name}}\n \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n {{'Applicable On Material Request'|translate}}\n
    \n
    \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n {{'Applicable on Purchase Order'|translate}}\n
    \n
    \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n {{'Applicable on booking actual expenses'|translate}}\n
    \n
    \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n {{\"Accounts\"|translate}}\n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    #{{'Account'| translate}}{{'Amount'| translate}}{{'Delete'| translate}}
    {{i+1}}\n \n \n \n \n \n \n
    \n\n
    \n
    \n
    \n {{' '}}\n\n
    \n
    \n
    \n
    \n
    \n","export class BudgetAccountsModel{\r\n Id ?: number;\r\n AccountId ?: number;\r\n Amount ?: number;\r\n BudgetId?:number;\r\n constructor(item ?: BudgetAccountsModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.AccountId = item.AccountId ? item.AccountId : 0;\r\n this.Amount = item.Amount ? item.Amount : 0;\r\n this.BudgetId = item.BudgetId ? item.BudgetId : 0;\r\n }\r\n}","import { BudgetAccountsModel } from \"./budget-accounts.model\";\r\n\r\nexport class BudgetModel{\r\n Id ?: number;\r\n BudgetAgainst ?: number;\r\n MonthlyDistributionId ?: number;\r\n CostCenterNameAr ?: string;\r\n CostCenterNameEn ?: string;\r\n CostCenterId ?: number;\r\n FiscalYearId ?: number;\r\n ApplicableOnMaterialRequest ?: boolean;\r\n ApplicableOnBookingActualExpenses ?: boolean;\r\n ApplicableOnPurchaseOrder ?: boolean;\r\n ActionIfAnnualBudgetExceededOnMR ?: string;\r\n ActionIfAnnualBudgetExceededOnPO ?: string;\r\n ActionIfAccumulatedMonthlyBudgetExceededOnMR ?: string;\r\n ActionIfAccumulatedMonthlyBudgetExceededOnPO ?: string;\r\n ActionIfAnnualBudgetExceededOnActual ?: string;\r\n ActionIfAccumulatedMonthlyBudgetExceededOnActual ?: string;\r\n TotalAmount?:number;\r\n BudgetAccounts ?:BudgetAccountsModel[];\r\n constructor(item ?: BudgetModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0; \r\n this.BudgetAgainst = item.BudgetAgainst ? item.BudgetAgainst : 0; \r\n this.CostCenterId = item.CostCenterId ? item.CostCenterId : 0; \r\n this.FiscalYearId = item.FiscalYearId ? item.FiscalYearId : 0; \r\n this.TotalAmount = item.TotalAmount ? item.TotalAmount : 0; \r\n this.MonthlyDistributionId = item.MonthlyDistributionId ? item.MonthlyDistributionId : 0; \r\n this.ApplicableOnMaterialRequest = item.ApplicableOnMaterialRequest ? item.ApplicableOnMaterialRequest : false; \r\n this.ApplicableOnBookingActualExpenses = item.ApplicableOnBookingActualExpenses ? item.ApplicableOnBookingActualExpenses : false; \r\n this.ApplicableOnPurchaseOrder = item.ApplicableOnPurchaseOrder ? item.ApplicableOnPurchaseOrder : false; \r\n this.ActionIfAnnualBudgetExceededOnMR = item.ActionIfAnnualBudgetExceededOnMR ? item.ActionIfAnnualBudgetExceededOnMR : ''; \r\n this.ActionIfAnnualBudgetExceededOnPO = item.ActionIfAnnualBudgetExceededOnPO ? item.ActionIfAnnualBudgetExceededOnPO : ''; \r\n this.ActionIfAccumulatedMonthlyBudgetExceededOnMR = item.ActionIfAccumulatedMonthlyBudgetExceededOnMR ? item.ActionIfAccumulatedMonthlyBudgetExceededOnMR : ''; \r\n this.ActionIfAnnualBudgetExceededOnActual = item.ActionIfAnnualBudgetExceededOnActual ? item.ActionIfAnnualBudgetExceededOnActual : ''; \r\n this.ActionIfAccumulatedMonthlyBudgetExceededOnPO = item.ActionIfAccumulatedMonthlyBudgetExceededOnPO ? item.ActionIfAccumulatedMonthlyBudgetExceededOnPO : ''; \r\n this.ActionIfAccumulatedMonthlyBudgetExceededOnActual = item.ActionIfAccumulatedMonthlyBudgetExceededOnActual ? item.ActionIfAccumulatedMonthlyBudgetExceededOnActual : ''; \r\n this.BudgetAccounts = item.BudgetAccounts ? item.BudgetAccounts : []; \r\n \r\n }\r\n}","import { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationsService } from 'angular2-notifications';\nimport { DatePipe } from '@angular/common';\nimport { Router } from '@angular/router';\nimport { ListPageHeaderComponent } from 'src/app/containers/pages/list-page-header/list-page-header.component';\nimport { MonthlyDistributionModel } from '../../models/monthly-distribution.model';\nimport { SidePopupComponent } from 'src/app/views/invoice/side-popup/side-popup.component';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { TableEngine } from 'src/app/views/app/aio/shared/TableEngine';\nimport { MonthlyDistributionService } from '../../monthly-distribution.service';\n\n@Component({\n selector: 'all-monthly-distribution',\n templateUrl: 'all-monthly-distribution.component.html',\n styleUrls: ['all-monthly-distribution.component.scss']\n})\nexport class AllMonthlyDistributionComponent {\n debugMode: boolean = false;\n \n constructor(private formBuilder: FormBuilder, private modelService: MonthlyDistributionService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private datePipe: DatePipe,\n private router : Router\n ) {\n }\n listHeader = new ListPageHeaderComponent();\n @ViewChild('search') search: any;\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n tableView: any = true;\n \n translationName: string = 'MonthlyDistribution'\n \n sortableKeys = [];\n searchableKeys = ['Id'];\n \n modelObject: MonthlyDistributionModel = new MonthlyDistributionModel();\n \n ogData: MonthlyDistributionModel[] = [];\n mainForm: FormGroup = new FormGroup({\n });\n \n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n branches:any[]=[];\n employees:any[]=[];\n roles:any[]=[];\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective=null;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective =null;\n formPresentationModal: any;\n ngOnInit(): void {\n \n if (this.debugMode) {\n this.enableDebugOnAllServices();\n }\n \n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Id', property: 'Id' };\n this.sortableKeys = [\n { label: 'Id', property: 'Id' },\n { label: 'Name', property: 'Name' },\n \n ];\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n \n this.loadServices();\n }\n \n \n enableDebugOnAllServices() {\n //this.modelService.debugMode = true;\n // this.itemService.debugMode = true;\n //this.codingUnitService.debugMode = true;\n //this.storeDataService.debugMode = true;\n //this.supplierService.debugMode = true;\n }\n \n lastCode = 0;\n showModal(Id, action) {\n debugger;\n if (action === 'Add') {\n this.router.navigate(['app/accounts/create-monthly-distribution/0'])\n\n }\n else if (action === 'Edit') {\n this.router.navigate(['app/accounts/create-monthly-distribution',Id])\n }\n else if (action === 'Info') {\n this.router.navigate(['app/accounts/create-monthly-distribution',Id])\n }\n this.tableView = false;\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n console.log((action + \" object\"), this.modelObject);\n \n \n console.log(\"modelObject after entering edit\", this.modelObject);\n }\n\n currentDate='';\n \n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true || result > 0) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n \n \n //lastCode = 0;\n codeWasChecked = false;\n checkCode() : boolean{\n if(!(this.lastCode > 0)){\n this.codeWasChecked = false;\n console.log(\"bad code\", this.lastCode);\n \n return this.codeWasChecked;\n }\n return this.codeWasChecked;\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n SearchFrom: Date = null ;\n SearchTo: Date= null;\n \n clearSearch() {\n this.SearchFrom= null ;\n this.SearchTo = null;\n }\n \n prevAction = '';\n \n \n \n loadServices() {\n this.currentAction = 'loading';\n this.tableEngine.loadData();\n\n \n \n }\n \n newMonthlyDistributionItemInternalId = 0;\n \n currentTotal = 0;\n \n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepChangeSort(sortKey) {\n this.SearchFrom ;\n this.SearchTo ;\n \n \n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n \n getFormattedDate(dateString: any){\n let splitDate: number[] = dateString.toString().split(\"/\");\n \n return new Date(splitDate[2], splitDate[1]-1, splitDate[0])\n }\n ///////////////////////////////////////////////////////\n \n displayMode = 'list';\n changeDisplayMode(mode): void {\n this.displayMode = mode;\n }\n itemsPerPageChange(perPage: number): void {\n this.tableEngine.paginateData(perPage, 1)\n }\n selectedCurrency = '';\n \n SearchKey = ''\n AddEnabled: boolean = true;\n dateSearch: boolean = true;\n searchDateRange(): void {\n this.tableEngine.filterDataByDateRange(this.SearchFrom,this.SearchTo,this.SearchKey==''?'Date':this.SearchKey);\n console.log(\"datefrom header\",this.SearchFrom);\n }\n searchUsingKeys(): void {\n this.tableEngine.filterData();\n }\n \n deleteSelected(): void {\n this.tableEngine.showDelModal('delMulti');\n }\n}\n","\n\n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n\n
    \n
    \n
    \n
    \n \n \n \n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n \n \n \n {{\"Code\" | translate}}\n \n \n \n \n {{\"Name\" | translate}}\n \n\n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • \n {{item}}
  • \n
    \n
    \n
    \n\n
    \n
    \n \n \n
    \n
    {{obj.Id}}{{obj.Name}}\n \n \n \n \n \n
    \n\n
    \n
    \n \n
    \n\n \n \n \n \n
    \n
    \n
    \n\n\n
    \n
    \n\n
    \n
    \n
    \n\n
    \n\n
     
    \n\n\n
     
    \n\n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { MonthlyDistributionModel } from '../../models/monthly-distribution.model';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { MonthlyDistributionService } from '../../monthly-distribution.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { MonthlyDistributionPercentagesModel } from '../../models/monthly-distribution-percentages.model';\n@Component({\n selector: 'create-monthly-distribution',\n templateUrl: 'create-monthly-distribution.component.html',\n styleUrls: ['create-monthly-distribution.component.scss']\n})\nexport class CreateMonthlyDistributionComponent implements OnInit{\n MonthlyDistribution:MonthlyDistributionModel={};\n declare lang: any;\n Id=0;\n Form:FormGroup;\n buttonName='Add';\n users:any[]=[];\n public editEnabled = true;\n public picurl: string ='';\n monthes:MonthlyDistributionPercentagesModel[]=[\n {Id:0,MonthlyNameAr:'يناير',MonthlyNameEn:'January',Percentage:8.33},\n {Id:0,MonthlyNameAr:'فبراير',MonthlyNameEn:'February',Percentage:8.33},\n {Id:0,MonthlyNameAr:'مارس',MonthlyNameEn:'March',Percentage:8.33},\n {Id:0,MonthlyNameAr:'أبريل',MonthlyNameEn:'April',Percentage:8.33},\n {Id:0,MonthlyNameAr:'مايو',MonthlyNameEn:'May',Percentage:8.33},\n {Id:0,MonthlyNameAr:'يونيو',MonthlyNameEn:'June',Percentage:8.33},\n {Id:0,MonthlyNameAr:'يوليو',MonthlyNameEn:'July',Percentage:8.33},\n {Id:0,MonthlyNameAr:'أغسطس',MonthlyNameEn:'August',Percentage:8.33},\n {Id:0,MonthlyNameAr:'سبتمبر',MonthlyNameEn:'September',Percentage:8.33},\n {Id:0,MonthlyNameAr:'أكتوبر',MonthlyNameEn:'October',Percentage:8.33},\n {Id:0,MonthlyNameAr:'نوفمبر',MonthlyNameEn:'November',Percentage:8.33},\n {Id:0,MonthlyNameAr:'ديسمبر',MonthlyNameEn:'December',Percentage:8.33},\n ]\n constructor(\n private route: ActivatedRoute,\n public router:Router,\n private MonthlyDistributionService:MonthlyDistributionService,\n public fb:FormBuilder,\n private translate: TranslateService,\n private notifications: NotificationsService,\n ){\n this.lang = localStorage.getItem('theme_lang');\n this.Id = + route.snapshot.paramMap.get('Id');\n \n }\n ngOnInit(): void {\n if(this.Id == 0){\n this.MonthlyDistribution = new MonthlyDistributionModel();\n this.Form = this.createForm();\n \n }\n else{\n this.MonthlyDistributionService.getById(this.Id)\n .subscribe(data=>{\n this.buttonName = \"Edit\"\n this.MonthlyDistribution =data;\n this.monthes = this.MonthlyDistribution.MonthlyDistributionPercentages;\n this.Form = this.createForm();\n })\n }\n \n }\n createForm():FormGroup{\n return this.fb.group({\n Id:[this.MonthlyDistribution.Id],\n FiscalYear:[this.MonthlyDistribution.FiscalYear],\n Name:[this.MonthlyDistribution.Name],\n MonthlyDistributionPercentages:[this.MonthlyDistribution.MonthlyDistributionPercentages],\n \n })\n }\n Save(){\n debugger;\n this.MonthlyDistribution = this.Form.getRawValue();\n this.MonthlyDistribution.Id = this.Id;\n this.MonthlyDistribution.MonthlyDistributionPercentages = this.monthes;\n if(this.Id > 0 ){\n this.MonthlyDistributionService.update(this.MonthlyDistribution)\n .subscribe(result => {\n if(result == true){\n this.router.navigate(['app/accounts/monthly-distribution']);\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n \n }\n else{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n\n }\n })\n }\n else{\n this.MonthlyDistributionService.insert(this.MonthlyDistribution)\n .subscribe(result => {\n if(result == true){\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdd\"));\n this.router.navigate(['app/accounts/monthly-distribution']);\n \n }\n else{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n\n }\n })\n }\n \n }\n addAndNew(){\n debugger;\n this.MonthlyDistribution = this.Form.getRawValue();\n this.MonthlyDistribution.Id = this.Id;\n this.MonthlyDistribution.MonthlyDistributionPercentages = this.monthes;\n if(this.Id > 0 ){\n this.MonthlyDistributionService.update(this.MonthlyDistribution)\n .subscribe(result => {\n if(result == true){\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n this.MonthlyDistribution = new MonthlyDistributionModel();\n this.picurl = '';\n }\n else{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n \n }\n })\n }\n else{\n this.MonthlyDistributionService.insert(this.MonthlyDistribution)\n .subscribe(result => {\n if(result == true){\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdd\"));\n this.MonthlyDistribution = new MonthlyDistributionModel();\n this.picurl = '';\n\n }\n else{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n\n }\n })\n }\n \n }\n\n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n}\n\n","
    \n {{\"Back\" |\n translate}}\n \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n

    {{ buttonName + ' Monthly Distribution' | translate }}

    \n \n
    \n \n \n \n
    \n
    \n
    \n \n \n
    \n \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n {{\"Monthes\"|translate}}\n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    #{{'Month'| translate}}{{'Percentage'| translate}}
    {{i+1}}\n {{lang==='ar-EG' ? Item.MonthlyNameAr : Item.MonthlyNameEn}}\n
    \n\n
    \n
    \n
    \n
    \n","import { MonthlyDistributionPercentagesModel } from \"./monthly-distribution-percentages.model\";\r\n\r\nexport class MonthlyDistributionModel{\r\n Id?:number;\r\n Name ?: string;\r\n FiscalYear ?: number;\r\n MonthlyDistributionPercentages ?: MonthlyDistributionPercentagesModel[];\r\n constructor(item ?: MonthlyDistributionModel){\r\n item = item ? item : {};\r\n this.FiscalYear = item.FiscalYear ? item.FiscalYear : 0;\r\n this.Name = item.Name ? item.Name : '';\r\n this.Id = item.Id ? item.Id : 0;\r\n this.MonthlyDistributionPercentages = item.MonthlyDistributionPercentages ? item.MonthlyDistributionPercentages : [];\r\n }\r\n}","import { environment } from 'src/environments/environment';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { MonthlyDistributionModel } from './models/monthly-distribution.model';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MonthlyDistributionService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}MonthlyDistribution/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}MonthlyDistribution/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n GetPayedAmount(InvoiceId:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}MonthlyDistribution/GetPayedAmount/${InvoiceId}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n GetLastCode(): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}MonthlyDistribution/GetLastCode`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n insert(payload: MonthlyDistributionModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}MonthlyDistribution/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: MonthlyDistributionModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}MonthlyDistribution/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: MonthlyDistributionModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}MonthlyDistribution/Delete`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n \r\n deleteList(payload: MonthlyDistributionModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}MonthlyDistribution/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { CatchReceiptCategoryService } from './services/catch-receipt-category.service';\nimport { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { NotificationsService } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\nimport { TableEngine } from '../../shared/TableEngine';\nimport { CatchReceiptCategoryModel } from './models/catch-receipt-category.model';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from '../../shared/side-popup/side-popup.component';\n\n@Component({\n selector: 'catch-receipt-category',\n templateUrl: 'catch-receipt-category.component.html',\n styleUrls: ['catch-receipt-category.component.scss']\n})\nexport class CatchReceiptCategoryComponent {\n\n constructor(private formBuilder: FormBuilder, public modelService: CatchReceiptCategoryService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService\n \n ) {\n }\n \n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n \n translationName: string = 'Catch Receipt Categories'\n \n sortableKeys = [];\n searchableKeys = ['NameEn', 'NameAr'];\n \n modelObject: CatchReceiptCategoryModel = new CatchReceiptCategoryModel();\n \n ogData: CatchReceiptCategoryModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n NameEn: new FormControl(),\n NameAr: new FormControl(),\n });\n \n \n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n \n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective;\n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' };\n this.sortableKeys = [\n { label: 'Name', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' },\n ];\n \n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n this.loadServices();\n }\n \n showModal(Id, action) {\n if (action === 'Add') {\n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n }\n else if (action === 'Edit') {\n \n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder)\n console.log(\"this model object:\" + this.modelObject);\n console.log(this.modelObject);\n console.log(\"table engine model object:\" + this.tableEngine.modelObject);\n console.log(this.tableEngine.modelObject);\n \n }\n else if (action === 'Info') {\n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder)\n }\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n }\n \n createForm(modelObject, formBuilder): FormGroup {\n //console.log(\"from craeteform\");\n \n //console.log(\"modelObject\",modelObject.NameEn);\n \n return formBuilder.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n NameEn: [modelObject.NameEn, Validators.compose([Validators.required, Validators.minLength(2)])],\n NameAr: [modelObject.NameAr, Validators.compose([Validators.required, Validators.pattern(/^[\\u0621-\\u064A]+([\\s]*[\\u0621-\\u064A]+)*$/)])],\n // PostalCode: [modelObject.PostalCode, Validators.compose([Validators.required, Validators.pattern(/^/d{5}$/)])],\n });\n }\n \n addObject() {\n this.currentAction = 'loading';\n \n this.modelObject = new CatchReceiptCategoryModel();\n this.modelObject.Id = 0;\n this.modelObject.NameEn = this.mainForm.getRawValue().NameEn;\n this.modelObject.NameAr = this.mainForm.getRawValue().NameAr;\n // this.modelObject.PostalCode = this.mainForm.getRawValue().PostalCode;\n \n this.executeAddObject();\n }\n \n executeAddObject() {\n console.log(this.modelObject);\n \n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n if (this.sideModalRef === undefined) {\n \n this.tableEngine.smallModal.hide();\n \n } else {\n \n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n \n editObject() {\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n \n let tempObj = new CatchReceiptCategoryModel({\n Id: this.modelObject.Id,\n NameEn: this.mainForm.getRawValue().NameEn,\n NameAr: this.mainForm.getRawValue().NameAr,\n // PostalCode : this.mainForm.getRawValue().PostalCode\n });\n \n if (JSON.stringify(tempObj) != JSON.stringify(this.modelObject)) {\n this.executeEditObject(tempObj);\n }\n else {if (this.sideModalRef === undefined) {\n \n this.tableEngine.smallModal.hide();\n \n } else {\n \n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n }\n \n executeEditObject(Object) {\n console.log(\"ObjectObject\", Object);\n \n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n if (this.sideModalRef === undefined) {\n \n this.tableEngine.smallModal.hide();\n \n } else {\n \n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n \n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n \n \n prepChangeSort(sortKey) {\n this.tableEngine.itemOrder = this.itemOrder;\n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey))\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n loadServices() {\n this.currentAction = 'loading';\n this.tableEngine.loadData();\n }\n \n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepSort(sortKey) {\n this.tableEngine.changeSort(this.tableEngine.getSort('Name'));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n }\n \n","\n\n
    \n
    \n
    \n
    \n
    \n

    \n {{tableEngine.currentFormMode+translationName | translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"NameArRequired\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n {{\"NameEnRequired\" | translate}}
    \n \n
    \n \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n tableEngine.deletionList.length === tableEngine.ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Name\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{lang==='ar-EG'?obj.NameAr:obj.NameEn}}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","export class CatchReceiptCategoryModel{\r\n Id?:number;\r\n NameAr?:string;\r\n NameEn?:string;\r\n constructor(item ?: CatchReceiptCategoryModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.NameAr = item.NameAr ? item.NameAr : '';\r\n this.NameEn = item.NameEn ? item.NameEn : '';\r\n }\r\n}","import { environment } from 'src/environments/environment';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { CatchReceiptCategoryModel } from '../models/catch-receipt-category.model';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CatchReceiptCategoryService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}CatchReceiptCategory/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}CatchReceiptCategory/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: CatchReceiptCategoryModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}CatchReceiptCategory/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: CatchReceiptCategoryModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}CatchReceiptCategory/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: CatchReceiptCategoryModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}CatchReceiptCategory/Delete`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n \r\n deleteList(payload: CatchReceiptCategoryModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}CatchReceiptCategory/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { Component, OnInit, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { CatchReceiptService } from './services/catch-receipt.service';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { CatchReceiptModel } from './models/catch-receipt.model';\nimport { DataFilterer } from '../../shared/DataFilterer';\nimport { DataSorter } from '../../shared/DataSorter';\nimport { DataPaginator } from '../../shared/DataPaginator';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { DatePipe } from '@angular/common';\nimport { ListPageHeaderComponent } from 'src/app/containers/pages/list-page-header/list-page-header.component';\nimport { TableEngine } from '../../shared/TableEngine';\nimport { SidePopupComponent } from '../../shared/side-popup/side-popup.component';\n\n@Component({\n selector: 'catch-receipt',\n templateUrl: 'catch-receipt.component.html',\n styleUrls: ['catch-receipt.component.scss']\n})\nexport class CatchReceiptComponent {\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n \n //Enable debugMode to make API modules return static data from within the service class\n debugMode: boolean = false;\n \n constructor(private formBuilder: FormBuilder, private modelService: CatchReceiptService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private datePipe: DatePipe,\n private router : Router\n ) {\n }\n listHeader = new ListPageHeaderComponent();\n @ViewChild('search') search: any;\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n tableView: any = true;\n \n translationName: string = 'CatchReceipt'\n \n sortableKeys = [];\n searchableKeys = ['Id'];\n \n modelObject: CatchReceiptModel = new CatchReceiptModel();\n \n ogData: CatchReceiptModel[] = [];\n mainForm: FormGroup = new FormGroup({\n });\n \n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n branches:any[]=[];\n employees:any[]=[];\n roles:any[]=[];\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective=null;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective =null;\n formPresentationModal: any;\n ngOnInit(): void {\n \n if (this.debugMode) {\n this.enableDebugOnAllServices();\n }\n \n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Code', property: 'Code' };\n this.sortableKeys = [\n { label: 'Code', property: 'Code' },\n { label: 'Date', property: 'Date' },\n { label: 'Amount', property: 'Amount' },\n \n ];\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n \n this.loadServices();\n }\n \n \n enableDebugOnAllServices() {\n //this.modelService.debugMode = true;\n // this.itemService.debugMode = true;\n //this.codingUnitService.debugMode = true;\n //this.storeDataService.debugMode = true;\n //this.supplierService.debugMode = true;\n }\n \n lastCode = 0;\n showModal(Id, action) {\n debugger;\n if (action === 'Add') {\n this.router.navigate(['app/accounts/create-catch-receipt/0'])\n\n }\n else if (action === 'Edit') {\n this.router.navigate(['app/accounts/create-catch-receipt',Id])\n }\n else if (action === 'Info') {\n this.router.navigate(['app/accounts/create-catch-receipt',Id])\n }\n this.tableView = false;\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n console.log((action + \" object\"), this.modelObject);\n \n \n console.log(\"modelObject after entering edit\", this.modelObject);\n }\n\n currentDate='';\n \n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true || result > 0) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n \n \n //lastCode = 0;\n codeWasChecked = false;\n checkCode() : boolean{\n if(!(this.lastCode > 0)){\n this.codeWasChecked = false;\n console.log(\"bad code\", this.lastCode);\n \n return this.codeWasChecked;\n }\n return this.codeWasChecked;\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n SearchFrom: Date = null ;\n SearchTo: Date= null;\n \n clearSearch() {\n this.SearchFrom= null ;\n this.SearchTo = null;\n }\n \n prevAction = '';\n \n \n \n loadServices() {\n this.currentAction = 'loading';\n this.tableEngine.loadData();\n\n \n \n }\n \n newCatchReceiptItemInternalId = 0;\n \n currentTotal = 0;\n \n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepChangeSort(sortKey) {\n this.SearchFrom ;\n this.SearchTo ;\n \n \n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n \n getFormattedDate(dateString: any){\n let splitDate: number[] = dateString.toString().split(\"/\");\n \n return new Date(splitDate[2], splitDate[1]-1, splitDate[0])\n }\n ///////////////////////////////////////////////////////\n \n displayMode = 'list';\n changeDisplayMode(mode): void {\n this.displayMode = mode;\n }\n itemsPerPageChange(perPage: number): void {\n this.tableEngine.paginateData(perPage, 1)\n }\n selectedCurrency = '';\n \n SearchKey = ''\n AddEnabled: boolean = true;\n dateSearch: boolean = true;\n searchDateRange(): void {\n this.tableEngine.filterDataByDateRange(this.SearchFrom,this.SearchTo,this.SearchKey==''?'Date':this.SearchKey);\n console.log(\"datefrom header\",this.SearchFrom);\n }\n searchUsingKeys(): void {\n this.tableEngine.filterData();\n }\n \n deleteSelected(): void {\n this.tableEngine.showDelModal('delMulti');\n }\n \n \n }\n ","\n\n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n\n
    \n
    \n
    \n
    \n \n \n \n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n \n \n \n {{\"Code\" | translate}}\n \n \n \n \n {{\"Date\" | translate}}\n \n \n \n \n {{\"Amount\" | translate}}\n \n\n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • \n {{item}}
  • \n
    \n
    \n
    \n\n
    \n
    \n \n \n
    \n
    {{obj.Code}}{{obj.Date|date:'dd/MM/yyyy'}}{{obj.Amount}}\n \n \n \n \n \n
    \n\n
    \n
    \n \n
    \n\n \n \n \n \n
    \n
    \n
    \n\n\n
    \n
    \n\n
    \n
    \n
    \n\n
    \n\n
     
    \n\n\n
     
    \n\n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { TreasuryAndBankAccountsService } from './../../treasury-and-bank-accounts/treasury-and-bank-accounts.service';\nimport { CurrencyModel } from 'src/app/invoices/currencies/CurrencyModel';\nimport { CatchReceiptCategoryService } from './../../catch-receipt-category/services/catch-receipt-category.service';\nimport { CatchReceiptCategoryModel } from './../../catch-receipt-category/models/catch-receipt-category.model';\nimport { FormGroup, FormBuilder } from '@angular/forms';\nimport { CatchReceiptService } from './../services/catch-receipt.service';\nimport { CatchReceiptModel } from './../models/catch-receipt.model';\nimport { Component, OnInit } from '@angular/core';\nimport { AccountsNameService } from '../../account-name/AccountNameService';\nimport { CostCenterService } from '../../cost-center/services/cost-center.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { CurrencyService } from 'src/app/invoices/currencies/CurrencyService';\nimport { CatchReceiptAccountsModel } from '../models/catch-receipt-accounts.model';\nimport { AccountNameModel } from '../../account-name/AccountNameModel';\nimport { CostCenterModel } from '../../cost-center/models/cost-center.model';\nimport { CatchReceiptCostCenterModel } from '../models/catch-receipt-cost-center.model';\nimport { LockerBasicModel } from '../../locker-data/helper/model';\nimport { LockersDataService } from '../../locker-data/helper/serves';\nimport { BankCodeModel } from '../../bank-code/bank_code_model';\nimport { BankCodeService } from '../../bank-code/serves';\nimport { TaxTypesModel } from 'src/app/invoices/tax-types/TaxTypesModel';\nimport { TaxTypesService } from 'src/app/invoices/tax-types/TaxTypesService';\nimport { CatchReceiptFilesModel } from '../models/catch-receipt-files.model';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { EmployeesManagementService } from 'src/app/HR/Employees/EmployeesManagement/employees-management.service';\nimport { EmployeesManagementModel } from 'src/app/HR/Employees/EmployeesManagement/EmployeesManagementModel';\nimport { InvoiceService } from 'src/app/invoices/invoices/InvoiceService';\nimport { InvoiceModel } from 'src/app/invoices/invoices/InvoiceModel';\n\n@Component({\n selector: 'create-catch-receipt',\n templateUrl: 'create-catch-receipt.component.html',\n styleUrls: ['create-catch-receipt.component.scss']\n})\nexport class CreateCatchReceiptComponent implements OnInit{\n catchReceit:CatchReceiptModel={};\n declare lang: any;\n Id=0;\n Form:FormGroup;\n buttonName='Add';\n categories:CatchReceiptCategoryModel[]=[];\n curenncies:CurrencyModel[]=[];\n users:any[]=[];\n SelectedAccount:CatchReceiptAccountsModel[]=[{AccountId:0,Amount:0,CatchReceiptId:this.Id,Description:'',Id:0}];\n SelectedCostCenters:CatchReceiptCostCenterModel[]=[{CostCenterId:0,Amount:0,CatchReceiptId:this.Id,Percent:0,Id:0}];\n LockersData:LockerBasicModel[]=[];\n public editEnabled = true;\n public picurl: string ='';\n AccountsNameModel: AccountNameModel[] = [];\n PackUpAccounts: AccountNameModel[] = [];\n centers:CostCenterModel[]=[];\n Banks:BankCodeModel[]=[];\n Treasuries:any[]=[];\n taxes:TaxTypesModel[]=[]\n invoices:InvoiceModel[]=[];\n employees:EmployeesManagementModel[]=[];\n constructor(\n private CurrencyService: CurrencyService, \n private accountsNameService: AccountsNameService,\n private costCenterService:CostCenterService,\n private route: ActivatedRoute,\n public router:Router,\n private catchReceiptService:CatchReceiptService,\n public fb:FormBuilder,\n private catchReceiptCategoryService:CatchReceiptCategoryService,\n private LockersDataService:LockersDataService,\n private BankCodeService:BankCodeService,\n private treasuryService:TreasuryAndBankAccountsService,\n private taxService:TaxTypesService,\n private translate: TranslateService,\n private notifications: NotificationsService,\n private employeeService:EmployeesManagementService,\n private invoiceService:InvoiceService\n ){\n this.lang = localStorage.getItem('theme_lang');\n this.Id = + route.snapshot.paramMap.get('Id');\n \n }\n centersLoaded= false;\n TreasuriesLoaded= false;\n taxesLoaded= false;\n AccountsLoaded= false;\n categoriesLoaded= false;\n curennciesLoaded= false;\n ngOnInit(): void {\n this.invoiceService.GetAllNotPayed()\n .subscribe(result =>{\n this.invoices = result;\n })\n this.employeeService.getAll().subscribe(data=>{\n this.employees = data;\n })\n this.treasuryService.getAll()\n .subscribe(data=>{\n\n this.Treasuries = data;\n this.TreasuriesLoaded = true;\n })\n this.taxService.getAll()\n .subscribe(data => {\n this.taxes = data;\n this.taxesLoaded = true;\n\n })\n this.accountsNameService.GetAllSubAccountes(0).subscribe(\n data=>{\n this.AccountsNameModel=data;\n this.PackUpAccounts = data.map(item=>Object.assign({}, item))\n this.AccountsLoaded = true;\n\n }\n );\n this.catchReceiptCategoryService.getAll()\n .subscribe(cstegorie=>{\n this.categories = cstegorie\n this.categoriesLoaded = true;\n\n })\n this.CurrencyService.getAll()\n .subscribe(data => {\n this.curenncies = data;\n this.curennciesLoaded = true;\n })\n this.costCenterService.getAll(0)\n .subscribe(cosetCenters=>{\n this.centers = cosetCenters;\n this.centersLoaded = true;\n })\n if(this.Id == 0){\n this.catchReceiptService.GetLastCode()\n .subscribe(code=>{\n this.catchReceit = new CatchReceiptModel();\n this.catchReceit.Code = code + 1;\n this.Form = this.createForm();\n this.curenncies.forEach(element => {\n if(element.IsMain == true){\n this.Form.controls['CurrencyId'].setValue(element.Id);\n }\n });\n })\n \n }\n else{\n this.catchReceiptService.getById(this.Id)\n .subscribe(data=>{\n this.buttonName = \"Edit\"\n this.catchReceit =data;\n this.SelectedAccount =this.catchReceit.Accounts ;\n this.SelectedCostCenters=this.catchReceit.CostCenters ;\n this.files =this.catchReceit.Files ;\n this.Form = this.createForm();\n })\n }\n \n }\n createForm():FormGroup{\n return this.fb.group({\n Id :[this.catchReceit.Id ],\n Amount :[this.catchReceit.Amount ],\n CurrencyId :[this.catchReceit.CurrencyId ],\n Code :[this.catchReceit.Code ],\n Date :[this.catchReceit.Date ],\n TheRecipient :[this.catchReceit.TheRecipient ],\n CategoryId :[this.catchReceit.CategoryId ],\n TaxId :[this.catchReceit.TaxId ],\n TaxValue :[this.catchReceit.TaxValue ],\n IsMulti :[this.catchReceit.IsMulti ],\n WithCostCenters :[this.catchReceit.WithCostCenters ],\n IsFrequent :[this.catchReceit.IsFrequent ],\n FrequentType :[this.catchReceit.FrequentType ],\n ExpiryDate :[this.catchReceit.ExpiryDate ],\n Files :[this.catchReceit.Files ],\n Description :[this.catchReceit.Description ],\n Accounts :[this.catchReceit.Accounts ],\n CostCenters :[this.catchReceit.CostCenters ],\n AccountId :[this.catchReceit.AccountId ],\n Treasury :[this.catchReceit.Treasury ],\n TreasuryType :[this.catchReceit.TreasuryType ],\n InvoiceId :[this.catchReceit.InvoiceId ],\n })\n }\n setIsMulti(IsMulti){\n this.Form.controls['IsMulti'].setValue(IsMulti);\n if(this.Form.controls['IsMulti'].value==false){\n this.SelectedAccount=[{AccountId:0,Amount:0,CatchReceiptId:this.Id,Description:'',Id:0}];\n }\n else if(this.Form.controls['IsMulti'].value==true){\n this.Form.controls['AccountId'].setValue(0);\n this.SelectedCostCenters=[{CostCenterId:0,Amount:0,CatchReceiptId:this.Id,Percent:0,Id:0}];\n this.Form.controls['TaxId'].setValue(0);\n this.Form.controls['TaxValue'].setValue(0);\n\n }\n }\n splitAccount($event){\n debugger;\n var i = this.AccountsNameModel.findIndex(x=>x.Id == $event.Id);\n if(i > -1){\n this.AccountsNameModel.splice(i,1);\n }\n }\n deleteSelectedAccount(item){\n debugger;\n var i = this.SelectedAccount.indexOf(item);\n if(i > -1){\n \n var x= this.PackUpAccounts.findIndex(x=>x.Id == this.SelectedAccount[i].AccountId);\n if(x > -1){\n\n this.AccountsNameModel.push(this.PackUpAccounts[x]);\n }\n this.SelectedAccount.splice(i,1);\n this.changeAccountAmount();\n }\n }\n AddonClick(){\n debugger;\n var selectedDailyrestrictionsFooterModel =new CatchReceiptAccountsModel();\n selectedDailyrestrictionsFooterModel.Id = this.SelectedAccount.length+1 ;\n selectedDailyrestrictionsFooterModel.Amount = 0 ;\n selectedDailyrestrictionsFooterModel.AccountId = 0 ;\n selectedDailyrestrictionsFooterModel.CatchReceiptId = this.Id ;\n selectedDailyrestrictionsFooterModel.Description = \"\" ;\n this.SelectedAccount.push(selectedDailyrestrictionsFooterModel);\n }\n AddCostCenter(){\n this.SelectedCostCenters.push(new CatchReceiptCostCenterModel());\n }\n deleteCostCenter(cost){\n var i = this.SelectedCostCenters.indexOf(cost);\n if(i > -1){\n this.SelectedCostCenters.splice(i,1);\n }\n \n }\n changePercent(cost,$event){\n debugger;\n var amount = this.Form.controls['Amount'].value;\n cost.Percent = + $event.target.value;\n var totalPercent = 0;\n this.SelectedCostCenters.forEach(element => {\n totalPercent += element.Percent;\n });\n totalPercent = totalPercent - cost.Percent;\n if(cost.Percent <= 100 && cost.Percent > 0 && totalPercent < 100){\n if((cost.Percent+totalPercent) > 100){\n cost.Percent = 100 - totalPercent ;\n if(cost.Percent < 0){\n cost.Percent *= -1\n }\n }\n cost.Amount = (amount * cost.Percent) / 100;\n\n }\n else if(totalPercent >= 100){\n cost.Percent = 0;\n cost.Amount = (amount * cost.Percent) / 100;\n\n }\n else if(cost.Percent > 100){\n cost.Percent = 100;\n cost.Amount = (amount * cost.Percent) / 100;\n\n }\n }\n\n changeAmount(cost,$event){\n debugger;\n\n var amount = this.Form.controls['Amount'].value;\n cost.Amount = + $event.target.value;\n var totalPercent = 0;\n this.SelectedCostCenters.forEach(element => {\n totalPercent += element.Percent;\n });\n cost.Percent =(cost.Amount * 100)/ amount\n\n if(cost.Percent <= 100 && cost.Percent > 0&& totalPercent < 100){\n if((cost.Percent+totalPercent) > 100){\n cost.Percent = 100 - totalPercent ;\n if(cost.Percent < 0){\n cost.Percent *= -1\n }\n\n }\n cost.Amount = (amount * cost.Percent) / 100;\n\n }\n else if(totalPercent >= 100){\n cost.Percent = 0;\n cost.Amount = (amount * cost.Percent) / 100;\n\n }\n else if(cost.Percent > 100){\n cost.Percent = 100;\n cost.Amount = (amount * cost.Percent) / 100;\n\n }\n }\n changeAccountAmount(){\n var total = 0;\n this.SelectedAccount.forEach(element => {\n total += element.Amount;\n });\n var amount = this.Form.controls['Amount'].setValue(total);\n }\n Save(){\n debugger;\n this.catchReceit = this.Form.getRawValue();\n this.catchReceit.Id = this.Id;\n this.catchReceit.Accounts = this.SelectedAccount;\n this.catchReceit.CostCenters = this.SelectedCostCenters;\n this.catchReceit.Files = this.files;\n if(this.Id > 0 ){\n this.catchReceiptService.update(this.catchReceit)\n .subscribe(result => {\n if(result == true){\n this.router.navigate(['app/accounts/catch-receipt']);\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n \n }\n else{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n\n }\n })\n }\n else{\n this.catchReceiptService.insert(this.catchReceit)\n .subscribe(result => {\n if(result == true){\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdd\"));\n this.router.navigate(['app/accounts/catch-receipt']);\n \n }\n else{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n\n }\n })\n }\n \n }\n addAndNew(){\n debugger;\n this.catchReceit = this.Form.getRawValue();\n this.catchReceit.Id = this.Id;\n this.catchReceit.Accounts = this.SelectedAccount;\n this.catchReceit.CostCenters = this.SelectedCostCenters;\n this.catchReceit.Files = this.files;\n if(this.Id > 0 ){\n this.catchReceiptService.update(this.catchReceit)\n .subscribe(result => {\n if(result == true){\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n this.catchReceit = new CatchReceiptModel();\n this.picurl = '';\n this.SelectedAccount = [];\n this.SelectedCostCenters = [];\n this.files = [];\n }\n else{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n \n }\n })\n }\n else{\n this.catchReceiptService.insert(this.catchReceit)\n .subscribe(result => {\n if(result == true){\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdd\"));\n this.catchReceit = new CatchReceiptModel();\n this.picurl = '';\n this.SelectedAccount = [];\n this.SelectedCostCenters = [];\n this.files = [];\n\n }\n else{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n\n }\n })\n }\n \n }\n files:CatchReceiptFilesModel[]=[];\n setFileToList(){\n var file = new CatchReceiptFilesModel();\n file.CatchReceiptId = this.Id ;\n file.FileUrl = this.picurl;\n file.Id = 0;\n this.files.push(file);\n }\n deleteFile(file){\n var i = this.files.indexOf(file);\n if(i>-1){\n this.files.splice(i,1);\n }\n }\n maxAmount=0;\n GetPayedAmount(){\n var InvoiceId = this.Form.controls['InvoiceId'].value;\n this.catchReceiptService.GetPayedAmount(InvoiceId)\n .subscribe(result=>{\n console.log('PayedAmount',result);\n var invoiceIndex = this.invoices.findIndex(x=>x.Id == InvoiceId);\n if(invoiceIndex > -1){\n this.maxAmount = this.invoices[invoiceIndex].totalAmount - result;\n this.Form.controls['Amount'].setValue(this.maxAmount);\n\n }\n })\n }\n \n chickAmount(){\n var amount = this.Form.controls['Amount'].value;\n if(amount > this.maxAmount && this.maxAmount > 0){\n this.Form.controls['Amount'].setValue(this.maxAmount);\n }\n }\n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n}\n\n","
    \n {{\"Back\" |\n translate}}\n \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n

    {{ buttonName + ' Catch Receipt' | translate }}

    \n \n
    \n \n \n \n
    \n
    \n
    \n \n \n
    \n \n \n \n {{\"Currency\" | translate}}\n {{lang==='ar-EG'?item.Code:item.Code}}\n \n
    \n
    \n \n
    \n \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n
    #{{i+1}}{{\"Download\"|translate}}\n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n \n
    \n \n \n
    \n
    \n \n \n {{ \"Invoice\"|translate}}\n {{car.InvoiceNumber}}#\n \n
    \n
    \n
    \n
    \n
    \n\n
    \n \n \n {{ \"Please Choose\"|translate}}\n {{ lang==='ar-EG'? car.Name:car.Name}}\n \n
    \n
    \n \n \n {{ \"Please Choose\"|translate}}\n {{ lang==='ar-EG'? car.NameAr:car.NameEn}}\n \n \n\n
    \n
    \n \n \n {{ \"Please Choose\"|translate}}\n {{ car.Name}}\n \n \n
    \n
    \n
    \n
    \n \n {{ 'Multi' | translate }}\n {{ 'Multi' | translate }}\n \n {{ \"Please Choose\"|translate}}\n {{ lang==='ar-EG'? car.NameAr:car.NameEn}}\n \n \n
    \n
    \n \n \n {{ \"Please Choose\"|translate}}\n {{ lang==='ar-EG'? car.NameAr:car.NameEn}}\n \n \n
    \n
    \n \n {{'Frequent'|translate}}\n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n \n {{'Set cost centers'|translate}}\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n {{\"Accounts\"|translate}}\n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    #{{'Account'| translate}}{{'Description'| translate}}{{'Amount'| translate}}{{'Delete'| translate}}
    {{i+1}}\n \n \n \n \n \n \n \n \n
    \n\n
    \n
    \n
    \n {{' '}}\n\n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n {{\"Cost Centers\"|translate}}\n
    \n \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    #{{'Cost Center'| translate}}{{'Percent'| translate}}{{'Amount'| translate}}{{'Delete'| translate}}
    {{i + 1}}\n \n \n \n \n \n \n
    \n \n
    \n
    \n
    \n {{' '}}\n\n
    \n
    \n
    ","export class CatchReceiptAccountsModel{\r\n Id?: number;\r\n AccountId?: number;\r\n CatchReceiptId?: number;\r\n Description?: string;\r\n Amount?: number;\r\n constructor(item ?: CatchReceiptAccountsModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.AccountId = item.AccountId ? item.AccountId : 0;\r\n this.CatchReceiptId = item.CatchReceiptId ? item.CatchReceiptId : 0;\r\n this.Amount = item.Amount ? item.Amount : 0;\r\n this.Description = item.Description ? item.Description : '';\r\n }\r\n}","export class CatchReceiptCostCenterModel{\r\n Id?: number;\r\n CostCenterId?: number;\r\n Percent?: number;\r\n Amount?: number;\r\n CatchReceiptId?: number;\r\n constructor(item ?: CatchReceiptCostCenterModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.CostCenterId = item.CostCenterId ? item.CostCenterId : 0;\r\n this.Percent = item.Percent ? item.Percent : 0;\r\n this.Amount = item.Amount ? item.Amount : 0;\r\n this.CatchReceiptId = item.CatchReceiptId ? item.CatchReceiptId : 0;\r\n }\r\n}","export class CatchReceiptFilesModel{\r\n Id?:number;\r\n CatchReceiptId?:number;\r\n FileUrl?:string;\r\n constructor(item ?: CatchReceiptFilesModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.CatchReceiptId = item.CatchReceiptId ? item.CatchReceiptId : 0;\r\n this.FileUrl = item.FileUrl ? item.FileUrl : '';\r\n }\r\n}","import { CatchReceiptAccountsModel } from './catch-receipt-accounts.model';\r\nimport { CatchReceiptCostCenterModel } from './catch-receipt-cost-center.model';\r\nimport { CatchReceiptFilesModel } from './catch-receipt-files.model'\r\nexport class CatchReceiptModel{\r\n Id ?: number;\r\n Amount ?: number;\r\n CurrencyId ?: number;\r\n Code ?: number;\r\n AccountId ?:number;\r\n Treasury ?:number;\r\n Date ?: Date;\r\n TheRecipient ?: number;\r\n CategoryId ?: number;\r\n TaxId ?: number;\r\n TaxValue ?: number;\r\n IsMulti ?: boolean;\r\n WithCostCenters?: boolean;\r\n IsFrequent ?: boolean;\r\n FrequentType ?: string;\r\n ExpiryDate ?: Date;\r\n Files?: CatchReceiptFilesModel[];\r\n Description ?: string;\r\n Accounts ?: CatchReceiptAccountsModel[];\r\n CostCenters ?: CatchReceiptCostCenterModel[];\r\n TreasuryType ?: number; //1 for Treasury and 2 for banck account\r\n InvoiceId ?: number;\r\n constructor(item ?: CatchReceiptModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.InvoiceId = item.InvoiceId ? item.InvoiceId : 0;\r\n this.Amount = item.Amount ? item.Amount : 0;\r\n this.CurrencyId = item.CurrencyId ? item.CurrencyId : 0;\r\n this.Code = item.Code ? item.Code : 0;\r\n this.AccountId = item.AccountId ? item.AccountId : 0;\r\n this.Treasury = item.Treasury ? item.Treasury : 0;\r\n this.Date = item.Date ? item.Date : new Date();\r\n this.TheRecipient = item.TheRecipient ? item.TheRecipient : 0;\r\n this.CategoryId = item.CategoryId ? item.CategoryId : 0;\r\n this.TaxId = item.TaxId ? item.TaxId : 0;\r\n this.TaxValue = item.TaxValue ? item.TaxValue : 0;\r\n this.TreasuryType = item.TreasuryType ? item.TreasuryType : 0;\r\n this.IsMulti = item.IsMulti ? item.IsMulti : false;\r\n this.WithCostCenters = item.WithCostCenters ? item.WithCostCenters : false;\r\n this.IsFrequent = item.IsFrequent ? item.IsFrequent : false;\r\n this.FrequentType = item.FrequentType ? item.FrequentType : '';\r\n this.ExpiryDate = item.ExpiryDate ? item.ExpiryDate : new Date();\r\n this.Files = item.Files ? item.Files : [];\r\n this.Description = item.Description ? item.Description : '';\r\n this.Accounts = item.Accounts ? item.Accounts : [];\r\n this.CostCenters = item.CostCenters ? item.CostCenters : [];\r\n }\r\n}","import { environment } from 'src/environments/environment';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { CatchReceiptModel } from '../models/catch-receipt.model';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CatchReceiptService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}CatchReceipt/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}CatchReceipt/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n GetPayedAmount(InvoiceId:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}CatchReceipt/GetPayedAmount/${InvoiceId}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n GetLastCode(): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}CatchReceipt/GetLastCode`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n insert(payload: CatchReceiptModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}CatchReceipt/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: CatchReceiptModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}CatchReceipt/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: CatchReceiptModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}CatchReceipt/Delete`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n \r\n deleteList(payload: CatchReceiptModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}CatchReceipt/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { FileUploader } from 'ng2-file-upload';\nimport { environment } from 'src/environments/environment';\n\n@Component({\n selector: 'upload-image',\n templateUrl: 'upload-image.component.html',\n styleUrls: ['upload-image.component.scss']\n})\nexport class UploadImageComponent implements OnInit {\n public NationalIDImage: FileUploader;\n public hasDragOver = false;\n \n @Input()\n public editmode = false;\n \n @Input()\n public url = '';\n \n @Output()\n public urlChange = new EventEmitter();\n declare lang: any;\n \n constructor(private translate: TranslateService, private notifications: NotificationsService) {\n this.lang = localStorage.getItem('theme_lang');\n\n this.NationalIDImage = new FileUploader({\n url: environment.baseApiUrl+'CatchReceipt/UploadFile',\n disableMultipart: false,\n autoUpload: true\n });\n \n this.NationalIDImage.response.subscribe(res => {\n // Upload returns a JSON with the image ID\n if(res != null && res != \"\" && res != undefined){\n this.url = environment.apiUrl+ '/Resources/CatchReceiptFiles/' + JSON.parse(res);\n this.urlChange.emit(this.url);\n }\n else{\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessUpload\"))\n }\n },error =>{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedUpload\"))\n });\n }\n \n public fileOver(e: any): void {\n \n this.hasDragOver = e;\n }\n \n ngOnInit() {\n \n }\n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n }\n ","
    \n \n \n \n \n
    \n ","import { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { BasicModel } from \"./helper/model\";\nimport { CheckStatusService } from './helper/serves';\n\n\n\nimport { TableEngine } from 'src/app/views/app/aio/shared/TableEngine'\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from '../../shared/side-popup/side-popup.component';\n\n@Component({\n // moduleId: module.id,\n selector: 'check-statuses',\n templateUrl: 'check-statuses.component.html',\n styleUrls: ['check-statuses.component.scss']\n})\nexport class CheckStatusesComponent{\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n\n constructor(private formBuilder: FormBuilder, public modelService: CheckStatusService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService\n\n ) {\n }\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n\n translationName: string = 'Check Statuses'\n\n sortableKeys = [];\n searchableKeys = ['NameEn', 'NameAr'];\n\n modelObject: BasicModel = new BasicModel();\n\n ogData: BasicModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n NameEn: new FormControl(),\n NameAr: new FormControl(),\n });\n\n\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective;\n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' };\n this.sortableKeys = [\n { label: 'Name', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' },\n ];\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n this.loadServices();\n }\n\n showModal(Id, action) {\n if (action === 'Add') {\n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n }\n else if (action === 'Edit') {\n\n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder)\n console.log(\"this model object:\" + this.modelObject);\n console.log(this.modelObject);\n console.log(\"table engine model object:\" + this.tableEngine.modelObject);\n console.log(this.tableEngine.modelObject);\n\n }\n else if (action === 'Info') {\n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder)\n }\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n }\n\n createForm(modelObject, formBuilder): FormGroup {\n //console.log(\"from craeteform\");\n\n //console.log(\"modelObject\",modelObject.NameEn);\n\n return formBuilder.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n NameEn: [modelObject.NameEn, Validators.compose([Validators.required, Validators.minLength(2)])],\n NameAr: [modelObject.NameAr, Validators.compose([Validators.required, Validators.pattern(/^[\\u0621-\\u064A]+([\\s]*[\\u0621-\\u064A]+)*$/)])],\n // PostalCode: [modelObject.PostalCode, Validators.compose([Validators.required, Validators.pattern(/^/d{5}$/)])],\n });\n }\n\n addObject() {\n this.currentAction = 'loading';\n\n this.modelObject = new BasicModel();\n this.modelObject.Id = 0;\n this.modelObject.NameEn = this.mainForm.getRawValue().NameEn;\n this.modelObject.NameAr = this.mainForm.getRawValue().NameAr;\n // this.modelObject.PostalCode = this.mainForm.getRawValue().PostalCode;\n\n this.executeAddObject();\n }\n\n executeAddObject() {\n console.log(this.modelObject);\n\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n\n editObject() {\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n\n let tempObj = new BasicModel({\n Id: this.modelObject.Id,\n NameEn: this.mainForm.getRawValue().NameEn,\n NameAr: this.mainForm.getRawValue().NameAr,\n // PostalCode : this.mainForm.getRawValue().PostalCode\n });\n\n if (JSON.stringify(tempObj) != JSON.stringify(this.modelObject)) {\n this.executeEditObject(tempObj);\n }\n else {if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n }\n\n executeEditObject(Object) {\n console.log(\"ObjectObject\", Object);\n\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n\n\n prepChangeSort(sortKey) {\n this.tableEngine.itemOrder = this.itemOrder;\n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey))\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n loadServices() {\n this.currentAction = 'loading';\n this.tableEngine.loadData();\n }\n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepSort(sortKey) {\n this.tableEngine.changeSort(this.tableEngine.getSort('Name'));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n

    \n {{tableEngine.currentFormMode+translationName | translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"NameArRequired\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n {{\"NameEnRequired\" | translate}}
    \n \n
    \n \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n tableEngine.deletionList.length === tableEngine.ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Name\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{lang==='ar-EG'?obj.NameAr:obj.NameEn}}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","export class BasicModel{\r\n Id?: number;\r\n NameAr?: string;\r\n NameEn?: string;\r\n constructor(item?: BasicModel) {\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.NameAr = item.NameAr ? item.NameAr : '';\r\n this.NameEn = item.NameEn ? item.NameEn : '';\r\n }\r\n }","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { BasicModel } from \"./model\";\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CheckStatusService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}CheckStatus/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}CheckStatus/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: BasicModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}CheckStatus/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: BasicModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}CheckStatus/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: BasicModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}CheckStatus/Delete`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n \r\n deleteList(payload: BasicModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}CheckStatus/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { BasicModel } from \"./helper/model\";\nimport { CheckTypeService } from './helper/serves';\n\n\n\nimport { TableEngine } from 'src/app/views/app/aio/shared/TableEngine'\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from '../../shared/side-popup/side-popup.component';\n\n@Component({\n // moduleId: module.id,\n selector: 'check-types',\n templateUrl: 'check-types.component.html',\n styleUrls: ['check-types.component.scss']\n})\nexport class CheckTypesComponent{\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n\n constructor(private formBuilder: FormBuilder, public modelService: CheckTypeService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService\n\n ) {\n }\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n\n translationName: string = 'Check Type'\n\n sortableKeys = [];\n searchableKeys = ['NameEn', 'NameAr'];\n\n modelObject: BasicModel = new BasicModel();\n\n ogData: BasicModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n NameEn: new FormControl(),\n NameAr: new FormControl(),\n });\n\n\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective;\n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' };\n this.sortableKeys = [\n { label: 'Name', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' },\n ];\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n this.loadServices();\n }\n\n showModal(Id, action) {\n if (action === 'Add') {\n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n }\n else if (action === 'Edit') {\n\n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder)\n console.log(\"this model object:\" + this.modelObject);\n console.log(this.modelObject);\n console.log(\"table engine model object:\" + this.tableEngine.modelObject);\n console.log(this.tableEngine.modelObject);\n\n }\n else if (action === 'Info') {\n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder)\n }\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n }\n\n createForm(modelObject, formBuilder): FormGroup {\n //console.log(\"from craeteform\");\n\n //console.log(\"modelObject\",modelObject.NameEn);\n\n return formBuilder.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n NameEn: [modelObject.NameEn, Validators.compose([Validators.required, Validators.minLength(2)])],\n NameAr: [modelObject.NameAr, Validators.compose([Validators.required, Validators.pattern(/^[\\u0621-\\u064A]+([\\s]*[\\u0621-\\u064A]+)*$/)])],\n // PostalCode: [modelObject.PostalCode, Validators.compose([Validators.required, Validators.pattern(/^/d{5}$/)])],\n });\n }\n\n addObject() {\n this.currentAction = 'loading';\n\n this.modelObject = new BasicModel();\n this.modelObject.Id = 0;\n this.modelObject.NameEn = this.mainForm.getRawValue().NameEn;\n this.modelObject.NameAr = this.mainForm.getRawValue().NameAr;\n // this.modelObject.PostalCode = this.mainForm.getRawValue().PostalCode;\n\n this.executeAddObject();\n }\n\n executeAddObject() {\n console.log(this.modelObject);\n\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n\n editObject() {\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n\n let tempObj = new BasicModel({\n Id: this.modelObject.Id,\n NameEn: this.mainForm.getRawValue().NameEn,\n NameAr: this.mainForm.getRawValue().NameAr,\n // PostalCode : this.mainForm.getRawValue().PostalCode\n });\n\n if (JSON.stringify(tempObj) != JSON.stringify(this.modelObject)) {\n this.executeEditObject(tempObj);\n }\n else {if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n }\n\n executeEditObject(Object) {\n console.log(\"ObjectObject\", Object);\n\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n\n\n prepChangeSort(sortKey) {\n this.tableEngine.itemOrder = this.itemOrder;\n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey))\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n loadServices() {\n this.currentAction = 'loading';\n this.tableEngine.loadData();\n }\n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepSort(sortKey) {\n this.tableEngine.changeSort(this.tableEngine.getSort('Name'));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n

    \n {{tableEngine.currentFormMode+translationName | translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"NameArRequired\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n {{\"NameEnRequired\" | translate}}
    \n \n
    \n \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n tableEngine.deletionList.length === tableEngine.ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Name\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{lang==='ar-EG'?obj.NameAr:obj.NameEn}}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","export class BasicModel{\r\n Id?: number;\r\n NameAr?: string;\r\n NameEn?: string;\r\n constructor(item?: BasicModel) {\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.NameAr = item.NameAr ? item.NameAr : '';\r\n this.NameEn = item.NameEn ? item.NameEn : '';\r\n }\r\n }","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { BasicModel } from \"./model\";\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CheckTypeService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}CheckType/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}CheckType/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: BasicModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}CheckType/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: BasicModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}CheckType/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: BasicModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}CheckType/Delete`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n \r\n deleteList(payload: BasicModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}CheckType/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { environment } from 'src/environments/environment';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { CheckBookModel } from './models/check-book.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CheckBookService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n // baseUrl = 'http://localhost:60289/';\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}CheckBook/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}CheckBook/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: CheckBookModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}CheckBook/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: CheckBookModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}CheckBook/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: CheckBookModel): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}CheckBook/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: CheckBookModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}CheckBook/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { CheckBookService } from './../../check-book.service';\nimport { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationsService } from 'angular2-notifications';\nimport { CheckBookModel } from '../../models/check-book.model';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { TreasuryAndBankAccountsService } from '../../../../treasury-and-bank-accounts/treasury-and-bank-accounts.service';\nimport { CurrencyService } from 'src/app/invoices/currencies/CurrencyService';\nimport { TreasuryAndBankAccountsModel } from '../../../../treasury-and-bank-accounts/model/treasury-and-bank-accounts-model';\nimport { CurrencyModel } from 'src/app/invoices/currencies/CurrencyModel';\nimport { ListPageHeaderComponent } from 'src/app/containers/pages/list-page-header/list-page-header.component';\nimport { TableEngine } from 'src/app/views/app/aio/shared/TableEngine';\nimport { SidePopupComponent } from 'src/app/views/app/aio/shared/side-popup/side-popup.component';\n@Component({\n selector: 'check-books',\n templateUrl: 'check-books.component.html',\n styleUrls: ['check-books.component.scss']\n})\nexport class CheckBooksComponent {\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n \n constructor(private formBuilder: FormBuilder, private modelService: CheckBookService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private TreasuryAndBankAccountsService:TreasuryAndBankAccountsService,\n private currencyService:CurrencyService\n \n ) {\n }\n listHeader = new ListPageHeaderComponent();\n @ViewChild('search') search: any;\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n tableView: any = true;\n banckAccounts:TreasuryAndBankAccountsModel[]=[];\n currences:CurrencyModel[]=[];\n \n \n translationName: string = 'CheckBook'\n \n sortableKeys = [];\n searchableKeys = ['CheckBookNumber', 'TheFirstSerialNumber', 'TheLastSerialNumber'];\n \n modelObject: CheckBookModel = new CheckBookModel();\n \n ogData: CheckBookModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n BankId : new FormControl(),\n CheckBookNumber : new FormControl(),\n TheFirstSerialNumber: new FormControl(),\n TheLastSerialNumber : new FormControl(),\n CurrencyId : new FormControl(),\n IsActive : new FormControl(),\n Description : new FormControl(),\n \n });\n \n \n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n \n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'CheckBookName', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' };\n this.sortableKeys = [\n { label: 'CheckBookNumber', property: 'CheckBookNumber' },\n { label: 'TheFirstSerialNumber', property: 'TheFirstSerialNumber' },\n { label: 'TheLastSerialNumber', property: 'TheLastSerialNumber' },\n \n ];\n this.loadServices();\n \n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n }\n \n showModal(Id, action) {\n \n if (action === 'Add') {\n //mainForm.get\n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n }\n else if (action === 'Edit') {\n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder)\n }\n else if (action === 'Info') {\n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder)\n }\n //this.currentScreen = \"Form\";\n this.tableView = false;\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n }\n \n createForm(modelObject, formBuilder): FormGroup {\n //console.log(\"from craeteform\");\n \n //console.log(modelObject);\n \n return formBuilder.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n BankId : [modelObject.BankId ,Validators.required],\n CheckBookNumber : [modelObject.CheckBookNumber ,Validators.required],\n TheFirstSerialNumber: [modelObject.TheFirstSerialNumber,Validators.required],\n TheLastSerialNumber : [modelObject.TheLastSerialNumber ,Validators.required],\n CurrencyId : [modelObject.CurrencyId ,Validators.required],\n IsActive : [modelObject.IsActive ],\n Description : [modelObject.Description ],\n });\n }\n \n addObject() {\n this.currentAction = 'loading';\n \n this.modelObject = new CheckBookModel();\n this.modelObject.Id = 0;\n this.modelObject = this.mainForm.getRawValue();\n \n this.executeAddObject();\n }\n \n executeAddObject() {\n console.log(this.modelObject);\n \n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n if(this.sideModalRef === undefined){\n if(this.smallModal != undefined){\n if(this.prevAction!='AddThenNew'){\n this.tableEngine.smallModal.hide();\n }\n }\n else{\n //this.tableView = this.prevAction==='AddThenNew'?false:true;\n }\n }\n else{\n if(this.prevAction!='AddThenNew'){\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n \n editObject() {\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n \n let tempObj = new CheckBookModel();\n tempObj = this.mainForm.getRawValue();\n tempObj.Id= this.modelObject.Id;\n console.log(tempObj);\n \n \n if (JSON.stringify(tempObj) != JSON.stringify(this.modelObject)) {\n this.executeEditObject(tempObj);\n }\n else {\n if(this.sideModalRef === undefined){\n if(this.smallModal != undefined){\n this.tableEngine.smallModal.hide();\n }\n }\n else{\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n }\n \n executeEditObject(Object) {\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n \n if(this.sideModalRef === undefined){\n if(this.smallModal != undefined){\n this.tableEngine.smallModal.hide();\n }\n }\n else{\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n \n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n prevAction = '';\n addAndNew(){\n this.prevAction = 'AddThenNew';\n this.addObject();\n \n this.tableEngine.sideModalRef.modalRef.hide();\n this.createForm(this.tableEngine.modelObject, this.formBuilder);\n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n }\n \n loadServices() {\n this.currentAction = 'loading';\n this.TreasuryAndBankAccountsService.GetAllBankAccounts()\n .subscribe(result=>{\n this.banckAccounts = result;\n this.currencyService.getAll()\n .subscribe(result=>{\n this.currences = result;\n this.tableEngine.loadData();\n \n })\n })\n \n // this.tableEngine.loadData();\n\n }\n \n \n \n //CheckBookMain = false;\n \n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepChangeSort(sortKey){\n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey));\n this.itemOrder = this.tableEngine.itemOrder;\n \n //console.log(\"sort in component\");\n //console.log(this.itemOrder);\n \n //console.log(\"sort in table engine\");\n //console.log(this.tableEngine.itemOrder);\n }\n getBanckNameById(Id){\n var item = this.banckAccounts.find(x=>x.Id == Id);\n if(item != null){\n return item.Name;\n }\n else\n {\n return '';\n }\n }\n getCurrencyNameById(Id){\n var item = this.currences.find(x=>x.Id == Id);\n if(item != null){\n return this.lang=='ar-EG' ?item.NameAr:item.NameEn;\n }\n else\n {\n return '';\n }\n }\n SearchFrom: Date = null ;\n SearchTo: Date= null;\n \n clearSearch() {\n this.SearchFrom= null ;\n this.SearchTo = null;\n }\n \n }\n ","\n
    \n
    \n
    \n

    \n {{tableEngine.currentFormMode+translationName | translate}}

    \n
    \n
    \n
    \n\n
    \n \n \n \n
    \n {{\"Check Book Number Required\" | translate}}
    \n \n
    \n \n \n
    \n \n
    \n \n \n {{parent.Name}}\n \n
    \n \n
    \n {{\"Bank Required\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n {{\"The First Serial Number Required\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n {{\"The Last Serial Number Required\" | translate}}
    \n \n
    \n \n
    \n \n
    \n \n \n {{lang==='ar-EG'?codingUnit.NameAr:codingUnit.NameEn}}\n \n
    \n \n
    \n {{\"Currency Required\" | translate}}
    \n \n
    \n \n\n
    \n \n \n \n \n \n
    \n \n\n\n
    \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n

    \n {{tableEngine.currentFormMode+translationName | translate}}

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

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n tableEngine.deletionList.length === tableEngine.ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n \n \n\n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"CheckBookNumber\" | translate}}\n \n
    \n {{\"TheFirstSerialNumber\" | translate}}\n \n
    \n {{\"TheLastSerialNumber\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{obj.CheckBookNumber}}{{obj.TheFirstSerialNumber}}{{obj.TheLastSerialNumber}}{{obj.Cost}}\n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","export class CheckBookModel{\r\n Id ?: number;\r\n BankId ?: number;\r\n CheckBookNumber ?: string;\r\n TheFirstSerialNumber?: string;\r\n TheLastSerialNumber ?: string;\r\n CurrencyId ?: number;\r\n IsActive ?: boolean;\r\n Description ?: string;\r\n constructor(item ?: CheckBookModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.BankId = item.BankId ? item.BankId : 0;\r\n this.CheckBookNumber = item.CheckBookNumber ? item.CheckBookNumber : '';\r\n this.TheFirstSerialNumber = item.TheFirstSerialNumber ? item.TheFirstSerialNumber : '';\r\n this.TheLastSerialNumber = item.TheLastSerialNumber ? item.TheLastSerialNumber : '';\r\n this.CurrencyId = item.CurrencyId ? item.CurrencyId : 0;\r\n this.IsActive = item.IsActive ? item.IsActive : false;\r\n this.Description = item.Description ? item.Description : '';\r\n }\r\n}","import { environment } from 'src/environments/environment';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { ChecksReceivedModel } from './models/checks-received.model';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ChecksReceivedService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}ChecksReceived/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}ChecksReceived/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n GetLastCode(): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}ChecksReceived/GetLastCode`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n insert(payload: ChecksReceivedModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}ChecksReceived/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: ChecksReceivedModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}ChecksReceived/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n Collection(payload: ChecksReceivedModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}ChecksReceived/Collection`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n Deposit(payload: ChecksReceivedModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}ChecksReceived/Deposit`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n Reject(payload: ChecksReceivedModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}ChecksReceived/Reject`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: ChecksReceivedModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}ChecksReceived/Delete`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n \r\n deleteList(payload: ChecksReceivedModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}ChecksReceived/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { DatePipe } from '@angular/common';\nimport { ChecksReceivedService } from './../../checks-received.service';\nimport { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationsService } from 'angular2-notifications';\nimport { Router } from '@angular/router';\nimport { ListPageHeaderComponent } from 'src/app/containers/pages/list-page-header/list-page-header.component';\nimport { TableEngine } from 'src/app/views/app/aio/shared/TableEngine';\nimport { ChecksReceivedModel } from '../../models/checks-received.model';\nimport { SidePopupComponent } from 'src/app/views/invoice/side-popup/side-popup.component';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\n\n@Component({\n selector: 'checks-received',\n templateUrl: 'checks-received.component.html',\n styleUrls: ['checks-received.component.scss']\n})\nexport class ChecksReceivedComponent {\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n \n //Enable debugMode to make API modules return static data from within the service class\n debugMode: boolean = false;\n \n constructor(private formBuilder: FormBuilder, private modelService: ChecksReceivedService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private datePipe: DatePipe,\n private router : Router\n ) {\n }\n listHeader = new ListPageHeaderComponent();\n @ViewChild('search') search: any;\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n tableView: any = true;\n \n translationName: string = 'ChecksReceived'\n \n sortableKeys = [];\n searchableKeys = ['Id'];\n \n modelObject: ChecksReceivedModel = new ChecksReceivedModel();\n \n ogData: ChecksReceivedModel[] = [];\n mainForm: FormGroup = new FormGroup({\n });\n \n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n branches:any[]=[];\n employees:any[]=[];\n roles:any[]=[];\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective=null;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective =null;\n formPresentationModal: any;\n ngOnInit(): void {\n \n if (this.debugMode) {\n this.enableDebugOnAllServices();\n }\n \n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'CheckNumber', property: 'CheckNumber', };\n this.sortableKeys = [\n { label: 'CheckNumber', property: 'CheckNumber' },\n { label: 'ReleaseDate', property: 'ReleaseDate' },\n { label: 'Amount', property: 'Amount' },\n { label: 'DueDate', property: 'DueDate' }\n \n ];\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n \n this.loadServices();\n }\n \n \n enableDebugOnAllServices() {\n //this.modelService.debugMode = true;\n // this.itemService.debugMode = true;\n //this.codingUnitService.debugMode = true;\n //this.storeDataService.debugMode = true;\n //this.supplierService.debugMode = true;\n }\n \n lastCode = 0;\n showModal(Id, action) {\n debugger;\n if (action === 'Add') {\n this.router.navigate(['app/accounts/create-checks-received/0'])\n\n }\n else if (action === 'Edit') {\n this.router.navigate(['app/accounts/create-checks-received',Id])\n }\n else if (action === 'Info') {\n this.router.navigate(['app/accounts/view-checks-received',Id])\n }\n this.tableView = false;\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n console.log((action + \" object\"), this.modelObject);\n \n \n console.log(\"modelObject after entering edit\", this.modelObject);\n }\n\n currentDate='';\n \n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true || result > 0) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n \n \n //lastCode = 0;\n codeWasChecked = false;\n checkCode() : boolean{\n if(!(this.lastCode > 0)){\n this.codeWasChecked = false;\n console.log(\"bad code\", this.lastCode);\n \n return this.codeWasChecked;\n }\n return this.codeWasChecked;\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n SearchFrom: Date = null ;\n SearchTo: Date= null;\n \n clearSearch() {\n this.SearchFrom= null ;\n this.SearchTo = null;\n }\n \n prevAction = '';\n \n \n \n loadServices() {\n this.currentAction = 'loading';\n this.tableEngine.loadData();\n\n \n \n }\n \n newChecksReceivedItemInternalId = 0;\n \n currentTotal = 0;\n \n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepChangeSort(sortKey) {\n this.SearchFrom ;\n this.SearchTo ;\n \n \n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n \n getFormattedDate(dateString: any){\n let splitDate: number[] = dateString.toString().split(\"/\");\n \n return new Date(splitDate[2], splitDate[1]-1, splitDate[0])\n }\n ///////////////////////////////////////////////////////\n \n displayMode = 'list';\n changeDisplayMode(mode): void {\n this.displayMode = mode;\n }\n itemsPerPageChange(perPage: number): void {\n this.tableEngine.paginateData(perPage, 1)\n }\n selectedCurrency = '';\n \n SearchKey = ''\n AddEnabled: boolean = true;\n dateSearch: boolean = true;\n searchDateRange(): void {\n this.tableEngine.filterDataByDateRange(this.SearchFrom,this.SearchTo,this.SearchKey==''?'Date':this.SearchKey);\n console.log(\"datefrom header\",this.SearchFrom);\n }\n searchUsingKeys(): void {\n this.tableEngine.filterData();\n }\n \n deleteSelected(): void {\n this.tableEngine.showDelModal('delMulti');\n }\n \n}\n","\n\n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n\n
    \n
    \n
    \n
    \n \n \n \n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n \n \n \n {{\"CheckNumber\" | translate}}\n \n \n \n \n {{\"ReleaseDate\" | translate}}\n \n \n \n \n {{\"DueDate\" | translate}}\n \n \n \n \n {{\"Amount\" | translate}}\n \n\n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • \n {{item}}
  • \n
    \n
    \n
    \n\n
    \n
    \n \n \n
    \n
    {{obj.CheckNumber}}{{obj.ReleaseDate|date:'dd/MM/yyyy'}}{{obj.DueDate|date:'dd/MM/yyyy'}}{{obj.Amount}}\n \n \n \n \n \n
    \n\n
    \n
    \n \n
    \n\n \n \n \n \n
    \n
    \n
    \n\n\n
    \n
    \n\n
    \n
    \n
    \n\n
    \n\n
     
    \n\n\n
     
    \n\n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { ChecksReceivedModel } from '../../models/checks-received.model';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { CurrencyModel } from 'src/app/invoices/currencies/CurrencyModel';\nimport { AccountNameModel } from '../../../../account-name/AccountNameModel';\nimport { CurrencyService } from 'src/app/invoices/currencies/CurrencyService';\nimport { AccountsNameService } from '../../../../account-name/AccountNameService';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport {ChecksReceivedService } from '../../checks-received.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\n@Component({\n selector: 'create-checks-received',\n templateUrl: 'create-checks-received.component.html',\n styleUrls: ['create-checks-received.component.scss']\n})\nexport class CreateChecksReceivedComponent implements OnInit{\n ChecksReceived:ChecksReceivedModel={};\n declare lang: any;\n Id=0;\n Form:FormGroup;\n buttonName='Receive';\n \n curenncies:CurrencyModel[]=[];\n users:any[]=[];\n public editEnabled = true;\n public picurl: string ='';\n AccountsNameModel: AccountNameModel[] = [];\n PackUpAccounts: AccountNameModel[] = [];\n Treasuries:any[]=[];\n constructor(\n private CurrencyService: CurrencyService, \n private accountsNameService: AccountsNameService,\n private route: ActivatedRoute,\n public router:Router,\n private ChecksReceivedService:ChecksReceivedService,\n public fb:FormBuilder,\n private translate: TranslateService,\n private notifications: NotificationsService\n ){\n this.lang = localStorage.getItem('theme_lang');\n this.Id = + route.snapshot.paramMap.get('Id');\n \n }\n centersLoaded= false;\n TreasuriesLoaded= false;\n taxesLoaded= false;\n AccountsLoaded= false;\n categoriesLoaded= false;\n curennciesLoaded= false;\n ngOnInit(): void {\n \n this.accountsNameService.GetAllSubAccountes(0).subscribe(\n data=>{\n this.AccountsNameModel=data;\n this.PackUpAccounts = data.map(item=>Object.assign({}, item))\n this.AccountsLoaded = true;\n\n }\n );\n \n this.CurrencyService.getAll()\n .subscribe(data => {\n this.curenncies = data;\n\n this.curenncies.forEach(element => {\n if(element.IsMain == true){\n this.Form.controls['CurrencyId'].setValue(element.Id);\n }\n });\n this.curennciesLoaded = true;\n })\n \n if(this.Id == 0){\n this.buttonName = \"Receive\"\n this.picurl = '';\n\n this.ChecksReceived = new ChecksReceivedModel();\n this.Form = this.createForm();\n this.curenncies.forEach(element => {\n if(element.IsMain == true){\n this.Form.controls['CurrencyId'].setValue(element.Id);\n }\n });\n }\n else{\n this.ChecksReceivedService.getById(this.Id)\n .subscribe(data=>{\n this.buttonName = \"Edit\"\n \n this.ChecksReceived =data;\n this.DueDateString= new Date(this.ChecksReceived.DueDate).toISOString().slice(0, 10);\n this.ReleaseDateString= new Date(this.ChecksReceived.ReleaseDate).toISOString().slice(0, 10);\n this.picurl = this.ChecksReceived.FileUrl;\n this.Form = this.createForm();\n })\n }\n \n }\n DueDateString = '';\n ReleaseDateString = '';\n createForm():FormGroup{\n return this.fb.group({\n Id :[this.ChecksReceived.Id ],\n Amount :[this.ChecksReceived.Amount ,Validators.required],\n CurrencyId :[this.ChecksReceived.CurrencyId ,Validators.required],\n Description :[this.ChecksReceived.Description ],\n ReleaseDate :[this.ChecksReceived.ReleaseDate ,Validators.required],\n DueDate :[this.ChecksReceived.DueDate ,Validators.required],\n CheckNumber :[this.ChecksReceived.CheckNumber ,Validators.required],\n AccountReceivedId :[this.ChecksReceived.AccountReceivedId ,Validators.required],\n TheCollectionAccount :[this.ChecksReceived.TheCollectionAccount ,Validators.required],\n TheNameIsOnTheCheck :[this.ChecksReceived.TheNameIsOnTheCheck ,Validators.required],\n IdEndorsement :[this.ChecksReceived.IdEndorsement ],\n EndorsementName :[this.ChecksReceived.EndorsementName ],\n FileUrl :[this.ChecksReceived.FileUrl ],\n IsCollection :[this.ChecksReceived.IsCollection ],\n CollectionDate :[this.ChecksReceived.CollectionDate ],\n CollectionDescription :[this.ChecksReceived.CollectionDescription],\n CollectionBy :[this.ChecksReceived.CollectionBy ],\n IsDeposit :[this.ChecksReceived.IsDeposit ],\n DepositDate :[this.ChecksReceived.DepositDate ],\n DepositDescription :[this.ChecksReceived.DepositDescription ],\n DepositAccountId :[this.ChecksReceived.DepositAccountId ],\n DepositBy :[this.ChecksReceived.DepositBy ],\n IsRejected :[this.ChecksReceived.IsRejected ],\n RejectedDate :[this.ChecksReceived.RejectedDate ],\n RejectedDescription :[this.ChecksReceived.RejectedDescription ],\n RejectedBy :[this.ChecksReceived.RejectedBy ],\n\n })\n }\n\n \n Save(){\n debugger;\n this.ChecksReceived = this.Form.getRawValue();\n this.ChecksReceived.Id = this.Id;\n this.ChecksReceived.FileUrl = this.picurl ;\n this.ChecksReceived.DueDate = new Date(this.ChecksReceived.DueDate);\n this.ChecksReceived.ReleaseDate = new Date(this.ChecksReceived.ReleaseDate);\n console.log(this.ChecksReceived);\n if(this.Id > 0 ){\n this.ChecksReceivedService.update(this.ChecksReceived)\n .subscribe(result => {\n if(result == true){\n this.router.navigate(['app/accounts/checks-received']);\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n \n }\n else{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n\n }\n })\n }\n else{\n this.ChecksReceivedService.insert(this.ChecksReceived)\n .subscribe(result => {\n if(result == true){\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdd\"));\n this.router.navigate(['app/accounts/checks-received']);\n }\n else{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n }\n })\n }\n \n }\n addAndNew(){\n debugger;\n this.ChecksReceived = this.Form.getRawValue();\n this.ChecksReceived.Id = this.Id;\n this.ChecksReceived.FileUrl = this.picurl ;\n \n if(this.Id > 0 ){\n this.ChecksReceivedService.update(this.ChecksReceived)\n .subscribe(result => {\n if(result == true){\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n this.ChecksReceived = new ChecksReceivedModel();\n this.picurl = '';\n }\n else{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n }\n })\n }\n else{\n this.ChecksReceivedService.insert(this.ChecksReceived)\n .subscribe(result => {\n if(result == true){\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdd\"));\n this.ChecksReceived = new ChecksReceivedModel();\n this.picurl = '';\n }\n else{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n }\n })\n }\n \n }\n clear(){\n this.picurl = '';\n }\n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n}\n\n","
    \n {{\"Back\" |\n translate}}\n \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n

    {{ 'Receipt of a check' | translate }}

    \n \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n \n \n \n {{\"Currency\" | translate}}\n {{lang==='ar-EG'?item.Code:item.Code}}\n \n
    \n
    \n {{\"Amount required\" | translate}}
    \n
    \n {{\"Currency required\" | translate}}
    \n
    \n \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n {{\"Release Date required\" | translate}}
    \n
    \n
    \n \n \n
    \n {{\"Due Date required\" | translate}}
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n {{\"Check Number required\" | translate}}
    \n
    \n
    \n \n \n {{ \"Please Choose\"|translate}}\n {{ lang==='ar-EG'? car.NameAr:car.NameEn}}\n \n
    \n {{\"Account Received required\" | translate}}
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n {{\"The Name Is On The Check required\" | translate}}
    \n
    \n
    \n \n \n {{ \"Please Choose\"|translate}}\n {{ lang==='ar-EG'? car.NameAr:car.NameEn}}\n \n
    \n {{\"The Collection Account required\" | translate}}
    \n
    \n \n
    \n\n
    \n
    \n
    \n \n {{'Is Endorsement'|translate}}\n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n
    \n \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n
    {{\"Download\"|translate}}\n \n
    \n
    \n\n
    \n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { FileUploader } from 'ng2-file-upload';\nimport { environment } from 'src/environments/environment';\n\n@Component({\n selector: 'upload-checks-recieved-file',\n templateUrl: 'upload-checks-recieved-file.component.html',\n styleUrls: ['upload-checks-recieved-file.component.scss']\n})\nexport class UploadChecksRecievedFileComponent implements OnInit {\n public NationalIDImage: FileUploader;\n public hasDragOver = false;\n \n @Input()\n public editmode = false;\n \n @Input()\n public url = '';\n \n @Output()\n public urlChange = new EventEmitter();\n declare lang: any;\n \n constructor(private translate: TranslateService, private notifications: NotificationsService) {\n this.lang = localStorage.getItem('theme_lang');\n\n this.NationalIDImage = new FileUploader({\n url: environment.baseApiUrl+'ChecksReceived/UploadFile',\n disableMultipart: false,\n autoUpload: true\n });\n \n this.NationalIDImage.response.subscribe(res => {\n // Upload returns a JSON with the image ID\n if(res != null && res != \"\" && res != undefined){\n this.url = environment.apiUrl+ '/Resources/ChecksReceived/' + JSON.parse(res);\n this.urlChange.emit(this.url);\n }\n else{\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessUpload\"))\n }\n },error =>{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedUpload\"))\n });\n }\n \n public fileOver(e: any): void {\n \n this.hasDragOver = e;\n }\n \n ngOnInit() {\n \n }\n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n }\n ","
    \n \n \n \n \n
    \n ","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { ChecksReceivedModel } from '../../models/checks-received.model';\nimport { ChecksReceivedService } from '../../checks-received.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { AccountsNameService } from '../../../../account-name/AccountNameService';\nimport { AccountNameModel } from '../../../../account-name/AccountNameModel';\n@Component({\n selector: 'view-checks-recieved',\n templateUrl: 'view-checks-recieved.component.html',\n styleUrls: ['view-checks-recieved.component.scss']\n})\nexport class ViewChecksRecievedComponent implements OnInit {\n declare lang: any;\n Id = 0;\n buttonName='';\n obj : ChecksReceivedModel=new ChecksReceivedModel();\n constructor( \n private ChecksReceivedService: ChecksReceivedService,\n private route: ActivatedRoute,\n public router:Router,\n private notifications: NotificationsService, private translate: TranslateService,\n public fb:FormBuilder,\n private accountsNameService: AccountsNameService,\n \n ){\n this.lang = localStorage.getItem('theme_lang');\n this.Id = + route.snapshot.paramMap.get('Id');\n \n }\n AccountsNameModel: AccountNameModel[] = [];\n PackUpAccounts: AccountNameModel[] = [];\n ngOnInit(): void {\n this.accountsNameService.GetAllSubAccountes(0).subscribe(\n data=>{\n this.AccountsNameModel=data;\n this.PackUpAccounts = data.map(item=>Object.assign({}, item))\n\n }\n );\n this.ChecksReceivedService.getById(this.Id)\n .subscribe(result => {\n this.obj = result;\n this.collectionForm = this.createcollectionForm();\n this.depositForm = this.createdepositForm();\n this.rejectForm = this.createrejectForm();\n })\n }\n currentFormMode = ''\n @ViewChild('delModal') delModal: ModalDirective;\n @ViewChild('collection') collection: ModalDirective;\n @ViewChild('deposit') deposit: ModalDirective;\n @ViewChild('reject') reject: ModalDirective;\n\n collectionForm:FormGroup;\n createcollectionForm():FormGroup{\n return this.fb.group({\n CollectionDate:[this.obj.CollectionDate],\n CollectionDescription:[this.obj.CollectionDescription],\n DepositFees:[this.obj.DepositFees]\n\n })\n }\n depositForm:FormGroup;\n createdepositForm():FormGroup{\n return this.fb.group({\n DepositDate:[this.obj.DepositDate],\n DepositDescription:[this.obj.DepositDescription],\n DepositAccountId:[this.obj.DepositAccountId],\n })\n }\n rejectForm:FormGroup;\n createrejectForm():FormGroup{\n return this.fb.group({\n RejectedDate:[this.obj.RejectedDate],\n RejectedDescription:[this.obj.RejectedDescription],\n })\n }\n showdepositModal(): void {\n this.deposit.show();\n }\n showrejectModal(): void {\n this.reject.show();\n }\n showcollectionModal(): void {\n this.collection.show();\n }\n Collection(){\n \n this.obj.CollectionDate = this.collectionForm.getRawValue().CollectionDate;\n this.obj.CollectionDescription = this.collectionForm.getRawValue().CollectionDescription;\n this.obj.DepositFees = this.collectionForm.getRawValue().DepositFees;\n this.ChecksReceivedService.Collection(this.obj)\n .subscribe(data=>{\n if(data == true){\n this.collection.hide()\n this.obj.IsCollection = true;\n \n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"Success Collection\"));\n }\n else{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedCollection\"));\n \n }\n })\n }\n\n Deposit(){\n this.obj.DepositDate = this.depositForm.getRawValue().DepositDate;\n this.obj.DepositAccountId = this.depositForm.getRawValue().DepositAccountId;\n this.obj.DepositDescription = this.depositForm.getRawValue().DepositDescription;\n this.ChecksReceivedService.Deposit(this.obj)\n .subscribe(data=>{\n if(data == true){\n this.deposit.hide();\n this.obj.IsDeposit = true;\n\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"Success Collection\"));\n }\n else{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedCollection\"));\n \n }\n })\n }\n Reject(){\n this.obj.RejectedDate = this.rejectForm.getRawValue().RejectedDate;\n this.obj.RejectedDescription = this.rejectForm.getRawValue().RejectedDescription;\n this.ChecksReceivedService.Reject(this.obj)\n .subscribe(data=>{\n if(data == true){\n this.reject.hide();\n this.obj.IsRejected = true;\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"Success Collection\"));\n }\n else{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedCollection\"));\n \n }\n })\n }\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.delModal.show();\n }\n }\n deleteObject() {\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject(){\n this.ChecksReceivedService.delete(this.obj).subscribe(result => {\n if (result === true) {\n this.router.navigate(['app/accounts/checks-received']);\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n }\n })\n }\n \n\n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n gerAccountNameById(Id):string{\n var account = this.AccountsNameModel.find(x=>x.Id == Id);\n if(account != null){\n return this.lang=='ar-EG'? account.NameAr:account.NameEn;\n }\n return '';\n\n }\n\n}\n","
    \n
    \n
    \n\n
    \n تعديل\n \n \n {{'Delete'|translate}}\n \n \n \n \n
    \n\n\n
    \n\n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n

    {{\"Check Information\"|translate}}

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

    {{\"Amount\"|translate}}:

    \n

    {{obj.Amount}}

    \n
    \n
    \n
    \n
    \n

    {{\"Description\"|translate}}:

    \n

    {{obj.Description}}

    \n
    \n
    \n
    \n
    \n

    {{'DueDate'|translate}} :

    \n

    {{obj.DueDate|date:'dd/MM/yyyy'}}

    \n
    \n
    \n
    \n
    \n

    {{'ReleaseDate'|translate}} :

    \n

    {{obj.ReleaseDate|date:'dd/MM/yyyy'}}

    \n
    \n
    \n
    \n
    \n

    {{\"The Name Is On The Check\"|translate}}:

    \n

    {{obj.TheNameIsOnTheCheck}}

    \n
    \n
    \n
    \n
    \n

    {{'The Collection Account'|translate}} :

    \n

    {{gerAccountNameById(obj.TheCollectionAccount)}}

    \n
    \n
    \n
    \n
    \n

    {{'Check Number'|translate}} :

    \n

    {{obj.CheckNumber}}

    \n
    \n
    \n
    \n
    \n

    {{'Account Received'|translate}} :

    \n

    {{gerAccountNameById(obj.AccountReceivedId)}}

    \n
    \n
    \n
    \n
    \n

    {{'Endorsement'|translate}} :

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

    {{'Endorsement Name'|translate}} :

    \n

    {{obj.EndorsementName}}

    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n
    {{\"Download File\"|translate}}\n \n
    \n
    \n\n
    \n\n \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\" |\n translate}}

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

    \n {{\"collection\" |\n translate}}

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

    \n {{\"deposit\" |\n translate}}

    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n \n
    \n \n \n {{ \"Please Choose\"|translate}}\n {{ lang==='ar-EG'? car.NameAr:car.NameEn}}\n \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n

    \n {{\"Reject\" |\n translate}}

    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    ","export class ChecksReceivedModel{\r\n Id ?: number;\r\n Amount ?: number;\r\n CurrencyId ?: number;\r\n Description ?: string;\r\n ReleaseDate ?: Date;\r\n DueDate ?: Date;\r\n CheckNumber ?: string;\r\n AccountReceivedId ?: number;\r\n TheCollectionAccount ?: number;\r\n TheNameIsOnTheCheck ?: string;\r\n IdEndorsement ?: boolean;\r\n EndorsementName ?: string;\r\n FileUrl ?: string;\r\n IsCollection ?: boolean;\r\n CollectionDate ?: Date;\r\n CollectionDescription?: string;\r\n CollectionBy ?: string;\r\n IsDeposit ?: boolean;\r\n DepositDate ?: Date;\r\n DepositDescription ?: string;\r\n DepositAccountId ?: number;\r\n DepositBy ?: string;\r\n IsRejected ?: boolean;\r\n RejectedDate ?: Date;\r\n RejectedDescription ?: string;\r\n RejectedBy ?: string;\r\n DepositFees?:number;\r\nconstructor(item?:ChecksReceivedModel){\r\n item = item ?item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.Amount = item.Amount ? item.Amount : 0;\r\n this.CurrencyId = item.CurrencyId ? item.CurrencyId : 0;\r\n this.DepositFees = item.DepositFees ? item.DepositFees : 0;\r\n this.Description = item.Description ? item.Description : '';\r\n this.ReleaseDate = item.ReleaseDate ? item.ReleaseDate : new Date();\r\n this.DueDate = item.DueDate ? item.DueDate : new Date();\r\n this.CheckNumber = item.CheckNumber ? item.CheckNumber : '';\r\n this.AccountReceivedId = item.AccountReceivedId ? item.AccountReceivedId : 0;\r\n this.TheCollectionAccount = item.TheCollectionAccount ? item.TheCollectionAccount : 0;\r\n this.TheNameIsOnTheCheck = item.TheNameIsOnTheCheck ? item.TheNameIsOnTheCheck : '';\r\n this.IdEndorsement = item.IdEndorsement ? item.IdEndorsement : false;\r\n this.EndorsementName = item.EndorsementName ? item.EndorsementName : '';\r\n this.FileUrl = item.FileUrl ? item.FileUrl : '';\r\n this.IsCollection = item.IsCollection ? item.IsCollection : false;\r\n this.CollectionDate = item.CollectionDate ? item.CollectionDate : new Date();\r\n this.CollectionDescription = item.CollectionDescription ? item.CollectionDescription : '';\r\n this.CollectionBy = item.CollectionBy ? item.CollectionBy : '';\r\n this.IsDeposit = item.IsDeposit ? item.IsDeposit : false;\r\n this.DepositDate = item.DepositDate ? item.DepositDate : new Date();\r\n this.DepositDescription = item.DepositDescription ? item.DepositDescription : '';\r\n this.DepositAccountId = item.DepositAccountId ? item.DepositAccountId : 0;\r\n this.DepositBy = item.DepositBy ? item.DepositBy : '';\r\n this.IsRejected = item.IsRejected ? item.IsRejected : false;\r\n this.RejectedDate = item.RejectedDate ? item.RejectedDate : new Date();\r\n this.RejectedDescription = item.RejectedDescription ? item.RejectedDescription : '';\r\n this.RejectedBy = item.RejectedBy ? item.RejectedBy : '';\r\n}\r\n\r\n}","import { Component, OnInit } from '@angular/core';\nimport { PaidChecksModel } from '../../models/paid-checks.model';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { CurrencyModel } from 'src/app/invoices/currencies/CurrencyModel';\nimport { AccountNameModel } from '../../../../account-name/AccountNameModel';\nimport { CurrencyService } from 'src/app/invoices/currencies/CurrencyService';\nimport { AccountsNameService } from '../../../../account-name/AccountNameService';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { PaidChecksService } from '../../paid-checks.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { TreasuryAndBankAccountsService } from '../../../../treasury-and-bank-accounts/treasury-and-bank-accounts.service';\nimport { TreasuryAndBankAccountsModel } from '../../../../treasury-and-bank-accounts/model/treasury-and-bank-accounts-model';\nimport { CheckBookService } from '../../../check-book/check-book.service';\nimport { CheckBookModel } from '../../../check-book/models/check-book.model';\n@Component({\n selector: 'create-paid-checks',\n templateUrl: 'create-paid-checks.component.html',\n styleUrls: ['create-paid-checks.component.scss']\n})\nexport class CreatePaidChecksComponent implements OnInit{\n PaidChecks:PaidChecksModel={};\n declare lang: any;\n Id=0;\n Form:FormGroup;\n buttonName='Issuing';\n \n curenncies:CurrencyModel[]=[];\n users:any[]=[];\n public editEnabled = true;\n public picurl: string ='';\n AccountsNameModel: AccountNameModel[] = [];\n PackUpAccounts: AccountNameModel[] = [];\n Treasuries:any[]=[];\n checks:CheckBookModel[]=[]\n constructor(\n private CurrencyService: CurrencyService, \n private accountsNameService: AccountsNameService,\n private route: ActivatedRoute,\n public router:Router,\n private PaidChecksService:PaidChecksService,\n public fb:FormBuilder,\n private translate: TranslateService,\n private TreasuryAndBankAccountsService:TreasuryAndBankAccountsService,\n private notifications: NotificationsService,\n private CheckBookService: CheckBookService,\n ){\n this.lang = localStorage.getItem('theme_lang');\n this.Id = + route.snapshot.paramMap.get('Id');\n \n }\n centersLoaded= false;\n TreasuriesLoaded= false;\n taxesLoaded= false;\n AccountsLoaded= false;\n categoriesLoaded= false;\n curennciesLoaded= false;\n banckAccounts:TreasuryAndBankAccountsModel[]=[];\n\n ngOnInit(): void {\n this.CheckBookService.getAll()\n .subscribe(result =>{\n this.checks = result;\n })\n this.accountsNameService.GetAllSubAccountes(0).subscribe(\n data=>{\n this.AccountsNameModel=data;\n this.PackUpAccounts = data.map(item=>Object.assign({}, item))\n this.AccountsLoaded = true;\n\n }\n );\n \n this.CurrencyService.getAll()\n .subscribe(data => {\n this.curenncies = data;\n this.curenncies.forEach(element => {\n if(element.IsMain == true){\n this.Form.controls['CurrencyId'].setValue(element.Id);\n }\n });\n this.curennciesLoaded = true;\n })\n this.TreasuryAndBankAccountsService.GetAllBankAccounts()\n .subscribe(result=>{\n this.banckAccounts = result;\n \n })\n if(this.Id == 0){\n this.buttonName = \"Issuing\"\n this.picurl = '';\n\n this.PaidChecks = new PaidChecksModel();\n this.Form = this.createForm();\n this.curenncies.forEach(element => {\n if(element.IsMain == true){\n this.Form.controls['CurrencyId'].setValue(element.Id);\n }\n });\n }\n else{\n this.PaidChecksService.getById(this.Id)\n .subscribe(data=>{\n this.buttonName = \"Edit\"\n \n this.PaidChecks =data;\n this.DueDateString= new Date(this.PaidChecks.DueDate).toISOString().slice(0, 10);\n this.ReleaseDateString= new Date(this.PaidChecks.ReleaseDate).toISOString().slice(0, 10);\n this.picurl = this.PaidChecks.FileUrl;\n this.Form = this.createForm();\n })\n }\n \n }\n DueDateString = '';\n ReleaseDateString = '';\n createForm():FormGroup{\n return this.fb.group({\n Id :[this.PaidChecks.Id ],\n Amount :[this.PaidChecks.Amount ,Validators.required],\n CurrencyId :[this.PaidChecks.CurrencyId ,Validators.required ],\n Description :[this.PaidChecks.Description ],\n ReleaseDate :[this.PaidChecks.ReleaseDate ,Validators.required],\n DueDate :[this.PaidChecks.DueDate ,Validators.required ],\n CheckNumber :[this.PaidChecks.CheckNumber ,Validators.required],\n AccountReceivedId :[this.PaidChecks.AccountReceivedId ,Validators.required ],\n CheckBookId :[this.PaidChecks.CheckBookId ,Validators.required ],\n TheNameIsOnTheCheck :[this.PaidChecks.TheNameIsOnTheCheck ,Validators.required],\n FileUrl :[this.PaidChecks.FileUrl ],\n IsCollection :[this.PaidChecks.IsCollection ],\n CollectionDate :[this.PaidChecks.CollectionDate ],\n CollectionDescription:[this.PaidChecks.CollectionDescription],\n CollectionBy :[this.PaidChecks.CollectionBy ],\n IsRejected :[this.PaidChecks.IsRejected ],\n RejectedDate :[this.PaidChecks.RejectedDate ],\n RejectedDescription :[this.PaidChecks.RejectedDescription ],\n RejectedBy :[this.PaidChecks.RejectedBy ],\n BanckId:[this.PaidChecks.BanckId]\n\n })\n }\n\n \n Save(){\n debugger;\n this.PaidChecks = this.Form.getRawValue();\n this.PaidChecks.Id = this.Id;\n this.PaidChecks.FileUrl = this.picurl ;\n this.PaidChecks.DueDate = new Date(this.PaidChecks.DueDate);\n this.PaidChecks.ReleaseDate = new Date(this.PaidChecks.ReleaseDate);\n console.log(this.PaidChecks);\n if(this.Id > 0 ){\n this.PaidChecksService.update(this.PaidChecks)\n .subscribe(result => {\n if(result == true){\n this.router.navigate(['app/accounts/paid-checks']);\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n \n }\n else{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n\n }\n })\n }\n else{\n this.PaidChecksService.insert(this.PaidChecks)\n .subscribe(result => {\n if(result == true){\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdd\"));\n this.router.navigate(['app/accounts/paid-checks']);\n }\n else{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n }\n })\n }\n \n }\n addAndNew(){\n debugger;\n this.PaidChecks = this.Form.getRawValue();\n this.PaidChecks.Id = this.Id;\n this.PaidChecks.FileUrl = this.picurl ;\n \n if(this.Id > 0 ){\n this.PaidChecksService.update(this.PaidChecks)\n .subscribe(result => {\n if(result == true){\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n this.PaidChecks = new PaidChecksModel();\n this.picurl = '';\n }\n else{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n }\n })\n }\n else{\n this.PaidChecksService.insert(this.PaidChecks)\n .subscribe(result => {\n if(result == true){\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdd\"));\n this.PaidChecks = new PaidChecksModel();\n this.picurl = '';\n }\n else{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n }\n })\n }\n \n }\n clear(){\n this.picurl = '';\n }\n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n changeBanck(){\n var BanckId=this.Form.controls['BanckId'].value;\n var banckBook=this.checks.find(x=>x.BankId == BanckId);\n if(banckBook != null){\n this.Form.controls['CheckBookId'].setValue(banckBook.Id);\n this.Form.controls['CurrencyId'].setValue(banckBook.CurrencyId);\n \n }\n }\n changeCheckBook(){\n var BanckId=this.Form.controls['CheckBookId'].value;\n var banck=this.banckAccounts.find(x=>x.Id == BanckId);\n if(banck != null){\n this.Form.controls['BanckId'].setValue(banck.Id);\n this.Form.controls['CurrencyId'].setValue(banck.CurrencyId);\n\n }\n }\n}\n\n","
    \n {{\"Back\" |\n translate}}\n \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n

    {{ 'Issuing a check' | translate }}

    \n \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n \n \n \n {{\"Currency\" | translate}}\n {{lang==='ar-EG'?item.Code:item.Code}}\n \n
    \n
    \n {{\"Amount required\" | translate}}
    \n
    \n {{\"Currency required\" | translate}}
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n {{\"Release Date required\" | translate}}
    \n
    \n
    \n \n \n
    \n {{\"Due Date required\" | translate}}
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n {{ \"Please Choose\"|translate}}\n {{ car.Name}}\n \n
    \n {{\"Banck required\" | translate}}
    \n
    \n
    \n \n \n {{ \"Please Choose\"|translate}}\n {{ car.CheckBookNumber}}\n \n
    \n {{\"Check Book required\" | translate}}
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n {{\"Check Number required\" | translate}}
    \n
    \n
    \n \n \n {{ \"Please Choose\"|translate}}\n {{ lang==='ar-EG'? car.NameAr:car.NameEn}}\n \n
    \n {{\"Account Received required\" | translate}}
    \n
    \n \n
    \n\n
    \n
    \n
    \n \n \n
    \n {{\"The Name Is On The Check required\" | translate}}
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n
    {{\"Download\"|translate}}\n \n
    \n
    \n\n
    \n","import { DatePipe } from '@angular/common';\nimport { PaidChecksService } from './../../paid-checks.service';\nimport { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationsService } from 'angular2-notifications';\nimport { Router } from '@angular/router';\nimport { ListPageHeaderComponent } from 'src/app/containers/pages/list-page-header/list-page-header.component';\nimport { TableEngine } from 'src/app/views/app/aio/shared/TableEngine';\nimport { PaidChecksModel } from '../../models/paid-checks.model';\nimport { SidePopupComponent } from 'src/app/views/invoice/side-popup/side-popup.component';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\n\n@Component({\n selector: 'paid-checks',\n templateUrl: 'paid-checks.component.html',\n styleUrls: ['paid-checks.component.scss']\n})\nexport class PaidChecksComponent {\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n \n //Enable debugMode to make API modules return static data from within the service class\n debugMode: boolean = false;\n \n constructor(private formBuilder: FormBuilder, private modelService: PaidChecksService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private datePipe: DatePipe,\n private router : Router\n ) {\n }\n listHeader = new ListPageHeaderComponent();\n @ViewChild('search') search: any;\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n tableView: any = true;\n \n translationName: string = 'PaidChecks'\n \n sortableKeys = [];\n searchableKeys = ['Id'];\n \n modelObject: PaidChecksModel = new PaidChecksModel();\n \n ogData: PaidChecksModel[] = [];\n mainForm: FormGroup = new FormGroup({\n });\n \n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n branches:any[]=[];\n employees:any[]=[];\n roles:any[]=[];\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective=null;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective =null;\n formPresentationModal: any;\n ngOnInit(): void {\n \n if (this.debugMode) {\n this.enableDebugOnAllServices();\n }\n \n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'CheckNumber', property: 'CheckNumber' };\n this.sortableKeys = [\n { label: 'CheckNumber', property: 'CheckNumber' },\n { label: 'ReleaseDate', property: 'ReleaseDate' },\n { label: 'Amount', property: 'Amount' },\n { label: 'DueDate', property: 'DueDate' }\n \n ];\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n \n this.loadServices();\n }\n \n \n enableDebugOnAllServices() {\n //this.modelService.debugMode = true;\n // this.itemService.debugMode = true;\n //this.codingUnitService.debugMode = true;\n //this.storeDataService.debugMode = true;\n //this.supplierService.debugMode = true;\n }\n \n lastCode = 0;\n showModal(Id, action) {\n debugger;\n if (action === 'Add') {\n this.router.navigate(['app/accounts/create-paid-checks/0'])\n \n }\n else if (action === 'Edit') {\n this.router.navigate(['app/accounts/create-paid-checks',Id])\n }\n else if (action === 'Info') {\n this.router.navigate(['app/accounts/view-paid-checks',Id])\n }\n this.tableView = false;\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n console.log((action + \" object\"), this.modelObject);\n \n \n console.log(\"modelObject after entering edit\", this.modelObject);\n }\n \n currentDate='';\n \n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true || result > 0) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n \n \n //lastCode = 0;\n codeWasChecked = false;\n checkCode() : boolean{\n if(!(this.lastCode > 0)){\n this.codeWasChecked = false;\n console.log(\"bad code\", this.lastCode);\n \n return this.codeWasChecked;\n }\n return this.codeWasChecked;\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n SearchFrom: Date = null ;\n SearchTo: Date= null;\n \n clearSearch() {\n this.SearchFrom= null ;\n this.SearchTo = null;\n }\n \n prevAction = '';\n \n \n \n loadServices() {\n this.currentAction = 'loading';\n this.tableEngine.loadData();\n \n \n \n }\n \n newPaidChecksItemInternalId = 0;\n \n currentTotal = 0;\n \n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepChangeSort(sortKey) {\n this.SearchFrom ;\n this.SearchTo ;\n \n \n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n \n getFormattedDate(dateString: any){\n let splitDate: number[] = dateString.toString().split(\"/\");\n \n return new Date(splitDate[2], splitDate[1]-1, splitDate[0])\n }\n ///////////////////////////////////////////////////////\n \n displayMode = 'list';\n changeDisplayMode(mode): void {\n this.displayMode = mode;\n }\n itemsPerPageChange(perPage: number): void {\n this.tableEngine.paginateData(perPage, 1)\n }\n selectedCurrency = '';\n \n SearchKey = ''\n AddEnabled: boolean = true;\n dateSearch: boolean = true;\n searchDateRange(): void {\n this.tableEngine.filterDataByDateRange(this.SearchFrom,this.SearchTo,this.SearchKey==''?'Date':this.SearchKey);\n console.log(\"datefrom header\",this.SearchFrom);\n }\n searchUsingKeys(): void {\n this.tableEngine.filterData();\n }\n \n deleteSelected(): void {\n this.tableEngine.showDelModal('delMulti');\n }\n \n }\n ","\n\n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n\n
    \n
    \n
    \n
    \n \n \n \n\n \n \n\n\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n \n \n \n {{\"CheckNumber\" | translate}}\n \n \n \n \n {{\"ReleaseDate\" | translate}}\n \n \n \n \n {{\"DueDate\" | translate}}\n \n \n \n \n {{\"Amount\" | translate}}\n \n\n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • \n {{item}}
  • \n
    \n
    \n
    \n\n
    \n
    \n \n \n
    \n
    {{obj.CheckNumber}}{{obj.ReleaseDate|date:'dd/MM/yyyy'}}{{obj.DueDate|date:'dd/MM/yyyy'}}{{obj.Amount}}\n \n \n \n \n \n
    \n\n
    \n
    \n \n
    \n\n \n \n \n \n
    \n
    \n
    \n\n\n
    \n
    \n\n
    \n
    \n
    \n\n
    \n\n
     
    \n\n\n
     
    \n\n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { FileUploader } from 'ng2-file-upload';\nimport { environment } from 'src/environments/environment';\n\n@Component({\n selector: 'upload-paid-checks-file',\n templateUrl: 'upload-paid-checks-file.component.html',\n styleUrls: ['upload-paid-checks-file.component.scss']\n})\nexport class UploadPaidChecksFileComponent implements OnInit {\n public NationalIDImage: FileUploader;\n public hasDragOver = false;\n \n @Input()\n public editmode = false;\n \n @Input()\n public url = '';\n \n @Output()\n public urlChange = new EventEmitter();\n declare lang: any;\n \n constructor(private translate: TranslateService, private notifications: NotificationsService) {\n this.lang = localStorage.getItem('theme_lang');\n\n this.NationalIDImage = new FileUploader({\n url: environment.baseApiUrl+'PaidChecks/UploadFile',\n disableMultipart: false,\n autoUpload: true\n });\n \n this.NationalIDImage.response.subscribe(res => {\n // Upload returns a JSON with the image ID\n if(res != null && res != \"\" && res != undefined){\n this.url = environment.apiUrl+ '/Resources/PaidChecks/' + JSON.parse(res);\n this.urlChange.emit(this.url);\n }\n else{\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessUpload\"))\n }\n },error =>{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedUpload\"))\n });\n }\n \n public fileOver(e: any): void {\n \n this.hasDragOver = e;\n }\n \n ngOnInit() {\n \n }\n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n }\n ","
    \n \n \n \n \n
    \n ","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { PaidChecksModel } from '../../models/paid-checks.model';\nimport { PaidChecksService } from '../../paid-checks.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { AccountsNameService } from '../../../../account-name/AccountNameService';\nimport { AccountNameModel } from '../../../../account-name/AccountNameModel';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\n@Component({\n selector: 'view-paid-checks',\n templateUrl: 'view-paid-checks.component.html',\n styleUrls: ['view-paid-checks.component.scss']\n})\nexport class ViewPaidChecksComponent implements OnInit {\n declare lang: any;\n Id = 0;\n buttonName='';\n obj : PaidChecksModel=new PaidChecksModel();\n constructor( \n private PaidChecksService: PaidChecksService,\n private route: ActivatedRoute,\n public router:Router,\n private notifications: NotificationsService, private translate: TranslateService,\n public fb:FormBuilder,\n private accountsNameService: AccountsNameService,\n \n ){\n this.lang = localStorage.getItem('theme_lang');\n this.Id = + route.snapshot.paramMap.get('Id');\n \n }\n AccountsNameModel: AccountNameModel[] = [];\n PackUpAccounts: AccountNameModel[] = [];\n ngOnInit(): void {\n this.accountsNameService.GetAllSubAccountes(0).subscribe(\n data=>{\n this.AccountsNameModel=data;\n this.PackUpAccounts = data.map(item=>Object.assign({}, item))\n\n }\n );\n this.PaidChecksService.getById(this.Id)\n .subscribe(result => {\n this.obj = result;\n console.log('obj',this.obj)\n this.collectionForm = this.createcollectionForm();\n this.rejectForm = this.createrejectForm();\n })\n }\n currentFormMode = ''\n @ViewChild('delModal') delModal: ModalDirective;\n @ViewChild('collection') collection: ModalDirective;\n @ViewChild('deposit') deposit: ModalDirective;\n @ViewChild('reject') reject: ModalDirective;\n\n collectionForm:FormGroup;\n createcollectionForm():FormGroup{\n return this.fb.group({\n CollectionDate:[this.obj.CollectionDate],\n CollectionDescription:[this.obj.CollectionDescription],\n })\n }\n \n rejectForm:FormGroup;\n createrejectForm():FormGroup{\n return this.fb.group({\n RejectedDate:[this.obj.RejectedDate],\n RejectedDescription:[this.obj.RejectedDescription],\n })\n }\n showdepositModal(): void {\n this.deposit.show();\n }\n showrejectModal(): void {\n this.reject.show();\n }\n showcollectionModal(): void {\n this.collection.show();\n }\n Collection(){\n this.obj.CollectionDate = this.collectionForm.getRawValue().CollectionDate;\n this.obj.CollectionDescription = this.collectionForm.getRawValue().CollectionDescription;\n this.PaidChecksService.Collection(this.obj)\n .subscribe(data=>{\n if(data == true){\n this.collection.hide();\n this.obj.IsCollection = true;\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"Success Collection\"));\n }\n else{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedCollection\"));\n \n }\n })\n }\n\n \n Reject(){\n this.obj.RejectedDate = this.rejectForm.getRawValue().RejectedDate;\n this.obj.RejectedDescription = this.rejectForm.getRawValue().RejectedDescription;\n this.PaidChecksService.Reject(this.obj)\n .subscribe(data=>{\n if(data == true){\n this.reject.hide();\n this.obj.IsRejected = true;\n\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"Success Collection\"));\n }\n else{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedCollection\"));\n \n }\n })\n }\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.delModal.show();\n }\n }\n deleteObject() {\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject(){\n this.PaidChecksService.delete(this.obj).subscribe(result => {\n if (result === true) {\n this.router.navigate(['app/accounts/checks-received']);\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n }\n })\n }\n \n\n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n gerAccountNameById(Id):string{\n var account = this.AccountsNameModel.find(x=>x.Id == Id);\n if(account != null){\n return this.lang=='ar-EG'? account.NameAr:account.NameEn;\n }\n return '';\n\n }\n\n}\n","
    \n
    \n
    \n\n
    \n تعديل\n \n \n {{'Delete'|translate}}\n \n \n \n \n
    \n\n\n
    \n\n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n

    {{\"Check Information\"|translate}}

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

    {{\"Amount\"|translate}}:

    \n

    {{obj.Amount}}

    \n
    \n
    \n
    \n
    \n

    {{\"Description\"|translate}}:

    \n

    {{obj.Description}}

    \n
    \n
    \n
    \n
    \n

    {{'DueDate'|translate}} :

    \n

    {{obj.DueDate|date:'dd/MM/yyyy'}}

    \n
    \n
    \n
    \n
    \n

    {{'ReleaseDate'|translate}} :

    \n

    {{obj.ReleaseDate|date:'dd/MM/yyyy'}}

    \n
    \n
    \n
    \n
    \n

    {{\"The Name Is On The Check\"|translate}}:

    \n

    {{obj.TheNameIsOnTheCheck}}

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

    {{'Check Number'|translate}} :

    \n

    {{obj.CheckNumber}}

    \n
    \n
    \n
    \n
    \n

    {{'Account Received'|translate}} :

    \n

    {{gerAccountNameById(obj.AccountReceivedId)}}

    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n
    {{\"Download File\"|translate}}\n \n
    \n
    \n\n
    \n\n \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\" |\n translate}}

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

    \n {{\"collection\" |\n translate}}

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

    \n {{\"Reject\" |\n translate}}

    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    ","export class PaidChecksModel{\r\n Id ?: number;\r\n Amount ?: number;\r\n CurrencyId ?: number;\r\n Description ?: string;\r\n ReleaseDate ?: Date;\r\n DueDate ?: Date;\r\n CheckNumber ?: string;\r\n AccountReceivedId ?: number;\r\n CheckBookId ?: number;\r\n BanckId?:number;\r\n TheNameIsOnTheCheck ?: string;\r\n FileUrl ?: string;\r\n IsCollection ?: boolean;\r\n CollectionDate ?: Date;\r\n CollectionDescription?: string;\r\n CollectionBy ?: string;\r\n IsRejected ?: boolean;\r\n RejectedDate ?: Date;\r\n RejectedDescription ?: string;\r\n RejectedBy ?: string;\r\n constructor(item?:PaidChecksModel){\r\n item =item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.Amount = item.Amount ? item.Amount : 0;\r\n this.CurrencyId = item.CurrencyId ? item.CurrencyId : 0;\r\n this.BanckId = item.BanckId ? item.BanckId : 0;\r\n this.Description = item.Description ? item.Description : '';\r\n this.ReleaseDate = item.ReleaseDate ? item.ReleaseDate : new Date();\r\n this.DueDate = item.DueDate ? item.DueDate : new Date();\r\n this.CheckNumber = item.CheckNumber ? item.CheckNumber : '';\r\n this.AccountReceivedId = item.AccountReceivedId ? item.AccountReceivedId : 0;\r\n this.CheckBookId = item.CheckBookId ? item.CheckBookId : 0;\r\n this.TheNameIsOnTheCheck = item.TheNameIsOnTheCheck ? item.TheNameIsOnTheCheck : '';\r\n this.FileUrl = item.FileUrl ? item.FileUrl : '';\r\n this.IsCollection = item.IsCollection ? item.IsCollection : false;\r\n this.CollectionDate = item.CollectionDate ? item.CollectionDate : new Date();\r\n this.CollectionDescription = item.CollectionDescription ? item.CollectionDescription : '';\r\n this.CollectionBy = item.CollectionBy ? item.CollectionBy : '';\r\n this.IsRejected = item.IsRejected ? item.IsRejected : false;\r\n this.RejectedDate = item.RejectedDate ? item.RejectedDate : new Date();\r\n this.RejectedDescription = item.RejectedDescription ? item.RejectedDescription : '';\r\n this.RejectedBy = item.RejectedBy ? item.RejectedBy : '';\r\n }\r\n}","import { environment } from 'src/environments/environment';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { PaidChecksModel } from './models/paid-checks.model';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PaidChecksService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}PaidChecks/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}PaidChecks/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n GetLastCode(): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}PaidChecks/GetLastCode`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n insert(payload: PaidChecksModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}PaidChecks/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: PaidChecksModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}PaidChecks/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n Collection(payload: PaidChecksModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}PaidChecks/Collection`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n Deposit(payload: PaidChecksModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}PaidChecks/Deposit`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n Reject(payload: PaidChecksModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}PaidChecks/Reject`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: PaidChecksModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}PaidChecks/Delete`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n \r\n deleteList(payload: PaidChecksModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}PaidChecks/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { BasicModel } from \"./helper/model\";\nimport { GovernorateCodeService } from './helper/serves';\n\n\n\nimport { TableEngine } from 'src/app/views/app/aio/shared/TableEngine'\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from '../../shared/side-popup/side-popup.component';\nimport { CountryCodeService } from '../creat-country/helper/serves';\nimport data from 'src/app/data/follow';\nimport { CountryBasicModel } from '../creat-country/helper/model';\n\n@Component({\n // moduleId: module.id,\n selector: 'city-code',\n templateUrl: 'city-code.component.html',\n styleUrls: ['city-code.component.scss']\n})\nexport class CityCodeComponent{\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n\n\n countryBasicModel: CountryBasicModel []= [];\n\n ////////////////////////////////////////////////////////////////////////////\n\n constructor(private countryCodeService: CountryCodeService,private formBuilder: FormBuilder, public modelService: GovernorateCodeService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService) {\n this.countryCodeService.getAll().subscribe(data=>{\n this.countryBasicModel = data\n })\n }\n CountryId:number;\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n\n translationName: string = 'Creat Governorate'\n\n sortableKeys = [];\n searchableKeys = ['NameEn', 'NameAr'];\n\n modelObject: BasicModel = new BasicModel();\n\n ogData: BasicModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n NameEn: new FormControl(),\n NameAr: new FormControl(),\n CountryCodeId: new FormControl(),\n IsPosted: new FormControl(),\n });\n\n\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective;\n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' };\n this.sortableKeys = [\n { label: 'Name', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' },\n ];\n \n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n this.loadServices();\n }\n\n showModal(Id, action) {\n if (action === 'Add') {\n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n }\n else if (action === 'Edit') {\n\n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder)\n console.log(\"this model object:\" + this.modelObject);\n console.log(this.modelObject);\n console.log(\"table engine model object:\" + this.tableEngine.modelObject);\n console.log(this.tableEngine.modelObject);\n\n }\n else if (action === 'Info') {\n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder)\n }\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n }\n\n createForm(modelObject, formBuilder): FormGroup {\n //console.log(\"from craeteform\");\n\n //console.log(\"modelObject\",modelObject.NameEn);\n\n return formBuilder.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n CountryCodeId: [modelObject.CountryCodeId, Validators.compose([Validators.required, ])],\n IsPosted: [modelObject.IsPosted],\n NameEn: [modelObject.NameEn, Validators.compose([Validators.required, Validators.minLength(2)])],\n NameAr: [modelObject.NameAr, Validators.compose([Validators.required, Validators.pattern(/^[\\u0621-\\u064A]+([\\s]*[\\u0621-\\u064A]+)*$/)])],\n // PostalCode: [modelObject.PostalCode, Validators.compose([Validators.required, Validators.pattern(/^/d{5}$/)])],\n });\n }\n onChangeCountryDropdown(value){\n \n console.log(\"$event.target.value\",value);\n \n this.CountryId=value;\n this.loadServices();\n }\n addObject() {\n this.currentAction = 'loading';\n\n this.modelObject = new BasicModel();\n this.modelObject.Id = 0;\n this.modelObject.NameEn = this.mainForm.getRawValue().NameEn;\n this.modelObject.NameAr = this.mainForm.getRawValue().NameAr;\n this.modelObject.CountryCodeId = +this.mainForm.getRawValue().CountryCodeId;\n this.modelObject.IsPosted = this.mainForm.getRawValue().IsPosted;\n \n // this.modelObject.PostalCode = this.mainForm.getRawValue().PostalCode;\n\n this.executeAddObject();\n }\n\n executeAddObject() {\n console.log(\"this.modelObject\",this.modelObject);\ndebugger;\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData(0);\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n console.log(\"this.modelObject\",this.modelObject);\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n\n editObject() {\n console.log(\"this.modelObject\",this.modelObject);\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n console.log(\"this.modelObject\",this.modelObject);\n let tempObj = new BasicModel({\n Id: this.modelObject.Id,\n NameEn: this.mainForm.getRawValue().NameEn,\n NameAr: this.mainForm.getRawValue().NameAr,\n CountryCodeId : +this.mainForm.getRawValue().CountryCodeId,\n IsPosted : this.mainForm.getRawValue().IsPosted,\n });\n\n if (JSON.stringify(tempObj) != JSON.stringify(this.modelObject)) {\n this.executeEditObject(tempObj);\n }\n else {if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n }\n\n executeEditObject(Object) {\n console.log(\"ObjectObject\", Object);\n\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData(0);\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData(0);\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n\n\n prepChangeSort(sortKey) {\n this.tableEngine.itemOrder = this.itemOrder;\n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey))\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component. \n ///////////////////////////////\n //Get any additional data here\n loadServices() {\n this.currentAction = 'loading';\n this.tableEngine.loadData(0);\n }\n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepSort(sortKey) {\n this.tableEngine.changeSort(this.tableEngine.getSort('Name'));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n

    \n {{tableEngine.currentFormMode+translationName | translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n \n
    \n {{\"NameArRequired\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n {{\"NameEnRequired\" | translate}}
    \n \n
    \n
    \n \n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n tableEngine.deletionList.length === tableEngine.ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Name\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{lang==='ar-EG'?obj.NameAr:obj.NameEn}}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","\r\nexport class BasicModel{\r\n Id?: number;\r\n CountryCodeId?: number;\r\n NameAr?: string;\r\n NameEn?: string;\r\n IsPosted?: boolean;\r\n constructor(item?: BasicModel) {\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.CountryCodeId = item.CountryCodeId ? item.CountryCodeId : 0;\r\n this.NameAr = item.NameAr ? item.NameAr : '';\r\n this.NameEn = item.NameEn ? item.NameEn : '';\r\n this.IsPosted = item.IsPosted ? item.IsPosted : false;\r\n }\r\n }","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { BasicModel } from \"./model\";\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GovernorateCodeService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}GovernorateCode/GetAll/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}GovernorateCode/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: BasicModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}GovernorateCode/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: BasicModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}GovernorateCode/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: BasicModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}GovernorateCode/Delete`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n \r\n deleteList(payload: BasicModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}GovernorateCode/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { CostCenterService } from './services/cost-center.service';\nimport { CostCenterModel } from './models/cost-center.model';\nimport { FormGroup, FormBuilder } from '@angular/forms';\nimport { NestedTreeControl } from '@angular/cdk/tree';\nimport { Component, OnInit } from '@angular/core';\nimport { MatTreeNestedDataSource } from '@angular/material/tree';\nimport { ProjectService } from 'src/app/Contracting/projects/projects.service';\nimport { ProjectModel } from 'src/app/Contracting/projects/models/project.model';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\n\ninterface AccountNameNode {\n Id?: number;\n Children?: AccountNameNode[];\n Level?: number;\n Parentcode?:number;\n Name?:string;\n }\n \n@Component({\n // moduleId: module.id,\n selector: 'cost-center',\n templateUrl: 'cost-center.component.html',\n styleUrls: ['cost-center.component.scss']\n})\nexport class CostCenterComponent implements OnInit{\n declare lang: any;\n Form:FormGroup;\n projects:ProjectModel[]=[];\n AccountsNameList:AccountNameNode[]=[]\n centers:CostCenterModel[]=[\n {Acronym:'الفروع',CenterRating:'',CenterType:'',CostCenterNumber:1,Id:1,Level:1,NameAr:'الفروع',NameEn:'Branches',ParentId:0,Stop:false},\n {Acronym:'العيادات',CenterRating:'',CenterType:'',CostCenterNumber:1,Id:2,Level:1,NameAr:'العيادات',NameEn:'Clients',ParentId:0,Stop:false},\n {Acronym:'التسويات',CenterRating:'',CenterType:'',CostCenterNumber:1,Id:3,Level:1,NameAr:'التسويات',NameEn:'Settlements',ParentId:0,Stop:false},\n {Acronym:'العيادات 2',CenterRating:'',CenterType:'',CostCenterNumber:1,Id:4,Level:1,NameAr:'العيادات 2',NameEn:'Clients 2',ParentId:0,Stop:false},\n {Acronym:'عيادات فرع الدائري',CenterRating:'',CenterType:'',CostCenterNumber:5,Id:5,Level:1,NameAr:'عيادات فرع الدائري',NameEn:'Clients',ParentId:0,Stop:false},\n {Acronym:'فرع 1',CenterRating:'',CenterType:'',CostCenterNumber:1,Id:6,Level:2,NameAr:'فرع 1',NameEn:'branch 1',ParentId:1,ParentName:'الفروع', Stop:false},\n {Acronym:'فرع 2',CenterRating:'',CenterType:'',CostCenterNumber:1,Id:7,Level:2,NameAr:'فرع 2',NameEn:'branch 2',ParentId:1,ParentName:'الفروع', Stop:false},\n {Acronym:'فرع 3',CenterRating:'',CenterType:'',CostCenterNumber:1,Id:8,Level:2,NameAr:'فرع 3',NameEn:'branch 3',ParentId:1,ParentName:'الفروع', Stop:false},\n ]\n costCenter:CostCenterModel=new CostCenterModel();\n constructor(\n private translate: TranslateService, \n public notifications: NotificationsService,\n private fb:FormBuilder,\n private projectService:ProjectService,\n private costCenterService:CostCenterService\n ){\n this.lang = localStorage.getItem('theme_lang');\n\n }\n ngOnInit(): void {\n this.costCenterService.getAll(0)\n .subscribe(data => {\n this.centers = data;\n if(this.centers && this.centers.length > 0){\n this.getDataNodes();\n\n }\n // this.Form = this.createForm();\n })\n this.costCenterService.GetLastCode()\n .subscribe(accountNumber=>{\n this.LastAccountNumber = accountNumber;\n })\n this.projectService.getAll()\n .subscribe(data => {\n this.projects = data;\n })\n\n \n }\n createForm():FormGroup{\n return this.fb.group({\n Id:[this.costCenter.Id],\n Acronym:[this.costCenter.Acronym],\n CenterRating:[this.costCenter.CenterRating],\n CenterType:[this.costCenter.CenterType],\n CostCenterNumber:[this.costCenter.CostCenterNumber],\n Level:[this.costCenter.Level],\n NameAr:[this.costCenter.NameAr],\n NameEn:[this.costCenter.NameEn],\n ParentId:[this.costCenter.ParentId],\n Stop:[this.costCenter.Stop],\n ParentName:[this.costCenter.ParentName],\n ProjectId : [this.costCenter.ProjectId]\n })\n }\n nodeList: AccountNameNode [] = [];\n openProjects = false;\n CenterRatingChanged(){\n debugger;\n if(this.Form.controls['CenterRating'].value == 'Project'){\n this.openProjects = true;\n }\n else{\n this.costCenter = this.Form.getRawValue();\n this.costCenter.ProjectId = 0;\n \n this.Form = this.createForm();\n this.openProjects = false;\n }\n }\n getDataNodes(){\n this.nodeCount = 0;\n this.nodeList = [];\n this.centers.forEach(element => {\n debugger;\n if(element.ParentId == 0){\n this.nodeList.push({\n Id : element.Id,\n Level : element.Level,\n Name : this.lang =='ar-EG' ? element.NameAr : element.NameEn,\n Parentcode : element.ParentId,\n Children : []\n });\n }\n else{\n this.nodeList.forEach(child => {\n if(child.Id == element.ParentId){\n child.Children.push({\n Id : element.Id,\n Level : element.Level,\n Name : this.lang =='ar-EG' ? element.NameAr : element.NameEn,\n Parentcode : element.ParentId,\n Children : []\n })\n }\n else{\n\n while(child.Children&&child.Children.length > 0){\n if(child.Id == element.ParentId){\n child.Children.push({\n Id : element.Id,\n Level : element.Level,\n Name : this.lang =='ar-EG' ? element.NameAr : element.NameEn,\n Parentcode : element.ParentId,\n Children : []\n })\n break;\n }\n break;\n\n }\n }\n\n },\n );\n }\n this.nodeCount++;\n });\n \n console.log('this.nodeList',this.nodeList);\n \n this.drawTreeFromTop(this.nodeList);\n \n this.dataSource.data = null;\n this.dataSource.data = this.nodeList;\n \n \n \n }\n //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n ///////////////////////////////////////////////////////////\n // TREE CODE //\n ///////////////////////////////////////////////////////////\n nodeCount = 0;\n drawTreeFromTop(currentlevelList: AccountNameNode []){\n debugger;\n console.log(\"data count: \", this.AccountsNameList.length);\n console.log(\"node count: \", this.nodeCount);\n console.log(\"current nodes: \", this.nodeList);\n \n if(this.nodeCount >= this.AccountsNameList.length){\n console.log(\"we did it, men. we found the deepest nodes.\");\n return currentlevelList;\n }\n else{\n console.log(\"we're not yet done... descending one level deeper into this madness\");\n \n let nextLevelList = [];\n \n currentlevelList.forEach(node => {\n this.AccountsNameList.filter(x=>x.Parentcode == node.Id).forEach(childNode => {\n let tempNode: AccountNameNode = {};\n tempNode.Id = childNode.Id;\n tempNode.Children = [];\n tempNode.Level = node.Level + 1;\n node.Children.push(tempNode)\n this.nodeCount++;\n nextLevelList.push(tempNode);\n });\n });\n return this.drawTreeFromTop(nextLevelList);\n }\n }\n levelLimit = 5;\n treeControl = new NestedTreeControl(node => node.Children);\n dataSource = new MatTreeNestedDataSource();\n //limiting depth level to 4 + base (total of 5 nested nodes)\n hasChild = (_: number, node: AccountNameNode) => !!node.Children && node.Children.length > 0 && node.Level+1x.Id===id);\n }\n AddNewCostCenter(){\n this.costCenter.Id = 0;\n this.costCenter.Level = 1;\n this.costCenter.ParentId = 0;\n this.costCenter.ParentName = '';\n if(this.LastAccountNumber == 0){\n this.costCenter.CostCenterNumber = 1;\n }\n else{\n\n this.costCenter.CostCenterNumber = this.LastAccountNumber;\n }\n this.Form = this.createForm();\n this.formCreated = true;\n this.CenterRatingChanged();\n }\n addChildCostCenter(Id){\n var i = this.centers.findIndex(x=>x.Id == Id);\n this.costCenter.Id = 0;\n\n if(i > -1){\n this.costCenter.Level = this.centers[i].Level + 1;\n this.costCenter.ParentId = Id;\n this.lang =='ar-EG' ? this.costCenter.ParentName = this.centers[i].NameAr : this.costCenter.ParentName = this.centers[i].NameEn;\n this.costCenter.CostCenterNumber = this.LastAccountNumber;\n this.Form = this.createForm();\n this.CenterRatingChanged();\n }\n else{\n this.costCenter.Level = 1;\n this.costCenter.ParentId = 0;\n this.costCenter.CostCenterNumber = this.LastAccountNumber;\n this.Form = this.createForm();\n this.CenterRatingChanged();\n\n }\n this.formCreated = true;\n\n }\n EditNode(Id){\n var i = this.centers.findIndex(x=>x.Id == Id);\n if(i > -1){\n this.costCenter = this.centers[i];\n \n this.Form = this.createForm();\n this.CenterRatingChanged();\n this.formCreated = true;\n\n }\n }\n formCreated = false;\n LastAccountNumber = 0;\n\n \n Save() {\n this.costCenter = this.Form.getRawValue();\n this.costCenterService.insert(this.costCenter).subscribe(\n result => {\n if (result > 0 ) {\n // this.Form = this.createForm();\n this.costCenter.Id = result;\n this.centers.push(this.costCenter);\n this.getDataNodes();\n this.costCenter = new CostCenterModel();\n this.formCreated = false;\n this.LastAccountNumber++;\n this.onSuccess();\n } else {\n this.onError();\n }\n }\n )\n\n }\n\n Update() {\n debugger\n this.costCenter = this.Form.getRawValue();\n this.costCenterService.update(this.costCenter).subscribe(\n result => {\n if (result) {\n this.costCenter = new CostCenterModel();\n this.formCreated = false;\n\n this.onSuccess();\n } else {\n this.onError();\n }\n }\n )\n }\n Delete(){\n this.costCenterService.delete(this.costCenter)\n .subscribe(data => {\n var i = this.centers.findIndex(x=>x.Id == this.costCenter.Id);\n if(i > -1){\n this.centers.splice(i,1);\n this.getDataNodes();\n this.costCenter = new CostCenterModel();\n this.formCreated = false;\n }\n })\n }\n onSuccess(): void {\n debugger;\n this.notifications.create(this.translate.instant('Success'),\n this.translate.instant('Action Success'),\n NotificationType.Success, { timeOut: 300, showProgressBar: true });\n }\n \n onWarning(): void {\n\n this.notifications.create(this.translate.instant('Wait'),\n this.translate.instant('Action processing '),\n NotificationType.Warn, { timeOut: 3000, showProgressBar: true });\n}\n\nonError(): void {\n this.notifications.create(this.translate.instant('Error'),\n this.translate.instant('Something wrong'),\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n}\n}\n","\n
    \n {{\"Back\" |\n translate}}\n \n \n \n
    \n
    \n\n
    \n
    \n
    \n

    {{\"Cost Centers\" | translate}}

    \n
    \n \n
    \n
    \n \n \n\n\n \n
  • \n \n {{node.Name}}\n \n
  • \n
    \n \n \n
  • \n
    \n \n \n {{node.Name}}\n \n \n \n
    \n
      \n \n
    \n
  • \n
    \n\n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n\n
    \n \n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n\n
    \n \n
    \n
    \n
    \n
    \n
    \n
    ","export class CostCenterModel{\r\n Id?:number;\r\n NameAr ?:string;\r\n NameEn ?:string;\r\n CostCenterNumber?:number;\r\n Level ?:number;\r\n Stop ?:boolean;\r\n ParentId ?:number;\r\n ProjectId ?:number;\r\n ParentName ?:string;\r\n CenterType ?:string;\r\n CenterRating ?:string;\r\n Acronym ?:string;\r\n constructor(item ?: CostCenterModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.NameAr = item.NameAr ? item.NameAr : '';\r\n this.NameEn = item.NameEn ? item.NameEn : '';\r\n this.CostCenterNumber = item.CostCenterNumber ? item.CostCenterNumber : 0;\r\n this.Level = item.Level ? item.Level : 0;\r\n this.Stop = item.Stop ? item.Stop : false;\r\n this.ParentId = item.ParentId ? item.ParentId : 0;\r\n this.ProjectId = item.ProjectId ? item.ProjectId : 0;\r\n this.CenterType = item.CenterType ? item.CenterType : '';\r\n this.CenterRating = item.CenterRating ? item.CenterRating : '';\r\n this.Acronym = item.Acronym ? item.Acronym : '';\r\n this.ParentName = item.ParentName ? item.ParentName : '';\r\n }\r\n}","import { environment } from 'src/environments/environment';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { CostCenterModel } from '../models/cost-center.model';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CostCenterService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}CostElement/GetAll/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n GetAllByAccountId(AccountId:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}CostElement/GetAllByAccountId/${AccountId}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n GetAllSub(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}CostElement/GetAllSub/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n GetLastCode(): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}CostElement/GetLastCode`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}CostElement/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: CostCenterModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}CostElement/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: CostCenterModel): Observable {\r\n return this.http\r\n .put(`${this.baseUrl}CostElement/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: CostCenterModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}CostElement/Delete`,payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: CostCenterModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}CostElement/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n ","import { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { CountryBasicModel } from \"./helper/model\";\nimport { CountryCodeService } from './helper/serves';\n\n\n\nimport { TableEngine } from 'src/app/views/app/aio/shared/TableEngine'\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from '../../shared/side-popup/side-popup.component';\n\n@Component({\n // moduleId: module.id,\n selector: 'creat-country',\n templateUrl: 'creat-country.component.html',\n styleUrls: ['creat-country.component.scss']\n})\nexport class CreatCountryComponent{\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n\n constructor(private formBuilder: FormBuilder, public modelService: CountryCodeService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService\n\n ) {\n }\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n\n translationName: string = 'Create Country'\n\n sortableKeys = [];\n searchableKeys = ['NameEn', 'NameAr'];\n\n modelObject: CountryBasicModel = new CountryBasicModel();\n\n ogData: CountryBasicModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n NameEn: new FormControl(),\n NameAr: new FormControl(),\n CodeTaxTabel :new FormControl(),\n });\n\n\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective;\n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' };\n this.sortableKeys = [\n { label: 'Name', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' },\n ];\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n this.loadServices();\n }\n\n showModal(Id, action) {\n if (action === 'Add') {\n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n }\n else if (action === 'Edit') {\n\n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder)\n console.log(\"this model object:\" + this.modelObject);\n console.log(this.modelObject);\n console.log(\"table engine model object:\" + this.tableEngine.modelObject);\n console.log(this.tableEngine.modelObject);\n\n }\n else if (action === 'Info') {\n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder)\n }\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n }\n\n createForm(modelObject, formBuilder): FormGroup {\n //console.log(\"from craeteform\");\n\n //console.log(\"modelObject\",modelObject.NameEn);\n\n return formBuilder.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n NameEn: [modelObject.NameEn, Validators.compose([Validators.required, Validators.minLength(2)])],\n NameAr: [modelObject.NameAr, Validators.compose([Validators.required, Validators.pattern(/^[\\u0621-\\u064A]+([\\s]*[\\u0621-\\u064A]+)*$/)])],\n CodeTaxTabel: [modelObject.CodeTaxTabel, Validators.compose([Validators.required])],\n });\n }\n\n addObject() {\n this.currentAction = 'loading';\n\n this.modelObject = new CountryBasicModel();\n this.modelObject.Id = 0;\n this.modelObject.NameEn = this.mainForm.getRawValue().NameEn;\n this.modelObject.NameAr = this.mainForm.getRawValue().NameAr;\n this.modelObject.CodeTaxTabel = this.mainForm.getRawValue().CodeTaxTabel;\n\n this.executeAddObject();\n }\n\n executeAddObject() {\n console.log(this.modelObject);\n\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n\n editObject() {\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n\n let tempObj = new CountryBasicModel({\n Id: this.modelObject.Id,\n NameEn: this.mainForm.getRawValue().NameEn,\n NameAr: this.mainForm.getRawValue().NameAr,\n CodeTaxTabel : this.mainForm.getRawValue().CodeTaxTabel\n });\n\n if (JSON.stringify(tempObj) != JSON.stringify(this.modelObject)) {\n this.executeEditObject(tempObj);\n }\n else {if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n }\n\n executeEditObject(Object) {\n console.log(\"ObjectObject\", Object);\n\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n\n\n prepChangeSort(sortKey) {\n this.tableEngine.itemOrder = this.itemOrder;\n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey))\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n loadServices() {\n this.currentAction = 'loading';\n this.tableEngine.loadData();\n }\n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepSort(sortKey) {\n this.tableEngine.changeSort(this.tableEngine.getSort('Name'));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n}\n","\n\n\n\n\n
    \n
    \n
    \n
    \n
    \n

    \n {{tableEngine.currentFormMode+translationName | translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"Required\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"NameArRequired\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n {{\"NameEnRequired\" | translate}}
    \n \n
    \n \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n tableEngine.deletionList.length === tableEngine.ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Name\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{lang==='ar-EG'?obj.NameAr:obj.NameEn}}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","\r\nexport class CountryBasicModel{\r\n Id?: number;\r\n NameAr?: string;\r\n NameEn?: string;\r\n CodeTaxTabel?: string;\r\n IsPosted?: boolean;\r\n \r\n constructor(item?: CountryBasicModel) {\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.NameAr = item.NameAr ? item.NameAr : '';\r\n this.NameEn = item.NameEn ? item.NameEn : '';\r\n this.CodeTaxTabel = item.CodeTaxTabel ? item.CodeTaxTabel : '';\r\n this.IsPosted = item.IsPosted ? item.IsPosted : false;\r\n }\r\n }","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { CountryBasicModel } from \"./model\";\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CountryCodeService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}CountryCode/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}CountryCode/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: CountryBasicModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}CountryCode/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: CountryBasicModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}CountryCode/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: CountryBasicModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}CountryCode/Delete`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n \r\n deleteList(payload: CountryBasicModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}CountryCode/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { BasicModel } from \"./helper/model\";\nimport { GovernorateCodeService } from './helper/serves';\n\n\n\nimport { TableEngine } from 'src/app/views/app/aio/shared/TableEngine'\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from '../../shared/side-popup/side-popup.component';\nimport { CountryCodeService } from '../creat-country/helper/serves';\nimport data from 'src/app/data/follow';\nimport { CountryBasicModel } from '../creat-country/helper/model';\n\n@Component({\n // moduleId: module.id,\n selector: 'creat-governorate',\n templateUrl: 'creat-governorate.component.html',\n styleUrls: ['creat-governorate.component.scss']\n})\nexport class CreatGovernorateComponent{\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n\n\n countryBasicModel: CountryBasicModel []= [];\n\n ////////////////////////////////////////////////////////////////////////////\n\n constructor(private countryCodeService: CountryCodeService,private formBuilder: FormBuilder, public modelService: GovernorateCodeService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService) {\n this.countryCodeService.getAll().subscribe(data=>{\n this.countryBasicModel = data\n })\n }\n CountryId:number;\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n\n translationName: string = 'Creat Governorate'\n\n sortableKeys = [];\n searchableKeys = ['NameEn', 'NameAr'];\n\n modelObject: BasicModel = new BasicModel();\n\n ogData: BasicModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n NameEn: new FormControl(),\n NameAr: new FormControl(),\n CountryCodeId: new FormControl(),\n IsPosted: new FormControl(),\n });\n\n\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n selectedCountryId:number;\n \n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective;\n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' };\n this.sortableKeys = [\n { label: 'Name', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' },\n ];\n \n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n // this.loadServices();\n }\n\n showModal(Id, action) {\n if (action === 'Add') {\n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n }\n else if (action === 'Edit') {\n\n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder)\n console.log(\"this model object:\" + this.modelObject);\n console.log(this.modelObject);\n console.log(\"table engine model object:\" + this.tableEngine.modelObject);\n console.log(this.tableEngine.modelObject);\n\n }\n else if (action === 'Info') {\n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder)\n }\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n }\n\n createForm(modelObject, formBuilder): FormGroup {\n //console.log(\"from craeteform\");\n\n //console.log(\"modelObject\",modelObject.NameEn);\n\n return formBuilder.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n CountryCodeId: [modelObject.CountryCodeId, Validators.compose([Validators.required, ])],\n IsPosted: [modelObject.IsPosted],\n NameEn: [modelObject.NameEn, Validators.compose([Validators.required, Validators.minLength(2)])],\n NameAr: [modelObject.NameAr, Validators.compose([Validators.required, Validators.pattern(/^[\\u0621-\\u064A]+([\\s]*[\\u0621-\\u064A]+)*$/)])],\n // PostalCode: [modelObject.PostalCode, Validators.compose([Validators.required, Validators.pattern(/^/d{5}$/)])],\n });\n }\n onChangeCountryDropdown(value){\n \n console.log(\"$event.target.value\",value);\n \n this.CountryId=value;\n this.loadServices();\n }\n addObject() {\n this.currentAction = 'loading';\n\n this.modelObject = new BasicModel();\n this.modelObject.Id = 0;\n this.modelObject.NameEn = this.mainForm.getRawValue().NameEn;\n this.modelObject.NameAr = this.mainForm.getRawValue().NameAr;\n this.modelObject.CountryCodeId = +this.mainForm.getRawValue().CountryCodeId;\n this.modelObject.IsPosted = this.mainForm.getRawValue().IsPosted;\n \n // this.modelObject.PostalCode = this.mainForm.getRawValue().PostalCode;\n\n this.executeAddObject();\n }\n\n executeAddObject() {\n console.log(\"this.modelObject\",this.modelObject);\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData( this.CountryId);\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n console.log(\"this.modelObject\",this.modelObject);\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n\n editObject() {\n console.log(\"this.modelObject\",this.modelObject);\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n console.log(\"this.modelObject\",this.modelObject);\n let tempObj = new BasicModel({\n Id: this.modelObject.Id,\n NameEn: this.mainForm.getRawValue().NameEn,\n NameAr: this.mainForm.getRawValue().NameAr,\n CountryCodeId : +this.mainForm.getRawValue().CountryCodeId,\n IsPosted : this.mainForm.getRawValue().IsPosted,\n });\n\n if (JSON.stringify(tempObj) != JSON.stringify(this.modelObject)) {\n this.executeEditObject(tempObj);\n }\n else {if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n }\n\n executeEditObject(Object) {\n console.log(\"ObjectObject\", Object);\n\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData( this.CountryId);\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData( this.CountryId);\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n\n\n prepChangeSort(sortKey) {\n this.tableEngine.itemOrder = this.itemOrder;\n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey))\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component. \n ///////////////////////////////\n //Get any additional data here\n loadServices() {\n this.currentAction = 'loading';\n this.tableEngine.loadData( this.CountryId);\n }\n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepSort(sortKey) {\n this.tableEngine.changeSort(this.tableEngine.getSort('Name'));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n

    \n {{tableEngine.currentFormMode+translationName | translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n \n
    \n {{\"NameArRequired\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n {{\"NameEnRequired\" | translate}}
    \n \n
    \n
    \n \n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n tableEngine.deletionList.length === tableEngine.ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Name\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{lang==='ar-EG'?obj.NameAr:obj.NameEn}}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","\r\nexport class BasicModel{\r\n Id?: number;\r\n CountryCodeId?: number;\r\n NameAr?: string;\r\n NameEn?: string;\r\n IsPosted?: boolean;\r\n constructor(item?: BasicModel) {\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.CountryCodeId = item.CountryCodeId ? item.CountryCodeId : 0;\r\n this.NameAr = item.NameAr ? item.NameAr : '';\r\n this.NameEn = item.NameEn ? item.NameEn : '';\r\n this.IsPosted = item.IsPosted ? item.IsPosted : false;\r\n }\r\n }","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { BasicModel } from \"./model\";\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GovernorateCodeService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}GovernorateCode/GetAll/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}GovernorateCode/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: BasicModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}GovernorateCode/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: BasicModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}GovernorateCode/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: BasicModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}GovernorateCode/Delete`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n \r\n deleteList(payload: BasicModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}GovernorateCode/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { TaxTypesModel } from 'src/app/views/tax-types/TaxTypesModel';\r\nimport { CostCenterModel } from '../cost-center/models/cost-center.model';\r\nimport { JournalFooterCostCenterModel } from './journal-footer-cost-center.model';\r\nimport { JournalFileModel } from './journal-file.model';\r\n\r\nexport class DailyrestrictionsModel{\r\n Id?:number;\r\n Date?:Date;\r\n Description?:String;\r\n AccountNameId?:number;\r\n BankCodeId?:number;\r\n CurrencyId?:number;\r\n Totaldebit?:number;\r\n Totalcredit?:number;\r\n Totalbalance?:number;\r\n Code ?: number;\r\n Footer?:DailyrestrictionsFooterModel[];\r\n IsPosted?:boolean;\r\n NotebookReference?: number;\r\n MovementNumber ?: number;\r\n FiscalYearId?:number;\r\n PeriodicEntry?: boolean;\r\n PeriodicType?: string;\r\n Files ?: JournalFileModel[];\r\n constructor(obj?:DailyrestrictionsModel){\r\n obj = obj? obj:{};\r\n this.Id = obj.Id? obj.Id:0;\r\n this.Code = obj.Code? obj.Code:0;\r\n this.FiscalYearId = obj.FiscalYearId? obj.FiscalYearId:0;\r\n this.Date = obj.Date? obj.Date:new Date();\r\n this.Description = obj.Description? obj.Description:'';\r\n this.PeriodicType = obj.PeriodicType? obj.PeriodicType:'';\r\n\r\n this.AccountNameId = obj.AccountNameId? obj.AccountNameId:0;\r\n this.NotebookReference = obj.NotebookReference? obj.NotebookReference:0;\r\n this.MovementNumber = obj.MovementNumber ? obj.MovementNumber :0;\r\n this.BankCodeId = obj.BankCodeId? obj.BankCodeId:0;\r\n this.CurrencyId = obj.CurrencyId? obj.CurrencyId:0;\r\n this.Totaldebit = obj.Totaldebit? obj.Totaldebit:0;\r\n this.Totalcredit = obj.Totalcredit? obj.Totalcredit:0;\r\n this.Totalbalance = obj.Totalbalance? obj.Totalbalance:0;\r\n \r\n this.Footer = obj.Footer? obj.Footer:[];\r\n this.IsPosted = obj.IsPosted? obj.IsPosted:false;\r\n this.PeriodicEntry = obj.PeriodicEntry? obj.PeriodicEntry:false;\r\n this.Files = obj.Files ? obj.Files : [];\r\n }\r\n}\r\n\r\nexport class DailyrestrictionsFooterModel{\r\n Id?:number;\r\n AccountNameId?:number;\r\n // Subledger1?:number;\r\n // Subledger2?:number;\r\n // Subledger3?:number;\r\n // Subledger4?:number;\r\n // Subledger5?:number;\r\n Description ?:string;\r\n AccountNumber?:number;\r\n Debit?:number;\r\n Credit?:number;\r\n CostCenters?:JournalFooterCostCenterModel[];\r\n centers?:CostCenterModel[];\r\n AccountNameAr?:string;\r\n AccountNameEn?:string;\r\n taxes?:TaxTypesModel[];\r\n constructor(obj?:DailyrestrictionsFooterModel){\r\n obj = obj? obj:{};\r\n this.Id = obj.Id? obj.Id:0;\r\n this.AccountNameId = obj.AccountNameId? obj.AccountNameId:0;\r\n this.AccountNumber = obj.AccountNumber? obj.AccountNumber:0;\r\n // this.Subledger1 = obj.Subledger1? obj.Subledger1:0;\r\n // this.Subledger2 = obj.Subledger2? obj.Subledger2:0;\r\n // this.Subledger3 = obj.Subledger3? obj.Subledger3:0;\r\n // this.Subledger4 = obj.Subledger4? obj.Subledger4:0;\r\n // this.Subledger5 = obj.Subledger5? obj.Subledger5:0;\r\n this.Debit = obj.Debit? obj.Debit:0;\r\n this.Credit = obj.Credit? obj.Credit:0;\r\n this.CostCenters = obj.CostCenters? obj.CostCenters:[];\r\n this.centers = obj.centers? obj.centers:[];\r\n this.taxes = obj.taxes? obj.taxes:[];\r\n this.AccountNameAr = obj.AccountNameAr? obj.AccountNameAr:'';\r\n this.AccountNameEn = obj.AccountNameEn? obj.AccountNameEn:'';\r\n this.Description = obj.Description? obj.Description:'';\r\n }\r\n}\r\n\r\nexport class SelectedDailyrestrictionsFooterModel{\r\n Id?:number;\r\n NameAr?:string;\r\n NameEn?:string;\r\n AccountNameId?:number;\r\n addCostCenters?:boolean;\r\n // Subledger1?:number;\r\n // Subledger2?:number;\r\n // Subledger3?:number;\r\n // Subledger4?:number;\r\n // Subledger5?:number;\r\n Debit?:number;\r\n Credit?:number;\r\n CostCenterId1?:number;\r\n CostCenterId2?:number;\r\n CostCenters?:JournalFooterCostCenterModel[];\r\n centers?:CostCenterModel[];\r\n Description?:string;\r\n taxes?:TaxTypesModel[];\r\n Files?:JournalFileModel[];\r\n AccountNature?:number;\r\n constructor(obj?:SelectedDailyrestrictionsFooterModel){\r\n obj = obj? obj:{};\r\n this.Id = obj.Id? obj.Id:0;\r\n this.AccountNameId = obj.AccountNameId? obj.AccountNameId:0;\r\n this.CostCenterId1 = obj.CostCenterId1? obj.CostCenterId1:0;\r\n this.CostCenterId2 = obj.CostCenterId2? obj.CostCenterId2:0;\r\n this.AccountNature = obj.AccountNature? obj.AccountNature:0;\r\n this.addCostCenters = obj.addCostCenters? obj.addCostCenters:false;\r\n this.CostCenters = obj.CostCenters? obj.CostCenters:[];\r\n this.centers = obj.centers? obj.centers:[];\r\n this.Description = obj.Description? obj.Description:'';\r\n this.taxes = obj.taxes? obj.taxes:[];\r\n\r\n // this.Subledger1 = obj.Subledger1? obj.Subledger1:0;\r\n // this.Subledger2 = obj.Subledger2? obj.Subledger2:0;\r\n // this.Subledger3 = obj.Subledger3? obj.Subledger3:0;\r\n // this.Subledger4 = obj.Subledger4? obj.Subledger4:0;\r\n // this.Subledger5 = obj.Subledger5? obj.Subledger5:0;\r\n this.NameAr = obj.NameAr? obj.NameAr:'';\r\n this.NameEn = obj.NameEn? obj.NameEn:'';\r\n this.Debit = obj.Debit? obj.Debit:0;\r\n this.Credit = obj.Credit? obj.Credit:0;\r\n this.Files = obj.Files ? obj.Files : [];\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { DailyrestrictionsModel } from \"./DailyrestrictionsModel\";\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DailyrestrictionsService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}JournalHeader/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n GetCode(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}JournalHeader/GetCode`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n ChckCode(code:number): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}JournalHeader/ChckCode/${code}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}JournalHeader/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: DailyrestrictionsModel): Observable {\r\n debugger;\r\n return this.http\r\n .post(`${this.baseUrl}JournalHeader/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: DailyrestrictionsModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}JournalHeader/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: DailyrestrictionsModel): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}JournalHeader/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: DailyrestrictionsModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}JournalHeader/DeleteList`,payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n ","import { JournalFileModel } from './journal-file.model';\nimport { TaxTypesService } from './../../../../tax-types/TaxTypesService';\nimport { CostCenterService } from './../cost-center/services/cost-center.service';\nimport { CostCenterModel } from './../cost-center/models/cost-center.model';\nimport { Component, OnInit, TemplateRef, ViewChild } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { CurrencyModel } from 'src/app/invoices/currencies/CurrencyModel';\nimport { CurrencyService } from 'src/app/invoices/currencies/CurrencyService';\nimport { AccountNameModel } from '../account-name/AccountNameModel';\nimport { AccountsNameService } from '../account-name/AccountNameService';\nimport { BasicModel } from '../account-type/helper/model';\nimport { AccountsTypeService } from '../account-type/helper/serves';\nimport { BankCodeModel } from '../bank-code/bank_code_model';\nimport { BankCodeService } from '../bank-code/serves';\nimport { DailyrestrictionsModel } from './DailyrestrictionsModel';\nimport { DailyrestrictionsService } from './DailyrestrictionsService';\nimport { DailyrestrictionsFooterModel } from './DailyrestrictionsModel';\nimport { SelectedDailyrestrictionsFooterModel } from './DailyrestrictionsModel';\nimport { ActivatedRoute, Route, Router } from '@angular/router';\nimport { JournalFooterCostCenterModel } from './journal-footer-cost-center.model';\nimport { AccountsCostCentersService } from '../assign-cost-centers/services/account-cost-center.service';\nimport { BsModalRef, ModalDirective, BsModalService } from 'ngx-bootstrap/modal';\nimport { TreasuryAndBankAccountsService } from '../treasury-and-bank-accounts/treasury-and-bank-accounts.service';\nimport { TreasuryAndBankAccountsModel } from '../treasury-and-bank-accounts/model/treasury-and-bank-accounts-model';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\nimport { TaxTypesModel } from 'src/app/invoices/tax-types/TaxTypesModel';\nimport { FiscalYearService } from '../fiscal-years/fiscal-year.service';\n@Component({\n // moduleId: module.id,\n selector: 'dailyrestrictions',\n templateUrl: 'dailyrestrictions.component.html',\n styleUrls: ['dailyrestrictions.component.scss']\n})\nexport class DailyrestrictionsComponent implements OnInit {\n declare lang: any;\n\n // accountsTypeModel: BasicModel[] = [];\n AccountsNameModel: AccountNameModel[] = [];\n HeaderAccountNameList: AccountNameModel[] = [];\n PackUpAccounts: AccountNameModel[] = [];\n FooterAccountNameList: AccountNameModel[] = [];\n BankList: TreasuryAndBankAccountsModel[] = [];\n CurrencyList: CurrencyModel[] = [];\n \n DailyrestrictionsModel: DailyrestrictionsModel=new DailyrestrictionsModel();\n DailyrestrictionsFooterModel: DailyrestrictionsFooterModel[] = [];\n SelectedDailyrestrictionsFooterModel: SelectedDailyrestrictionsFooterModel[] = [\n {AccountNameId:0,Credit:0,Debit:0,Id:1,NameAr:'',NameEn:'',CostCenters:[],AccountNature:0},\n {AccountNameId:0,Credit:0,Debit:0,Id:2,NameAr:'',NameEn:'',CostCenters:[],AccountNature:0},\n ];\n SelectedDailyrestrictionsFooterModelForModal:DailyrestrictionsFooterModel={};\n // SaveIsValid=false;\n HeaderFormGroup:FormGroup;\n FooterFormGroup:FormGroup;\n TotalCreditor:number=0;\n TotalDebtor:number=0;\n Total:number=0;\n date:string;\n code=1;\n costCenters1:CostCenterModel[]=[];\n costCenters2:CostCenterModel[]=[];\n Id = 0;\n buttonName='';\n taxes:TaxTypesModel[]=[];\n constructor( \n private FiscalYearService:FiscalYearService,\n private BankService: TreasuryAndBankAccountsService,\n private DailyrestrictionsService: DailyrestrictionsService,\n private CurrencyService: CurrencyService, \n private accountsNameService: AccountsNameService,\n private costCenterService:CostCenterService,\n private route: ActivatedRoute,\n public router:Router,\n private accountCostCenter:AccountsCostCentersService,\n private modalService: BsModalService,\n private notifications: NotificationsService,\n private translate: TranslateService,\n private TaxService : TaxTypesService\n ){\n this.lang = localStorage.getItem('theme_lang');\n this.Id = + route.snapshot.paramMap.get('Id');\n \n }\n ngOnInit(): void {\n debugger;\n this.TaxService.getAll()\n .subscribe(reault=>{\n this.taxes = reault;\n console.log('this.taxes',this.taxes)\n })\n if(this.Id > 0){\n this.buttonName = 'Edit';\n\n this.DailyrestrictionsService.getById(this.Id)\n .subscribe(result => {\n this.DailyrestrictionsModel = result;\n this.files = this.DailyrestrictionsModel.Files;\n console.log(this.DailyrestrictionsModel);\n this.code = this.DailyrestrictionsModel.Code;\n this.TotalCreditor = this.DailyrestrictionsModel.Totalcredit;\n this.TotalDebtor = this.DailyrestrictionsModel.Totaldebit;\n this.date = this.DailyrestrictionsModel.Date ? this.DailyrestrictionsModel.Date.toString().slice(0, 10): this.date = new Date().toISOString().slice(0, 10);\n this.SelectedDailyrestrictionsFooterModel = this.DailyrestrictionsModel.Footer;\n this.SelectedDailyrestrictionsFooterModel.forEach(element => {\n if(element.CostCenters.length > 0){\n this.costCenterService.GetAllByAccountId(element.AccountNameId)\n .subscribe(data => {\n element.centers = data;\n element.addCostCenters = true;\n })\n }\n });\n this.BankService.GetAllBankAccounts().subscribe(\n data=>{\n this.BankList=data;\n }\n );\n this.CurrencyService.getAll().subscribe(\n data=>{\n this. CurrencyList=data;\n }\n );\n this.accountsNameService.GetAllSubAccountes(0).subscribe(\n data=>{\n this.AccountsNameModel=data;\n this.AccountsNameModel.forEach(element => {\n element.NameAr = element.AccountNumber +' # '+ element.NameAr;\n element.NameEn = element.AccountNumber +' # '+ element.NameEn;\n });\n this.HeaderAccountNameList=data;\n this.FooterAccountNameList=data;\n this.PackUpAccounts = data.map(item=>Object.assign({}, item))\n // this.SelectedDailyrestrictionsFooterModel =data;\n // console.log(\"AccountsNameList\",this.accountsTypeModel); \n }\n );\n \n this.HeaderFormGroup = new FormGroup({\n HeaderAccountNameDropdwon: new FormControl(this.DailyrestrictionsModel.AccountNameId, Validators.required,),\n HeaderBankCodeDropdwon: new FormControl(this.DailyrestrictionsModel.BankCodeId, Validators.required,),\n HeaderCurrencyDropdwon: new FormControl(this.DailyrestrictionsModel.CurrencyId, Validators.required,),\n HeaderDescription: new FormControl(this.DailyrestrictionsModel.Description),\n startDate: new FormControl(this.date, Validators.required),\n Date: new FormControl(this.date, Validators.required),\n Code:new FormControl(this.code, Validators.required),\n NotebookReference:new FormControl(this.DailyrestrictionsModel.NotebookReference,Validators.required),\n MovementNumber:new FormControl(this.DailyrestrictionsModel.MovementNumber,Validators.required),\n PeriodicEntry:new FormControl(this.DailyrestrictionsModel.PeriodicEntry),\n PeriodicType:new FormControl(this.DailyrestrictionsModel.PeriodicType)\n });\n })\n }\n else{\n this.buttonName = 'Add';\n this.files = [];\n this.DailyrestrictionsModel = new DailyrestrictionsModel();\n this.DailyrestrictionsService.GetCode()\n .subscribe(code=>{\n if(code > -1){\n console.log('code',code)\n this.code = code + 1;\n \n this.HeaderFormGroup = new FormGroup({\n HeaderAccountNameDropdwon: new FormControl(this.DailyrestrictionsModel.AccountNameId, Validators.required,),\n HeaderBankCodeDropdwon: new FormControl(this.DailyrestrictionsModel.BankCodeId, Validators.required,),\n HeaderCurrencyDropdwon: new FormControl(this.DailyrestrictionsModel.CurrencyId, Validators.required,),\n HeaderDescription: new FormControl(this.DailyrestrictionsModel.Description),\n startDate: new FormControl(this.date, Validators.required),\n Date: new FormControl(this.date, Validators.required),\n Code:new FormControl(this.code, Validators.required),\n NotebookReference:new FormControl(this.DailyrestrictionsModel.NotebookReference,Validators.required),\n MovementNumber:new FormControl(this.DailyrestrictionsModel.MovementNumber,Validators.required),\n PeriodicEntry:new FormControl(this.DailyrestrictionsModel.PeriodicEntry),\n PeriodicType:new FormControl(this.DailyrestrictionsModel.PeriodicType)\n });\n this.CurrencyList.forEach(element => {\n if(element.IsMain == true){\n this.HeaderFormGroup.controls['HeaderCurrencyDropdwon'].setValue(element.Id);\n }\n });\n }\n })\n this.date = new Date().toISOString().slice(0, 10);\n \n this.BankService.GetAllBankAccounts().subscribe(\n data=>{\n this.BankList=data;\n }\n );\n this.CurrencyService.getAll().subscribe(\n data=>{\n this. CurrencyList=data;\n }\n );\n this.accountsNameService.GetAllSubAccountes(0).subscribe(\n data=>{\n this.AccountsNameModel=data;\n this.AccountsNameModel.forEach(element => {\n element.NameAr = element.AccountNumber+' # ' + element.NameAr;\n element.NameEn = element.AccountNumber+' # ' + element.NameEn;\n });\n this.HeaderAccountNameList=data;\n this.FooterAccountNameList=data;\n this.PackUpAccounts = data.map(item=>Object.assign({}, item))\n // this.SelectedDailyrestrictionsFooterModel =data;\n // console.log(\"AccountsNameList\",this.accountsTypeModel); \n }\n );\n \n }\n \n }\n ChckCode(){\n var code = this.HeaderFormGroup.controls['Code'].value;\n this.DailyrestrictionsService.ChckCode(code)\n .subscribe(data => {\n if(data == false){\n this.HeaderFormGroup.controls['Code'].setErrors({'incorrect': true})\n }\n })\n }\n // createMainFormForm():FormGroup{\n // return this.MainFormGroup = new FormGroup({\n // BalanceNameDropdwon: new FormControl(null, Validators.required,),\n // startDate: new FormControl(null, Validators.required),\n // DebtorControll: new FormControl(0,),\n // CreditorControll: new FormControl(0,),\n\n // });\n // }\n // onChangeHeaderAccountNameList(value){\n // this.FooterAccountNameList=[];\n // this.HeaderAccountNameList.forEach(\n // item=>{\n // if ( item.Parentcode == value ){\n // this.FooterAccountNameList.push(item)\n // }\n // }\n // )\n \n // }\n changeDebtor(Item,$event){\n var ItemValue = +$event.target.value;\n let indexselected = this.SelectedDailyrestrictionsFooterModel.indexOf(Item);\n this.SelectedDailyrestrictionsFooterModel[indexselected].Debit=ItemValue;\n this.TotalCreditor=0;\n this.TotalDebtor=0; \n this.SelectedDailyrestrictionsFooterModel[indexselected].Credit=0;\n this.SelectedDailyrestrictionsFooterModel.forEach(\n item=>{\n this.TotalCreditor+=item.Credit;\n this.TotalDebtor+=item.Debit; \n }\n )\n \n console.log(\"Item\",Item);\n \n }\n changeCredit(Item,$event){\n var ItemValue =+ $event.target.value;\n let indexselected = this.SelectedDailyrestrictionsFooterModel.indexOf(Item);\n this.SelectedDailyrestrictionsFooterModel[indexselected].Credit=ItemValue;\n this.TotalCreditor=0;\n this.TotalDebtor=0; \n this.SelectedDailyrestrictionsFooterModel[indexselected].Debit=0;\n this.SelectedDailyrestrictionsFooterModel.forEach(\n item=>{\n if(item.Credit>0){\n this.TotalCreditor+=item.Credit;\n \n }else{\n this.TotalDebtor+=item.Debit; \n }\n }\n )\n\n console.log(\".Credit\",this.TotalCreditor);\n \n var subAccountBalanceFooterModel = new DailyrestrictionsFooterModel();\n\n console.log(\"Item\",Item);\n \n }\n splitCenter($event){\n debugger;\n var i = this.costCenters1.findIndex(x=>x.Id == $event.Id);\n if(i > -1){\n this.costCenters1.splice(i,1);\n }\n }\n // @ViewChild('delModal', { static: true }) delModal: ModalDirective=null;\n @ViewChild('template', { static: true }) template=null;\n @ViewChild('taxModal', { static: true }) taxModal=null;\n modalRef: BsModalRef;\n \n // OnAddSelectedItemFunc($event){}\n // OnRemoveSelectedItemFunc($event){\n // var Item = $event.value;\n // console.log(\" OnRemoveSelected\",Item);\n // // let indexselected = this.SelectedDailyrestrictionsFooterModel.findIndex(i => i.Id == Item);\n // var Credit = $event.value.Credit;\n // var Debit = $event.value.Debit;\n // if(Credit>0){\n // this.TotalCreditor-=Credit;\n // }else{\n // this.TotalDebtor-=Debit;\n // }\n // }\n\n //save \n onClick(){\n debugger;\n if(this.FiscalYearService.openYear != null && this.FiscalYearService.openYear != undefined){\n this.Total = this.TotalCreditor - this.TotalDebtor;\n if(this.Total==0){\n console.log(\"secound condition completed total = 0\");\n if(this.HeaderFormGroup.valid){\n console.log(\"theard condition completed Header Form Group Completed\");\n // this.DailyrestrictionsModel.accountBalanceFooterList =\n console.log(\"this.DailyrestrictionsModel.accountBalanceFooterModel \",this.SelectedDailyrestrictionsFooterModel );\n \n \n this.DailyrestrictionsModel.Description=this.HeaderFormGroup.getRawValue().HeaderDescription;\n this.DailyrestrictionsModel.CurrencyId=this.HeaderFormGroup.getRawValue().HeaderCurrencyDropdwon;\n this.DailyrestrictionsModel.BankCodeId=this.HeaderFormGroup.getRawValue().HeaderBankCodeDropdwon;\n this.DailyrestrictionsModel.AccountNameId =this.HeaderFormGroup.getRawValue().HeaderAccountNameDropdwon;\n this.DailyrestrictionsModel.Date=this.HeaderFormGroup.getRawValue().startDate;\n this.DailyrestrictionsModel.Code=this.HeaderFormGroup.getRawValue().Code;\n this.DailyrestrictionsModel.NotebookReference=this.HeaderFormGroup.getRawValue().NotebookReference;\n this.DailyrestrictionsModel.MovementNumber=this.HeaderFormGroup.getRawValue().MovementNumber;\n this.DailyrestrictionsModel.PeriodicEntry=this.HeaderFormGroup.getRawValue().PeriodicEntry;\n this.DailyrestrictionsModel.PeriodicType=this.HeaderFormGroup.getRawValue().PeriodicType;\n \n this.DailyrestrictionsModel.Totalcredit=this.TotalCreditor;\n this.DailyrestrictionsModel.Totaldebit=this.TotalDebtor;\n this.DailyrestrictionsModel.Totalbalance=this.Total;\n this.DailyrestrictionsModel.Footer = [];\n this.DailyrestrictionsModel.Files = this.files;\n this.DailyrestrictionsModel.FiscalYearId = this.FiscalYearService.openYear.Id;\n this.SelectedDailyrestrictionsFooterModel.forEach(\n Item=>{\n var subAccountBalanceFooterModel = new DailyrestrictionsFooterModel();\n subAccountBalanceFooterModel.Id =Item.Id ;\n subAccountBalanceFooterModel.AccountNameId=Item.AccountNameId;\n subAccountBalanceFooterModel.Credit =Item.Credit ;\n subAccountBalanceFooterModel.Debit =Item.Debit ;\n subAccountBalanceFooterModel.CostCenters =Item.CostCenters ;\n subAccountBalanceFooterModel.Description =Item.Description ;\n this.DailyrestrictionsModel.Footer.push(subAccountBalanceFooterModel)\n }\n );\n if(this.Id == 0 ){\n this.DailyrestrictionsService.insert(this.DailyrestrictionsModel).subscribe(\n data=>{\n if(data){\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"Add Done Successfully\"));\n this.router.navigate(['app/accounts/all-daily']);\n \n }\n else{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"An error occurred while saving\"));\n \n }\n }\n )\n }\n else{\n this.DailyrestrictionsService.update(this.DailyrestrictionsModel).subscribe(\n data=>{\n if(data){\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"Update Done Successfully\"));\n this.router.navigate(['app/accounts/all-daily']);\n }\n else{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"An error occurred while saving\"));\n }\n }\n )\n }\n console.log(\"this.DailyrestrictionsModel.accountBalanceFooterModel \",this.DailyrestrictionsModel);\n }else{\n console.log(\"theard condition field Header Form Group Completed\");\n }\n \n }else{\n console.log(\"secound condition field total = 0\");\n } \n }\n else{\n\n }\n \n } \n addAndNew(){\n if(this.FiscalYearService.openYear != null && this.FiscalYearService.openYear != undefined){\n\n this.Total = this.TotalCreditor - this.TotalDebtor;\n if(this.Total==0){\n console.log(\"secound condition completed total = 0\");\n if(this.HeaderFormGroup.valid){\n console.log(\"theard condition completed Header Form Group Completed\");\n // this.DailyrestrictionsModel.accountBalanceFooterList =\n console.log(\"this.DailyrestrictionsModel.accountBalanceFooterModel \",this.SelectedDailyrestrictionsFooterModel );\n \n\n this.DailyrestrictionsModel.Description=this.HeaderFormGroup.getRawValue().HeaderDescription;\n this.DailyrestrictionsModel.CurrencyId=this.HeaderFormGroup.getRawValue().HeaderCurrencyDropdwon;\n this.DailyrestrictionsModel.BankCodeId=this.HeaderFormGroup.getRawValue().HeaderBankCodeDropdwon;\n this.DailyrestrictionsModel.AccountNameId =this.HeaderFormGroup.getRawValue().HeaderAccountNameDropdwon;\n this.DailyrestrictionsModel.Date=this.HeaderFormGroup.getRawValue().startDate;\n this.DailyrestrictionsModel.Code=this.HeaderFormGroup.getRawValue().Code;\n this.DailyrestrictionsModel.Totalcredit=this.TotalCreditor;\n this.DailyrestrictionsModel.Totaldebit=this.TotalDebtor;\n this.DailyrestrictionsModel.Totalbalance=this.Total;\n this.DailyrestrictionsModel.NotebookReference=this.HeaderFormGroup.getRawValue().NotebookReference;\n this.DailyrestrictionsModel.MovementNumber=this.HeaderFormGroup.getRawValue().MovementNumber;\n this.DailyrestrictionsModel.PeriodicEntry=this.HeaderFormGroup.getRawValue().PeriodicEntry;\n this.DailyrestrictionsModel.PeriodicType=this.HeaderFormGroup.getRawValue().PeriodicType;\n this.DailyrestrictionsModel.Footer = [];\n this.DailyrestrictionsModel.Files = this.files;\n this.DailyrestrictionsModel.FiscalYearId = this.FiscalYearService.openYear.Id;\n\n this.SelectedDailyrestrictionsFooterModel.forEach(\n Item=>{\n var subAccountBalanceFooterModel = new DailyrestrictionsFooterModel();\n subAccountBalanceFooterModel.Id =Item.Id ;\n subAccountBalanceFooterModel.AccountNameId=Item.AccountNameId;\n subAccountBalanceFooterModel.Credit =Item.Credit ;\n subAccountBalanceFooterModel.Debit =Item.Debit ;\n subAccountBalanceFooterModel.CostCenters =Item.CostCenters ;\n subAccountBalanceFooterModel.Description =Item.Description ;\n\n this.DailyrestrictionsModel.Footer.push(subAccountBalanceFooterModel)\n }\n );\n if(this.Id == 0 ){\n this.DailyrestrictionsService.insert(this.DailyrestrictionsModel).subscribe(\n data=>{\n if(data){\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"Add Done Successfully\"));\n this.SelectedDailyrestrictionsFooterModel = [\n {AccountNameId:0,Credit:0,Debit:0,Id:1,NameAr:'',NameEn:''},\n {AccountNameId:0,Credit:0,Debit:0,Id:2,NameAr:'',NameEn:''},\n ];\n this.ngOnInit();\n \n }\n else{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"An error occurred while saving\"));\n\n }\n }\n )\n }\n else{\n this.DailyrestrictionsService.update(this.DailyrestrictionsModel).subscribe(\n data=>{\n if(data){\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"Update Done Successfully\"));\n this.SelectedDailyrestrictionsFooterModel = [\n {AccountNameId:0,Credit:0,Debit:0,Id:1,NameAr:'',NameEn:''},\n {AccountNameId:0,Credit:0,Debit:0,Id:2,NameAr:'',NameEn:''},\n ];\n this.ngOnInit();\n \n }\n else{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"An error occurred while saving\"));\n\n }\n }\n )\n }\n \n console.log(\"this.DailyrestrictionsModel.accountBalanceFooterModel \",this.DailyrestrictionsModel);\n \n }else{\n console.log(\"theard condition field Header Form Group Completed\");\n\n }\n\n }else{\n console.log(\"secound condition field total = 0\");\n\n } \n }\n else{\n\n }\n }\n AddonClick(){\n var selectedDailyrestrictionsFooterModel =new SelectedDailyrestrictionsFooterModel();\n selectedDailyrestrictionsFooterModel.Id = this.SelectedDailyrestrictionsFooterModel.length+1 ;\n selectedDailyrestrictionsFooterModel.Debit = 0 ;\n selectedDailyrestrictionsFooterModel.Credit = 0 ;\n selectedDailyrestrictionsFooterModel.CostCenters = [] ;\n this.SelectedDailyrestrictionsFooterModel.push(selectedDailyrestrictionsFooterModel);\n }\n splitAccount(Item,$event){\n debugger;\n var selectedIndex = this.SelectedDailyrestrictionsFooterModel.indexOf(Item);\n var i = this.AccountsNameModel.findIndex(x=>x.Id == $event.Id);\n\n if(selectedIndex > -1){\n this.SelectedDailyrestrictionsFooterModel[selectedIndex].AccountNature = this.AccountsNameModel[i].AccountNature;\n }\n if(i > -1){\n this.AccountsNameModel.splice(i,1);\n }\n }\n deleteSelectedAccount(item){\n debugger;\n var i = this.SelectedDailyrestrictionsFooterModel.indexOf(item);\n console.log('i',i);\n if(i > -1){\n if(this.SelectedDailyrestrictionsFooterModel[i].Credit > 0){\n this.TotalCreditor -= this.SelectedDailyrestrictionsFooterModel[i].Credit;\n }\n if(this.SelectedDailyrestrictionsFooterModel[i].Debit > 0){\n this.TotalDebtor -= this.SelectedDailyrestrictionsFooterModel[i].Debit;\n }\n var x= this.PackUpAccounts.findIndex(x=>x.Id == this.SelectedDailyrestrictionsFooterModel[i].AccountNameId);\n if(x > -1){\n\n this.AccountsNameModel.push(this.PackUpAccounts[x]);\n }\n this.SelectedDailyrestrictionsFooterModel.splice(i,1);\n }\n }\n AssignCostCenter(Item){\n debugger;\n if(Item.AccountNameId > 0){\n var selectedIndex = this.SelectedDailyrestrictionsFooterModel.indexOf(Item);\n this.SelectedDailyrestrictionsFooterModel[selectedIndex].addCostCenters = true;\n if(!this.SelectedDailyrestrictionsFooterModel[selectedIndex].centers|| this.SelectedDailyrestrictionsFooterModel[selectedIndex].centers.length == 0){\n var cost = new JournalFooterCostCenterModel();\n cost.Amount = 0 ;\n cost.CostCenterId = 0;\n cost.Id = 0;\n cost.JournalFooterId = this.SelectedDailyrestrictionsFooterModel[selectedIndex].Id;\n cost.Percent = 0;\n this.costCenterService.GetAllByAccountId(Item.AccountNameId)\n .subscribe(data => {\n if(data.length > 0){\n this.SelectedDailyrestrictionsFooterModel[selectedIndex].centers = data;\n this.SelectedDailyrestrictionsFooterModel[selectedIndex].centers.splice(0,0,{Id : 0, NameAr:'اختر المركز',NameEn:'Choose Center'})\n console.log('Centers',this.SelectedDailyrestrictionsFooterModel[selectedIndex].centers);\n this.SelectedDailyrestrictionsFooterModel[selectedIndex].CostCenters.push(cost);\n this.SelectedDailyrestrictionsFooterModelForModal = this.SelectedDailyrestrictionsFooterModel[selectedIndex]\n if(this.SelectedDailyrestrictionsFooterModelForModal.centers.length > 1){\n this.openModalWithClass(this.template);\n }\n else{\n this.onInfo(this.translate.instant(\"Info\"), this.translate.instant(\"This Account Not Set To Any Cost Center\"));\n }\n \n }\n else{\n this.onInfo(this.translate.instant(\"Info\"), this.translate.instant(\"This Account Not Set To Any Cost Center\"));\n }\n \n })\n }\n else{\n this.SelectedDailyrestrictionsFooterModelForModal = this.SelectedDailyrestrictionsFooterModel[selectedIndex]\n if(this.SelectedDailyrestrictionsFooterModelForModal.centers.length > 1){\n this.openModalWithClass(this.template);\n }\n else{\n this.onInfo(this.translate.instant(\"Info\"), this.translate.instant(\"This Account Not Set To Any Cost Center\"));\n }\n }\n }\n else{\n this.onInfo(this.translate.instant(\"Info\"), this.translate.instant(\"Plase Choose Account\"));\n }\n \n }\n openModalWithClass(template: TemplateRef): void {\n this.modalRef = this.modalService.show(\n template,\n Object.assign({}, { class: 'gray modal-lg' })\n );\n }\n AddCostCenter(item){\n var cost = new JournalFooterCostCenterModel();\n cost.Amount = 0 ;\n cost.CostCenterId = 0;\n cost.Id = 0;\n cost.JournalFooterId = item.Id;\n cost.Percent = 0;\n item.centers = item.centers;\n item.CostCenters.push(cost);\n }\n changePercent(item,cost,$event){\n debugger;\n cost.Percent = + $event.target.value;\n var totalPercent = 0;\n item.CostCenters.forEach(element => {\n totalPercent += element.Percent;\n });\n totalPercent = totalPercent - cost.Percent;\n\n if(item.Debit > 0){\n if(cost.Percent <= 100 && cost.Percent > 0 && totalPercent < 100){\n if((cost.Percent+totalPercent) > 100){\n cost.Percent = 100 - totalPercent ;\n if(cost.Percent < 0){\n cost.Percent *= -1\n }\n }\n cost.Amount = (item.Debit * cost.Percent) / 100;\n\n }\n else if(totalPercent >= 100){\n cost.Percent = 0;\n cost.Amount = (item.Debit * cost.Percent) / 100;\n\n }\n else if(cost.Percent > 100){\n cost.Percent = 100;\n cost.Amount = (item.Debit * cost.Percent) / 100;\n\n }\n }\n else if(item.Credit > 0){\n if(cost.Percent <= 100 && cost.Percent > 0 && totalPercent < 100){\n if((cost.Percent+totalPercent) > 100){\n cost.Percent = 100 - totalPercent ;\n if(cost.Percent < 0){\n cost.Percent *= -1\n }\n\n }\n cost.Amount = (item.Credit * cost.Percent) / 100;\n\n }\n else if(totalPercent >= 100){\n cost.Percent = 0;\n cost.Amount = (item.Debit * cost.Percent) / 100;\n\n }\n else if(cost.Percent > 100){\n cost.Percent = 100;\n cost.Amount = (item.Credit * cost.Percent) / 100;\n\n }\n }\n }\n changeAmount(item,cost,$event){\n debugger;\n cost.Amount = + $event.target.value;\n var totalPercent = 0;\n item.CostCenters.forEach(element => {\n totalPercent += element.Percent;\n });\n if(item.Debit > 0){\n cost.Percent =(cost.Amount * 100)/ item.Debit \n\n if(cost.Percent <= 100 && cost.Percent > 0&& totalPercent < 100){\n if((cost.Percent+totalPercent) > 100){\n cost.Percent = 100 - totalPercent ;\n if(cost.Percent < 0){\n cost.Percent *= -1\n }\n\n }\n cost.Amount = (item.Debit * cost.Percent) / 100;\n\n }\n else if(totalPercent >= 100){\n cost.Percent = 0;\n cost.Amount = (item.Debit * cost.Percent) / 100;\n\n }\n else if(cost.Percent > 100){\n cost.Percent = 100;\n cost.Amount = (item.Debit * cost.Percent) / 100;\n\n }\n }\n else if(item.Credit > 0){\n cost.Percent =(cost.Amount * 100)/ item.Credit \n\n if(cost.Percent <= 100 && cost.Percent > 0&& totalPercent < 100){\n if((cost.Percent+totalPercent) > 100){\n cost.Percent = 100 - totalPercent ;\n if(cost.Percent < 0){\n cost.Percent *= -1\n }\n\n }\n cost.Amount = (item.Credit * cost.Percent) / 100;\n\n }\n else if(totalPercent >= 100){\n cost.Percent = 0;\n cost.Amount = (item.Debit * cost.Percent) / 100;\n\n }\n else if(cost.Percent > 100){\n cost.Percent = 100;\n cost.Amount = (item.Credit * cost.Percent) / 100;\n\n }\n }\n }\n deleteCostCenter(item,cost){\n var i = item.CostCenters.indexOf(cost);\n if(i > -1){\n item.CostCenters.splice(i,1);\n }\n if(item.CostCenters.length == 0 ){\n item.addCostCenters = false;\n }\n }\n getAccountName(Id){\n debugger;\n var i = this.PackUpAccounts.findIndex(x=>x.Id == Id);\n if(i>-1){\n\n return this.lang == 'ar-EG' ? this.PackUpAccounts[i].NameAr :this.PackUpAccounts[i].NameEn; \n }\n else{\n return '';\n }\n }\n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n debugger;\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n onInfo(toastHeader: string, toastBody: string): void {\n debugger;\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Info, { timeOut: 3000, showProgressBar: true });\n }\n selectedFooterForTax:any={};\n AssignTax(Item){\n debugger;\n if(Item.AccountNameId > 0 && (Item.Debit > 0 || Item.Credit > 0)){\n this.selectedFooterForTax= Item;\n this.openModalWithClass(this.taxModal);\n\n }\n else if(Item.AccountNameId == 0 ){\n this.onInfo(this.translate.instant(\"Info\"), this.translate.instant(\"Plase Choose Account\"));\n }\n else if(Item.Debit == 0 && Item.Credit == 0){\n this.onInfo(this.translate.instant(\"Info\"), this.translate.instant(\"Plase Add Debit Or Credit Value\"));\n }\n else{\n this.onInfo(this.translate.instant(\"Info\"), this.translate.instant(\"Plase Choose Account\"));\n }\n \n }\n AddTax(tax){\n debugger;\n var footer = new SelectedDailyrestrictionsFooterModel();\n var accountIndex = this.AccountsNameModel.findIndex(x=>x.Id == tax.AccountId);\n if(accountIndex > -1){\n footer.AccountNameId = tax.AccountId;\n if(this.selectedFooterForTax.Credit > 0){\n footer.Credit =this.selectedFooterForTax.Credit*tax.Percentage/100;\n this.SelectedDailyrestrictionsFooterModel.push(footer);\n this.changeCreditAfterTax(footer,footer.Credit);\n this.modalRef.hide();\n }\n if(this.selectedFooterForTax.Debit > 0){\n footer.Debit =this.selectedFooterForTax.Debit*tax.Percentage/100;\n this.SelectedDailyrestrictionsFooterModel.push(footer);\n this.changeDebtorAfterTax(footer,footer.Debit);\n this.modalRef.hide();\n\n }\n // this.modalService.hide(this.taxModal);\n }\n\n\n \n }\n changeDebtorAfterTax(Item,value){\n debugger;\n var ItemValue = +value;\n let indexselected = this.SelectedDailyrestrictionsFooterModel.indexOf(Item);\n this.SelectedDailyrestrictionsFooterModel[indexselected].Debit=ItemValue;\n this.TotalCreditor=0;\n this.TotalDebtor=0; \n this.SelectedDailyrestrictionsFooterModel[indexselected].Credit=0;\n this.SelectedDailyrestrictionsFooterModel.forEach(\n item=>{\n this.TotalCreditor+=item.Credit;\n this.TotalDebtor+=item.Debit; \n }\n )\n \n console.log(\"Item\",Item);\n \n }\n changeCreditAfterTax(Item,value){\n debugger;\n var ItemValue =+ value;\n let indexselected = this.SelectedDailyrestrictionsFooterModel.indexOf(Item);\n this.SelectedDailyrestrictionsFooterModel[indexselected].Credit=ItemValue;\n this.TotalCreditor=0;\n this.TotalDebtor=0; \n this.SelectedDailyrestrictionsFooterModel[indexselected].Debit=0;\n this.SelectedDailyrestrictionsFooterModel.forEach(\n item=>{\n if(item.Credit>0){\n this.TotalCreditor+=item.Credit;\n \n }else{\n this.TotalDebtor+=item.Debit; \n }\n }\n )\n\n console.log(\".Credit\",this.TotalCreditor);\n \n var subAccountBalanceFooterModel = new DailyrestrictionsFooterModel();\n\n console.log(\"Item\",Item);\n \n }\n public editEnabled = true;\n public fileUrl: string ='';\n files:JournalFileModel[]=[];\n setFileToList(){\n var file = new JournalFileModel();\n file.JournalHeaderId = this.Id ;\n file.FileUrl = this.fileUrl;\n file.Id = 0;\n this.files.push(file);\n }\n deleteFile(file){\n var i = this.files.indexOf(file);\n if(i>-1){\n this.files.splice(i,1);\n }\n }\n}\n","\n\n
    \n {{\"Back\" |\n translate}}\n \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n

    {{ 'Dailyrestrictions' | translate }}

    \n \n
    \n \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n {{\"Code Required\" | translate}}
    \n
    \n {{\"There is an entry with the same number, please enter another number\" | translate}}
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n\n
    \n \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n \n \n
    \n \n
    \n
    \n
    \n \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    #{{'Account'| translate}}{{'Description'| translate}}{{'Debit'| translate}}{{'Credit'| translate}}{{'Delete'| translate}}{{'Assign Cost Center'| translate}}{{'Add Tax'| translate}}
    {{i+1}}\n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n\n
    \n
    \n
    \n {{' '}}\n\n
    \n
    \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n
    {{'Debtor' | translate}}{{'Creditor' | translate}}
    {{ 'Total' | translate }}{{TotalDebtor}}{{TotalCreditor}}
    \n\n
    \n \n
    \n \n
    \n \n
    \n \n \n \n \n \n \n \n \n \n \n \n
    #{{i+1}}{{\"Download\"|translate}}\n \n
    \n
    \n \n
    \n\n \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n {{getAccountName(SelectedDailyrestrictionsFooterModelForModal.AccountNameId)}}\n

    0\" style=\"text-align: center;\">{{ 'Debit' | translate }}:{{SelectedDailyrestrictionsFooterModelForModal.Debit}}

    \n

    0\" style=\"text-align: center;\">{{ 'Credit' | translate }}:{{SelectedDailyrestrictionsFooterModelForModal.Credit}}

    \n
    \n \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    #{{'Cost Center'| translate}}{{'Percent'| translate}}{{'Amount'| translate}}{{'Delete'| translate}}
    {{i + 1}}\n \n \n \n \n \n \n
    \n \n
    \n
    \n
    \n {{' '}}\n \n
    \n
    \n
    \n
    \n
    \n\n\n \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    #{{'Tax'| translate}}{{'Percent'| translate}}{{'Add'| translate}}
    {{i + 1}}\n {{ lang==='ar-EG'?tax.NameAr:tax.NameEn }}\n {{tax.Percentage}}\n {{' '}}\n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n ","export class JournalFileModel{\r\n Id?:number;\r\n JournalHeaderId ?: number;\r\n FileUrl ?: string;\r\n constructor(item ?: JournalFileModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.JournalHeaderId = item.JournalHeaderId ? item.JournalHeaderId : 0;\r\n this.FileUrl = item.FileUrl ? item.FileUrl : '';\r\n }\r\n}","import { CostCenterModel } from './../cost-center/models/cost-center.model';\r\nexport class JournalFooterCostCenterModel{\r\n Id?:number;\r\n JournalFooterId?:number;\r\n Percent?:number;\r\n Amount?:number;\r\n CostCenterId?:number;\r\n centers?:CostCenterModel[];\r\n constructor(item?:JournalFooterCostCenterModel){\r\n item = item ? item:{};\r\n this.Id = item.Id?item.Id:0;\r\n this.JournalFooterId = item.JournalFooterId?item.JournalFooterId:0;\r\n this.Percent = item.Percent ? item.Percent : 0;\r\n this.Amount = item.Amount ? item.Amount:0;\r\n this.CostCenterId = item.CostCenterId ? item.CostCenterId:0;\r\n this.centers = item.centers ? item.centers:[];\r\n }\r\n}","import { environment } from 'src/environments/environment';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\nimport { FileUploader } from 'ng2-file-upload';\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'upload-journal-file',\n templateUrl: 'upload-journal-file.component.html',\n styleUrls: ['upload-journal-file.component.scss']\n})\nexport class UploadJournalFileComponent implements OnInit {\n public JournalFile: FileUploader;\n public hasDragOver = false;\n \n @Input()\n public editmode = false;\n \n @Input()\n public url = '';\n \n @Output()\n public urlChange = new EventEmitter();\n declare lang: any;\n \n constructor(private translate: TranslateService, private notifications: NotificationsService) {\n this.lang = localStorage.getItem('theme_lang');\n\n this.JournalFile = new FileUploader({\n url: environment.baseApiUrl+'JournalHeader/UploadFile',\n disableMultipart: false,\n autoUpload: true\n });\n \n this.JournalFile.response.subscribe(res => {\n // Upload returns a JSON with the image ID\n if(res != null && res != \"\" && res != undefined){\n this.url = environment.apiUrl+ '/Resources/JournalFiles/' + JSON.parse(res);\n this.urlChange.emit(this.url);\n }\n else{\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessUpload\"))\n }\n },error =>{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedUpload\"))\n });\n }\n \n public fileOver(e: any): void {\n \n this.hasDragOver = e;\n }\n \n ngOnInit() {\n \n }\n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n }\n ","
    \n \n \n \n \n
    \n ","import { expenseCodeModel } from './expense-codesModel';\nimport { Component, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { of } from 'rxjs';\nimport { id } from '@swimlane/ngx-datatable';\nimport { DataFilterer } from '../../shared/DataFilterer';\nimport { DataSorter } from '../../shared/DataSorter';\nimport { DataPaginator } from '../../shared/DataPaginator';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { SidePopupComponent } from '../../shared/side-popup/side-popup.component';\n\n@Component({\n selector: 'expense-codes',\n templateUrl: 'expense-codes.component.html',\n styleUrls: ['expense-codes.component.scss']\n})\nexport class ExpenseCodesComponent {\n constructor(private formBuilder: FormBuilder, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService\n ) { //Additional services for City and Country\n }\n\n lang: string;\n currentFormMode: string = '';\n currentAction: string = '';\n itemOrder: any;\n\n currentScreen: any = 'Table';\n\n translationName: string = 'Expense'\n\n sortableKeys = [];\n searchableKeys = ['descriptionEn', 'descriptionAr'];\n\n modelObject: expenseCodeModel = new expenseCodeModel({});\n ogData: expenseCodeModel[] = [\n { Id: 2, ExpenseNumber: 232323232323232, descriptionEn: \"Debit 1\", descriptionAr: \"مصروف 1\", DebitAccount: 122, DebitAccountId: 11, DocumentaryCredits: \"ssssss\" },\n { Id: 3, ExpenseNumber: 2, descriptionEn: \"Debit 2\", descriptionAr: \"مصروف 2\", DebitAccount: 112, DebitAccountId: 55, DocumentaryCredits: \"aaaaaaaaa\" },\n { Id: 4, ExpenseNumber: 2, descriptionEn: \"Debit 3\", descriptionAr: \"مصروف 3\", DebitAccount: 332, DebitAccountId: 14, DocumentaryCredits: \"ccccccc\" },\n { Id: 5, ExpenseNumber: 2, descriptionEn: \"Debit 4\", descriptionAr: \"مصروف 4\", DebitAccount: 442, DebitAccountId: 15, DocumentaryCredits: \"vvvvv\" },\n { Id: 6, ExpenseNumber: 2, descriptionEn: \"Debit 5\", descriptionAr: \"مصروف 5\", DebitAccount: 552, DebitAccountId: 16, DocumentaryCredits: \"mmmmmmm\" },\n ];\n // ogData: expenseCodeModel [] = [ ];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n descriptionEn: new FormControl(),\n descriptionAr: new FormControl(),\n ExpenseNumber: new FormControl(),\n DebitAccount: new FormControl(), \n DebitAccountId: new FormControl(),\n DocumentaryCredits: new FormControl(),\n \n });\n\n // ogData: expenseCodeModel [] = [ ];\n // mainForm: FormGroup = new FormGroup({\n // Id: new FormControl(),\n // NameEn: new FormControl(),\n // NameAr: new FormControl(),\n // Code: new FormControl(),\n // Type: new FormControl(),\n // TaxNumber: new FormControl(),\n // CountryId: new FormControl(),\n // Governorate: new FormControl(),\n // PostalCode: new FormControl(),\n // });\n\n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'description', property: this.lang === 'ar-EG' ? 'descriptionAr' : 'descriptionEn' };\n this.sortableKeys = [\n { label: 'ExpenseNumber', property: 'ExpenseNumber' }, \n { label: 'description', property: this.lang === 'ar-EG' ? 'descriptionAr' : 'descriptionEn' }, \n // { label: 'descriptionAr', property: 'descriptionAr' }, \n // { label: 'descriptionEn', property: 'descriptionEn' }, \n { label: 'DebitAccount', property: 'DebitAccount' },\n // { label: 'ClientCountry', property: 'DebitAccountId' },\n { label: 'DocumentaryCredits', property: 'DocumentaryCredits' }, \n ];\n //this.loadData();\n this.loadServices();\n }\n\n\n createForm(): FormGroup {\n return this.formBuilder.group({\n Id: [this.modelObject.Id >= 0 ? this.modelObject.Id : 0],\n descriptionEn: [this.modelObject.descriptionEn, Validators.compose([Validators.required, Validators.minLength(2)])],\n descriptionAr: [this.modelObject.descriptionAr, Validators.compose([Validators.required, Validators.pattern(/^[\\u0621-\\u064A]+([\\s]*[\\u0621-\\u064A]+)*$/)])],\n DebitAccount: [this.modelObject.DebitAccount, Validators.compose([Validators.required, Validators.pattern(/^\\d+$/)])],\n DebitAccountId: [this.modelObject.DebitAccountId, Validators.compose([Validators.required])],\n DocumentaryCredits: [this.modelObject.DocumentaryCredits, Validators.compose([Validators.required])],\n ExpenseNumber: [this.modelObject.ExpenseNumber, Validators.compose([Validators.required])],\n });\n }\n \n addObject() {\n //prevent multiclick submits. enable again after API response.\n this.currentAction = 'loading';\n this.modelObject = new expenseCodeModel();\n this.modelObject.Id = 0;\n this.modelObject.descriptionEn = this.mainForm.getRawValue().descriptionEn;\n this.modelObject.descriptionAr = this.mainForm.getRawValue().descriptionAr;\n this.modelObject.ExpenseNumber = this.mainForm.getRawValue().ExpenseNumber;\n this.modelObject.DebitAccount = this.mainForm.getRawValue().DebitAccount;\n this.modelObject.DebitAccountId = this.mainForm.getRawValue().DebitAccountId;\n this.modelObject.DocumentaryCredits = this.mainForm.getRawValue().DocumentaryCredits;\n\n \n this.executeAddObject();\n }\n\n editObject() {\n // this.savedPage = this.currentPage;\n this.currentAction = 'loading'; \n let tempObj = new expenseCodeModel({\n Id: this.modelObject.Id,\n descriptionEn: this.mainForm.getRawValue().descriptionEn,\n descriptionAr: this.mainForm.getRawValue().descriptionAr,\n ExpenseNumber : this.mainForm.getRawValue().ExpenseNumber,\n DebitAccount : this.mainForm.getRawValue().DebitAccount,\n DebitAccountId : this.mainForm.getRawValue().DebitAccountId,\n DocumentaryCredits : this.mainForm.getRawValue().DocumentaryCredits\n });\n \n if(tempObj != this.modelObject){\n this.executeEditObject(tempObj);\n }\n else{\n this.sideModalRef.modalRef.hide();\n }\n }\n\n executeAddObject(){\n this.ogData.push(this.modelObject);\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n this.sideModalRef.modalRef.hide();\n // this.modelService.insert(this.modelObject).subscribe(result => {\n // if (result === true) {\n // this.loadData();\n // this.currentAction = '';\n // this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n // this.sideModalRef.modalRef.hide();\n // }\n // else {\n // this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n // this.currentAction = '';\n // }\n // })\n }\n \n\n deleteObject(){\n // this.savedPage = this.currentPage;\n this.currentAction = 'loading';\n \n let tempObj = new expenseCodeModel({\n Id: this.modelObject.Id,\n descriptionEn: this.mainForm.getRawValue().descriptionEn,\n descriptionAr: this.mainForm.getRawValue().descriptionAr,\n DebitAccount : this.mainForm.getRawValue().DebitAccount,\n DebitAccountId : this.mainForm.getRawValue().DebitAccountId,\n DocumentaryCredits : this.mainForm.getRawValue().DocumentaryCredits,\n ExpenseNumber : this.mainForm.getRawValue().ExpenseNumber\n \n });\n \n if(tempObj != this.modelObject){\n this.executeEditObject(tempObj);\n }\n else{\n this.sideModalRef.modalRef.hide();\n }\n }\n\n\n executeEditObject(Object)\n {\n this.ogData.findIndex(x=>x.Id==Object);\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n this.sideModalRef.modalRef.hide();\n // this.modelService.update(Object).subscribe(result => {\n // if (result === true) {\n // this.loadData();\n // this.currentAction = '';\n // this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n \n // this.sideModalRef.modalRef.hide();\n // }\n // else {\n // this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n // this.currentAction = '';\n // }\n // })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n\n //Get any additional data here\n loadServices(){ \n this.currentAction = 'loading';\n this.loadData();\n\n // this.modelService.getAll().subscribe(\n // countryData => {\n // this.loadData();\n\n // //console.log(data);\n // // this.countryList = countryData;\n // // this.cityService.getAll().subscribe(\n // // cityData => {\n // // //console.log(data);\n // // // this.cityList = cityData;\n // // this.loadData();\n // // // console.log(this.cityList.map(i=>i.NameAr));\n // // // console.log(this.countryList.map(i=>i.NameAr));\n // // }\n // // )\n // }\n // )\n }\n DebitList: expenseCodeModel [] = [];\n getCountryById(Id:any): any {\n return this.DebitList.find(i=>i.Id === Id);\n }\n// cityList: CityModel [] = [];\n// countryList: CountryModel [] = [];\n// getCountryById(Id:any): any {\n// return this.countryList.find(i=>i.Id === Id);\n// }\n// getCityById(Id:any): any {\n// return this.cityList.find(i=>i.Id === Id);\n// }\n\n// matchTaxNumberWithClientType(): ValidatorFn {\n// return (control:AbstractControl) : ValidationErrors | null => {\n \n// const value = control.value;\n// if (!value) {\n// return null;\n// }\n// if(this.mainForm.get('TaxNumber').value && this.mainForm.get('Type').value){\n// const taxNumber = this.mainForm.get('TaxNumber').value.toString();\n// const clientType = this.mainForm.get('Type').value.toString();\n// const taxMatch = (taxNumber===14&&clientType==='Personal') || (taxNumber===9&&clientType==='Company');\n// return taxMatch ? {match:true} : null;\n// }\n// }\n// }\n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n// lang: string;\n// currentFormMode: string = '';\n// currentAction: string = '';\n\n\n //ogData = [];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n\n SelectAllBox: any = false;\n\n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n// itemOrder: any;\n orderAsc: boolean = true;\n\n currentPage = 1;\n savedPage = 0;\n\n\n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n\n loadData() {\n this.currentAction = 'loading';\n this.sortData();\n this.loadSearch();\n this.currentAction = '';\n // this.modelService.getAll().subscribe(\n // data => {\n // console.log(data);\n \n // this.ogData = data;\n // this.sortData();\n // this.loadSearch();\n // this.currentAction = '';\n // }\n // )\n \n }\n\n sortData() {\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n\n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n\n filterData() {\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n\n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n\n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n\n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n\n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n\n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n\n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n\n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n\n isSelected(p : expenseCodeModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n\n onSelect(item: expenseCodeModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n\n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent;\n @ViewChild('delModal') delModal: ModalDirective;\n showAddNewModalRef(): void {\n this.currentFormMode = 'Add'\n this.modelObject = new expenseCodeModel;\n this.mainForm = this.createForm();\n this.sideModalRef.show();\n }\n\n showEditModalRef(Id: any): void {\n this.currentFormMode = 'Edit'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.sideModalRef.show();\n }\n\n showInfoModalRef(Id: any): void {\n this.currentFormMode = 'Info'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.sideModalRef.show();\n }\n\n deletionList: expenseCodeModel[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n\n SearchTerm: any = '';\n\n\n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n\n this.deletionList = [];\n this.selected = [];\n\n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n\n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n\n loadAllData() {\n this.loadSearch();\n\n // this.modelService.getAll().subscribe(\n // data => {\n // this.ogData = data;\n // }\n // )\n }\n\n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n}\n\n","\n\n\n
    \n
    \n
    \n

    \n {{currentFormMode+translationName | translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"descriptionArRequired\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n {{\"descriptionEnRequired\" | translate}}
    \n \n
    \n \n \n \n\n\n
    \n \n \n \n
    \n {{\"DocumentaryCredits\" | translate}}
    \n \n
    \n \n
    \n \n \n \n
    \n {{\"ExpenseNumberRequired\" | translate}}
    \n \n
    \n \n
    \n \n
    \n \n \n {{lang==='ar-EG'?Debit.descriptionAr:Debit.descriptionEn}}\n \n
    \n \n
    \n {{\"Debit Account Required\" | translate}}
    \n \n
    \n \n \n \n \n\n\n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"ExpenseNumber\" | translate}}\n \n
    \n {{\"descriptionEn\" | translate}}\n \n
    \n {{\"descriptionAr\" | translate}}\n \n
    \n {{\"DebitAccount\" | translate}}\n \n
    \n {{\"DocumentaryCredits\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{obj.ExpenseNumber}}{{obj.descriptionEn}}{{obj.descriptionAr}}{{obj.DebitAccount}}{{obj.DocumentaryCredits}}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","export class expenseCodeModel{\r\n Id?:number;\r\n ExpenseNumber?:number;\r\n descriptionEn?:string;\r\n descriptionAr?:string;\r\n DebitAccount?:number;\r\n DebitAccountId?:number;\r\n DocumentaryCredits?:string;\r\n constructor(obj?:expenseCodeModel){\r\n obj = obj? obj:{};\r\n this.Id= obj.Id ? obj.Id:0;\r\n this.ExpenseNumber=obj.ExpenseNumber? obj.ExpenseNumber:0;\r\n this.descriptionAr=obj.descriptionAr? obj.descriptionAr:'';\r\n this.descriptionEn=obj.descriptionEn? obj.descriptionEn:'';\r\n this.DebitAccount=obj.DebitAccount? obj.DebitAccount:0;\r\n this.DocumentaryCredits=obj.DocumentaryCredits? obj.DocumentaryCredits:'';\r\n this.DebitAccountId = obj.DebitAccountId? obj.DebitAccountId:0;\r\n\r\n\r\n }\r\n}","import { Component, ElementRef, TemplateRef, ViewChild } from '@angular/core';\nimport { ColumnMode } from '@swimlane/ngx-datatable';\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\nimport data from './products';\n\n@Component({\n // moduleId: module.id,\n selector: 'expense-definition',\n templateUrl: 'expense-definition.component.html',\n styleUrls: ['expense-definition.component.scss']\n})\nexport class ExpenseDefinitionComponent {\n @ViewChild('myTable') table: any;\n expanded: any = {};\n timeout: any;\n rows = data.slice(0, 20).map(({ Id, expensesNumber, DescriptionAr, DescriptionEn, LinkedAccountDebit,distributionMethod,isClearance }) =>\n ({ Id, expensesNumber, DescriptionAr, DescriptionEn, LinkedAccountDebit,distributionMethod,isClearance }));\n itemsPerPage = 10;\n ColumnMode = ColumnMode;\n columns = [\n { prop: 'expensesNumber', name: 'expensesNumber' },\n { prop: 'DescriptionAr', name: 'DescriptionAr' },\n { prop: 'DescriptionEn', name: 'DescriptionEn' },\n { prop: 'LinkedAccountDebit', name: 'LinkedAccountDebit' },\n { prop: 'distributionMethod', name: 'distributionMethod' },\n ];\n temp = [...this.rows];\n modalRef: BsModalRef;\n constructor(private modalService: BsModalService) { }\n \n openModalWithClass(templateshow: TemplateRef): void {\n this.modalRef = this.modalService.show(\n templateshow,\n Object.assign({}, { class: 'gray modal-lg' })\n );\n }\n \n onPage(event): void {\n }\n \n toggleExpandRow(row): void {\n this.table.rowDetail.toggleExpandRow(row);\n }\n \n onDetailToggle(event): void {\n }\n \n updateFilter(event): void {\n const val = event.target.value.toLowerCase().trim();\n const count = this.columns.length;\n const keys = Object.keys(this.temp[0]);\n const temp = this.temp.filter(item => {\n for (let i = 0; i < count; i++) {\n if ((item[keys[i]] && item[keys[i]].toString().toLowerCase().indexOf(val) !== -1) || !val) {\n return true;\n }\n }\n });\n this.rows = temp;\n this.table.offset = 0;\n }\n \n }\n ","\n \n\n\n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n {{'expenseNumber' | translate}}\n
    \n
    \n {{'DescriptionAr' | translate}} \n
    \n
    \n {{'DescriptionEn' | translate}}\n
    \n
    \n {{'LinkedAccountDebit' | translate}} \n
    \n
    \n {{'distributionMethod' | translate}} \n
    \n
    \n {{'LinkedAccountDebit' | translate}} \n \n
    \n
    \n
    \n
    \n {{ row.expensesNumber }}\n
    \n
    \n {{ row.DescriptionAr }}\n
    \n
    \n {{ row.DescriptionEn }}\n
    \n
    \n {{ row.distributionMethod }}\n
    \n
    \n {{ row.LinkedAccountDebit }}\n
    \n
    \n
    \n
    \n
    \n
    \n\n \n \n \n \n \n \n \n \n \n {{ value }}\n \n \n\n \n \n {{ value }}\n \n \n\n \n \n {{ value }}\n \n \n\n \n \n {{ value }}\n \n \n\n \n \n {{ value }}\n \n \n\n \n \n
    \n \n \n
    \n
    \n
    \n\n
    \n
    \n
    \n\n\n \n\n\n \n\n\n
    \n

    {{'modal.modal-title' | translate}}

    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n {{\" \"}}\n\n
    \n
    \n
    \n
    \n \n ","import { ExpensesModel } from \"./expense_definaition_data_modle\";\n\n\nconst data: ExpensesModel[] = [\n {\n Id:1,\n expensesNumber:1,\n DescriptionAr:\"لقد وقعنا فى الفخ\",\n DescriptionEn:\"lakad wakaana fe el fakaa\",\n distributionMethod:\"unknow just string now\",\n LinkedAccountDebit:\"unknow just string now\"\n ,isClearance:false\n },\n {\n Id:2,\n expensesNumber:2,\n DescriptionAr:\"لقد وقعنا فى الفخ\",\n DescriptionEn:\"unknow just string now\",\n distributionMethod:\"unknow just string now\",\n LinkedAccountDebit:\"unknow just string now\"\n ,isClearance:true\n }, {\n Id:3,\n expensesNumber:3,\n DescriptionAr:\"لقد وقعنا فى الفخ\",\n DescriptionEn:\"lakad wakaana fe el fakaa\",\n distributionMethod:\"unknow just string now\",\n LinkedAccountDebit:\"unknow just string now\"\n ,isClearance:false\n\n }, {\n Id:4,\n expensesNumber:4,\n DescriptionAr:\"لقد وقعنا فى الفخ\",\n DescriptionEn:\"lakad wakaana fe el fakaa\",\n distributionMethod:\"unknow just string now\",\n LinkedAccountDebit:\"unknow just string now\"\n ,isClearance:false\n\n }, {\n Id:5,\n expensesNumber:5,\n DescriptionAr:\"لقد وقعنا فى الفخ\",\n DescriptionEn:\"lakad wakaana fe el fakaa\",\n distributionMethod:\"unknow just string now\",\n LinkedAccountDebit:\"unknow just string now\"\n ,isClearance:true\n }, {\n Id:6,\n expensesNumber:6,\n DescriptionAr:\"لقد وقعنا فى الفخ\",\n DescriptionEn:\"lakad wakaana fe el fakaa\",\n distributionMethod:\"unknow just string now\",\n LinkedAccountDebit:\"unknow just string now\"\n ,isClearance:false\n },{\n Id:7,\n expensesNumber:7,\n DescriptionAr:\"لقد وقعنا فى الفخ\",\n DescriptionEn:\"lakad wakaana fe el fakaa\",\n distributionMethod:\"unknow just string now\",\n LinkedAccountDebit:\"unknow just string now\"\n ,isClearance:false\n },{\n Id:8,\n expensesNumber:8,\n DescriptionAr:\"لقد وقعنا فى الفخ\",\n DescriptionEn:\"lakad wakaana fe el fakaa\",\n distributionMethod:\"unknow just string now\",\n LinkedAccountDebit:\"unknow just string now\"\n ,isClearance:false\n },{\n Id:9,\n expensesNumber:9,\n DescriptionAr:\"لقد وقعنا فى الفخ\",\n DescriptionEn:\"lakad wakaana fe el fakaa\",\n distributionMethod:\"unknow just string now\",\n LinkedAccountDebit:\"unknow just string now\"\n ,isClearance:false\n },{\n Id:10,\n expensesNumber:10,\n DescriptionAr:\"لقد وقعنا فى الفخ\",\n DescriptionEn:\"lakad wakaana fe el fakaa\",\n distributionMethod:\"unknow just string now\",\n LinkedAccountDebit:\"unknow just string now\"\n ,isClearance:false\n },{\n Id:11,\n expensesNumber:11,\n DescriptionAr:\"لقد وقعنا فى الفخ\",\n DescriptionEn:\"lakad wakaana fe el fakaa\",\n distributionMethod:\"unknow just string now\",\n LinkedAccountDebit:\"unknow just string now\"\n ,isClearance:false\n },{\n Id:12,\n expensesNumber:12,\n DescriptionAr:\"لقد وقعنا فى الفخ\",\n DescriptionEn:\"lakad wakaana fe el fakaa\",\n distributionMethod:\"unknow just string now\",\n LinkedAccountDebit:\"unknow just string now\"\n ,isClearance:false\n },{\n Id:13,\n expensesNumber:13,\n DescriptionAr:\"لقد وقعنا فى الفخ\",\n DescriptionEn:\"lakad wakaana fe el fakaa\",\n distributionMethod:\"unknow just string now\",\n LinkedAccountDebit:\"unknow just string now\"\n ,isClearance:false\n },{\n Id:14,\n expensesNumber:14,\n DescriptionAr:\"لقد وقعنا فى الفخ\",\n DescriptionEn:\"lakad wakaana fe el fakaa\",\n distributionMethod:\"unknow just string now\",\n LinkedAccountDebit:\"unknow just string now\"\n ,isClearance:false\n },{\n Id:15,\n expensesNumber:15,\n DescriptionAr:\"لقد وقعنا فى الفخ\",\n DescriptionEn:\"lakad wakaana fe el fakaa\",\n distributionMethod:\"unknow just string now\",\n LinkedAccountDebit:\"unknow just string now\"\n ,isClearance:false\n },\n];\n\nexport default data;\n","import { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { BasicModel } from \"./helper/model\";\nimport { AccountExpensesTypeService } from './helper/serves';\n\n\n\nimport { TableEngine } from 'src/app/views/app/aio/shared/TableEngine'\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from '../../shared/side-popup/side-popup.component';\n\n@Component({\n // moduleId: module.id,\n selector: 'expensess-type',\n templateUrl: 'expensess-type.component.html',\n styleUrls: ['expensess-type.component.scss']\n})\nexport class ExpensessTypeComponent{\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n\n constructor(private formBuilder: FormBuilder, public modelService: AccountExpensesTypeService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService\n\n ) {\n }\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n\n translationName: string = 'expensesType'\n\n sortableKeys = [];\n searchableKeys = ['NameEn', 'NameAr'];\n\n modelObject: BasicModel = new BasicModel();\n\n ogData: BasicModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n NameEn: new FormControl(),\n NameAr: new FormControl(),\n });\n\n\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective;\n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' };\n this.sortableKeys = [\n { label: 'Name', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' },\n ];\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n this.loadServices();\n }\n\n showModal(Id, action) {\n if (action === 'Add') {\n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n }\n else if (action === 'Edit') {\n\n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder)\n console.log(\"this model object:\" + this.modelObject);\n console.log(this.modelObject);\n console.log(\"table engine model object:\" + this.tableEngine.modelObject);\n console.log(this.tableEngine.modelObject);\n\n }\n else if (action === 'Info') {\n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder)\n }\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n }\n\n createForm(modelObject, formBuilder): FormGroup {\n //console.log(\"from craeteform\");\n\n //console.log(\"modelObject\",modelObject.NameEn);\n\n return formBuilder.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n NameEn: [modelObject.NameEn, Validators.compose([Validators.required, Validators.minLength(2)])],\n NameAr: [modelObject.NameAr, Validators.compose([Validators.required, Validators.pattern(/^[\\u0621-\\u064A]+([\\s]*[\\u0621-\\u064A]+)*$/)])],\n // PostalCode: [modelObject.PostalCode, Validators.compose([Validators.required, Validators.pattern(/^/d{5}$/)])],\n });\n }\n\n addObject() {\n this.currentAction = 'loading';\n\n this.modelObject = new BasicModel();\n this.modelObject.Id = 0;\n this.modelObject.NameEn = this.mainForm.getRawValue().NameEn;\n this.modelObject.NameAr = this.mainForm.getRawValue().NameAr;\n // this.modelObject.PostalCode = this.mainForm.getRawValue().PostalCode;\n\n this.executeAddObject();\n }\n\n executeAddObject() {\n console.log(this.modelObject);\n\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n\n editObject() {\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n\n let tempObj = new BasicModel({\n Id: this.modelObject.Id,\n NameEn: this.mainForm.getRawValue().NameEn,\n NameAr: this.mainForm.getRawValue().NameAr,\n // PostalCode : this.mainForm.getRawValue().PostalCode\n });\n\n if (JSON.stringify(tempObj) != JSON.stringify(this.modelObject)) {\n this.executeEditObject(tempObj);\n }\n else {if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n }\n\n executeEditObject(Object) {\n console.log(\"ObjectObject\", Object);\n\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n\n\n prepChangeSort(sortKey) {\n this.tableEngine.itemOrder = this.itemOrder;\n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey))\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n loadServices() {\n this.currentAction = 'loading';\n this.tableEngine.loadData();\n }\n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepSort(sortKey) {\n this.tableEngine.changeSort(this.tableEngine.getSort('Name'));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n

    \n {{tableEngine.currentFormMode+translationName | translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"NameArRequired\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n {{\"NameEnRequired\" | translate}}
    \n \n
    \n \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n tableEngine.deletionList.length === tableEngine.ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Name\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{lang==='ar-EG'?obj.NameAr:obj.NameEn}}\n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","export class BasicModel{\r\n Id?: number;\r\n NameAr?: string;\r\n NameEn?: string;\r\n constructor(item?: BasicModel) {\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.NameAr = item.NameAr ? item.NameAr : '';\r\n this.NameEn = item.NameEn ? item.NameEn : '';\r\n }\r\n }","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { BasicModel } from \"./model\";\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AccountExpensesTypeService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}AccountingExpensesCategory/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}AccountingExpensesCategory/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: BasicModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}AccountingExpensesCategory/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: BasicModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}AccountingExpensesCategory/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: BasicModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}AccountingExpensesCategory/Delete`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n \r\n deleteList(payload: BasicModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}AccountingExpensesCategory/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { Component, ViewChild } from '@angular/core';\nimport { FiscalYearService } from '../../fiscal-year.service';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { NotificationsService } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\nimport { TableEngine } from '../../../../shared/TableEngine';\nimport { FiscalYearModel } from '../../models/fiscal-year.model';\nimport { SidePopupComponent } from '../../../../shared/side-popup/side-popup.component';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { DatePipe } from '@angular/common';\n\n@Component({\n selector: 'fiscal-year',\n templateUrl: 'fiscal-year.component.html',\n styleUrls: ['fiscal-year.component.scss']\n})\nexport class FiscalYearComponent {\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n \n constructor(private formBuilder: FormBuilder, public modelService: FiscalYearService, \n private notifications: NotificationsService, private translate: TranslateService,\n private datePipe: DatePipe\n \n ) {\n }\n \n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n \n translationName: string = 'Fiscal Year'\n \n sortableKeys = [];\n searchableKeys = ['StartDate', 'EndDate','IsOpen'];\n \n modelObject: FiscalYearModel = new FiscalYearModel();\n \n ogData: FiscalYearModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n StartDate: new FormControl(),\n EndDate: new FormControl(),\n Description:new FormControl(),\n Period:new FormControl()\n });\n \n \n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n \n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective;\n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'StartDate', property:'StartDate' };\n this.sortableKeys = [\n { label: 'StartDate', property: 'StartDate' },\n { label: 'EndDate', property: 'EndDate' },\n { label: 'IsOpen', property: 'IsOpen' },\n ];\n \n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n this.loadServices();\n }\n \n showModal(Id, action) {\n if (action === 'Add') {\n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n }\n else if (action === 'Edit') {\n \n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder)\n console.log(\"this model object:\" + this.modelObject);\n console.log(this.modelObject);\n console.log(\"table engine model object:\" + this.tableEngine.modelObject);\n console.log(this.tableEngine.modelObject);\n \n }\n else if (action === 'Info') {\n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder)\n }\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n }\n \n createForm(modelObject:FiscalYearModel, formBuilder): FormGroup {\n debugger;\n if(!modelObject || modelObject.Id == undefined || modelObject.Id == null||modelObject.Id == 0){\n modelObject = new FiscalYearModel();\n }\n return formBuilder.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n StartDate: [modelObject.StartDate?modelObject.StartDate.toString().slice(0, 10):new Date().toString().slice(0, 10), Validators.compose([Validators.required, Validators.minLength(2)])],\n EndDate: [modelObject.EndDate, Validators.compose([Validators.required])],\n Description: [modelObject.Description],\n IsOpen: [modelObject.IsOpen],\n Period:[1]\n });\n }\n changePeriod(){\n debugger;\n var type=this.mainForm.controls['Period'].value;\n var StartDate = new Date(this.mainForm.controls['StartDate'].value);\n if(type&&StartDate)\n if(type == 1){\n var end=new Date(StartDate);\n end.setUTCFullYear(StartDate.getFullYear()+1,StartDate.getMonth(),StartDate.getDay()-1);\n this.mainForm.controls['EndDate'].setValue(new Date(end));\n }\n }\n addObject() {\n debugger;\n this.currentAction = 'loading';\n \n this.modelObject = new FiscalYearModel();\n this.modelObject.Id = 0;\n this.modelObject= this.mainForm.getRawValue();\n this.modelObject.StartDate= new Date(this.modelObject.StartDate);\n this.modelObject.EndDate= new Date(this.modelObject.EndDate);\n this.executeAddObject();\n }\n \n executeAddObject() {\n console.log(this.modelObject);\n \n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n if (this.sideModalRef === undefined) {\n \n this.tableEngine.smallModal.hide();\n \n } else {\n \n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n \n editObject() {\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n \n let tempObj = new FiscalYearModel({\n Id: this.modelObject.Id,\n StartDate: this.mainForm.getRawValue().StartDate,\n EndDate: this.mainForm.getRawValue().EndDate,\n IsOpen: this.mainForm.getRawValue().IsOpen,\n Description: this.mainForm.getRawValue().Description,\n // PostalCode : this.mainForm.getRawValue().PostalCode\n });\n \n if (JSON.stringify(tempObj) != JSON.stringify(this.modelObject)) {\n this.executeEditObject(tempObj);\n }\n else {if (this.sideModalRef === undefined) {\n \n this.tableEngine.smallModal.hide();\n \n } else {\n \n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n }\n \n executeEditObject(Object) {\n console.log(\"ObjectObject\", Object);\n \n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n if (this.sideModalRef === undefined) {\n \n this.tableEngine.smallModal.hide();\n \n } else {\n \n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n \n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.tableEngine.delModal.hide();\n this.showModal(new FiscalYearModel(),'Add')\n this.changePeriod();\n }\n \n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n \n \n prepChangeSort(sortKey) {\n this.tableEngine.itemOrder = this.itemOrder;\n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey))\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n loadServices() {\n this.currentAction = 'loading';\n this.tableEngine.loadData();\n }\n \n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepSort(sortKey) {\n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n }\n ","
    \n
    \n
    \n
    \n
    \n

    \n {{tableEngine.currentFormMode+translationName | translate}}

    \n
    \n
    \n
    \n
    \n \n \n\n 0?'date':'text'\" onfocus=\"(this.type='date')\"\n onblur=\"if(!this.value)this.type='text'\" onchange=\"if(!this.value)this.type='text'\"\n name=\"Date\" class=\"form-control\" formControlName=\"StartDate\"\n placeholder='{{\"Start Date\" | translate}}'>\n \n
    \n {{\"StartDateRequired\" | translate}}
    \n \n
    \n
    \n \n \n {{ \"1 Yesr\"|translate}}\n {{ \"6 Months\"|translate}}\n {{ \"3 Months\"|translate}}\n {{ \"1 Month\"|translate}}\n {{ \"Custom\"|translate}}\n \n \n \n
    \n {{\"PeriodRequired\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"EndDateRequired\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n {{\"Description Required\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"Are you sure you have closed the financial year?\" |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n tableEngine.deletionList.length === tableEngine.ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"StartDate\" | translate}}\n \n
    \n {{\"EndDate\" | translate}}\n \n
    \n {{\"Status\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{obj.StartDate|date:'dd/MM/yyyy'}}{{obj.EndDate|date:'dd/MM/yyyy'}}{{'Open'|translate}}{{'Colsed'|translate}}\n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { environment } from 'src/environments/environment';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { FiscalYearModel } from './models/fiscal-year.model'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FiscalYearService {\r\n public openYear ;\r\n constructor(private http: HttpClient) {\r\n this.GetOpenFiscalYear()\r\n .subscribe(result=>{\r\n this.openYear = result;\r\n })\r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}FiscalYear/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n GetOpenFiscalYear(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}FiscalYear/GetOpenFiscalYear`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}FiscalYear/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n GetLastCode(): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}FiscalYear/GetLastCode`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n insert(payload: FiscalYearModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}FiscalYear/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: FiscalYearModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}FiscalYear/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: FiscalYearModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}FiscalYear/Delete`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n GetPayedAmount(InvoiceId:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}FiscalYear/GetPayedAmount/${InvoiceId}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n deleteList(payload: FiscalYearModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}FiscalYear/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","export class FiscalYearModel{\r\n Id?: number;\r\n StartDate?: Date|null;\r\n EndDate?: Date|null;\r\n IsOpen?: boolean;\r\n Description?: string;\r\n constructor(item ?: FiscalYearModel){\r\n item = item ? item : {};\r\n this.Description = item.Description?item.Description:'';\r\n this.StartDate = item.StartDate ? item.StartDate : new Date();\r\n this.EndDate = item.EndDate ? item.EndDate : null;\r\n this.Id = item.Id ? item.Id : 0;\r\n this.IsOpen = item.IsOpen ? item.IsOpen : false;\r\n }\r\n}","\r\nexport class DailyrestrictionsModel{\r\n Id?:number;\r\n Date?:Date;\r\n Description?:String;\r\n AccountNameId?:number;\r\n BankCodeId?:number;\r\n CurrencyId?:number;\r\n Totaldebit?:number;\r\n Totalcredit?:number;\r\n Totalbalance?:number;\r\n \r\n dailyrestrictionsFooterList?:DailyrestrictionsFooterModel[];\r\n IsPosted?:boolean;\r\n \r\n constructor(obj?:DailyrestrictionsModel){\r\n obj = obj? obj:{};\r\n this.Id = obj.Id? obj.Id:0;\r\n this.Date = obj.Date? obj.Date:new Date();\r\n this.Description = obj.Description? obj.Description:'';\r\n this.AccountNameId = obj.AccountNameId? obj.AccountNameId:0;\r\n this.BankCodeId = obj.BankCodeId? obj.BankCodeId:0;\r\n this.CurrencyId = obj.CurrencyId? obj.CurrencyId:0;\r\n this.Totaldebit = obj.Totaldebit? obj.Totaldebit:0;\r\n this.Totalcredit = obj.Totalcredit? obj.Totalcredit:0;\r\n this.Totalbalance = obj.Totalbalance? obj.Totalbalance:0;\r\n \r\n this.dailyrestrictionsFooterList = obj.dailyrestrictionsFooterList? obj.dailyrestrictionsFooterList:[];\r\n this.IsPosted = obj.IsPosted? obj.IsPosted:false;\r\n\r\n }\r\n}\r\n\r\nexport class DailyrestrictionsFooterModel{\r\n Id?:number;\r\n AccountNameId?:number;\r\n // Subledger1?:number;\r\n // Subledger2?:number;\r\n // Subledger3?:number;\r\n // Subledger4?:number;\r\n // Subledger5?:number;\r\n Debit?:number;\r\n Credit?:number;\r\n constructor(obj?:DailyrestrictionsFooterModel){\r\n obj = obj? obj:{};\r\n this.Id = obj.Id? obj.Id:0;\r\n this.AccountNameId = obj.AccountNameId? obj.AccountNameId:0;\r\n // this.Subledger1 = obj.Subledger1? obj.Subledger1:0;\r\n // this.Subledger2 = obj.Subledger2? obj.Subledger2:0;\r\n // this.Subledger3 = obj.Subledger3? obj.Subledger3:0;\r\n // this.Subledger4 = obj.Subledger4? obj.Subledger4:0;\r\n // this.Subledger5 = obj.Subledger5? obj.Subledger5:0;\r\n this.Debit = obj.Debit? obj.Debit:0;\r\n this.Credit = obj.Credit? obj.Credit:0;\r\n }\r\n}\r\n\r\nexport class SelectedDailyrestrictionsFooterModel{\r\n Id?:number;\r\n NameAr?:string;\r\n NameEn?:string;\r\n AccountNameId?:number;\r\n\r\n // Subledger1?:number;\r\n // Subledger2?:number;\r\n // Subledger3?:number;\r\n // Subledger4?:number;\r\n // Subledger5?:number;\r\n Debit?:number;\r\n Credit?:number;\r\n\r\n constructor(obj?:SelectedDailyrestrictionsFooterModel){\r\n obj = obj? obj:{};\r\n this.Id = obj.Id? obj.Id:0;\r\n this.AccountNameId = obj.AccountNameId? obj.AccountNameId:0;\r\n\r\n // this.Subledger1 = obj.Subledger1? obj.Subledger1:0;\r\n // this.Subledger2 = obj.Subledger2? obj.Subledger2:0;\r\n // this.Subledger3 = obj.Subledger3? obj.Subledger3:0;\r\n // this.Subledger4 = obj.Subledger4? obj.Subledger4:0;\r\n // this.Subledger5 = obj.Subledger5? obj.Subledger5:0;\r\n this.NameAr = obj.NameAr? obj.NameAr:'';\r\n this.NameEn = obj.NameEn? obj.NameEn:'';\r\n this.Debit = obj.Debit? obj.Debit:0;\r\n this.Credit = obj.Credit? obj.Credit:0;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { DailyrestrictionsModel } from \"./DailyrestrictionsModel\";\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DailyrestrictionsService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}GeneralAccountHeader/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}GeneralAccountHeader/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: DailyrestrictionsModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}GeneralAccountHeader/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: DailyrestrictionsModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}GeneralAccountHeader/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: DailyrestrictionsModel): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}GeneralAccountHeader/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: DailyrestrictionsModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}GeneralAccountHeader/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n ","import { Component } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { CurrencyModel } from 'src/app/invoices/currencies/CurrencyModel';\nimport { CurrencyService } from 'src/app/invoices/currencies/CurrencyService';\nimport { AccountNameModel } from '../account-name/AccountNameModel';\nimport { AccountsNameService } from '../account-name/AccountNameService';\nimport { BasicModel } from '../account-type/helper/model';\nimport { AccountsTypeService } from '../account-type/helper/serves';\nimport { BankCodeModel } from '../bank-code/bank_code_model';\nimport { BankCodeService } from '../bank-code/serves';\nimport { DailyrestrictionsModel } from './DailyrestrictionsModel';\nimport { DailyrestrictionsService } from './DailyrestrictionsService';\nimport { DailyrestrictionsFooterModel } from './DailyrestrictionsModel';\nimport { SelectedDailyrestrictionsFooterModel } from './DailyrestrictionsModel';\n@Component({\n // moduleId: module.id,\n selector: 'general-account',\n templateUrl: 'general-account.component.html',\n styleUrls: ['general-account.component.scss']\n})\nexport class GeneralAccountComponent {\n\n // accountsTypeModel: BasicModel[] = [];\n AccountsNameModel: AccountNameModel[] = [];\n HeaderAccountNameList: AccountNameModel[] = [];\n FooterAccountNameList: AccountNameModel[] = [];\n BankCodeList: BankCodeModel[] = [];\n CurrencyList: CurrencyModel[] = [];\n \n DailyrestrictionsModel: DailyrestrictionsModel=new DailyrestrictionsModel();\n DailyrestrictionsFooterModel: DailyrestrictionsFooterModel[] = [];\n SelectedDailyrestrictionsFooterModel: SelectedDailyrestrictionsFooterModel[] = [];\n \n // SaveIsValid=false;\n HeaderFormGroup:FormGroup;\n FooterFormGroup:FormGroup;\n TotalCreditor:number=0;\n TotalDebtor:number=0;\n Total:number=0;\n constructor( private BankCodeService: BankCodeService, private DailyrestrictionsService: DailyrestrictionsService,private CurrencyService: CurrencyService, private accountsNameService: AccountsNameService,){\n this.HeaderFormGroup = new FormGroup({\n HeaderAccountNameDropdwon: new FormControl(null, Validators.required,),\n HeaderBankCodeDropdwon: new FormControl(null, Validators.required,),\n HeaderCurrencyDropdwon: new FormControl(null, Validators.required,),\n HeaderDescription: new FormControl(null, Validators.required,),\n \n startDate: new FormControl(null, Validators.required),\n });\n // this.FooterFormGroup = new FormGroup({\n // DebtorControll: new FormControl(0,),\n // CreditorControll: new FormControl(0,),\n\n // });\n \n // this.accountsTypeService.getAll().subscribe(\n // data=>{\n // this.accountsTypeModel=data;\n // console.log(\"accountsTypeModel\",this.accountsTypeModel); \n // }\n // );\n this.BankCodeService.getAll().subscribe(\n data=>{\n this.BankCodeList=data;\n }\n );\n this.CurrencyService.getAll().subscribe(\n data=>{\n this. CurrencyList=data;\n }\n );\n this.accountsNameService.getAll(0).subscribe(\n data=>{\n this.AccountsNameModel=data;\n this.HeaderAccountNameList=data;\n this.FooterAccountNameList=data;\n // this.SelectedDailyrestrictionsFooterModel =data;\n // console.log(\"AccountsNameList\",this.accountsTypeModel); \n }\n );\n }\n // createMainFormForm():FormGroup{\n // return this.MainFormGroup = new FormGroup({\n // BalanceNameDropdwon: new FormControl(null, Validators.required,),\n // startDate: new FormControl(null, Validators.required),\n // DebtorControll: new FormControl(0,),\n // CreditorControll: new FormControl(0,),\n\n // });\n // }\n // onChangeHeaderAccountNameList(value){\n // this.FooterAccountNameList=[];\n // this.HeaderAccountNameList.forEach(\n // item=>{\n // if ( item.Parentcode == value ){\n // this.FooterAccountNameList.push(item)\n // }\n // }\n // )\n \n // }\n changeDebtor(Item,$event){\n var ItemValue = +$event.target.value;\n console.log(\"addItem\",ItemValue);\n console.log(\"ItemId\",Item[\"Id\"]);\n let indexselected = this.SelectedDailyrestrictionsFooterModel.findIndex(i => i.Id == Item[\"Id\"]);\n console.log(\"AccountNameId\",this.SelectedDailyrestrictionsFooterModel[indexselected].AccountNameId);\n\n this.SelectedDailyrestrictionsFooterModel[indexselected].Debit=ItemValue;\n this.TotalCreditor=0;\n this.TotalDebtor=0; \n this.SelectedDailyrestrictionsFooterModel[indexselected].Credit=0;\n\n this.SelectedDailyrestrictionsFooterModel.forEach(\n item=>{\n this.TotalCreditor+=item.Credit;\n this.TotalDebtor+=item.Debit; \n }\n )\n \n console.log(\"Item\",Item);\n \n }\n changeCredit(Item,$event){\n var ItemValue =+ $event.target.value;\n console.log(\"addItem\",ItemValue);\n console.log(\"ItemId\",Item[\"Id\"]);\n let indexselected = this.SelectedDailyrestrictionsFooterModel.findIndex(i => i.Id == Item[\"Id\"]);\n this.SelectedDailyrestrictionsFooterModel[indexselected].Credit=ItemValue;\n this.TotalCreditor=0;\n this.TotalDebtor=0; \n this.SelectedDailyrestrictionsFooterModel[indexselected].Debit=0;\n this.SelectedDailyrestrictionsFooterModel.forEach(\n item=>{\n if(item.Credit>0){\n this.TotalCreditor+=item.Credit;\n \n }else{\n this.TotalDebtor+=item.Debit; \n }\n }\n )\n\n console.log(\".Credit\",this.TotalCreditor);\n \n var subAccountBalanceFooterModel = new DailyrestrictionsFooterModel();\n\n console.log(\"Item\",Item);\n \n }\n\n\n // OnAddSelectedItemFunc($event){}\n // OnRemoveSelectedItemFunc($event){\n // var Item = $event.value;\n // console.log(\" OnRemoveSelected\",Item);\n // // let indexselected = this.SelectedDailyrestrictionsFooterModel.findIndex(i => i.Id == Item);\n // var Credit = $event.value.Credit;\n // var Debit = $event.value.Debit;\n // if(Credit>0){\n // this.TotalCreditor-=Credit;\n // }else{\n // this.TotalDebtor-=Debit;\n // }\n // }\n\n //save \n onClick(){\n this.Total = this.TotalCreditor - this.TotalDebtor;\n if(this.Total==0){\n console.log(\"secound condition completed total = 0\");\n if(this.HeaderFormGroup.valid){\n console.log(\"theard condition completed Header Form Group Completed\");\n // this.DailyrestrictionsModel.accountBalanceFooterList =\n console.log(\"this.DailyrestrictionsModel.accountBalanceFooterModel \",this.SelectedDailyrestrictionsFooterModel );\n \n\n this.DailyrestrictionsModel.Description=this.HeaderFormGroup.getRawValue().HeaderDescription;\n this.DailyrestrictionsModel.CurrencyId=this.HeaderFormGroup.getRawValue().HeaderCurrencyDropdwon;\n this.DailyrestrictionsModel.BankCodeId=this.HeaderFormGroup.getRawValue().HeaderBankCodeDropdwon;\n this.DailyrestrictionsModel.AccountNameId =this.HeaderFormGroup.getRawValue().HeaderAccountNameDropdwon;\n this.DailyrestrictionsModel.Date=this.HeaderFormGroup.getRawValue().startDate;\n this.DailyrestrictionsModel.Totalcredit=this.TotalCreditor;\n this.DailyrestrictionsModel.Totaldebit=this.TotalDebtor;\n this.DailyrestrictionsModel.Totalbalance=this.Total;\n this.SelectedDailyrestrictionsFooterModel.forEach(\n Item=>{\n var subAccountBalanceFooterModel = new DailyrestrictionsFooterModel();\n subAccountBalanceFooterModel.Id =Item.Id ;\n subAccountBalanceFooterModel.AccountNameId=Item.AccountNameId;\n subAccountBalanceFooterModel.Credit =Item.Credit ;\n subAccountBalanceFooterModel.Debit =Item.Debit ;\n this.DailyrestrictionsModel.dailyrestrictionsFooterList.push(subAccountBalanceFooterModel)\n }\n );\n this.DailyrestrictionsService.insert(this.DailyrestrictionsModel).subscribe(\n data=>{\n if(data){\n console.log(\"done\");\n \n }\n }\n )\n console.log(\"this.DailyrestrictionsModel.accountBalanceFooterModel \",this.DailyrestrictionsModel);\n \n }else{\n console.log(\"theard condition field Header Form Group Completed\");\n\n }\n\n }else{\n console.log(\"secound condition field total = 0\");\n\n } \n } \n AddonClick(){\n\n var selectedDailyrestrictionsFooterModel =new SelectedDailyrestrictionsFooterModel();\n selectedDailyrestrictionsFooterModel.Id = this.SelectedDailyrestrictionsFooterModel.length+1 ;\n selectedDailyrestrictionsFooterModel.Debit = 0 ;\n selectedDailyrestrictionsFooterModel.Credit = 0 ;\n\n \n this.SelectedDailyrestrictionsFooterModel.push(selectedDailyrestrictionsFooterModel);\n }\n\n \n\n}\n","\n
    \n
    \n
    \n
    \n \n
    \n
    \n

    {{ 'AccountBalance' | translate }}

    \n \n
    \n \n {{' '}}\n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n\n
    \n
    \n \n \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n \n \n \n \n
    \n {{' '}}\n\n
    \n \n
    \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    #{{'Item'| translate}}{{'Debtor'| translate}}{{'Creditor'| translate}}
    {{Item.Id}}\n \n \n \n
    \n\n
    \n \n\n \n \n \n \n \n \n \n \n \n
    {{ 'Total' | translate }}{{TotalDebtor}}{{TotalCreditor}}
    \n\n
    \n \n
    \n \n","import { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { BasicModel } from \"./helper/model\";\nimport { GenerateAccountTypeService } from './helper/serves';\n\n\n\nimport { TableEngine } from 'src/app/views/app/aio/shared/TableEngine'\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from '../../shared/side-popup/side-popup.component';\n\n@Component({\n // moduleId: module.id,\n selector: 'generate-account-type',\n templateUrl: 'generate-account-type.component.html',\n styleUrls: ['generate-account-type.component.scss']\n})\nexport class GenerateAccountTypeComponent{\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n\n constructor(private formBuilder: FormBuilder, public modelService: GenerateAccountTypeService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService\n\n ) {\n }\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n\n translationName: string = 'Generate Account Type'\n\n sortableKeys = [];\n searchableKeys = ['NameEn', 'NameAr'];\n\n modelObject: BasicModel = new BasicModel();\n\n ogData: BasicModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n NameEn: new FormControl(),\n NameAr: new FormControl(),\n });\n\n\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective;\n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' };\n this.sortableKeys = [\n { label: 'Name', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' },\n ];\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n this.loadServices();\n }\n\n showModal(Id, action) {\n if (action === 'Add') {\n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n }\n else if (action === 'Edit') {\n\n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder)\n console.log(\"this model object:\" + this.modelObject);\n console.log(this.modelObject);\n console.log(\"table engine model object:\" + this.tableEngine.modelObject);\n console.log(this.tableEngine.modelObject);\n\n }\n else if (action === 'Info') {\n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder)\n }\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n }\n\n createForm(modelObject, formBuilder): FormGroup {\n //console.log(\"from craeteform\");\n\n //console.log(\"modelObject\",modelObject.NameEn);\n\n return formBuilder.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n NameEn: [modelObject.NameEn, Validators.compose([Validators.required, Validators.minLength(2)])],\n NameAr: [modelObject.NameAr, Validators.compose([Validators.required, Validators.pattern(/^[\\u0621-\\u064A]+([\\s]*[\\u0621-\\u064A]+)*$/)])],\n // PostalCode: [modelObject.PostalCode, Validators.compose([Validators.required, Validators.pattern(/^/d{5}$/)])],\n });\n }\n\n addObject() {\n this.currentAction = 'loading';\n\n this.modelObject = new BasicModel();\n this.modelObject.Id = 0;\n this.modelObject.NameEn = this.mainForm.getRawValue().NameEn;\n this.modelObject.NameAr = this.mainForm.getRawValue().NameAr;\n // this.modelObject.PostalCode = this.mainForm.getRawValue().PostalCode;\n\n this.executeAddObject();\n }\n\n executeAddObject() {\n console.log(this.modelObject);\n\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n\n editObject() {\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n\n let tempObj = new BasicModel({\n Id: this.modelObject.Id,\n NameEn: this.mainForm.getRawValue().NameEn,\n NameAr: this.mainForm.getRawValue().NameAr,\n // PostalCode : this.mainForm.getRawValue().PostalCode\n });\n\n if (JSON.stringify(tempObj) != JSON.stringify(this.modelObject)) {\n this.executeEditObject(tempObj);\n }\n else {if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n }\n\n executeEditObject(Object) {\n console.log(\"ObjectObject\", Object);\n\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n\n\n prepChangeSort(sortKey) {\n this.tableEngine.itemOrder = this.itemOrder;\n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey))\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n loadServices() {\n this.currentAction = 'loading';\n this.tableEngine.loadData();\n }\n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepSort(sortKey) {\n this.tableEngine.changeSort(this.tableEngine.getSort('Name'));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n

    \n {{tableEngine.currentFormMode+translationName | translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"NameArRequired\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n {{\"NameEnRequired\" | translate}}
    \n \n
    \n \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n tableEngine.deletionList.length === tableEngine.ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Name\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{lang==='ar-EG'?obj.NameAr:obj.NameEn}}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","export class BasicModel{\r\n Id?: number;\r\n NameAr?: string;\r\n NameEn?: string;\r\n constructor(item?: BasicModel) {\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.NameAr = item.NameAr ? item.NameAr : '';\r\n this.NameEn = item.NameEn ? item.NameEn : '';\r\n }\r\n }","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { BasicModel } from \"./model\";\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GenerateAccountTypeService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}GeneralAccountType/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}GeneralAccountType/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: BasicModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}GeneralAccountType/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: BasicModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}GeneralAccountType/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: BasicModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}GeneralAccountType/Delete`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n \r\n deleteList(payload: BasicModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}GeneralAccountType/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { Component} from '@angular/core';\nimport { IconsService } from './icons.service';\n\n@Component({\n selector: 'app-icons',\n templateUrl: './icons.component.html'\n})\nexport class IconsComponent {\n\n simpleLineIcons;\n iconsMind;\n\n constructor(private iconsService: IconsService) {\n this.simpleLineIcons = iconsService.simplelineicons;\n this.iconsMind = iconsService.iconsmind;\n }\n\n\n\n}\n","\n
    \n
    \n\n
    \n
    \n
    {{'icons.simplelineicons' | translate}}
    \n
    \n
    \n
    \n
    {{icon}}
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    {{'icons.iconsmind' | translate}}
    \n
    \n
    \n
    {{iconSet.title}}
    \n
    \n
    \n
    {{icon}}
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n","import { Injectable } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class IconsService {\n\n // tslint:disable-next-line:variable-name\n private _simplelineicons: string[] = [\n 'simple-icon-user',\n 'simple-icon-people',\n 'simple-icon-user-female',\n 'simple-icon-user-follow',\n 'simple-icon-user-following',\n 'simple-icon-user-unfollow',\n 'simple-icon-login',\n 'simple-icon-logout',\n 'simple-icon-emotsmile',\n 'simple-icon-phone',\n 'simple-icon-call-end',\n 'simple-icon-call-in',\n 'simple-icon-call-out',\n 'simple-icon-map',\n 'simple-icon-location-pin',\n 'simple-icon-direction',\n 'simple-icon-directions',\n 'simple-icon-compass',\n 'simple-icon-layers',\n 'simple-icon-menu',\n 'simple-icon-list',\n 'simple-icon-options-vertical',\n 'simple-icon-options',\n 'simple-icon-arrow-down',\n 'simple-icon-arrow-left',\n 'simple-icon-arrow-right',\n 'simple-icon-arrow-up',\n 'simple-icon-arrow-up-circle',\n 'simple-icon-arrow-left-circle',\n 'simple-icon-arrow-right-circle',\n 'simple-icon-arrow-down-circle',\n 'simple-icon-check',\n 'simple-icon-clock',\n 'simple-icon-plus',\n 'simple-icon-minus',\n 'simple-icon-close',\n 'simple-icon-event',\n 'simple-icon-exclamation',\n 'simple-icon-organization',\n 'simple-icon-trophy',\n 'simple-icon-screen-smartphone',\n 'simple-icon-screen-desktop',\n 'simple-icon-plane',\n 'simple-icon-notebook',\n 'simple-icon-mustache',\n 'simple-icon-mouse',\n 'simple-icon-magnet',\n 'simple-icon-energy',\n 'simple-icon-disc',\n 'simple-icon-cursor',\n 'simple-icon-cursor-move',\n 'simple-icon-crop',\n 'simple-icon-chemistry',\n 'simple-icon-speedometer',\n 'simple-icon-shield',\n 'simple-icon-screen-tablet',\n 'simple-icon-magic-wand',\n 'simple-icon-hourglass',\n 'simple-icon-graduation',\n 'simple-icon-ghost',\n 'simple-icon-game-controller',\n 'simple-icon-fire',\n 'simple-icon-eyeglass',\n 'simple-icon-envelope-open',\n 'simple-icon-envelope-letter',\n 'simple-icon-bell',\n 'simple-icon-badge',\n 'simple-icon-anchor',\n 'simple-icon-wallet',\n 'simple-icon-vector',\n 'simple-icon-speech',\n 'simple-icon-puzzle',\n 'simple-icon-printer',\n 'simple-icon-present',\n 'simple-icon-playlist',\n 'simple-icon-pin',\n 'simple-icon-picture',\n 'simple-icon-handbag',\n 'simple-icon-globe-alt',\n 'simple-icon-globe',\n 'simple-icon-folder-alt',\n 'simple-icon-folder',\n 'simple-icon-film',\n 'simple-icon-feed',\n 'simple-icon-drop',\n 'simple-icon-drawer',\n 'simple-icon-docs',\n 'simple-icon-doc',\n 'simple-icon-diamond',\n 'simple-icon-cup',\n 'simple-icon-calculator',\n 'simple-icon-bubbles',\n 'simple-icon-briefcase',\n 'simple-icon-book-open',\n 'simple-icon-basket-loaded',\n 'simple-icon-basket',\n 'simple-icon-bag',\n 'simple-icon-action-undo',\n 'simple-icon-action-redo',\n 'simple-icon-wrench',\n 'simple-icon-umbrella',\n 'simple-icon-trash',\n 'simple-icon-tag',\n 'simple-icon-support',\n 'simple-icon-frame',\n 'simple-icon-size-fullscreen',\n 'simple-icon-size-actual',\n 'simple-icon-shuffle',\n 'simple-icon-share-alt',\n 'simple-icon-share',\n 'simple-icon-rocket',\n 'simple-icon-question',\n 'simple-icon-pie-chart',\n 'simple-icon-pencil',\n 'simple-icon-note',\n 'simple-icon-loop',\n 'simple-icon-home',\n 'simple-icon-grid',\n 'simple-icon-graph',\n 'simple-icon-microphone',\n 'simple-icon-music-tone-alt',\n 'simple-icon-music-tone',\n 'simple-icon-earphones-alt',\n 'simple-icon-earphones',\n 'simple-icon-equalizer',\n 'simple-icon-like',\n 'simple-icon-dislike',\n 'simple-icon-control-start',\n 'simple-icon-control-rewind',\n 'simple-icon-control-play',\n 'simple-icon-control-pause',\n 'simple-icon-control-forward',\n 'simple-icon-control-end',\n 'simple-icon-volume-1',\n 'simple-icon-volume-2',\n 'simple-icon-volume-off',\n 'simple-icon-calendar',\n 'simple-icon-bulb',\n 'simple-icon-chart',\n 'simple-icon-ban',\n 'simple-icon-bubble',\n 'simple-icon-camrecorder',\n 'simple-icon-camera',\n 'simple-icon-cloud-download',\n 'simple-icon-cloud-upload',\n 'simple-icon-envelope',\n 'simple-icon-eye',\n 'simple-icon-flag',\n 'simple-icon-heart',\n 'simple-icon-info',\n 'simple-icon-key',\n 'simple-icon-link',\n 'simple-icon-lock',\n 'simple-icon-lock-open',\n 'simple-icon-magnifier',\n 'simple-icon-magnifier-add',\n 'simple-icon-magnifier-remove',\n 'simple-icon-paper-clip',\n 'simple-icon-paper-plane',\n 'simple-icon-power',\n 'simple-icon-refresh',\n 'simple-icon-reload',\n 'simple-icon-settings',\n 'simple-icon-star',\n 'simple-icon-symbol-female',\n 'simple-icon-symbol-male',\n 'simple-icon-target',\n 'simple-icon-credit-card',\n 'simple-icon-paypal',\n 'simple-icon-social-tumblr',\n 'simple-icon-social-twitter',\n 'simple-icon-social-facebook',\n 'simple-icon-social-instagram',\n 'simple-icon-social-linkedin',\n 'simple-icon-social-pinterest',\n 'simple-icon-social-github',\n 'simple-icon-social-google',\n 'simple-icon-social-reddit',\n 'simple-icon-social-skype',\n 'simple-icon-social-dribbble',\n 'simple-icon-social-behance',\n 'simple-icon-social-foursqare',\n 'simple-icon-social-soundcloud',\n 'simple-icon-social-spotify',\n 'simple-icon-social-stumbleupon',\n 'simple-icon-social-youtube',\n 'simple-icon-social-dropbox',\n 'simple-icon-social-vkontakte',\n 'simple-icon-social-steam'\n ];\n\n // tslint:disable-next-line:variable-name\n private _iconsmind: ({ title: string; icons: string[] })[] = [\n {\n title: 'Alignment & Paragraph',\n icons: ['iconsminds-add-space-after-paragraph',\n 'iconsminds-add-space-before-paragraph',\n 'iconsminds-align-center',\n 'iconsminds-align-justify-all',\n 'iconsminds-align-justify-center',\n 'iconsminds-align-justify-left',\n 'iconsminds-align-justify-right',\n 'iconsminds-align-left',\n 'iconsminds-align-right',\n 'iconsminds-decrase-inedit',\n 'iconsminds-increase-inedit',\n 'iconsminds-indent-first-line',\n 'iconsminds-indent-left-margin',\n 'iconsminds-indent-right-margin',\n 'iconsminds-line-spacing']\n },\n {\n title: 'Arrow View',\n icons: ['iconsminds-arrow-fork',\n 'iconsminds-arrow-from',\n 'iconsminds-arrow-inside-45',\n 'iconsminds-arrow-inside-gap-45',\n 'iconsminds-arrow-inside-gap',\n 'iconsminds-arrow-inside',\n 'iconsminds-arrow-into',\n 'iconsminds-arrow-junction',\n 'iconsminds-arrow-loop',\n 'iconsminds-arrow-merge',\n 'iconsminds-arrow-mix',\n 'iconsminds-arrow-out-left',\n 'iconsminds-arrow-out-right',\n 'iconsminds-arrow-outside-45',\n 'iconsminds-arrow-outside-gap-45',\n 'iconsminds-arrow-outside-gap',\n 'iconsminds-arrow-outside',\n 'iconsminds-arrow-over',\n 'iconsminds-arrow-shuffle',\n 'iconsminds-arrow-squiggly',\n 'iconsminds-arrow-through',\n 'iconsminds-arrow-to',\n 'iconsminds-double-circle',\n 'iconsminds-full-view-2',\n 'iconsminds-full-view',\n 'iconsminds-maximize',\n 'iconsminds-minimize',\n 'iconsminds-resize',\n 'iconsminds-three-arrow-fork',\n 'iconsminds-view-height',\n 'iconsminds-view-width',\n 'iconsminds-arrow-around',\n 'iconsminds-arrow-barrier',\n 'iconsminds-arrow-circle',\n 'iconsminds-arrow-cross', ]\n },\n {\n title: 'Arrows',\n icons: ['iconsminds-arrow-back-2',\n 'iconsminds-arrow-back-3',\n 'iconsminds-arrow-back',\n 'iconsminds-arrow-down-2',\n 'iconsminds-arrow-down-3',\n 'iconsminds-arrow-down-in-circle',\n 'iconsminds-arrow-down',\n 'iconsminds-arrow-forward-2',\n 'iconsminds-arrow-forward',\n 'iconsminds-arrow-left-2',\n 'iconsminds-arrow-left-in-circle',\n 'iconsminds-arrow-left',\n 'iconsminds-arrow-next',\n 'iconsminds-arrow-refresh-2',\n 'iconsminds-arrow-refresh',\n 'iconsminds-arrow-right-2',\n 'iconsminds-arrow-right-in-circle',\n 'iconsminds-arrow-right',\n 'iconsminds-arrow-turn-left',\n 'iconsminds-arrow-turn-right',\n 'iconsminds-arrow-up-2',\n 'iconsminds-arrow-up-3',\n 'iconsminds-arrow-up-in-circle',\n 'iconsminds-arrow-up',\n 'iconsminds-arrow-x-left',\n 'iconsminds-arrow-x-right',\n 'iconsminds-bottom-to-top',\n 'iconsminds-down',\n 'iconsminds-down-2',\n 'iconsminds-down-3',\n 'iconsminds-download',\n 'iconsminds-end',\n 'iconsminds-fit-to-2',\n 'iconsminds-fit-to',\n 'iconsminds-full-screen-2',\n 'iconsminds-full-screen',\n 'iconsminds-go-bottom',\n 'iconsminds-go-top',\n 'iconsminds-left---right-3',\n 'iconsminds-left---right',\n 'iconsminds-left',\n 'iconsminds-left-2',\n 'iconsminds-left-3',\n 'iconsminds-left-to-right',\n 'iconsminds-loop',\n 'iconsminds-navigate-end',\n 'iconsminds-navigat-start',\n 'iconsminds-reload',\n 'iconsminds-reload-2',\n 'iconsminds-repeat',\n 'iconsminds-repeat-2',\n 'iconsminds-repeat-3',\n 'iconsminds-repeat-4',\n 'iconsminds-right',\n 'iconsminds-right-2',\n 'iconsminds-right-3',\n 'iconsminds-right-to-left',\n 'iconsminds-shuffle',\n 'iconsminds-shuffle-2',\n 'iconsminds-start',\n 'iconsminds-sync',\n 'iconsminds-to-bottom-2',\n 'iconsminds-to-bottom',\n 'iconsminds-to-left',\n 'iconsminds-top-to-bottom',\n 'iconsminds-to-right',\n 'iconsminds-to-top-2',\n 'iconsminds-to-top',\n 'iconsminds-triangle-arrow-down',\n 'iconsminds-triangle-arrow-left',\n 'iconsminds-triangle-arrow-right',\n 'iconsminds-triangle-arrow-up',\n 'iconsminds-turn-down-2',\n 'iconsminds-turn-down-from-left',\n 'iconsminds-turn-down-from-right',\n 'iconsminds-turn-down',\n 'iconsminds-turn-left-3',\n 'iconsminds-turn-left',\n 'iconsminds-turn-right-3',\n 'iconsminds-turn-right',\n 'iconsminds-turn-up-2',\n 'iconsminds-turn-up',\n 'iconsminds-up---down-3',\n 'iconsminds-up---down',\n 'iconsminds-up',\n 'iconsminds-up-2',\n 'iconsminds-up-3',\n 'iconsminds-upload']\n },\n {\n title: 'Basic',\n icons: ['iconsminds-billing',\n 'iconsminds-binocular',\n 'iconsminds-bone',\n 'iconsminds-box-close',\n 'iconsminds-box-with-folders',\n 'iconsminds-brush',\n 'iconsminds-bucket',\n 'iconsminds-camera-3',\n 'iconsminds-camera-4',\n 'iconsminds-candle',\n 'iconsminds-candy',\n 'iconsminds-chair',\n 'iconsminds-control',\n 'iconsminds-control-2',\n 'iconsminds-crop-2',\n 'iconsminds-crown-2',\n 'iconsminds-dashboard',\n 'iconsminds-data-center',\n 'iconsminds-data-cloud',\n 'iconsminds-data-download',\n 'iconsminds-data-storage',\n 'iconsminds-delete-file',\n 'iconsminds-dice',\n 'iconsminds-drill',\n 'iconsminds-duplicate-layer',\n 'iconsminds-electricity',\n 'iconsminds-factory',\n 'iconsminds-feather',\n 'iconsminds-file',\n 'iconsminds-file-clipboard-file---text',\n 'iconsminds-file-clipboard',\n 'iconsminds-file-copy',\n 'iconsminds-file-edit',\n 'iconsminds-file-horizontal',\n 'iconsminds-files',\n 'iconsminds-file-zip',\n 'iconsminds-filter-2',\n 'iconsminds-flash-2',\n 'iconsminds-folder',\n 'iconsminds-folder-add--',\n 'iconsminds-folder-block',\n 'iconsminds-folder-close',\n 'iconsminds-folder-cloud',\n 'iconsminds-folder-delete',\n 'iconsminds-folder-edit',\n 'iconsminds-folder-open',\n 'iconsminds-folders',\n 'iconsminds-folder-zip',\n 'iconsminds-funny-bicycle',\n 'iconsminds-gas-pump',\n 'iconsminds-gear',\n 'iconsminds-gear-2',\n 'iconsminds-gears',\n 'iconsminds-gift-box',\n 'iconsminds-grave',\n 'iconsminds-headphone',\n 'iconsminds-headset',\n 'iconsminds-hipster-men',\n 'iconsminds-hub',\n 'iconsminds-idea',\n 'iconsminds-information',\n 'iconsminds-key',\n 'iconsminds-knife',\n 'iconsminds-lantern',\n 'iconsminds-layer-backward',\n 'iconsminds-layer-forward',\n 'iconsminds-library',\n 'iconsminds-light-bulb-2',\n 'iconsminds-loading',\n 'iconsminds-loading-2',\n 'iconsminds-loading-3',\n 'iconsminds-magic-wand',\n 'iconsminds-magnifi-glass--',\n 'iconsminds-magnifi-glass',\n 'iconsminds-memory-card-2',\n 'iconsminds-mine',\n 'iconsminds-mustache-2',\n 'iconsminds-office-lamp',\n 'iconsminds-old-sticky-2',\n 'iconsminds-on-off',\n 'iconsminds-on-off-2',\n 'iconsminds-on-off-3',\n 'iconsminds-palette',\n 'iconsminds-paper',\n 'iconsminds-pen',\n 'iconsminds-photo',\n 'iconsminds-photo-album-2',\n 'iconsminds-power-station',\n 'iconsminds-preview',\n 'iconsminds-pricing',\n 'iconsminds-profile',\n 'iconsminds-project',\n 'iconsminds-puzzle',\n 'iconsminds-refinery',\n 'iconsminds-remove-file',\n 'iconsminds-rename',\n 'iconsminds-repair',\n 'iconsminds-ruler',\n 'iconsminds-save',\n 'iconsminds-scissor',\n 'iconsminds-scroller',\n 'iconsminds-scroller-2',\n 'iconsminds-share',\n 'iconsminds-smoking-pipe',\n 'iconsminds-solar',\n 'iconsminds-statistic',\n 'iconsminds-suitcase',\n 'iconsminds-support',\n 'iconsminds-switch',\n 'iconsminds-tripod-with-camera',\n 'iconsminds-upgrade',\n 'iconsminds-user',\n 'iconsminds-windmill',\n 'iconsminds-witch-hat',\n 'iconsminds-wrench',\n 'iconsminds-add-file',\n 'iconsminds-affiliate',\n 'iconsminds-anchor',\n 'iconsminds-balloon',\n 'iconsminds-beard-3',\n 'iconsminds-bicycle',\n 'iconsminds-big-data',\n 'iconsminds-printer',\n 'iconsminds-sheep',\n 'iconsminds-cow',\n 'iconsminds-dog',\n 'iconsminds-deer',\n 'iconsminds-pantone',\n 'iconsminds-digital-drawing',\n 'iconsminds-trophy-2',\n 'iconsminds-life-safer',\n 'iconsminds-usb',\n 'iconsminds-flowerpot']\n },\n {\n title: 'Buildings & Landmarks',\n icons: ['iconsminds-eifel-tower',\n 'iconsminds-el-castillo',\n 'iconsminds-embassy',\n 'iconsminds-empire-state-building',\n 'iconsminds-factory-1',\n 'iconsminds-fire-staion',\n 'iconsminds-home',\n 'iconsminds-home-3',\n 'iconsminds-home-4',\n 'iconsminds-hotel',\n 'iconsminds-japanese-gate',\n 'iconsminds-leaning-tower',\n 'iconsminds-lighthouse',\n 'iconsminds-museum',\n 'iconsminds-office',\n 'iconsminds-opera-house',\n 'iconsminds-piramids',\n 'iconsminds-police-station',\n 'iconsminds-post-office',\n 'iconsminds-prater',\n 'iconsminds-roof',\n 'iconsminds-space-needle',\n 'iconsminds-the-white-house',\n 'iconsminds-tower',\n 'iconsminds-bank',\n 'iconsminds-berlin-tower',\n 'iconsminds-big-bang',\n 'iconsminds-building',\n 'iconsminds-castle',\n 'iconsminds-chinese-temple',\n 'iconsminds-chrysler-building',\n 'iconsminds-city-hall',\n 'iconsminds-clothing-store',\n 'iconsminds-colosseum',\n 'iconsminds-column',\n 'iconsminds-taj-mahal']\n },\n {\n title: 'Business & Finance',\n icons: ['iconsminds-coins',\n 'iconsminds-coins-2',\n 'iconsminds-diamond',\n 'iconsminds-dollar',\n 'iconsminds-dollar-sign-2',\n 'iconsminds-euro',\n 'iconsminds-euro-sign-2',\n 'iconsminds-financial',\n 'iconsminds-handshake',\n 'iconsminds-pie-chart-3',\n 'iconsminds-pie-chart',\n 'iconsminds-pound',\n 'iconsminds-pound-sign-2',\n 'iconsminds-safe-box',\n 'iconsminds-wallet',\n 'iconsminds-bar-chart-4',\n 'iconsminds-calendar-1',\n 'iconsminds-calendar-4',\n 'iconsminds-line-chart-1',\n 'iconsminds-line-chart-3']\n },\n {\n title: 'Clothes & Accesories',\n icons: ['iconsminds-jeans',\n 'iconsminds-sunglasses-w-3',\n 'iconsminds-tie',\n 'iconsminds-t-shirt',\n 'iconsminds-baby-clothes',\n 'iconsminds-belt',\n 'iconsminds-bikini',\n 'iconsminds-blouse',\n 'iconsminds-boot',\n 'iconsminds-bow-3',\n 'iconsminds-bra',\n 'iconsminds-cap',\n 'iconsminds-coat',\n 'iconsminds-dress',\n 'iconsminds-glasses-3',\n 'iconsminds-gloves',\n 'iconsminds-hanger',\n 'iconsminds-heels-2',\n 'iconsminds-jacket',\n 'iconsminds-walkie-talkie']\n },\n {\n title: 'Communications & Network',\n icons: ['iconsminds-wifi',\n 'iconsminds-address-book-2',\n 'iconsminds-bell',\n 'iconsminds-bird-delivering-letter',\n 'iconsminds-communication-tower-2',\n 'iconsminds-fax',\n 'iconsminds-megaphone',\n 'iconsminds-newspaper',\n 'iconsminds-old-telephone',\n 'iconsminds-router',\n 'iconsminds-telephone-2',\n 'iconsminds-smartphone-4',\n 'iconsminds-tablet-3',\n 'iconsminds-computer',\n 'iconsminds-laptop---phone',\n 'iconsminds-laptop---tablet',\n 'iconsminds-laptop-3',\n 'iconsminds-monitor',\n 'iconsminds-monitor---laptop',\n 'iconsminds-monitor---phone',\n 'iconsminds-monitor---tablet',\n 'iconsminds-monitor-3',\n 'iconsminds-monitor-vertical',\n 'iconsminds-orientation',\n 'iconsminds-phone-3',\n 'iconsminds-smartphone-3']\n },\n {\n title: 'Education',\n icons: ['iconsminds-quill-3',\n 'iconsminds-student-hat',\n 'iconsminds-blackboard',\n 'iconsminds-book',\n 'iconsminds-bookmark',\n 'iconsminds-books',\n 'iconsminds-compass-2',\n 'iconsminds-diploma-2',\n 'iconsminds-eraser-2',\n 'iconsminds-formula',\n 'iconsminds-notepad',\n 'iconsminds-open-book',\n 'iconsminds-pen-2',\n 'iconsminds-pi',\n 'iconsminds-pipette']\n },\n {\n title: 'Emails',\n icons: ['iconsminds-mail-block',\n 'iconsminds-mailbox-empty',\n 'iconsminds-mailbox-full',\n 'iconsminds-mail-delete',\n 'iconsminds-mail-favorite',\n 'iconsminds-mail-forward',\n 'iconsminds-mail-gallery',\n 'iconsminds-mail-inbox',\n 'iconsminds-mail-link',\n 'iconsminds-mail-lock',\n 'iconsminds-mail-love',\n 'iconsminds-mail-money',\n 'iconsminds-mail-open',\n 'iconsminds-mail-outbox',\n 'iconsminds-mail-password',\n 'iconsminds-mail-photo',\n 'iconsminds-mail-read',\n 'iconsminds-mail-remove-x',\n 'iconsminds-mail-reply-all',\n 'iconsminds-mail-reply',\n 'iconsminds-mail-search',\n 'iconsminds-mail-send',\n 'iconsminds-mail-settings',\n 'iconsminds-mail-unread',\n 'iconsminds-mail-video',\n 'iconsminds-mail-with-at-sign',\n 'iconsminds-mail-with-cursors',\n 'iconsminds-new-mail',\n 'iconsminds-post-mail-2',\n 'iconsminds-post-mail',\n 'iconsminds-spam-mail',\n 'iconsminds-stamp',\n 'iconsminds-stamp-2',\n 'iconsminds-voicemail',\n 'iconsminds-at-sign',\n 'iconsminds-box-full',\n 'iconsminds-empty-box',\n 'iconsminds-envelope',\n 'iconsminds-envelope-2',\n 'iconsminds-inbox',\n 'iconsminds-inbox-empty',\n 'iconsminds-inbox-forward',\n 'iconsminds-inbox-full',\n 'iconsminds-inbox-into',\n 'iconsminds-inbox-out',\n 'iconsminds-inbox-reply',\n 'iconsminds-letter-close',\n 'iconsminds-letter-open',\n 'iconsminds-letter-sent',\n 'iconsminds-mail',\n 'iconsminds-mail-2',\n 'iconsminds-mail-3',\n 'iconsminds-mail-add--',\n 'iconsminds-mail-attachement']\n },\n {\n title: 'Food & Drinks',\n icons: ['iconsminds-ice-cream',\n 'iconsminds-lollipop',\n 'iconsminds-open-banana',\n 'iconsminds-pepper',\n 'iconsminds-tee-mug',\n 'iconsminds-tomato',\n 'iconsminds-apple',\n 'iconsminds-apple-bite',\n 'iconsminds-beer-glass',\n 'iconsminds-birthday-cake',\n 'iconsminds-bread',\n 'iconsminds-cake',\n 'iconsminds-can',\n 'iconsminds-can-2',\n 'iconsminds-cheese',\n 'iconsminds-chef-hat',\n 'iconsminds-chopsticks',\n 'iconsminds-cocktail',\n 'iconsminds-coffee',\n 'iconsminds-coffee-bean',\n 'iconsminds-coffee-to-go',\n 'iconsminds-cookies',\n 'iconsminds-croissant',\n 'iconsminds-cupcake',\n 'iconsminds-doughnut',\n 'iconsminds-fish',\n 'iconsminds-glass-water',\n 'iconsminds-hamburger',\n 'iconsminds-hot-dog']\n },\n {\n title: 'Hardware',\n icons: ['iconsminds-webcam',\n 'iconsminds-battery-0',\n 'iconsminds-battery-100',\n 'iconsminds-battery-charge',\n 'iconsminds-charger',\n 'iconsminds-cpu',\n 'iconsminds-disk',\n 'iconsminds-dvd',\n 'iconsminds-fan',\n 'iconsminds-gamepad-2',\n 'iconsminds-hdd',\n 'iconsminds-keyboard',\n 'iconsminds-mouse',\n 'iconsminds-mouse-3',\n 'iconsminds-plug-in',\n 'iconsminds-power',\n 'iconsminds-power-cable',\n 'iconsminds-remote-controll-2',\n 'iconsminds-server-2',\n 'iconsminds-speaker']\n },\n {\n title: 'Interface',\n icons: ['iconsminds-start-ways',\n 'iconsminds-synchronize',\n 'iconsminds-synchronize-2',\n 'iconsminds-undo',\n 'iconsminds-up-1',\n 'iconsminds-upload-1',\n 'iconsminds-upward',\n 'iconsminds-yes',\n 'iconsminds-add',\n 'iconsminds-back',\n 'iconsminds-broken-link',\n 'iconsminds-check',\n 'iconsminds-close',\n 'iconsminds-cursor',\n 'iconsminds-cursor-click-2',\n 'iconsminds-cursor-click',\n 'iconsminds-cursor-move-2',\n 'iconsminds-cursor-select',\n 'iconsminds-down-1',\n 'iconsminds-download-1',\n 'iconsminds-downward',\n 'iconsminds-endways',\n 'iconsminds-forward',\n 'iconsminds-left-1',\n 'iconsminds-link',\n 'iconsminds-next',\n 'iconsminds-orientation-1',\n 'iconsminds-pointer',\n 'iconsminds-previous',\n 'iconsminds-redo',\n 'iconsminds-refresh',\n 'iconsminds-reload-1',\n 'iconsminds-remove',\n 'iconsminds-repeat-1',\n 'iconsminds-reset',\n 'iconsminds-rewind',\n 'iconsminds-right-1',\n 'iconsminds-rotation',\n 'iconsminds-rotation-390',\n 'iconsminds-spot']\n },\n {\n title: 'Maps & Locations',\n icons: ['iconsminds-satelite-2',\n 'iconsminds-compass-1',\n 'iconsminds-direction-east',\n 'iconsminds-edit-map',\n 'iconsminds-geo2',\n 'iconsminds-geo2--',\n 'iconsminds-globe-2',\n 'iconsminds-location-2',\n 'iconsminds-map2',\n 'iconsminds-map-marker-2',\n 'iconsminds-map-marker']\n },\n {\n title: 'Media control',\n icons: ['iconsminds-stop',\n 'iconsminds-stop-2',\n 'iconsminds-back-1',\n 'iconsminds-back-2',\n 'iconsminds-eject',\n 'iconsminds-eject-2',\n 'iconsminds-end-1',\n 'iconsminds-end-2',\n 'iconsminds-next-1',\n 'iconsminds-next-2',\n 'iconsminds-pause',\n 'iconsminds-pause-2',\n 'iconsminds-power-2',\n 'iconsminds-power-3',\n 'iconsminds-record',\n 'iconsminds-record-2',\n 'iconsminds-repeat-5',\n 'iconsminds-repeat-6',\n 'iconsminds-shuffle-1',\n 'iconsminds-shuffle-3',\n 'iconsminds-start-1',\n 'iconsminds-start-2']\n },\n {\n title: 'Music',\n icons: ['iconsminds-volume-down',\n 'iconsminds-volume-up',\n 'iconsminds-back-music',\n 'iconsminds-cd-2',\n 'iconsminds-clef',\n 'iconsminds-earphones-2',\n 'iconsminds-equalizer',\n 'iconsminds-first',\n 'iconsminds-headphones',\n 'iconsminds-last',\n 'iconsminds-loudspeaker',\n 'iconsminds-mic',\n 'iconsminds-microphone-4',\n 'iconsminds-next-music',\n 'iconsminds-old-radio',\n 'iconsminds-play-music',\n 'iconsminds-radio',\n 'iconsminds-record-1',\n 'iconsminds-record-music',\n 'iconsminds-sound',\n 'iconsminds-speaker-1',\n 'iconsminds-stop-music',\n 'iconsminds-trumpet',\n 'iconsminds-voice',\n 'iconsminds-electric-guitar',\n 'iconsminds-guitar']\n },\n {\n title: 'Nature',\n icons: ['iconsminds-tree-3',\n 'iconsminds-eci-icon',\n 'iconsminds-environmental',\n 'iconsminds-environmental-3',\n 'iconsminds-fire-flame-2',\n 'iconsminds-green-energy',\n 'iconsminds-green-house',\n 'iconsminds-leafs',\n 'iconsminds-light-bulb-leaf',\n 'iconsminds-palm-tree',\n 'iconsminds-plant',\n 'iconsminds-recycling-2',\n 'iconsminds-seed',\n 'iconsminds-trash-with-men',\n 'iconsminds-forest-1']\n },\n {\n title: 'People',\n icons: ['iconsminds-id-card',\n 'iconsminds-king-2',\n 'iconsminds-male',\n 'iconsminds-male-female',\n 'iconsminds-male-2',\n 'iconsminds-man-sign',\n 'iconsminds-mens',\n 'iconsminds-network',\n 'iconsminds-student-female',\n 'iconsminds-student-male',\n 'iconsminds-student-male-female',\n 'iconsminds-students',\n 'iconsminds-woman-man',\n 'iconsminds-add-user',\n 'iconsminds-administrator',\n 'iconsminds-assistant',\n 'iconsminds-business-man',\n 'iconsminds-business-man-woman',\n 'iconsminds-business-mens',\n 'iconsminds-business-woman',\n 'iconsminds-conference',\n 'iconsminds-doctor',\n 'iconsminds-engineering',\n 'iconsminds-female',\n 'iconsminds-female-2',\n 'iconsminds-temperature']\n },\n {\n title: 'Science & Medical',\n icons: ['iconsminds-test-tube',\n 'iconsminds-ambulance',\n 'iconsminds-atom',\n 'iconsminds-band-aid',\n 'iconsminds-bio-hazard',\n 'iconsminds-biotech',\n 'iconsminds-brain',\n 'iconsminds-chemical',\n 'iconsminds-clinic',\n 'iconsminds-danger',\n 'iconsminds-dna',\n 'iconsminds-dna-2',\n 'iconsminds-first-aid',\n 'iconsminds-flask',\n 'iconsminds-medical-sign',\n 'iconsminds-medicine-3',\n 'iconsminds-microscope',\n 'iconsminds-physics',\n 'iconsminds-plasmid',\n 'iconsminds-plaster',\n 'iconsminds-pulse',\n 'iconsminds-radioactive',\n 'iconsminds-stethoscope']\n },\n {\n title: 'Security',\n icons: ['iconsminds-security-settings',\n 'iconsminds-securiy-remove',\n 'iconsminds-shield',\n 'iconsminds-ssl',\n 'iconsminds-type-pass',\n 'iconsminds-unlock-2',\n 'iconsminds-finger-print',\n 'iconsminds-firewall',\n 'iconsminds-key-lock',\n 'iconsminds-laptop-secure',\n 'iconsminds-lock-2',\n 'iconsminds-password',\n 'iconsminds-password-field',\n 'iconsminds-police',\n 'iconsminds-security-block',\n 'iconsminds-security-bug',\n 'iconsminds-security-camera',\n 'iconsminds-security-check']\n },\n {\n title: 'Seo Icons',\n icons: ['iconsminds-testimonal',\n 'iconsminds-broke-link-2',\n 'iconsminds-coding',\n 'iconsminds-consulting',\n 'iconsminds-copyright',\n 'iconsminds-idea-2',\n 'iconsminds-link-2',\n 'iconsminds-management',\n 'iconsminds-monitor-analytics',\n 'iconsminds-monitoring',\n 'iconsminds-optimization',\n 'iconsminds-tag',\n 'iconsminds-target',\n 'iconsminds-target-market']\n },\n {\n title: 'Shopping & E-commerce',\n icons: ['iconsminds-shopping-bag',\n 'iconsminds-shopping-basket',\n 'iconsminds-shopping-cart',\n 'iconsminds-tag-3',\n 'iconsminds-add-bag',\n 'iconsminds-add-basket',\n 'iconsminds-add-cart',\n 'iconsminds-bag-items',\n 'iconsminds-bag-quantity',\n 'iconsminds-basket-coins',\n 'iconsminds-basket-items',\n 'iconsminds-basket-quantity',\n 'iconsminds-car-items',\n 'iconsminds-cart-quantity',\n 'iconsminds-cash-register-2',\n 'iconsminds-checkout',\n 'iconsminds-checkout-bag',\n 'iconsminds-checkout-basket',\n 'iconsminds-home-1',\n 'iconsminds-qr-code',\n 'iconsminds-receipt-4',\n 'iconsminds-remove-bag',\n 'iconsminds-remove-basket',\n 'iconsminds-remove-cart',\n 'iconsminds-shop',\n 'iconsminds-shop-2',\n 'iconsminds-shop-3',\n 'iconsminds-calculator',\n 'iconsminds-scale',\n 'iconsminds-shop-4',\n 'iconsminds-credit-card',\n 'iconsminds-credit-card-3',\n 'iconsminds-money-bag']\n },\n {\n title: 'Signs & Symbols',\n icons: ['iconsminds-ying-yang',\n 'iconsminds-bisexual',\n 'iconsminds-cancer',\n 'iconsminds-couple-sign',\n 'iconsminds-family-sign',\n 'iconsminds-female-1',\n 'iconsminds-gey',\n 'iconsminds-heart',\n 'iconsminds-homosexual',\n 'iconsminds-inifity',\n 'iconsminds-lesbian',\n 'iconsminds-lesbians',\n 'iconsminds-love',\n 'iconsminds-male-1',\n 'iconsminds-men',\n 'iconsminds-no-smoking',\n 'iconsminds-paw',\n 'iconsminds-quotes',\n 'iconsminds-redirect',\n 'iconsminds-ribbon',\n 'iconsminds-venn-diagram',\n 'iconsminds-wheelchair',\n 'iconsminds-women']\n },\n {\n title: 'Social Media',\n icons: ['iconsminds-instagram',\n 'iconsminds-last-fm',\n 'iconsminds-like',\n 'iconsminds-linkedin-2',\n 'iconsminds-livejournal',\n 'iconsminds-newsvine',\n 'iconsminds-picasa',\n 'iconsminds-pinterest',\n 'iconsminds-plaxo',\n 'iconsminds-plurk',\n 'iconsminds-posterous',\n 'iconsminds-qik',\n 'iconsminds-reddit',\n 'iconsminds-reverbnation',\n 'iconsminds-rss',\n 'iconsminds-sharethis',\n 'iconsminds-skype',\n 'iconsminds-soundcloud',\n 'iconsminds-stumbleupon',\n 'iconsminds-technorati',\n 'iconsminds-tumblr',\n 'iconsminds-twitter',\n 'iconsminds-unlike',\n 'iconsminds-ustream',\n 'iconsminds-viddler',\n 'iconsminds-vimeo',\n 'iconsminds-wordpress',\n 'iconsminds-xanga',\n 'iconsminds-yahoo',\n 'iconsminds-yelp',\n 'iconsminds-youtube',\n 'iconsminds-ask',\n 'iconsminds-behance',\n 'iconsminds-bing',\n 'iconsminds-blinklist',\n 'iconsminds-blogger',\n 'iconsminds-delicious',\n 'iconsminds-deviantart',\n 'iconsminds-digg',\n 'iconsminds-diigo',\n 'iconsminds-dribble',\n 'iconsminds-email',\n 'iconsminds-evernote',\n 'iconsminds-facebook',\n 'iconsminds-feedburner',\n 'iconsminds-flickr',\n 'iconsminds-formspring',\n 'iconsminds-forsquare',\n 'iconsminds-friendster',\n 'iconsminds-google',\n 'iconsminds-gowalla',\n 'iconsminds-icq',\n 'iconsminds-imdb']\n },\n {\n title: 'Speech Bubbles',\n icons: ['iconsminds-speach-bubble',\n 'iconsminds-speach-bubbles',\n 'iconsminds-speach-bubble-2',\n 'iconsminds-speach-bubble-3',\n 'iconsminds-speach-bubble-4',\n 'iconsminds-speach-bubble-5',\n 'iconsminds-speach-bubble-6',\n 'iconsminds-speach-bubble-7',\n 'iconsminds-speach-bubble-8',\n 'iconsminds-speach-bubble-9',\n 'iconsminds-speach-bubble-10',\n 'iconsminds-speach-bubble-11',\n 'iconsminds-speach-bubble-12',\n 'iconsminds-speach-bubble-13',\n 'iconsminds-speach-bubble-asking',\n 'iconsminds-speach-bubble-comic-2',\n 'iconsminds-speach-bubble-comic-3',\n 'iconsminds-speach-bubble-comic-4',\n 'iconsminds-speach-bubble-comic',\n 'iconsminds-speach-bubble-dialog']\n },\n {\n title: 'Sports',\n icons: ['iconsminds-trekking',\n 'iconsminds-trophy',\n 'iconsminds-weight-lift',\n 'iconsminds-aerobics',\n 'iconsminds-archery',\n 'iconsminds-ballet-shoes',\n 'iconsminds-baseball',\n 'iconsminds-basket-ball',\n 'iconsminds-bowling',\n 'iconsminds-box',\n 'iconsminds-chess',\n 'iconsminds-cricket',\n 'iconsminds-dumbbell',\n 'iconsminds-football',\n 'iconsminds-football-2',\n 'iconsminds-footprint',\n 'iconsminds-footprint-2',\n 'iconsminds-golf',\n 'iconsminds-gymnastics',\n 'iconsminds-hokey',\n 'iconsminds-jump-rope',\n 'iconsminds-life-jacket',\n 'iconsminds-medal',\n 'iconsminds-pilates-2',\n 'iconsminds-rafting',\n 'iconsminds-running-shoes',\n 'iconsminds-skydiving',\n 'iconsminds-snorkel',\n 'iconsminds-soccer-ball',\n 'iconsminds-swimming',\n 'iconsminds-tennis',\n 'iconsminds-tennis-ball']\n },\n {\n title: 'Time',\n icons: ['iconsminds-over-time-2',\n 'iconsminds-sand-watch-2',\n 'iconsminds-stopwatch',\n 'iconsminds-time-backup',\n 'iconsminds-timer',\n 'iconsminds-watch',\n 'iconsminds-24-hour',\n 'iconsminds-alarm-clock-2',\n 'iconsminds-alarm-clock',\n 'iconsminds-clock',\n 'iconsminds-clock-2',\n 'iconsminds-clock-back',\n 'iconsminds-clock-forward',\n 'iconsminds-old-clock']\n },\n {\n title: 'Transportation',\n icons: ['iconsminds-scooter',\n 'iconsminds-ship',\n 'iconsminds-skateboard',\n 'iconsminds-taxi-sign',\n 'iconsminds-traffic-light',\n 'iconsminds-train',\n 'iconsminds-yacht',\n 'iconsminds-bicycle-1',\n 'iconsminds-bus-2',\n 'iconsminds-car',\n 'iconsminds-gaugage',\n 'iconsminds-gaugage-2',\n 'iconsminds-helicopter',\n 'iconsminds-jeep',\n 'iconsminds-jet',\n 'iconsminds-motorcycle',\n 'iconsminds-plane',\n 'iconsminds-road-2',\n 'iconsminds-sailing-ship',\n 'iconsminds-air-balloon-1',\n 'iconsminds-tractor']\n },\n {\n title: 'Video',\n icons: ['iconsminds-video-tripod',\n 'iconsminds-3d-eyeglasses',\n 'iconsminds-cinema',\n 'iconsminds-director',\n 'iconsminds-film',\n 'iconsminds-film-video',\n 'iconsminds-old-tv',\n 'iconsminds-tv',\n 'iconsminds-video',\n 'iconsminds-video-5',\n 'iconsminds-video-6',\n 'iconsminds-video-len']\n },\n {\n title: 'Weather',\n icons: ['iconsminds-sunrise',\n 'iconsminds-sunset',\n 'iconsminds-temperature-2',\n 'iconsminds-thunder',\n 'iconsminds-umbrella-2',\n 'iconsminds-wave',\n 'iconsminds-wind-turbine',\n 'iconsminds-windy',\n 'iconsminds-cloud-hail',\n 'iconsminds-cloud-moon',\n 'iconsminds-cloud-rain',\n 'iconsminds-cloud-snow',\n 'iconsminds-cloud-sun',\n 'iconsminds-cloud-weather',\n 'iconsminds-drop',\n 'iconsminds-dry',\n 'iconsminds-fog-day',\n 'iconsminds-fog-night',\n 'iconsminds-half-moon',\n 'iconsminds-rain-drop',\n 'iconsminds-snow',\n 'iconsminds-snowflake-3',\n 'iconsminds-snow-storm',\n 'iconsminds-spring',\n 'iconsminds-storm',\n 'iconsminds-summer',\n 'iconsminds-sun',\n 'iconsminds-sun-cloudy-rain']\n }];\n\n\n // tslint:disable-next-line:typedef\n public get simplelineicons() {\n return this._simplelineicons;\n }\n\n // tslint:disable-next-line:typedef\n public get iconsmind() {\n return this._iconsmind;\n }\n}\n","export class BasicModel{\r\n Id?: number;\r\n NameAr?: string;\r\n NameEn?: string;\r\n constructor(item?: BasicModel) {\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.NameAr = item.NameAr ? item.NameAr : '';\r\n this.NameEn = item.NameEn ? item.NameEn : '';\r\n }\r\n }","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { BasicModel } from \"./model\";\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class JournalEntriesTypesService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}JournalEntriesTypes/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}JournalEntriesTypes/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: BasicModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}JournalEntriesTypes/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: BasicModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}JournalEntriesTypes/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: BasicModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}JournalEntriesTypes/Delete`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n \r\n deleteList(payload: BasicModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}JournalEntriesTypes/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { BasicModel } from \"./helper/model\";\nimport { JournalEntriesTypesService } from './helper/serves';\n\n\n\nimport { TableEngine } from 'src/app/views/app/aio/shared/TableEngine'\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from '../../shared/side-popup/side-popup.component';\n\n@Component({\n // moduleId: module.id,\n selector: 'journal-entries-type',\n templateUrl: 'journal-entries-type.component.html',\n styleUrls: ['journal-entries-type.component.scss']\n})\nexport class JournalEntriesTypeComponent {\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n\n constructor(private formBuilder: FormBuilder, public modelService: JournalEntriesTypesService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService\n\n ) {\n }\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n\n translationName: string = ' Journal Entries Type'\n\n sortableKeys:any = [];\n searchableKeys = ['NameEn', 'NameAr'];\n\n modelObject: BasicModel = new BasicModel();\n\n ogData: BasicModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n NameEn: new FormControl(),\n NameAr: new FormControl(),\n });\n\n\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective;\n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' };\n this.sortableKeys = [\n { label: 'Name', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' },\n ];\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n this.loadServices();\n }\n\n showModal(Id, action) {\n if (action === 'Add') {\n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n }\n else if (action === 'Edit') {\n\n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder)\n console.log(\"this model object:\" + this.modelObject);\n console.log(this.modelObject);\n console.log(\"table engine model object:\" + this.tableEngine.modelObject);\n console.log(this.tableEngine.modelObject);\n\n }\n else if (action === 'Info') {\n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder)\n }\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n }\n\n createForm(modelObject, formBuilder): FormGroup {\n //console.log(\"from craeteform\");\n\n //console.log(\"modelObject\",modelObject.NameEn);\n\n return formBuilder.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n NameEn: [modelObject.NameEn, Validators.compose([Validators.required, Validators.minLength(2)])],\n NameAr: [modelObject.NameAr, Validators.compose([Validators.required, Validators.pattern(/^[\\u0621-\\u064A]+([\\s]*[\\u0621-\\u064A]+)*$/)])],\n // PostalCode: [modelObject.PostalCode, Validators.compose([Validators.required, Validators.pattern(/^/d{5}$/)])],\n });\n }\n\n addObject() {\n this.currentAction = 'loading';\n\n this.modelObject = new BasicModel();\n this.modelObject.Id = 0;\n this.modelObject.NameEn = this.mainForm.getRawValue().NameEn;\n this.modelObject.NameAr = this.mainForm.getRawValue().NameAr;\n // this.modelObject.PostalCode = this.mainForm.getRawValue().PostalCode;\n\n this.executeAddObject();\n }\n\n executeAddObject() {\n console.log(this.modelObject);\n\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n\n editObject() {\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n\n let tempObj = new BasicModel({\n Id: this.modelObject.Id,\n NameEn: this.mainForm.getRawValue().NameEn,\n NameAr: this.mainForm.getRawValue().NameAr,\n // PostalCode : this.mainForm.getRawValue().PostalCode\n });\n\n if (JSON.stringify(tempObj) != JSON.stringify(this.modelObject)) {\n this.executeEditObject(tempObj);\n }\n else {if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n }\n\n executeEditObject(Object) {\n console.log(\"ObjectObject\", Object);\n\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n\n\n prepChangeSort(sortKey) {\n this.tableEngine.itemOrder = this.itemOrder;\n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey))\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n loadServices() {\n this.currentAction = 'loading';\n this.tableEngine.loadData();\n }\n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepSort(sortKey) {\n this.tableEngine.changeSort(this.tableEngine.getSort('Name'));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n

    \n {{tableEngine.currentFormMode+translationName | translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"NameArRequired\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n {{\"NameEnRequired\" | translate}}
    \n \n
    \n \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n tableEngine.deletionList.length === tableEngine.ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Name\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{lang==='ar-EG'?obj.NameAr:obj.NameEn}}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","export class LockerBasicModel{\r\n Id?: number;\r\n AccountNameId?: number;\r\n ManagerId?: number;\r\n NameAr?: string;\r\n NameEn?: string;\r\n Description?: string;\r\n \r\n constructor(item?: LockerBasicModel) {\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.AccountNameId = item.AccountNameId ? item.AccountNameId : 0;\r\n this.ManagerId = item.ManagerId ? item.ManagerId : 0;\r\n this.NameAr = item.NameAr ? item.NameAr : '';\r\n this.NameEn = item.NameEn ? item.NameEn : '';\r\n this.Description = item.Description ? item.Description : '';\r\n }\r\n }","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { LockerBasicModel } from \"./model\";\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LockersDataService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}LockersData/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}LockersData/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: LockerBasicModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}LockersData/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: LockerBasicModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}LockersData/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: LockerBasicModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}LockersData/Delete`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n \r\n deleteList(payload: LockerBasicModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}LockersData/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { LockerBasicModel } from \"./helper/model\";\nimport { LockersDataService } from './helper/serves';\n\n\n\nimport { TableEngine } from 'src/app/views/app/aio/shared/TableEngine'\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from '../../shared/side-popup/side-popup.component';\nimport { AccountsNameService } from '../account-name/AccountNameService';\nimport { AccountNameModel } from '../account-name/AccountNameModel';\n\n@Component({\n // moduleId: module.id,\n selector: 'locker-data',\n templateUrl: 'locker-data.component.html',\n styleUrls: ['locker-data.component.scss']\n})\nexport class LockerDataComponent{\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n accountsNameList: AccountNameModel[] = [];\n\n constructor( private accountsNameService: AccountsNameService,private formBuilder: FormBuilder, public modelService: LockersDataService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService) {\n\n this.accountsNameService.getAll(0).subscribe(\n data=>{\n this.accountsNameList=data;\n }\n )\n }\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n\n translationName: string = 'Locker Data'\n\n sortableKeys = [];\n searchableKeys = ['NameEn', 'NameAr'];\n\n modelObject: LockerBasicModel = new LockerBasicModel();\n\n ogData: LockerBasicModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n NameEn: new FormControl(),\n NameAr: new FormControl(),\n AccountNameDropdwon: new FormControl(),\n Description: new FormControl(),\n \n });\n\n\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective;\n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' };\n this.sortableKeys = [\n { label: 'Name', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' },\n ];\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n this.loadServices();\n }\n\n showModal(Id, action) {\n if (action === 'Add') {\n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n }\n else if (action === 'Edit') {\n\n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder)\n console.log(\"this model object:\" + this.modelObject);\n console.log(this.modelObject);\n console.log(\"table engine model object:\" + this.tableEngine.modelObject);\n console.log(this.tableEngine.modelObject);\n\n }\n else if (action === 'Info') {\n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder)\n }\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n }\n\n createForm(modelObject, formBuilder): FormGroup {\n //console.log(\"from craeteform\");\n\n //console.log(\"modelObject\",modelObject.NameEn);\n\n return formBuilder.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n NameEn: [modelObject.NameEn, Validators.compose([Validators.required, Validators.minLength(2)])],\n AccountNameDropdwon: [modelObject.AccountNameId, Validators.compose([Validators.required,])],\n Description: [modelObject.Description, Validators.compose([Validators.required, Validators.minLength(2)])],\n NameAr: [modelObject.NameAr, Validators.compose([Validators.required, Validators.pattern(/^[\\u0621-\\u064A]+([\\s]*[\\u0621-\\u064A]+)*$/)])],\n \n \n // PostalCode: [modelObject.PostalCode, Validators.compose([Validators.required, Validators.pattern(/^/d{5}$/)])],\n });\n }\n\n addObject() {\n this.currentAction = 'loading';\n\n this.modelObject = new LockerBasicModel();\n this.modelObject.Id = 0;\n this.modelObject.NameEn = this.mainForm.getRawValue().NameEn;\n this.modelObject.NameAr = this.mainForm.getRawValue().NameAr;\n this.modelObject.AccountNameId = this.mainForm.getRawValue().AccountNameDropdwon;\n this.modelObject.Description = this.mainForm.getRawValue().Description;\n // this.modelObject.PostalCode = this.mainForm.getRawValue().PostalCode;\n\n this.executeAddObject();\n }\n\n executeAddObject() {\n console.log(this.modelObject);\n\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n\n editObject() {\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n\n let tempObj = new LockerBasicModel({\n Id: this.modelObject.Id,\n NameEn: this.mainForm.getRawValue().NameEn,\n NameAr: this.mainForm.getRawValue().NameAr,\n AccountNameId: this.mainForm.getRawValue().AccountNameDropdwon,\n Description: this.mainForm.getRawValue().Description,\n \n // PostalCode : this.mainForm.getRawValue().PostalCode\n });\n\n if (JSON.stringify(tempObj) != JSON.stringify(this.modelObject)) {\n this.executeEditObject(tempObj);\n }\n else {if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n }\n\n executeEditObject(Object) {\n console.log(\"ObjectObject\", Object);\n\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n if (this.sideModalRef === undefined) {\n\n this.tableEngine.smallModal.hide();\n\n } else {\n\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n\n\n prepChangeSort(sortKey) {\n this.tableEngine.itemOrder = this.itemOrder;\n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey))\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n loadServices() {\n this.currentAction = 'loading';\n this.tableEngine.loadData();\n }\n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepSort(sortKey) {\n this.tableEngine.changeSort(this.tableEngine.getSort('Name'));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n

    \n {{tableEngine.currentFormMode+translationName | translate}}

    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n \n \n \n
    \n {{\"NameArRequired\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n {{\"NameEnRequired\" | translate}}
    \n \n
    \n
    \n \n \n \n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n tableEngine.deletionList.length === tableEngine.ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Name\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{lang==='ar-EG'?obj.NameAr:obj.NameEn}}
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Component, Renderer2, ViewChild } from '@angular/core';\nimport { PaymentPlanService } from '../../payment-plan.service';\nimport { PaymentPlanModel } from '../../models/payment-plan.model';\nimport { DataFilterer } from '../../../../shared/DataFilterer';\nimport { DataSorter } from '../../../../shared/DataSorter';\nimport { DataPaginator } from '../../../../shared/DataPaginator';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { of } from 'rxjs';\n\n@Component({\n selector: 'payment-plan',\n templateUrl: 'payment-plan.component.html',\n styleUrls: ['payment-plan.component.scss']\n})\nexport class PaymentPlanComponent {\n lang: string;\n itemOrder: { label: string; property: string; };\n constructor(private formBuilder: FormBuilder, private modelService: PaymentPlanService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService) {\n }\n currentScreen: any = 'Table';\n \n translationName: string = 'PaymentPlan'\n \n sortableKeys = [];\n searchableKeys = ['Name'];\n \n modelObject: PaymentPlanModel = new PaymentPlanModel();\n ogData: PaymentPlanModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Name: new FormControl(),\n PaymentDate: new FormControl(),\n NumberOfDays: new FormControl(),\n });\n \n \n ngOnInit(): void {\n console.log(\"model\");\n console.log(this.modelObject);\n \n \n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: this.lang === 'ar-EG' ? 'Name' : 'Name' };\n this.sortableKeys = [\n { label: 'Name',property: this.lang === 'ar-EG' ? 'Name' : 'Name'},\n { label: 'NumberOfDays', property: 'NumberOfDays' },\n ];\n this.loadData();\n console.log(this.ogData);\n //this.dataSorter.sortData('NameEn', this.ogData);\n }\n \n createForm(): FormGroup {\n return this.formBuilder.group({\n Id: [this.modelObject.Id >= 0 ? this.modelObject.Id : 0],\n Name: [this.modelObject.Name, Validators.compose([Validators.required, Validators.minLength(2)])],\n NumberOfDays: [this.modelObject.NumberOfDays],\n PaymentDate: [this.modelObject.PaymentDate],\n });\n }\n\n \n\n\n addObject() {\n //prevent multiclick submits. enable again after API response.\n this.currentAction = 'loading';\n \n this.modelObject = new PaymentPlanModel();\n this.modelObject.Id = 0;\n this.modelObject.Name = this.mainForm.getRawValue().Name;\n this.modelObject.NumberOfDays = this.mainForm.getRawValue().NumberOfDays;\n this.modelObject.PaymentDate = this.mainForm.getRawValue().PaymentDate;\n \n \n this.executeAddObject();\n }\n \n executeAddObject(){\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n this.smallModal.hide();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n \n editObject() {\n this.savedPage = this.currentPage;\n this.currentAction = 'loading';\n \n let tempObj = new PaymentPlanModel({\n Id: this.modelObject.Id,\n Name: this.mainForm.getRawValue().Name,\n NumberOfDays: this.mainForm.getRawValue().NumberOfDays,\n PaymentDate: this.mainForm.getRawValue().PaymentDate,\n });\n \n if(tempObj != this.modelObject){\n this.executeEditObject(tempObj);\n }\n else{\n this.smallModal.hide();\n }\n }\n \n executeEditObject(Object)\n {\n \n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n \n this.smallModal.hide();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n \n //Deletion methods:\n //Customize if needed.\n //Pass the target object as paraMetre if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject(){\n this.modelService.deleteList(this.deletionList).subscribe(result => {\n if (result === true) {\n this.loadData();\n this.currentAction = '';\n this.finalizeDeletion();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n \n \n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n // lang: any;\n // itemOrder: any;\n currentFormMode: string = '';\n currentAction: string = '';\n \n \n //ogData = [];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n \n SelectAllBox: any = false;\n \n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n orderAsc: boolean = true;\n \n currentPage = 1;\n savedPage = 0;\n \n \n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n \n loadData() {\n debugger;\n this.currentAction = 'loading';\n this.modelService.getAll().subscribe(\n data => {\n console.log(\"data:\");\n console.log(data);\n \n this.ogData = data;\n this.sortData();\n this.loadSearch();\n this.currentAction = '';\n }\n )\n \n }\n \n sortData() {\n debugger;\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n \n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n \n filterData() {\n debugger;\n\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n \n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n debugger;\n\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n \n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n \n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n \n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n \n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n \n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n \n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n \n isSelected(p: PaymentPlanModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n \n onSelect(item: PaymentPlanModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n \n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n \n @ViewChild('smallModal') smallModal: ModalDirective;\n @ViewChild('delModal') delModal: ModalDirective;\n showAddNewModalRef(): void {\n this.currentFormMode = 'Add'\n this.modelObject = new PaymentPlanModel;\n this.mainForm = this.createForm();\n this.smallModal.show();\n }\n \n showEditModalRef(Id: any): void {\n console.log(\"adsdasdasdas\");\n console.log(this.modelObject);\n console.log(this.ogData.find(i => i.Id === 2));\n \n this.currentFormMode = 'Edit'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.smallModal.show();\n }\n \n showInfoModalRef(Id: any): void {\n this.currentFormMode = 'Info'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.smallModal.show();\n }\n \n deletionList: PaymentPlanModel[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n \n SearchTerm: any = '';\n \n \n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n \n this.deletionList = [];\n this.selected = [];\n \n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n \n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n \n loadAllData() {\n this.modelService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.loadSearch();\n }\n )\n }\n \n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n}\n","\n\n
    \n
    \n
    \n \n
    \n

    \n {{currentFormMode+\"PaymentPlan\" | translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"PaymentPlanNameRequired\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n {{\"Number Of Days Required\" | translate}}
    \n \n
    \n \n \n \n \n \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"Name\" | translate}}\n \n
    \n {{\"NumberOfDays\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{obj.Name}}{{obj.NumberOfDays}}\n \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","export class PaymentPlanModel{\r\n Id?: number;\r\n PaymentDate?: Date|null;\r\n Name?: string;\r\n NumberOfDays?: number;\r\n constructor(item ?: PaymentPlanModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.PaymentDate = item.PaymentDate ? item.PaymentDate : null;\r\n this.Name = item.Name ? item.Name : '';\r\n this.NumberOfDays = item.NumberOfDays ? item.NumberOfDays : 0;\r\n }\r\n}","import { environment } from './../../../../../../environments/environment';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { PaymentPlanModel } from './models/payment-plan.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PaymentPlanService {\r\n\r\n\r\n constructor(private http:HttpClient ) { }\r\n\r\n \r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}PaymentPlan/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n}\r\ngetById(Id:number): Observable {\r\n\r\n return this.http\r\n .get(`${this.baseUrl}PaymentPlan/GetById/${Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n}\r\ninsert(payload: PaymentPlanModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}PaymentPlan/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n}\r\n\r\nupdate(payload: PaymentPlanModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}PaymentPlan/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n}\r\n\r\ndelete(Id:number): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}PaymentPlan/Delete/${Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n}\r\n\r\n deleteList(payload: PaymentPlanModel []): Observable {\r\n console.log(JSON.stringify(payload))\r\n return this.http\r\n .post(`${this.baseUrl}PaymentPlan/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }}\r\n\r\n","import { Component } from '@angular/core';\n\n@Component({\n // moduleId: module.id,\n selector: 'project-info',\n templateUrl: 'project-info.component.html',\n styleUrls: ['project-info.component.scss']\n})\nexport class ProjectInfoComponent {\n\n}\n","\n\n\n
    \n
    \n

    {{ 'Project Information' | translate }}

    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n\n\n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n","export class RevenueCodesModule{\r\n Id?:number;\r\n RevenueCode?:number;\r\n RevenueEn?:string;\r\n RevenueAr?:string;\r\n CreditorAccountNumber?:number;\r\n CreditorAccountNumberId?:number;\r\n constructor(obj?:RevenueCodesModule){\r\n obj = obj? obj:{};\r\n this.Id= obj.Id ? obj.Id:0;\r\n this.RevenueCode=obj.RevenueCode? obj.RevenueCode:0;\r\n this.RevenueEn=obj.RevenueEn? obj.RevenueEn:'';\r\n this.RevenueAr=obj.RevenueAr? obj.RevenueAr:'';\r\n this.CreditorAccountNumber=obj.CreditorAccountNumber? obj.CreditorAccountNumber:0;\r\n this.CreditorAccountNumberId = obj.CreditorAccountNumberId? obj.CreditorAccountNumberId:0;\r\n\r\n\r\n }\r\n}","import { RevenueCodesModule } from './RevenueCodesModel';\nimport { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { of } from 'rxjs';\nimport { DataFilterer } from '../../shared/DataFilterer';\nimport { DataSorter } from '../../shared/DataSorter';\nimport { DataPaginator } from '../../shared/DataPaginator';\nimport { SidePopupComponent } from '../../shared/side-popup/side-popup.component';\n\n\n@Component({\n selector: 'revenue-codes',\n templateUrl: 'revenue-codes.component.html',\n styleUrls: ['revenue-codes.component.scss']\n})\nexport class RevenueCodesComponent {\n constructor(private formBuilder: FormBuilder, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService\n ) { //Additional services for City and Country\n }\n\n lang: string;\n currentFormMode: string = '';\n currentAction: string = '';\n itemOrder: any;\n\n currentScreen: any = 'Table';\n\n translationName: string = 'Income'\n\n sortableKeys = [];\n searchableKeys = ['RevenueEn', 'RevenueAr'];\n\n modelObject: RevenueCodesModule = new RevenueCodesModule({});\n ogData: RevenueCodesModule[] = [\n { Id: 2, RevenueCode: 1, RevenueEn: \"Debit 1\", RevenueAr: \"ايراد 1\", CreditorAccountNumber: 122, CreditorAccountNumberId: 11 },\n { Id: 3, RevenueCode: 2, RevenueEn: \"Debit 2\", RevenueAr: \"ايراد 2\", CreditorAccountNumber: 112, CreditorAccountNumberId: 55 },\n { Id: 4, RevenueCode: 3, RevenueEn: \"Debit 3\", RevenueAr: \"ايراد 3\", CreditorAccountNumber: 332, CreditorAccountNumberId: 14},\n { Id: 5, RevenueCode: 4, RevenueEn: \"Debit 4\", RevenueAr: \"ايراد 4\", CreditorAccountNumber: 442, CreditorAccountNumberId: 15 },\n { Id: 6, RevenueCode: 5, RevenueEn: \"Debit 5\", RevenueAr: \"ايراد 5\", CreditorAccountNumber: 552, CreditorAccountNumberId: 16},\n ];\n // ogData: IncomeCodeModel [] = [ ];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n RevenueCode: new FormControl(),\n RevenueEn: new FormControl(),\n RevenueAr: new FormControl(),\n CreditorAccountNumber: new FormControl(), \n CreditorAccountNumberId: new FormControl(),\n \n \n });\n\n\n ngOnInit(): void {\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Revenue', property: this.lang === 'ar-EG' ? 'RevenueAr' : 'RevenueEn' };\n this.sortableKeys = [\n { label: 'RevenueCode', property: 'RevenueCode' }, \n { label: 'Revenue', property: this.lang === 'ar-EG' ? 'RevenueAr' : 'RevenueEn' }, \n // { label: 'descriptionAr', property: 'descriptionAr' }, \n // { label: 'descriptionEn', property: 'descriptionEn' }, \n { label: 'CreditorAccountNumber', property: 'CreditorAccountNumber' },\n // { label: 'ClientCountry', property: 'DebitAccountId' },\n // { label: 'DocumentaryCredits', property: 'DocumentaryCredits' }, \n ];\n //this.loadData();\n this.loadServices();\n }\n\n\n createForm(): FormGroup {\n return this.formBuilder.group({\n Id: [this.modelObject.Id >= 0 ? this.modelObject.Id : 0],\n RevenueEn: [this.modelObject.RevenueEn, Validators.compose([Validators.required, Validators.minLength(2)])],\n RevenueAr: [this.modelObject.RevenueAr, Validators.compose([Validators.required, Validators.pattern(/^[\\u0621-\\u064A]+([\\s]*[\\u0621-\\u064A]+)*$/)])],\n CreditorAccountNumber: [this.modelObject.CreditorAccountNumber, Validators.compose([Validators.required, Validators.pattern(/^\\d+$/)])],\n CreditorAccountNumberId: [this.modelObject.CreditorAccountNumberId, Validators.compose([Validators.required])],\n RevenueCode: [this.modelObject.RevenueCode, Validators.compose([Validators.required])],\n });\n }\n \n addObject() {\n //prevent multiclick submits. enable again after API response.\n this.currentAction = 'loading';\n this.modelObject = new RevenueCodesModule();\n this.modelObject.Id = 0;\n this.modelObject.RevenueCode = this.mainForm.getRawValue().RevenueCode;\n this.modelObject.RevenueEn = this.mainForm.getRawValue().RevenueEn;\n this.modelObject.RevenueAr = this.mainForm.getRawValue().RevenueAr;\n this.modelObject.CreditorAccountNumber = this.mainForm.getRawValue().CreditorAccountNumber;\n this.modelObject.CreditorAccountNumberId = this.mainForm.getRawValue().CreditorAccountNumberId;\n \n this.executeAddObject();\n }\n\n editObject() {\n // this.savedPage = this.currentPage;\n this.currentAction = 'loading'; \n let tempObj = new RevenueCodesModule({\n Id: this.modelObject.Id,\n RevenueCode: this.mainForm.getRawValue().RevenueCode,\n RevenueEn: this.mainForm.getRawValue().RevenueEn,\n RevenueAr : this.mainForm.getRawValue().RevenueAr,\n CreditorAccountNumber : this.mainForm.getRawValue().CreditorAccountNumber,\n CreditorAccountNumberId : this.mainForm.getRawValue().CreditorAccountNumberId,\n \n });\n \n if(tempObj != this.modelObject){\n this.executeEditObject(tempObj);\n }\n else{\n this.sideModalRef.modalRef.hide();\n }\n }\n\n executeAddObject(){\n this.ogData.push(this.modelObject);\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n this.sideModalRef.modalRef.hide();\n // this.modelService.insert(this.modelObject).subscribe(result => {\n // if (result === true) {\n // this.loadData();\n // this.currentAction = '';\n // this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n // this.sideModalRef.modalRef.hide();\n // }\n // else {\n // this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n // this.currentAction = '';\n // }\n // })\n }\n \n\n deleteObject(){\n // this.savedPage = this.currentPage;\n this.currentAction = 'loading';\n \n let tempObj = new RevenueCodesModule({\n Id: this.modelObject.Id,\n RevenueCode: this.mainForm.getRawValue().RevenueCode,\n RevenueEn: this.mainForm.getRawValue().RevenueEn,\n RevenueAr : this.mainForm.getRawValue().RevenueAr,\n CreditorAccountNumber : this.mainForm.getRawValue().CreditorAccountNumber,\n CreditorAccountNumberId : this.mainForm.getRawValue().CreditorAccountNumberId,\n \n });\n \n if(tempObj != this.modelObject){\n this.executeEditObject(tempObj);\n }\n else{\n this.sideModalRef.modalRef.hide();\n }\n }\n\n\n executeEditObject(Object)\n {\n this.ogData.findIndex(x=>x.Id==Object);\n this.loadData();\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n this.sideModalRef.modalRef.hide();\n // this.modelService.update(Object).subscribe(result => {\n // if (result === true) {\n // this.loadData();\n // this.currentAction = '';\n // this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n \n // this.sideModalRef.modalRef.hide();\n // }\n // else {\n // this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n // this.currentAction = '';\n // }\n // })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n\n //Get any additional data here\n loadServices(){ \n this.currentAction = 'loading';\n this.loadData();\n\n // this.modelService.getAll().subscribe(\n // countryData => {\n // this.loadData();\n\n // //console.log(data);\n // // this.countryList = countryData;\n // // this.cityService.getAll().subscribe(\n // // cityData => {\n // // //console.log(data);\n // // // this.cityList = cityData;\n // // this.loadData();\n // // // console.log(this.cityList.map(i=>i.NameAr));\n // // // console.log(this.countryList.map(i=>i.NameAr));\n // // }\n // // )\n // }\n // )\n }\n DebitList: RevenueCodesModule [] = [];\n getCountryById(Id:any): any {\n return this.DebitList.find(i=>i.Id === Id);\n }\n// cityList: CityModel [] = [];\n// countryList: CountryModel [] = [];\n// getCountryById(Id:any): any {\n// return this.countryList.find(i=>i.Id === Id);\n// }\n// getCityById(Id:any): any {\n// return this.cityList.find(i=>i.Id === Id);\n// }\n\n// matchTaxNumberWithClientType(): ValidatorFn {\n// return (control:AbstractControl) : ValidationErrors | null => {\n \n// const value = control.value;\n// if (!value) {\n// return null;\n// }\n// if(this.mainForm.get('TaxNumber').value && this.mainForm.get('Type').value){\n// const taxNumber = this.mainForm.get('TaxNumber').value.toString();\n// const clientType = this.mainForm.get('Type').value.toString();\n// const taxMatch = (taxNumber===14&&clientType==='Personal') || (taxNumber===9&&clientType==='Company');\n// return taxMatch ? {match:true} : null;\n// }\n// }\n// }\n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n// lang: string;\n// currentFormMode: string = '';\n// currentAction: string = '';\n\n\n //ogData = [];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length + 1;\n\n SelectAllBox: any = false;\n\n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n// itemOrder: any;\n orderAsc: boolean = true;\n\n currentPage = 1;\n savedPage = 0;\n\n\n dataFilterer = new DataFilterer();\n dataSorter = new DataSorter();\n dataPaginator = new DataPaginator();\n\n loadData() {\n this.currentAction = 'loading';\n this.sortData();\n this.loadSearch();\n this.currentAction = '';\n // this.modelService.getAll().subscribe(\n // data => {\n // console.log(data);\n \n // this.ogData = data;\n // this.sortData();\n // this.loadSearch();\n // this.currentAction = '';\n // }\n // )\n \n }\n\n sortData() {\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\n this.filterData();\n }\n\n reverseSortData() {\n this.savedPage = this.currentPage;\n this.sortedData = this.sortedData.slice().reverse();\n this.filterData();\n }\n\n filterData() {\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\n if (this.savedPage === 0) {\n this.paginateData(this.itemsPerPage, 1);\n }\n else {\n this.paginateData(this.itemsPerPage,\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\n this.savedPage :\n Math.ceil((this.filteredData.length / this.itemsPerPage))\n );\n }\n this.savedPage = 0;\n }\n\n paginateData(newItemsPerPage: number, newCurrentPage: number) {\n this.itemsPerPage = newItemsPerPage;\n this.currentPage = newCurrentPage;\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\n }\n\n changeSort(newSort: any) {\n if (this.itemOrder.label === newSort.label) {\n this.orderAsc = !this.orderAsc;\n const oldPage = this.currentPage;\n this.reverseSortData()\n this.currentPage = oldPage;\n }\n else {\n this.orderAsc = true;\n this.itemOrder = newSort;\n this.sortData();\n }\n }\n\n getSort(label: any) {\n return this.sortableKeys.find(i => i.label === label);\n }\n\n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n }\n\n changeFilter() {\n this.deletionList = [];\n this.selected = [];\n this.selectAllState = '';\n this.filterData();\n }\n\n selectAll($event): void {\n if ($event.target.checked) {\n this.selected = [...this.filteredData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n\n setSelectAllState(): void {\n if (this.selected.length >= this.filteredData.length) {\n this.selectAllState = 'checked';\n } else if (this.selected.length !== 0) {\n this.selectAllState = 'indeterminate';\n } else {\n this.selectAllState = '';\n }\n }\n\n isSelected(p : RevenueCodesModule): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n\n onSelect(item: RevenueCodesModule): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n }\n\n findByCode(list: any, code: any): any {\n return list.find(x => x.Code === code)\n }\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent;\n @ViewChild('delModal') delModal: ModalDirective;\n showAddNewModalRef(): void {\n this.currentFormMode = 'Add'\n this.modelObject = new RevenueCodesModule;\n this.mainForm = this.createForm();\n this.sideModalRef.show();\n }\n\n showEditModalRef(Id: any): void {\n this.currentFormMode = 'Edit'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.sideModalRef.show();\n }\n\n showInfoModalRef(Id: any): void {\n this.currentFormMode = 'Info'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n of(this.modelObject).subscribe(data => {\n this.modelObject = data;\n })\n this.mainForm = this.createForm();\n this.sideModalRef.show();\n }\n\n deletionList: RevenueCodesModule[] = [];\n showDelModal(Id: any): void {\n if (Id >= 0) {\n this.currentFormMode = 'Del'\n this.modelObject = this.ogData.find(i => i.Id === Id);\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\n this.delModal.show();\n }\n else if (Id === 'delMulti') {\n this.deletionList = [...this.selected]\n this.delModal.show();\n }\n }\n\n SearchTerm: any = '';\n\n\n finalizeDeletion(){\n if (this.deletionList.length === 1) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"One\" + this.translationName));\n }\n else if (this.deletionList.length === 2) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\n }\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\n }\n else {\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\n }\n\n this.deletionList = [];\n this.selected = [];\n\n this.setSelectAllState();\n if (this.selectAllState === '') {\n this.SelectAllBox = false;\n }\n this.delModal.hide();\n }\n\n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiTaxTypes() {\n this.loadData();\n this.delModal.hide();\n }\n\n loadAllData() {\n this.loadSearch();\n\n // this.modelService.getAll().subscribe(\n // data => {\n // this.ogData = data;\n // }\n // )\n }\n\n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n}\n","\n\n\n
    \n
    \n
    \n

    \n {{currentFormMode+translationName | translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{\"RevenueEnRequired\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n {{\"RevenueArRequired\" | translate}}
    \n \n
    \n \n \n \n\n\n \n \n
    \n \n \n \n
    \n {{\"RevenueCodeRequired\" | translate}}
    \n \n
    \n \n
    \n \n
    \n \n \n {{lang==='ar-EG'?Debit.RevenueAr:Debit.RevenueEn}}\n \n
    \n \n
    \n {{\"Debit Account Required\" | translate}}
    \n \n
    \n \n \n \n \n\n\n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n deletionList.length === ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n back\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n  \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n\n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n {{\"RevenueNumber\" | translate}}\n \n
    \n {{\"RevenueAr\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{obj.RevenueCode}}{{obj.RevenueAr}}\n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n
    \n \n
    \n \n \n \n \n
    \n
    \n \n
     
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'select-cost-center',\n templateUrl: 'select-cost-center.component.html',\n styleUrls: ['select-cost-center.component.scss']\n})\nexport class SelectCostCenterComponent implements OnInit {\n @Input()\n AccountId:number = 0;\n ngOnInit(): void {\n throw new Error('Method not implemented.');\n }\n\n}\n","import { DatePipe } from '@angular/common';\nimport { TreasuryAndBankAccountsService } from './../../treasury-and-bank-accounts.service';\nimport { Component, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationsService } from 'angular2-notifications';\nimport { CurrencyService } from 'src/app/invoices/currencies/CurrencyService';\nimport { CurrencyModel } from 'src/app/invoices/currencies/CurrencyModel';\nimport { ListPageHeaderComponent } from 'src/app/containers/pages/list-page-header/list-page-header.component';\nimport { TreasuryAndBankAccountsModel } from '../../model/treasury-and-bank-accounts-model';\nimport { SidePopupComponent } from '../../../../shared/side-popup/side-popup.component';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { TableEngine } from '../../../../shared/TableEngine';\nimport { CreditTreasuryAndBankRolesBranchesModel } from '../../model/credit-treasury-and-bank-roles-branches-model';\nimport { CreditTreasuryAndBankRolesEmployeesModel } from '../../model/credit-treasury-and-bank-roles-employees';\nimport { CreditTreasuryAndBankRolesFunctionalRolesModel } from '../../model/credit-treasury-and-bank-roles-functional-roles-model';\nimport { DepositTreasuryAndBankRolesBranchesModel } from '../../model/deposit-treasury-and-bank-roles-branches-model';\nimport { DepositTreasuryAndBankRolesEmployeesModel } from '../../model/deposit-treasury-and-bank-roles-employees-model';\nimport { DepositTreasuryAndBankRolesFunctionalRolesModel } from '../../model/deposit-treasury-and-bank-roles-functional-roles-model';\nimport { BrandServiceService } from 'src/app/Invintory/warehouses/brand-service.service';\n\n@Component({\n selector: 'treasury-and-bank-accounts',\n templateUrl: 'treasury-and-bank-accounts.component.html',\n styleUrls: ['treasury-and-bank-accounts.component.scss']\n})\nexport class TreasuryAndBankAccountsComponent {\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n \n //Enable debugMode to make API modules return static data from within the service class\n debugMode: boolean = false;\n \n constructor(private formBuilder: FormBuilder, private modelService: TreasuryAndBankAccountsService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private datePipe: DatePipe,\n private currencyService:CurrencyService,\n private branchService:BrandServiceService\n ) {\n }\n currencies:CurrencyModel[]=[];\n listHeader = new ListPageHeaderComponent();\n @ViewChild('search') search: any;\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n tableView: any = true;\n \n translationName: string = 'TreasuryAndBankAccounts'\n \n sortableKeys = [];\n searchableKeys = ['Id'];\n \n modelObject: TreasuryAndBankAccountsModel = new TreasuryAndBankAccountsModel();\n \n ogData: TreasuryAndBankAccountsModel[] = [];\n mainForm: FormGroup = new FormGroup({\n Id : new FormControl(),\n Type : new FormControl(),\n Status : new FormControl(),\n Name : new FormControl(),\n Description : new FormControl(0),\n AccountName : new FormControl(0),\n AccountNumber : new FormControl(),\n CurrencyId : new FormControl(),\n DepositRolesType : new FormControl(),\n CreditRolesType : new FormControl(),\n DepositTreasuryAndBankRolesBranchesList : new FormControl(),\n DepositTreasuryAndBankRolesEmployeesList : new FormControl(),\n DepositTreasuryAndBankRolesFunctionalRolesList: new FormControl(),\n CreditTreasuryAndBankRolesBranchesList : new FormControl(),\n CreditTreasuryAndBankRolesEmployeesList : new FormControl(),\n CreditTreasuryAndBankRolesFunctionalRolesList : new FormControl(),\n SelectedDepositTreasuryAndBankRolesBranchesList :new FormControl(),\n SelectedDepositTreasuryAndBankRolesEmployeesList :new FormControl(),\n SelectedDepositTreasuryAndBankRolesFunctionalRolesList:new FormControl(),\n SelectedCreditTreasuryAndBankRolesBranchesList :new FormControl(),\n SelectedCreditTreasuryAndBankRolesEmployeesList :new FormControl(),\n SelectedCreditTreasuryAndBankRolesFunctionalRolesList :new FormControl()\n });\n \n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n branches:any[]=[];\n employees:any[]=[];\n roles:any[]=[];\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective=null;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective =null;\n formPresentationModal: any;\n ngOnInit(): void {\n this.branchService.getAll()\n .subscribe(branches=>{\n this.branches = branches;\n })\n this.currencyService.getAll()\n .subscribe(data => {\n this.currencies = data;\n })\n if (this.debugMode) {\n this.enableDebugOnAllServices();\n }\n \n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: 'Name' };\n this.sortableKeys = [\n { label: 'Name', property: 'Name' },\n { label: 'Type', property: 'Type' }\n \n ];\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n \n this.loadServices();\n }\n \n \n enableDebugOnAllServices() {\n //this.modelService.debugMode = true;\n // this.itemService.debugMode = true;\n //this.codingUnitService.debugMode = true;\n //this.storeDataService.debugMode = true;\n //this.supplierService.debugMode = true;\n }\n \n lastCode = 0;\n showModal(Id, action) {\n debugger;\n this.mainForm = this.createForm(this.modelObject, this.formBuilder);\n \n if (action === 'Add') {\n this.newTreasuryAndBankAccountsItemInternalId = 0;\n this.checkCode();\n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n this.currencies.forEach(element => {\n if(element.IsMain == true){\n this.modelObject.CurrencyId = element.Id;\n this.mainForm.controls['CurrencyId'].setValue(element.Id);\n }\n });\n }\n else if (action === 'Edit') {\n //this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder)\n this.modelService.getById(Id).subscribe(\n detailedObject => {\n console.log(\"detailed object\", detailedObject);\n \n let targetIndex = this.tableEngine.ogData.findIndex(i => i.Id === Id);\n this.tableEngine.ogData[targetIndex] = detailedObject;\n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder)\n \n this.lastCode = this.tableEngine.modelObject.Code\n \n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n this.tableView = false;\n \n \n }\n )\n }\n else if (action === 'Info') {\n console.log(\"entered info\");\n this.modelService.getById(Id).subscribe(\n detailedObject => {\n console.log(\"detailed object\", detailedObject);\n \n let targetIndex = this.tableEngine.ogData.findIndex(i => i.Id === Id);\n this.tableEngine.ogData[targetIndex] = detailedObject;\n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder)\n \n this.lastCode = this.tableEngine.modelObject.Code\n \n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n this.tableView = false;\n \n \n } \n )\n }\n this.tableView = false;\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n console.log((action + \" object\"), this.modelObject);\n \n \n console.log(\"modelObject after entering edit\", this.modelObject);\n }\n addAccountBanck(Id, action,type) {\n debugger;\n this.modelObject.Type = type;\n this.mainForm = this.createForm(this.modelObject, this.formBuilder);\n \n if (action === 'Add') {\n this.newTreasuryAndBankAccountsItemInternalId = 0;\n this.checkCode();\n this.tableEngine.showAddNewWithModelObjectModalRef(this.createForm, this.formBuilder,this.modelObject)\n }\n else if (action === 'Edit') {\n //this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder)\n this.modelService.getById(Id).subscribe(\n detailedObject => {\n console.log(\"detailed object\", detailedObject);\n \n let targetIndex = this.tableEngine.ogData.findIndex(i => i.Id === Id);\n this.tableEngine.ogData[targetIndex] = detailedObject;\n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder)\n \n this.lastCode = this.tableEngine.modelObject.Code\n \n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n this.tableView = false;\n \n \n }\n )\n }\n else if (action === 'Info') {\n console.log(\"entered info\");\n this.modelService.getById(Id).subscribe(\n detailedObject => {\n console.log(\"detailed object\", detailedObject);\n \n let targetIndex = this.tableEngine.ogData.findIndex(i => i.Id === Id);\n this.tableEngine.ogData[targetIndex] = detailedObject;\n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder)\n \n this.lastCode = this.tableEngine.modelObject.Code\n \n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n this.tableView = false;\n \n \n } \n )\n }\n this.tableView = false;\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n console.log((action + \" object\"), this.modelObject);\n \n \n console.log(\"modelObject after entering edit\", this.modelObject);\n }\n currentDate='';\n createForm(modelObject, formBuilder): FormGroup {\n debugger;\n return formBuilder.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n Type : [modelObject.Type ],\n Status : [modelObject.Status ],\n Name : [modelObject.Name ],\n Description : [modelObject.Description ],\n AccountName : [modelObject.AccountName ],\n AccountNumber : [modelObject.AccountNumber ],\n CurrencyId : [modelObject.CurrencyId ],\n DepositRolesType : [modelObject.DepositRolesType ],\n CreditRolesType : [modelObject.CreditRolesType ],\n DepositTreasuryAndBankRolesBranchesList : [modelObject.DepositTreasuryAndBankRolesBranchesList ],\n DepositTreasuryAndBankRolesEmployeesList : [modelObject.DepositTreasuryAndBankRolesEmployeesList ],\n DepositTreasuryAndBankRolesFunctionalRolesList: [modelObject.DepositTreasuryAndBankRolesFunctionalRolesList],\n CreditTreasuryAndBankRolesBranchesList : [modelObject.CreditTreasuryAndBankRolesBranchesList ],\n CreditTreasuryAndBankRolesEmployeesList : [modelObject.CreditTreasuryAndBankRolesEmployeesList ],\n CreditTreasuryAndBankRolesFunctionalRolesList : [modelObject.CreditTreasuryAndBankRolesFunctionalRolesList ],\n SelectedDepositTreasuryAndBankRolesBranchesList :[modelObject.SelectedDepositTreasuryAndBankRolesBranchesList ],\n SelectedDepositTreasuryAndBankRolesEmployeesList :[modelObject.SelectedDepositTreasuryAndBankRolesEmployeesList ],\n SelectedDepositTreasuryAndBankRolesFunctionalRolesList:[modelObject.SelectedDepositTreasuryAndBankRolesFunctionalRolesList],\n SelectedCreditTreasuryAndBankRolesBranchesList :[modelObject.SelectedCreditTreasuryAndBankRolesBranchesList ],\n SelectedCreditTreasuryAndBankRolesEmployeesList :[modelObject.SelectedCreditTreasuryAndBankRolesEmployeesList ],\n SelectedCreditTreasuryAndBankRolesFunctionalRolesList :[modelObject.SelectedCreditTreasuryAndBankRolesFunctionalRolesList ],\n });\n }\n \n addObject() {\n debugger;\n this.currentAction = 'loading';\n let lastId = this.tableEngine.ogData.length>0?this.tableEngine.ogData[this.tableEngine.ogData.length - 1].Id:0;\n this.modelObject = new TreasuryAndBankAccountsModel();\n //this.modelObject.Id = this.debugMode ? lastId + 1 : 0;\n this.modelObject.Id = 0;\n // let date = new Date(this.mainForm.getRawValue().Date);\n this.modelObject = this.mainForm.getRawValue();\n if(this.modelObject.SelectedCreditTreasuryAndBankRolesBranchesList && this.modelObject.SelectedCreditTreasuryAndBankRolesBranchesList.length > 0){\n this.modelObject.SelectedCreditTreasuryAndBankRolesBranchesList.forEach(element => {\n if(element > 0){\n var item = new CreditTreasuryAndBankRolesBranchesModel({BranchId:element,Id:0,TreasuryAndBankAccountId:this.modelObject.Id});\n this.modelObject.CreditTreasuryAndBankRolesBranchesList.push(item);\n }\n });\n }\n\n if(this.modelObject.SelectedCreditTreasuryAndBankRolesEmployeesList && this.modelObject.SelectedCreditTreasuryAndBankRolesEmployeesList.length > 0){\n this.modelObject.SelectedCreditTreasuryAndBankRolesEmployeesList.forEach(element => {\n if(element > 0){\n \n var item = new CreditTreasuryAndBankRolesEmployeesModel({EmployeeId:element,Id:0,TreasuryAndBankAccountId:this.modelObject.Id});\n this.modelObject.CreditTreasuryAndBankRolesEmployeesList.push(item);\n }\n });\n }\n if(this.modelObject.SelectedCreditTreasuryAndBankRolesFunctionalRolesList && this.modelObject.SelectedCreditTreasuryAndBankRolesFunctionalRolesList.length > 0){\n this.modelObject.SelectedCreditTreasuryAndBankRolesFunctionalRolesList.forEach(element => {\n if(element > 0){\n var item = new CreditTreasuryAndBankRolesFunctionalRolesModel({RoleId:element,Id:0,TreasuryAndBankAccountId:this.modelObject.Id});\n this.modelObject.CreditTreasuryAndBankRolesFunctionalRolesList.push(item);\n }\n });\n }\n if(this.modelObject.SelectedDepositTreasuryAndBankRolesBranchesList && this.modelObject.SelectedDepositTreasuryAndBankRolesBranchesList.length > 0){\n this.modelObject.SelectedDepositTreasuryAndBankRolesBranchesList.forEach(element => {\n if(element > 0){\n var item = new DepositTreasuryAndBankRolesBranchesModel({BranchId:element,Id:0,TreasuryAndBankAccountId:this.modelObject.Id});\n this.modelObject.DepositTreasuryAndBankRolesBranchesList.push(item);\n }\n });\n }\n if(this.modelObject.SelectedDepositTreasuryAndBankRolesEmployeesList && this.modelObject.SelectedDepositTreasuryAndBankRolesEmployeesList.length > 0){\n this.modelObject.SelectedDepositTreasuryAndBankRolesEmployeesList.forEach(element => {\n if(element > 0){\n var item = new DepositTreasuryAndBankRolesEmployeesModel({EmployeeId:element,Id:0,TreasuryAndBankAccountId:this.modelObject.Id});\n this.modelObject.DepositTreasuryAndBankRolesEmployeesList.push(item);\n }\n });\n }\n if(this.modelObject.SelectedDepositTreasuryAndBankRolesFunctionalRolesList && this.modelObject.SelectedDepositTreasuryAndBankRolesFunctionalRolesList.length > 0){\n this.modelObject.SelectedDepositTreasuryAndBankRolesFunctionalRolesList.forEach(element => {\n \n if(element > 0){\n var item = new DepositTreasuryAndBankRolesFunctionalRolesModel({RoleId:element,Id:0,TreasuryAndBankAccountId:this.modelObject.Id});\n this.modelObject.DepositTreasuryAndBankRolesFunctionalRolesList.push(item);\n }\n });\n }\n console.log(this.modelObject);\n this.executeAddObject();\n }\n \n executeAddObject() {\n debugger;\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true || result > 0) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n if (this.sideModalRef === undefined) {\n if (this.smallModal != undefined) {\n this.tableEngine.smallModal.hide();\n }\n else {\n this.tableView = this.prevAction === 'AddThenNew' ? false : true;\n \n this.prevAction = '';\n }\n }\n else {\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n \n if(this.prevAction != 'AddThenNew'){\n this.goBack();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n \n editObject() {\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n //this.calculateTotalItemValue();\n //let newString = new DatePipe('en-US').transform(this.mainForm.getRawValue().Date, 'dd/MM/yyyy');\n //console.log(\"newstring\", newString);\n \n //let date: Date = this.getFormattedDate(new DatePipe('en-US').transform(this.mainForm.getRawValue().Date, 'dd/MM/yyyy'));\n let tempObj = new TreasuryAndBankAccountsModel();\n tempObj = this.mainForm.getRawValue();\n tempObj.Id = this.modelObject.Id;\n this.executeEditObject(tempObj);\n console.log(\"saved object\", tempObj);\n }\n \n executeEditObject(Object) {\n \n \n this.modelService.update(Object).subscribe(result => {\n if (result === true || result > 0) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n \n if (this.sideModalRef === undefined) {\n if (this.smallModal != undefined) {\n this.tableEngine.smallModal.hide();\n }\n else {\n this.tableView = true;\n }\n }\n else {\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n \n this.goBack();\n \n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n \n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n \n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true || result > 0) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n \n \n //lastCode = 0;\n codeWasChecked = false;\n checkCode() : boolean{\n if(!(this.lastCode > 0)){\n this.codeWasChecked = false;\n console.log(\"bad code\", this.lastCode);\n \n return this.codeWasChecked;\n }\n return this.codeWasChecked;\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n SearchFrom: Date = null ;\n SearchTo: Date= null;\n \n clearSearch() {\n this.SearchFrom= null ;\n this.SearchTo = null;\n }\n \n prevAction = '';\n addAndNew() {\n this.prevAction = 'AddThenNew';\n this.addObject();\n this.addAccountBanck(null, 'Add',this.modelObject.Type);\n }\n \n \n loadServices() {\n this.currentAction = 'loading';\n this.tableEngine.loadData();\n\n \n \n }\n \n TreasuryAndBankAccountsItemForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n ItemId: new FormControl(),\n //UnitId: new FormControl(),\n Quantity: new FormControl(),\n UnitCost: new FormControl(),\n TotalPrice: new FormControl(),\n });\n createTreasuryAndBankAccountsItemForm(TreasuryAndBankAccountsItemObject, formBuilder): FormGroup {\n return formBuilder.group({\n\n });\n }\n newTreasuryAndBankAccountsItemInternalId = 0;\n \n currentTotal = 0;\n \n goBack(){\n console.log(\"back\");\n \n this.modelObject = {};\n this.currentTotal = 0;\n this.currentAction = \"\";\n this.tableView = true;\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepChangeSort(sortKey) {\n this.SearchFrom ;\n this.SearchTo ;\n \n \n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n \n getFormattedDate(dateString: any){\n let splitDate: number[] = dateString.toString().split(\"/\");\n \n return new Date(splitDate[2], splitDate[1]-1, splitDate[0])\n }\n ///////////////////////////////////////////////////////\n \n displayMode = 'list';\n changeDisplayMode(mode): void {\n this.displayMode = mode;\n }\n itemsPerPageChange(perPage: number): void {\n this.tableEngine.paginateData(perPage, 1)\n }\n selectedCurrency = '';\n changeCurrency(){\n var i = this.currencies.findIndex(x=>x.Id == this.mainForm.controls['CurrencyId'].value);\n if(i>-1){\n this.selectedCurrency = this.currencies[i].Code\n }\n }\n \n getCurrency(CurrencyId){\n return this.currencies.findIndex(x=>x.Id == CurrencyId)>-1?(this.lang=='ar-EG'? this.currencies.find(x=>x.Id == CurrencyId).NameAr:this.currencies.find(x=>x.Id == CurrencyId).NameEn):\"\"\n }\n getEmployee(EmployeeId){\n return ''// this.lang=='ar-EG'? this.mainAccounts.find(x=>x.Id == EmployeeId).NameAr:this.mainAccounts.find(x=>x.Id == accountId).NameEn\n }\n getPlace(PlaceId){\n return \"\" //this.lang=='ar-EG'? this..find(x=>x.Id == PlaceId).NameAr:this.mainAccounts.find(x=>x.Id == accountId).NameEn\n }\n SearchKey = ''\n AddEnabled: boolean = true;\n dateSearch: boolean = true;\n searchDateRange(): void {\n this.tableEngine.filterDataByDateRange(this.SearchFrom,this.SearchTo,this.SearchKey==''?'Date':this.SearchKey);\n console.log(\"datefrom header\",this.SearchFrom);\n }\n searchUsingKeys(): void {\n this.tableEngine.filterData();\n }\n \n deleteSelected(): void {\n this.tableEngine.showDelModal('delMulti');\n }\n getRolesType(Type){\n if(Type == 0){\n return 'All';\n }\n else if(Type == 1){\n return 'Specific Employee';\n }\n else if(Type == 2){\n return 'Specific Job Role';\n }\n else if(Type == 3){\n return 'Specific Branch';\n }\n else{\n return;\n }\n }\n \n }\n ","\n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n {{\"PurchaseOrderShowResultsFrom\"|translate}}\n
    \n \n
    \n {{\"PurchaseOrderShowResultsTo\"|translate}}\n
    \n \n
    \n
    \n
    \n
    \n
    \n  \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n \n \n \n \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n \n \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n \n \n
    \n \n \n \n
    \n
    \n \n
    \n \n \n
    \n \n \n \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n \n {{\"Select Currency\" | translate}}\n {{lang==='ar-EG'?item.NameAr:item.NameEn}}\n \n
    \n \n \n \n
    \n
    \n \n \n
    \n \n
    \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n
    \n
    \n \n
    \n
    \n\n
    \n
    \n \n
    \n \n
    \n\n
    \n\n
    \n
    \n
    \n  \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n tableEngine.deletionList.length === tableEngine.ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n\n
    \n
    \n
    \n
    \n \n \n \n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n \n \n \n {{\"Name\" | translate}}\n \n \n \n \n {{\"Type\" | translate}}\n \n\n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • \n {{item}}
  • \n
    \n
    \n
    \n\n
    \n
    \n \n \n
    \n
    {{obj.Name}}{{'Account Banck Name'|translate}}{{'Treasury'|translate}}\n \n \n \n \n \n
    \n\n
    \n
    \n \n
    \n\n \n \n \n \n
    \n
    \n
    \n\n\n
    \n
    \n\n
    \n
    \n
    \n\n
    \n\n
     
    \n\n\n
     
    \n\n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","export class CreditTreasuryAndBankRolesBranchesModel{\r\n Id?: number;\r\n TreasuryAndBankAccountId?: number;\r\n BranchId?: number;\r\n constructor(item ?: CreditTreasuryAndBankRolesBranchesModel){\r\n item =item ? item : {};\r\n this.Id = item .Id ? item.Id : 0;\r\n this.BranchId = item.BranchId? item.BranchId: 0;\r\n this.TreasuryAndBankAccountId = item.TreasuryAndBankAccountId ? item.TreasuryAndBankAccountId : 0;\r\n }\r\n}","export class CreditTreasuryAndBankRolesEmployeesModel{\r\n Id?: number;\r\n TreasuryAndBankAccountId?: number;\r\n EmployeeId?: number;\r\n constructor(item?:CreditTreasuryAndBankRolesEmployeesModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.TreasuryAndBankAccountId = item.TreasuryAndBankAccountId ? item.TreasuryAndBankAccountId : 0;\r\n this.EmployeeId = item.EmployeeId ? item.EmployeeId : 0;\r\n }\r\n}","export class CreditTreasuryAndBankRolesFunctionalRolesModel{\r\n Id?: number;\r\n TreasuryAndBankAccountId?: number;\r\n RoleId?: number;\r\n constructor(item?:CreditTreasuryAndBankRolesFunctionalRolesModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.TreasuryAndBankAccountId = item.TreasuryAndBankAccountId ? item.TreasuryAndBankAccountId : 0;\r\n this.RoleId = item.RoleId ? item.RoleId : 0;\r\n }\r\n}","export class DepositTreasuryAndBankRolesBranchesModel{\r\n Id?: number;\r\n TreasuryAndBankAccountId?: number;\r\n BranchId?: number;\r\n constructor(item ?: DepositTreasuryAndBankRolesBranchesModel){\r\n item =item ? item : {};\r\n this.Id = item .Id ? item.Id : 0;\r\n this.BranchId = item.BranchId? item.BranchId: 0;\r\n this.TreasuryAndBankAccountId = item.TreasuryAndBankAccountId ? item.TreasuryAndBankAccountId : 0;\r\n }\r\n}","export class DepositTreasuryAndBankRolesEmployeesModel{\r\n Id?: number;\r\n TreasuryAndBankAccountId?: number;\r\n EmployeeId?: number;\r\n constructor(item?:DepositTreasuryAndBankRolesEmployeesModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.TreasuryAndBankAccountId = item.TreasuryAndBankAccountId ? item.TreasuryAndBankAccountId : 0;\r\n this.EmployeeId = item.EmployeeId ? item.EmployeeId : 0;\r\n }\r\n}","export class DepositTreasuryAndBankRolesFunctionalRolesModel{\r\n Id?: number;\r\n TreasuryAndBankAccountId?: number;\r\n RoleId?: number;\r\n constructor(item?:DepositTreasuryAndBankRolesFunctionalRolesModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.TreasuryAndBankAccountId = item.TreasuryAndBankAccountId ? item.TreasuryAndBankAccountId : 0;\r\n this.RoleId = item.RoleId ? item.RoleId : 0;\r\n }\r\n}","import { CreditTreasuryAndBankRolesBranchesModel } from './credit-treasury-and-bank-roles-branches-model';\r\nimport { CreditTreasuryAndBankRolesEmployeesModel } from './credit-treasury-and-bank-roles-employees';\r\nimport { CreditTreasuryAndBankRolesFunctionalRolesModel } from './credit-treasury-and-bank-roles-functional-roles-model';\r\nimport { DepositTreasuryAndBankRolesBranchesModel } from './deposit-treasury-and-bank-roles-branches-model';\r\nimport { DepositTreasuryAndBankRolesEmployeesModel } from './deposit-treasury-and-bank-roles-employees-model';\r\nimport { DepositTreasuryAndBankRolesFunctionalRolesModel } from './deposit-treasury-and-bank-roles-functional-roles-model';\r\nexport class TreasuryAndBankAccountsModel{\r\n Id?: number;\r\n Type ?: number;\r\n Status ?: boolean;\r\n Name ?: string;\r\n Description ?: string;\r\n AccountName ?: string;\r\n AccountNumber ?: string;\r\n CurrencyId ?: number;\r\n DepositRolesType ?: number;\r\n CreditRolesType ?: number;\r\n DepositTreasuryAndBankRolesBranchesList ?:DepositTreasuryAndBankRolesBranchesModel[];\r\n DepositTreasuryAndBankRolesEmployeesList ?:DepositTreasuryAndBankRolesEmployeesModel[];\r\n DepositTreasuryAndBankRolesFunctionalRolesList?:DepositTreasuryAndBankRolesFunctionalRolesModel[];\r\n CreditTreasuryAndBankRolesBranchesList ?:CreditTreasuryAndBankRolesBranchesModel[];\r\n CreditTreasuryAndBankRolesEmployeesList ?:CreditTreasuryAndBankRolesEmployeesModel[];\r\n CreditTreasuryAndBankRolesFunctionalRolesList ?:CreditTreasuryAndBankRolesFunctionalRolesModel[];\r\n SelectedDepositTreasuryAndBankRolesBranchesList ?:any[];\r\n SelectedDepositTreasuryAndBankRolesEmployeesList ?:any[];\r\n SelectedDepositTreasuryAndBankRolesFunctionalRolesList?:any[];\r\n SelectedCreditTreasuryAndBankRolesBranchesList ?:any[];\r\n SelectedCreditTreasuryAndBankRolesEmployeesList ?:any[];\r\n SelectedCreditTreasuryAndBankRolesFunctionalRolesList ?:any[];\r\n constructor(item ?: TreasuryAndBankAccountsModel){\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.Type = item.Type ? item.Type : 0;\r\n this.Status = item.Status ? item.Status : true;\r\n this.Name = item.Name ? item.Name : '';\r\n this.Description = item.Description?item.Description:'';\r\n this.AccountName = item.AccountName?item.AccountName:'';\r\n this.AccountNumber = item.AccountNumber?item.AccountNumber:'';\r\n this.CurrencyId = item.CurrencyId ? item.CurrencyId : 0;\r\n this.DepositRolesType = item.DepositRolesType?item.DepositRolesType:0;\r\n this.CreditRolesType = item.CreditRolesType ? item.CreditRolesType : 0;\r\n this.DepositTreasuryAndBankRolesBranchesList = item.DepositTreasuryAndBankRolesBranchesList?item.DepositTreasuryAndBankRolesBranchesList:[];\r\n this.DepositTreasuryAndBankRolesEmployeesList = item.DepositTreasuryAndBankRolesEmployeesList?item.DepositTreasuryAndBankRolesEmployeesList:[];\r\n this.DepositTreasuryAndBankRolesFunctionalRolesList = item.DepositTreasuryAndBankRolesFunctionalRolesList ? item.DepositTreasuryAndBankRolesFunctionalRolesList : [];\r\n this.CreditTreasuryAndBankRolesBranchesList = item.CreditTreasuryAndBankRolesBranchesList?item.CreditTreasuryAndBankRolesBranchesList:[];\r\n this.CreditTreasuryAndBankRolesEmployeesList = item.CreditTreasuryAndBankRolesEmployeesList?item.CreditTreasuryAndBankRolesEmployeesList:[];\r\n this.CreditTreasuryAndBankRolesFunctionalRolesList = item.CreditTreasuryAndBankRolesFunctionalRolesList ? item.CreditTreasuryAndBankRolesFunctionalRolesList : [];\r\n this.SelectedDepositTreasuryAndBankRolesBranchesList = item.SelectedDepositTreasuryAndBankRolesBranchesList ? item.SelectedDepositTreasuryAndBankRolesBranchesList : [];\r\n this.SelectedDepositTreasuryAndBankRolesEmployeesList = item.SelectedDepositTreasuryAndBankRolesEmployeesList ? item.SelectedDepositTreasuryAndBankRolesEmployeesList : [];\r\n this.SelectedDepositTreasuryAndBankRolesFunctionalRolesList = item.SelectedDepositTreasuryAndBankRolesFunctionalRolesList ? item.SelectedDepositTreasuryAndBankRolesFunctionalRolesList : [];\r\n this.SelectedCreditTreasuryAndBankRolesBranchesList = item.SelectedCreditTreasuryAndBankRolesBranchesList ? item.SelectedCreditTreasuryAndBankRolesBranchesList : [];\r\n this.SelectedCreditTreasuryAndBankRolesEmployeesList = item.SelectedCreditTreasuryAndBankRolesEmployeesList ? item.SelectedCreditTreasuryAndBankRolesEmployeesList : [];\r\n this.SelectedCreditTreasuryAndBankRolesFunctionalRolesList = item.SelectedCreditTreasuryAndBankRolesFunctionalRolesList ? item.SelectedCreditTreasuryAndBankRolesFunctionalRolesList : [];\r\n \r\n }\r\n}","import { environment } from './../../../../../../environments/environment';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { TreasuryAndBankAccountsModel } from './model/treasury-and-bank-accounts-model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TreasuryAndBankAccountsService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}TreasuryAndBankAccounts/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n GetAllTreasury(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}TreasuryAndBankAccounts/GetAllTreasury`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n GetAllBankAccounts(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}TreasuryAndBankAccounts/GetAllBankAccounts`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}TreasuryAndBankAccounts/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: TreasuryAndBankAccountsModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}TreasuryAndBankAccounts/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: TreasuryAndBankAccountsModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}TreasuryAndBankAccounts/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: TreasuryAndBankAccountsModel): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}TreasuryAndBankAccounts/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: TreasuryAndBankAccountsModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}TreasuryAndBankAccounts/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { DailyrestrictionsModel } from './../dailyrestrictions/DailyrestrictionsModel';\nimport { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { DailyrestrictionsService } from '../dailyrestrictions/DailyrestrictionsService';\nimport html2canvas from 'html2canvas';\nimport jspdf from 'jspdf';\nimport { JournalFileModel } from '../dailyrestrictions/journal-file.model';\n@Component({\n selector: 'view-daily-restriction',\n templateUrl: 'view-daily-restriction.component.html',\n styleUrls: ['view-daily-restriction.component.scss']\n})\nexport class ViewDailyRestrictionComponent implements OnInit {\n declare lang: any;\n Id = 0;\n buttonName='';\n obj : DailyrestrictionsModel=new DailyrestrictionsModel();\n files:JournalFileModel[]=[];\n constructor( \n private DailyrestrictionsService: DailyrestrictionsService,\n private route: ActivatedRoute,\n public router:Router\n ){\n this.lang = localStorage.getItem('theme_lang');\n this.Id = + route.snapshot.paramMap.get('Id');\n \n }\n ngOnInit(): void {\n this.DailyrestrictionsService.getById(this.Id)\n .subscribe(result => {\n this.obj = result;\n this.files = this.obj.Files;\n })\n }\n openForExport = false;\n exportTable(){\n debugger;\n this.openForExport = true;\n var data = document.getElementById('contentToConvert');\n data.style.display = 'inline-block';\n html2canvas(data,{}).then(canvas => {\n var imgWidth = 208;\n var pageHeight = 295;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n var heightLeft = imgHeight;\n const contentDataURL = canvas.toDataURL('image/png')\n let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF\n var position = 0;\n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n pdf.save('new-file.pdf'); // Generated PDF\n data.style.display = 'block';\n\n // data.style.display = 'none';\n \n });\n }\n print(){\n let printContents, popupWin;\n printContents = document.getElementById('contentToConvert').innerHTML;\n popupWin = window.open('', '_blank', 'top=0,left=0,height=100%,width=auto');\n popupWin.document.open();\n window.print();\n // popupWin.document.write(`\n // \n // \n // \n // \n // ${printContents}\n // `\n // );\n // popupWin.document.close();\n\n // debugger;\n // this.openForExport = true;\n // var data = document.getElementById('contentToConvert');\n // data.style.display = 'inline-block';\n // html2canvas(data,{}).then(canvas => {\n // var imgWidth = 208;\n // var pageHeight = 295;\n // var imgHeight = canvas.height * imgWidth / canvas.width;\n // var heightLeft = imgHeight;\n // const contentDataURL = canvas.toDataURL('image/png')\n // let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF\n // var position = 0;\n // pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n // pdf.printHeaderRow();\n // // pdf.save('new-file.pdf'); \n // data.style.display = 'block';\n \n // // data.style.display = 'none';\n \n // });\n }\n}\n","
    \n
    \n
    \n {{'Edit' | translate}}{{\" \"}}\n {{\" \"}}\n {{\" \"}}\n {{\" \"}}\n \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n\n
    \n
    \n
    \n
    \n
    \n

    {{'Daily entry'|translate}}#{{obj.Code}}

    \n
    {{'Date'|translate}}:{{obj.Date|date:'dd/MM/yyyy'}}
    \n
    {{'Description'|translate}}:{{obj.Description}}
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{'Account'|translate}}{{'Description'|translate}}{{'Debit'|translate}}{{'Credit'|translate}}
    {{item.AccountNumber}}{{lang==='ar-EG'?item.AccountNameAr:item.AccountNameEn}}{{item.Description}}{{item.Debit}}{{item.Credit}}
    {{'Total'|translate}}{{obj.Totaldebit}}{{obj.Totalcredit}}
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n\n
     
    \n\n\n
     
    \n\n
    \n
    \n\n
    \n \n
    \n \n \n \n \n \n \n \n \n \n \n
    #{{i+1}}{{\"Download\"|translate}}
    \n
    \n\n
    ","export class DataFilterer{\r\n constructor(){\r\n //console.log('data presenter loaded');\r\n\r\n }\r\n OnInit(){\r\n //console.log('data presenter used');\r\n }\r\n filterData(searchTerm:any, searchKeys:any[], ogData:any[]){\r\n let objectKeys : any [] = [];\r\n let result : any [] = [];\r\n for (let index = 0; index < searchKeys.length; index++) {\r\n objectKeys.push(searchKeys[index] as keyof typeof ogData[0]);\r\n // console.log(objectKeys[index]);\r\n \r\n }\r\n //console.log(objectKeys);\r\n for (let dataIndex = 0; dataIndex < ogData.length; dataIndex++) {\r\n \r\n for (let keyIndex = 0; keyIndex < objectKeys.length; keyIndex++) {\r\n \r\n if (result.includes(ogData[dataIndex]))\r\n {\r\n //console.log(ogData[dataIndex].NameAr + \" is a duplicate. Ignored.\");\r\n break;\r\n }\r\n else\r\n {\r\n // console.log(\"TEST1\");\r\n // console.log(ogData[dataIndex]);\r\n // console.log(objectKeys[keyIndex]);\r\n // console.log(ogData[dataIndex][objectKeys[keyIndex]]);\r\n // console.log(ogData[dataIndex][objectKeys[keyIndex]].toString().toLowerCase());\r\n if (ogData[dataIndex][objectKeys[keyIndex]] && ogData[dataIndex][objectKeys[keyIndex]]?.toString().toLowerCase().includes(searchTerm.toString().toLowerCase()))\r\n {\r\n result.push(ogData[dataIndex])\r\n }\r\n }\r\n }\r\n }\r\n //console.log(result);\r\n return result;\r\n }\r\n\r\n filterByDateRange(From:Date, To:Date, dateKeyName:string, ogData:any[]){\r\n let result : any [] = [...ogData];\r\n let key = dateKeyName as keyof typeof ogData[0]\r\n let fromDate = new Date(From);\r\n let toDate = new Date(To);\r\n\r\n //console.log(\"from\",fromDate);\r\n // console.log(\"to\",toDate.getTime());\r\n //console.log(ogData[0][key]);\r\n\r\n \r\n \r\n result = result.filter((object: any) => {\r\n \r\n return (new Date(object[key])).getTime() >= fromDate.getTime() &&\r\n (new Date(object[key])).getTime() <= toDate.getTime();\r\n });\r\n return result;\r\n }\r\n}","export class DataPaginator{\r\n constructor(){\r\n //console.log('data presenter loaded');\r\n\r\n }\r\n OnInit(){\r\n //console.log('data presenter used');\r\n }\r\n paginateData(currentPage:any, itemsperPage:any, ogData:any[]):any[]{\r\n let result: any[] = [...ogData];\r\n return result.slice((currentPage-1)*(itemsperPage), (itemsperPage*currentPage));\r\n }\r\n}","export class DataSorter {\r\n constructor() {\r\n //console.log('data presenter loaded');\r\n\r\n }\r\n OnInit() {\r\n //console.log('data presenter used');\r\n }\r\n sortData(sortKey: any, ogData: any[]):any[]{\r\n //console.log(sortKey);\r\n \r\n let result: any[] = [...ogData];\r\n let objKey = sortKey as keyof typeof ogData[0]\r\n result = result.sort((n1, n2) => {\r\n if (n1[sortKey] > n2[sortKey]) {\r\n return 1;\r\n }\r\n if (n1[sortKey] < n2[sortKey]) {\r\n return -1;\r\n }\r\n return 0;\r\n });\r\n //console.log(\"sorting by: \" + sortKey);\r\n //console.log(result.map(item => item.Id));\r\n \r\n //console.log(sortKey);\r\n \r\n //console.log(result.map(x=>x[sortKey]));\r\n \r\n return result;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { CityModel } from './citymodel';\r\nimport { environment } from 'src/environments/environment'\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CityServes {\r\n CompanyId:number =+ localStorage.getItem(\"CompanyId\");\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n constructor(private http: HttpClient) {\r\n\r\n }\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}City/GetAll/${this.CompanyId}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n\r\n \r\n postData(payload: CityModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}City/Insert/${this.CompanyId}`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n getById(id:number): Observable {\r\n \r\n // debugger;\r\n return this.http\r\n .get(`${this.baseUrl}City/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: CityModel): Observable {\r\n \r\n debugger;\r\n return this.http\r\n .post(`${this.baseUrl}City/Insert/${this.CompanyId}`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n update(payload: CityModel): Observable {\r\n debugger;\r\n return this.http\r\n .post(`${this.baseUrl}City/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n delete(id: number): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}City/Delete/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n deleteList(payload: CityModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}City/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { CountryModel } from './countrymodel';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CountryServes {\r\n CompanyId:number =+ localStorage.getItem(\"CompanyId\");\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n constructor(private http: HttpClient) {\r\n\r\n }\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Country/GetAll/${this.CompanyId}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n\r\n \r\n postData(payload: CountryModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}Country/Insert/${this.CompanyId}`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n getById(id:number): Observable {\r\n \r\n // debugger;\r\n return this.http\r\n .get(`${this.baseUrl}Country/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: CountryModel): Observable {\r\n \r\n debugger;\r\n return this.http\r\n .post(`${this.baseUrl}Country/Insert/${this.CompanyId}`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n update(payload: CountryModel): Observable {\r\n debugger;\r\n return this.http\r\n .post(`${this.baseUrl}Country/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n delete(id: number): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}Country/Delete/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n deleteList(payload: CountryModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}Country/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n}\r\n","export class CountryModel{\r\n Id?: number;\r\n NameAr?: string;\r\n NameEn?: string;\r\n Code?: string;\r\n constructor(item?: CountryModel) {\r\n item = item ? item : {};\r\n this.Id = item.Id ? item.Id : 0;\r\n this.NameAr = item.NameAr ? item.NameAr : '';\r\n this.NameEn = item.NameEn ? item.NameEn : '';\r\n this.Code = item.Code ? item.Code : '';\r\n }\r\n}","import { Component } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { from, of } from 'rxjs';\r\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\r\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { DataFilterer } from 'src/app/views/app/aio/shared/DataFilterer';\r\nimport { DataSorter } from 'src/app/views/app/aio/shared/DataSorter';\r\nimport { DataPaginator } from 'src/app/views/app/aio/shared/DataPaginator';\r\n\r\n@Component({\r\n selector: 'table-engine',\r\n template: ''\r\n})\r\nexport class TableEngine{\r\n ogData: any [] = [];\r\n modelService : any = [];\r\n declare modelObject : any;\r\n searchableKeys : any [] = [];\r\n sortableKeys : any [] = [];\r\n declare mainForm: FormGroup;\r\n declare translationName: any;\r\n \r\n constructor(private translate: TranslateService, private notifications: NotificationsService ){\r\n }\r\n \r\n OnInit(){\r\n //for testing purposes\r\n }\r\n \r\n loadTableEngine(ogData, modelService, modelObject, searchableKeys, sortableKeys, mainForm, translationName, \r\n itemOrder, sideModalRef, delModal, smallModal, lang){\r\n this.ogData = ogData;\r\n this.modelService = modelService;\r\n this.modelObject = modelObject;\r\n this.searchableKeys = searchableKeys;\r\n this.sortableKeys = sortableKeys;\r\n this.mainForm = mainForm;\r\n this.translationName = translationName;\r\n this.itemOrder = itemOrder;\r\n this.sideModalRef = sideModalRef;\r\n this.delModal = delModal;\r\n this.smallModal = smallModal;\r\n this.lang = lang;\r\n }\r\n\r\n lang: string;\r\n currentFormMode: string = '';\r\n currentAction: string = '';\r\n \r\n SearchTerm: any = '';\r\n\r\n filteredData: any [] = [...this.ogData];\r\n sortedData = [...this.filteredData];\r\n paginatedData = [...this.filteredData];\r\n lastId: number = this.ogData.length + 1;\r\n \r\n SelectAllBox: any = false;\r\n \r\n itemsPerPage = 10;\r\n itemOptionsPerPage = [5, 10, 20];\r\n selected: any [] = [];\r\n selectAllState = '';\r\n declare itemOrder: any;\r\n orderAsc: boolean = true;\r\n \r\n currentPage = 1;\r\n savedPage = 0;\r\n \r\n dataFilterer = new DataFilterer();\r\n dataSorter = new DataSorter();\r\n dataPaginator = new DataPaginator();\r\n \r\n loadData(id?:number) {\r\n debugger;\r\n this.currentAction = 'loading';\r\n this.modelService.getAll().subscribe(\r\n data => {\r\n this.ogData = data;\r\n this.sortData();\r\n this.loadSearch();\r\n this.currentAction = '';\r\n console.log('this.ogData',this.ogData);\r\n \r\n }\r\n )\r\n \r\n }\r\n loadDataAndReverse(id?:number) {\r\n debugger;\r\n this.currentAction = 'loading';\r\n this.modelService.getAll().subscribe(\r\n data => {\r\n this.ogData = data;\r\n this.sortData();\r\n this.reverseSortData() ;\r\n this.loadSearch();\r\n this.currentAction = '';\r\n console.log('this.ogData',this.ogData);\r\n \r\n }\r\n )\r\n \r\n }\r\n \r\n sortData() {\r\n debugger;\r\n\r\n this.sortedData = this.dataSorter.sortData(this.itemOrder.property, this.ogData);\r\n this.filterData();\r\n }\r\n \r\n reverseSortData() {\r\n this.savedPage = this.currentPage;\r\n this.sortedData = this.sortedData.slice().reverse();\r\n this.filterData();\r\n }\r\n \r\n filterDataByDateRange(From:Date, To:Date, dateKeyName:string){\r\n console.log(\"datefrom tableengine\", From)\r\n console.log(this.paginatedData);\r\n \r\n if(From || To){\r\n if(From && !To){\r\n this.filteredData = this.dataFilterer.filterByDateRange(From, new Date(8640000000000000), dateKeyName, this.ogData)\r\n }\r\n else if (!From && To){\r\n this.filteredData = this.dataFilterer.filterByDateRange(new Date(-8640000000000000), To, dateKeyName, this.ogData)\r\n }\r\n else if (From && To){\r\n this.filteredData = this.dataFilterer.filterByDateRange(From, To, dateKeyName, this.ogData)\r\n }\r\n\r\n if (this.savedPage === 0) {\r\n this.paginateData(this.itemsPerPage, 1);\r\n }\r\n else {\r\n this.paginateData(this.itemsPerPage,\r\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\r\n this.savedPage :\r\n Math.ceil((this.filteredData.length / this.itemsPerPage)));\r\n \r\n console.log(this.paginatedData);\r\n }\r\n this.savedPage = 0;\r\n }\r\n else{\r\n this.filterData();\r\n }\r\n }\r\n\r\n DateSearch = false;\r\n filterData() {\r\n debugger;\r\n\r\n this.filteredData = this.dataFilterer.filterData(this.SearchTerm, this.searchableKeys, this.sortedData)\r\n if (this.savedPage === 0) {\r\n this.paginateData(this.itemsPerPage, 1);\r\n }\r\n else {\r\n this.paginateData(this.itemsPerPage,\r\n Math.ceil((this.filteredData.length / this.itemsPerPage)) >= this.savedPage ?\r\n this.savedPage :\r\n Math.ceil((this.filteredData.length / this.itemsPerPage))\r\n );\r\n }\r\n this.savedPage = 0;\r\n }\r\n \r\n paginateData(newItemsPerPage: number, newCurrentPage: number) {\r\n debugger;\r\n this.itemsPerPage = newItemsPerPage;\r\n this.currentPage = newCurrentPage;\r\n this.paginatedData = this.filteredData.slice((newCurrentPage - 1) * (newItemsPerPage), (newItemsPerPage * newCurrentPage));\r\n }\r\n \r\n changeSort(newSort: any) {\r\n console.log(newSort.label);\r\n \r\n if (this.itemOrder.label === newSort.label) {\r\n this.orderAsc = !this.orderAsc;\r\n const oldPage = this.currentPage;\r\n this.reverseSortData()\r\n this.currentPage = oldPage;\r\n console.log(\"itemOrder.label === newSort.label\");\r\n }\r\n else {\r\n this.orderAsc = true;\r\n this.itemOrder = newSort;\r\n this.sortData();\r\n console.log(\"itemOrder.label != newSort.label\");\r\n \r\n }\r\n }\r\n \r\n getSort(label: any) {\r\n return this.sortableKeys.find(i => i.label === label);\r\n }\r\n \r\n changePage(event: PageChangedEvent): void {\r\n this.currentPage = event.page;\r\n this.paginateData(this.itemsPerPage, this.currentPage);\r\n }\r\n \r\n changeFilter() {\r\n this.deletionList = [];\r\n this.selected = [];\r\n this.selectAllState = '';\r\n this.filterData();\r\n }\r\n \r\n selectAll($event): void {\r\n console.log(this.selected.length);\r\n \r\n if ($event.target.checked) {\r\n this.selected = [...this.filteredData];\r\n } else {\r\n this.selected = [];\r\n }\r\n this.setSelectAllState();\r\n }\r\n \r\n setSelectAllState(): void {\r\n if (this.selected.length >= this.filteredData.length) {\r\n this.selectAllState = 'checked';\r\n } else if (this.selected.length !== 0) {\r\n this.selectAllState = 'indeterminate';\r\n } else {\r\n this.selectAllState = '';\r\n }\r\n }\r\n \r\n isSelected(p: any): boolean {\r\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\r\n }\r\n \r\n onSelect(item: any): void {\r\n if (this.isSelected(item)) {\r\n this.selected = this.selected.filter(x => x.Id !== item.Id);\r\n } else {\r\n this.selected.push(item);\r\n }\r\n this.setSelectAllState();\r\n }\r\n \r\n findByCode(list: any, code: any): any {\r\n return list.find(x => x.Code === code)\r\n }\r\n\r\n declare sideModalRef: any;\r\n declare delModal: any;\r\n declare smallModal: any;\r\n\r\n showAddNewModalRef( func , formBuilder ): void { //pass \"createform()\" here\r\n this.currentFormMode = 'Add'\r\n this.modelObject = {};\r\n this.mainForm = func;\r\n this.mainForm = func(this.modelObject, formBuilder);\r\n if(this.sideModalRef === undefined){\r\n if(this.smallModal != undefined){\r\n this.smallModal.show();\r\n }\r\n }\r\n else{\r\n this.sideModalRef.show();\r\n }\r\n }\r\n showAddNewWithModelObjectModalRef( func , formBuilder,modelObject ): void { //pass \"createform()\" here\r\n debugger;\r\n this.currentFormMode = 'Add'\r\n this.modelObject = modelObject;\r\n this.mainForm = func;\r\n this.mainForm = func(this.modelObject, formBuilder);\r\n if(this.sideModalRef === undefined){\r\n if(this.smallModal != undefined){\r\n this.smallModal.show();\r\n }\r\n }\r\n else{\r\n this.sideModalRef.show();\r\n }\r\n }\r\n \r\n showEditModalRef(Id: any, func, formBuilder): void {\r\n this.currentFormMode = 'Edit'\r\n this.modelObject = this.ogData.find(i => i.Id === Id);\r\n // of(this.modelObject).subscribe(data => {\r\n // this.modelObject = data;\r\n // })\r\n this.mainForm = func(this.modelObject, formBuilder);\r\n if(this.sideModalRef === undefined){\r\n if(this.smallModal != undefined){\r\n this.smallModal.show();\r\n }\r\n }\r\n else{\r\n this.sideModalRef.show();\r\n }\r\n }\r\n \r\n showInfoModalRef(Id: any, func, formBuilder): void {\r\n this.currentFormMode = 'Info'\r\n this.modelObject = this.ogData.find(i => i.Id === Id);\r\n // of(this.modelObject).subscribe(data => {\r\n // this.modelObject = data;\r\n // })\r\n //console.log(\"model object from info engine\", this.modelObject);\r\n \r\n this.mainForm = func(this.modelObject, formBuilder);\r\n if(this.sideModalRef === undefined){\r\n if(this.smallModal != undefined){\r\n this.smallModal.show();\r\n }\r\n }\r\n else{\r\n this.sideModalRef.show();\r\n }\r\n }\r\n \r\n deletionList: any[] = [];\r\n showDelModal(Id: any) {\r\n if (Id === 'delMulti') {\r\n this.deletionList = [...this.selected]\r\n this.delModal.show();\r\n }\r\n else {\r\n this.currentFormMode = 'Del'\r\n this.modelObject = this.ogData.find(i => i.Id === Id);\r\n this.deletionList = [this.ogData.find(i => i.Id === Id)];\r\n this.delModal.show();\r\n }\r\n }\r\n \r\n finalizeDeletion(){\r\n if (this.deletionList.length === 1) {\r\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\r\n this.translate.instant(\"One\" + this.translationName));\r\n }\r\n else if (this.deletionList.length === 2) {\r\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\r\n this.translate.instant(\"Two\" + this.translationName + \"s\"));\r\n }\r\n else if (this.deletionList.length > 2 && this.deletionList.length < 11) {\r\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\r\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"RowsPlur\"));\r\n }\r\n else {\r\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\r\n this.deletionList.length + \" \" + this.translate.instant(this.translationName + \"Rows\"));\r\n }\r\n\r\n this.deletionList = [];\r\n this.selected = [];\r\n \r\n this.setSelectAllState();\r\n if (this.selectAllState === '') {\r\n this.SelectAllBox = false;\r\n }\r\n this.delModal.hide();\r\n }\r\n \r\n toastSuccess(toastHeader: string, toastBody: string): void {\r\n this.notifications.create(toastHeader, toastBody,\r\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\r\n }\r\n toastError(toastHeader: string, toastBody: string): void {\r\n this.notifications.create(toastHeader, toastBody,\r\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\r\n }\r\n deleteMultiTaxTypes() {\r\n this.loadData();\r\n this.delModal.hide();\r\n }\r\n \r\n loadAllData() {\r\n this.modelService.getAll().subscribe(\r\n data => {\r\n this.ogData = data;\r\n this.loadSearch();\r\n }\r\n )\r\n }\r\n \r\n loadSearch() {\r\n const prevSearch = this.SearchTerm;\r\n this.SearchTerm = '';\r\n setTimeout(() => {\r\n this.SearchTerm = prevSearch;\r\n }, 1);\r\n }\r\n}","export class CompanyModel{\r\n Id?:number;\r\n NameEn?:string;\r\n NameAr?:string;\r\n Api?:string;\r\n CommercialRegister?:string;\r\n TaxCard?:string;\r\n AuthorizedPerson?:string;\r\n Email?:string;\r\n Landline?:string;\r\n Phone?:string;\r\n Notes?:string;\r\n Token?:string;\r\n constructor(obj?:CompanyModel){\r\n obj = obj? obj:{};\r\n this.Id = obj.Id? obj.Id:0;\r\n this.NameEn = obj.NameEn? obj.NameEn:'';\r\n this.NameAr = obj.NameAr? obj.NameAr:'';\r\n this.Api = obj.Api? obj.Api:'';\r\n this.CommercialRegister = obj.CommercialRegister? obj.CommercialRegister:'';\r\n this.TaxCard = obj.TaxCard? obj.TaxCard:'';\r\n this.AuthorizedPerson = obj.AuthorizedPerson? obj.AuthorizedPerson:'';\r\n this.Email = obj.Email? obj.Email:'';\r\n this.Landline = obj.Landline? obj.Landline:'';\r\n this.Phone = obj.Phone? obj.Phone:'';\r\n this.Notes = obj.Notes? obj.Notes:'';\r\n this.Token = obj.Token? obj.Token:'';\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { CompanyModel } from \"src/app/views/companies/CompanyModel\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CompanyService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Company/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}Company/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: CompanyModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}Company/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: CompanyModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}Company/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: CompanyModel): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}Company/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n \r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { AfterViewInit, Component, OnInit, Renderer2, SimpleChanges, TemplateRef, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { BsModalRef, BsModalService, ModalDirective } from 'ngx-bootstrap/modal';\nimport { ModalModule } from 'ngx-bootstrap/modal';\nimport { Observable, of } from 'rxjs';\nimport { catchError, min } from 'rxjs/operators';\nimport { CompanyModel } from \"src/app/views/companies/CompanyModel\";\nimport { environment } from 'src/environments/environment';\nimport { CompanyService } from 'src/app/views/companies/CompanyService'\nimport { SidePopupComponent } from 'src/app/views/app/aio/shared/side-popup/side-popup.component';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { SearchPipePipe } from 'src/app/pipes/search-pipe.pipe';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslatePipe, TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-companies',\n templateUrl: './companies.component.html',\n styleUrls: ['./companies.component.scss']\n})\nexport class CompaniesComponent {\n lang:string;\n sidepopupOrientation:string;\n constructor(private formBuilder: FormBuilder, private companyService: CompanyService, private renderer: Renderer2\n ,private notifications: NotificationsService, private translate: TranslateService) {\n this.lang = localStorage.getItem('theme_lang');\n this.sidepopupOrientation = this.lang === 'ar-EG'?'right':'left';\n }\n currentFormMode:string = '';\n searchPipe = new SearchPipePipe();\n\n //paginatedData: CompanyModel[] = [];\n currentData: CompanyModel[] = [\n new CompanyModel({Id:0, NameEn:'Company 1', NameAr:'شركة 1', Email:'bompany1@gmail.com', Landline:'12345678901', Phone:'01123456789', Notes:'notes...1'}),\n new CompanyModel({Id:1, NameEn:'Dompany 2', NameAr:'شركة 2', Email:'aompany2@gmail.com', Landline:'22345678901', Phone:'01223456789', Notes:'notes...2\\n....'}),\n new CompanyModel({Id:2, NameEn:'Eompany 3', NameAr:'شركة 3', Email:'company3@gmail.com', Landline:'32345678901', Phone:'01323456789', Notes:'notes...3\\n....\\n....'}),\n new CompanyModel({Id:3, NameEn:'Zompany 3', NameAr:'شركة 4', Email:'sompany4@gmail.com', Landline:'42345678901', Phone:'01423456789', Notes:'notes...4\\n....\\n....'}),\n new CompanyModel({Id:4, NameEn:'Company 3', NameAr:'شركة 5', Email:'jompany5@gmail.com', Landline:'52345678901', Phone:'01523456789', Notes:'notes...5\\n....\\n....'}),\n new CompanyModel({Id:5, NameEn:'Fompany 3', NameAr:'شركة 6', Email:'lompany6@gmail.com', Landline:'62345678901', Phone:'01623456789', Notes:'notes...6\\n....\\n....'}),\n new CompanyModel({Id:6, NameEn:'Company 3', NameAr:'شركة 7', Email:'xompany7@gmail.com', Landline:'72345678901', Phone:'01723456789', Notes:'notes...7\\n....\\n....'}),\n new CompanyModel({Id:7, NameEn:'Wompany 3', NameAr:'شركة 8', Email:'company8@gmail.com', Landline:'82345678901', Phone:'01823456789', Notes:'notes...8\\n....\\n....'}),\n new CompanyModel({Id:8, NameEn:'Wompany 3', NameAr:'شركة 9', Email:'company8@gmail.com', Landline:'82345678901', Phone:'01823456789', Notes:'notes...8\\n....\\n....'}),\n new CompanyModel({Id:9, NameEn:'Wompany 3', NameAr:'شركة 10', Email:'company8@gmail.com', Landline:'82345678901', Phone:'01823456789', Notes:'notes...8\\n....\\n....'}),\n new CompanyModel({Id:10, NameEn:'Wompany 3', NameAr:'شركة 11', Email:'company8@gmail.com', Landline:'82345678901', Phone:'01823456789', Notes:'notes...8\\n....\\n....'}),\n new CompanyModel({Id:11, NameEn:'Wompany 3', NameAr:'شركة 12', Email:'company8@gmail.com', Landline:'82345678901', Phone:'01823456789', Notes:'notes...8\\n....\\n....'}),\n new CompanyModel({Id:12, NameEn:'Wompany 3', NameAr:'شركة 13', Email:'company8@gmail.com', Landline:'82345678901', Phone:'01823456789', Notes:'notes...8\\n....\\n....'}),\n new CompanyModel({Id:13, NameEn:'Wompany 3', NameAr:'شركة 14', Email:'company8@gmail.com', Landline:'82345678901', Phone:'01823456789', Notes:'notes...8\\n....\\n....'}),\n new CompanyModel({Id:14, NameEn:'Wompany 3', NameAr:'شركة 15', Email:'company8@gmail.com', Landline:'82345678901', Phone:'01823456789', Notes:'notes...8\\n....\\n....'}),\n new CompanyModel({Id:15, NameEn:'Wompany 3', NameAr:'شركة 16', Email:'company8@gmail.com', Landline:'82345678901', Phone:'01823456789', Notes:'notes...8\\n....\\n....'}),\n new CompanyModel({Id:16, NameEn:'Wompany 3', NameAr:'شركة 17', Email:'company8@gmail.com', Landline:'82345678901', Phone:'01823456789', Notes:'notes...8\\n....\\n....'}),\n new CompanyModel({Id:17, NameEn:'Wompany 3', NameAr:'شركة 18', Email:'company8@gmail.com', Landline:'82345678901', Phone:'01823456789', Notes:'notes...8\\n....\\n....'}),\n \n new CompanyModel({Id:18, NameEn:'Company 1', NameAr:'شركة 1', Email:'bompany1@gmail.com', Landline:'12345678901', Phone:'01123456789', Notes:'notes...1'}),\n new CompanyModel({Id:19, NameEn:'Dompany 2', NameAr:'شركة 2', Email:'aompany2@gmail.com', Landline:'22345678901', Phone:'01223456789', Notes:'notes...2\\n....'}),\n new CompanyModel({Id:20, NameEn:'Eompany 3', NameAr:'شركة 3', Email:'company3@gmail.com', Landline:'32345678901', Phone:'01323456789', Notes:'notes...3\\n....\\n....'}),\n new CompanyModel({Id:21, NameEn:'Zompany 3', NameAr:'شركة 4', Email:'sompany4@gmail.com', Landline:'42345678901', Phone:'01423456789', Notes:'notes...4\\n....\\n....'}),\n new CompanyModel({Id:22, NameEn:'Company 3', NameAr:'شركة 5', Email:'jompany5@gmail.com', Landline:'52345678901', Phone:'01523456789', Notes:'notes...5\\n....\\n....'}),\n new CompanyModel({Id:23, NameEn:'Fompany 3', NameAr:'شركة 6', Email:'lompany6@gmail.com', Landline:'62345678901', Phone:'01623456789', Notes:'notes...6\\n....\\n....'}),\n new CompanyModel({Id:24, NameEn:'Company 3', NameAr:'شركة 7', Email:'xompany7@gmail.com', Landline:'72345678901', Phone:'01723456789', Notes:'notes...7\\n....\\n....'}),\n new CompanyModel({Id:25, NameEn:'Wompany 3', NameAr:'شركة 8', Email:'company8@gmail.com', Landline:'82345678901', Phone:'01823456789', Notes:'notes...8\\n....\\n....'}),\n new CompanyModel({Id:26, NameEn:'Wompany 3', NameAr:'شركة 9', Email:'company8@gmail.com', Landline:'82345678901', Phone:'01823456789', Notes:'notes...8\\n....\\n....'}),\n new CompanyModel({Id:27, NameEn:'Wompany 3', NameAr:'شركة 10', Email:'company8@gmail.com', Landline:'82345678901', Phone:'01823456789', Notes:'notes...8\\n....\\n....'}),\n new CompanyModel({Id:28, NameEn:'Wompany 3', NameAr:'شركة 11', Email:'company8@gmail.com', Landline:'82345678901', Phone:'01823456789', Notes:'notes...8\\n....\\n....'}),\n new CompanyModel({Id:29, NameEn:'Wompany 3', NameAr:'شركة 12', Email:'company8@gmail.com', Landline:'82345678901', Phone:'01823456789', Notes:'notes...8\\n....\\n....'}),\n new CompanyModel({Id:30, NameEn:'Wompany 3', NameAr:'شركة 13', Email:'company8@gmail.com', Landline:'82345678901', Phone:'01823456789', Notes:'notes...8\\n....\\n....'}),\n new CompanyModel({Id:31, NameEn:'Wompany 3', NameAr:'شركة 14', Email:'company8@gmail.com', Landline:'82345678901', Phone:'01823456789', Notes:'notes...8\\n....\\n....'}),\n new CompanyModel({Id:32, NameEn:'Wompany 3', NameAr:'شركة 15', Email:'company8@gmail.com', Landline:'82345678901', Phone:'01823456789', Notes:'notes...8\\n....\\n....'}),\n new CompanyModel({Id:33, NameEn:'Wompany 3', NameAr:'شركة 16', Email:'company8@gmail.com', Landline:'82345678901', Phone:'01823456789', Notes:'notes...8\\n....\\n....'}),\n new CompanyModel({Id:34, NameEn:'Wompany 3', NameAr:'شركة 17', Email:'company8@gmail.com', Landline:'82345678901', Phone:'01823456789', Notes:'notes...8\\n....\\n....'}),\n new CompanyModel({Id:35, NameEn:'Wompany 3', NameAr:'شركة 18', Email:'company8@gmail.com', Landline:'82345678901', Phone:'01823456789', Notes:'notes...8\\n....\\n....'}),\n \n new CompanyModel({Id:36, NameEn:'Company 1', NameAr:'شركة 1', Email:'bompany1@gmail.com', Landline:'12345678901', Phone:'01123456789', Notes:'notes...1'}),\n new CompanyModel({Id:37, NameEn:'Dompany 2', NameAr:'شركة 2', Email:'aompany2@gmail.com', Landline:'22345678901', Phone:'01223456789', Notes:'notes...2\\n....'}),\n new CompanyModel({Id:38, NameEn:'Eompany 3', NameAr:'شركة 3', Email:'company3@gmail.com', Landline:'32345678901', Phone:'01323456789', Notes:'notes...3\\n....\\n....'}),\n new CompanyModel({Id:39, NameEn:'Zompany 3', NameAr:'شركة 4', Email:'sompany4@gmail.com', Landline:'42345678901', Phone:'01423456789', Notes:'notes...4\\n....\\n....'}),\n new CompanyModel({Id:40, NameEn:'Company 3', NameAr:'شركة 5', Email:'jompany5@gmail.com', Landline:'52345678901', Phone:'01523456789', Notes:'notes...5\\n....\\n....'}),\n new CompanyModel({Id:41, NameEn:'Fompany 3', NameAr:'شركة 6', Email:'lompany6@gmail.com', Landline:'62345678901', Phone:'01623456789', Notes:'notes...6\\n....\\n....'}),\n new CompanyModel({Id:42, NameEn:'Company 3', NameAr:'شركة 7', Email:'xompany7@gmail.com', Landline:'72345678901', Phone:'01723456789', Notes:'notes...7\\n....\\n....'}),\n new CompanyModel({Id:43, NameEn:'Wompany 3', NameAr:'شركة 8', Email:'company8@gmail.com', Landline:'82345678901', Phone:'01823456789', Notes:'notes...8\\n....\\n....'}),\n new CompanyModel({Id:44, NameEn:'Wompany 3', NameAr:'شركة 9', Email:'company8@gmail.com', Landline:'82345678901', Phone:'01823456789', Notes:'notes...8\\n....\\n....'}),\n new CompanyModel({Id:45, NameEn:'Wompany 3', NameAr:'شركة 10', Email:'company8@gmail.com', Landline:'82345678901', Phone:'01823456789', Notes:'notes...8\\n....\\n....'}),\n new CompanyModel({Id:46, NameEn:'Wompany 3', NameAr:'شركة 11', Email:'company8@gmail.com', Landline:'82345678901', Phone:'01823456789', Notes:'notes...8\\n....\\n....'}),\n new CompanyModel({Id:47, NameEn:'Wompany 3', NameAr:'شركة 12', Email:'company8@gmail.com', Landline:'82345678901', Phone:'01823456789', Notes:'notes...8\\n....\\n....'}),\n new CompanyModel({Id:48, NameEn:'Wompany 3', NameAr:'شركة 13', Email:'company8@gmail.com', Landline:'82345678901', Phone:'01823456789', Notes:'notes...8\\n....\\n....'}),\n new CompanyModel({Id:49, NameEn:'Wompany 3', NameAr:'شركة 14', Email:'company8@gmail.com', Landline:'82345678901', Phone:'01823456789', Notes:'notes...8\\n....\\n....'}),\n new CompanyModel({Id:50, NameEn:'Wompany 3', NameAr:'شركة 15', Email:'company8@gmail.com', Landline:'82345678901', Phone:'01823456789', Notes:'notes...8\\n....\\n....'}),\n new CompanyModel({Id:51, NameEn:'Wompany 3', NameAr:'شركة 16', Email:'company8@gmail.com', Landline:'82345678901', Phone:'01823456789', Notes:'notes...8\\n....\\n....'}),\n new CompanyModel({Id:52, NameEn:'Wompany 3', NameAr:'شركة 17', Email:'company8@gmail.com', Landline:'82345678901', Phone:'01823456789', Notes:'notes...8\\n....\\n....'}),\n new CompanyModel({Id:53, NameEn:'Wompany 3', NameAr:'شركة 18', Email:'company8@gmail.com', Landline:'82345678901', Phone:'01823456789', Notes:'notes...8\\n....\\n....'}),\n ];\n ogData = [...this.currentData];\n filteredData = [...this.ogData];\n sortedData = [...this.filteredData];\n paginatedData = [...this.filteredData];\n lastId: number = this.ogData.length+1;\n SelectAllBox:any = false;\n \n itemsPerPage = 10;\n itemOptionsPerPage = [5, 10, 20];\n selected = [];\n selectAllState = '';\n itemOrder = 'Name';\n itemOptionsOrders = ['Name', 'Email', 'Landline'];\n displayOptionsCollapsed = false;\n\n \n endOfTheList = false;\n totalItem = 0;\n totalPage = 0;\n currentPage = 1;\n\n\n\n\n ngOnInit(): void {\n this.loadData();\n //this.loadData(this.itemsPerPage, this.currentPage, this.SearchTerm, this.itemOrder);\n //this.returnList(4, 2, 'Email');\n }\n // loadData(pageSize: number = 10, currentPage: number = 1, search: string = '', orderBy: string = ''): void {\n // this.itemsPerPage = pageSize;\n // this.currentPage = currentPage;\n // this.SearchTerm = search;\n // this.itemOrder = orderBy;\n\n // this.apiService.getProducts(pageSize, currentPage, search, orderBy).subscribe(\n // data => {\n // if (data.status) {\n // //this.isLoading = false;\n // this.paginatedData = data.data.map(x => {\n // return {\n // ...x,\n // //img: x.img.replace('/img/', '/img/products/')\n // };\n // });\n // this.totalItem = data.totalItem;\n // this.totalPage = data.totalPage;\n // this.setSelectAllState();\n // } else {\n // this.endOfTheList = true;\n // }\n // },\n // error => {\n // //this.isLoading = false;\n // }\n //);\n //}\n\n loadData()\n {\n this.sortData();\n }\n sortData(){\n let result = [...this.ogData];\n switch(this.itemOrder)\n {\n case 'Id': {\n result = result.sort((n1,n2) => {\n if (n1.Id > n2.Id) {\n return 1;\n }\n if (n1.Id < n2.Id) {\n return -1;\n }\n return 0;\n });\n break;\n }\n case 'Email': {\n result = result.sort((n1,n2) => {\n if (n1.Email > n2.Email) {\n return 1;\n }\n if (n1.Email < n2.Email) {\n return -1;\n }\n return 0;\n });\n break;\n }\n case 'NameEn': {\n result = result.sort((n1,n2) => {\n if (n1.NameEn > n2.NameEn) {\n return 1;\n }\n if (n1.NameEn < n2.NameEn) {\n return -1;\n }\n return 0;\n });\n break;\n }\n case 'NameAr': {\n result = result.sort((n1,n2) => {\n if (n1.NameAr > n2.NameAr) {\n return 1;\n }\n if (n1.NameAr < n2.NameAr) {\n return -1;\n }\n return 0;\n });\n break;\n }\n case 'Landline': {\n result = result.sort((n1,n2) => {\n if (n1.Landline > n2.Landline) {\n return 1;\n }\n if (n1.Landline < n2.Landline) {\n return -1;\n }\n return 0;\n });\n break;\n }\n }\n this.sortedData = result;\n this.filterData();\n //this.paginateData(1, this.itemsPerPage)\n //this.paginatedData = [...this.sortedData]\n }\n filterData(){\n this.filteredData = this.searchPipe.transform(this.sortedData, this.SearchTerm, 'company');\n //console.log('ogData after filter: '+this.ogData.map(item => item.NameAr));\n // console.log(this.filteredData);\n this.paginateData(this.itemsPerPage, 1);\n }\n paginateData(functionItemsPerPage:number, functionCurrentPage:number){\n //also runs when items per is changed via dropdown list\n this.itemsPerPage = functionItemsPerPage;\n this.currentPage = functionCurrentPage;\n this.paginatedData = this.filteredData.slice((functionCurrentPage-1)*(functionItemsPerPage), (functionItemsPerPage*functionCurrentPage));\n }\n changeSort(newSort:string){\n this.itemOrder = newSort;\n this.currentPage = 1;\n\n //this.loadData();\n this.sortData();\n //this.filterData();\n //this.paginateData(1, this.itemsPerPage);\n }\n changePage(event: PageChangedEvent): void {\n this.currentPage = event.page;\n this.paginateData(this.itemsPerPage, this.currentPage);\n //this.loadData();\n }\n changeFilter() {\n //this.currentPage = 1;\n this.filterData();\n //this.loadData();\n }\n \n \n\n\n // pageChanged(event: any): void {\n // //this.loadData(this.itemsPerPage, event.page, this.SearchTerm, this.itemOrder);\n // }\n // itemsPerPageChange(perPage: number): void {\n // //this.loadData(perPage, 1, this.SearchTerm, this.itemOrder);\n // }\n // changeOrderBy(item: any): void {\n // // this.loadData(this.itemsPerPage, 1, this.SearchTerm, item.value);\n // //this.sortList(item)\n // //console.log(item);\n \n // }\n // searchKeyUp(event): void {\n // //const val = event.target.value.toLowerCase().trim();\n // //this.loadData(this.itemsPerPage, 1, val, this.itemOrder);\n // }\n // onContextMenuClick(action: string, item: CompanyModel): void {\n // //console.log('onContextMenuClick -> action : ', action, ', item.title :', item.title);\n // }\n\n // getItems(): void {\n // of(this.paginatedData).subscribe(data => {\n // this.paginatedData = data;\n // })\n // }\n\n selectAll($event): void {\n \n if ($event.target.checked) {\n this.selected = [...this.paginatedData];\n } else {\n this.selected = [];\n }\n this.setSelectAllState();\n }\n setSelectAllState(): void {\n if (this.selected.length >= this.paginatedData.length) {\n this.selectAllState = 'checked';\n } else {\n this.selectAllState = '';\n }\n //console.log(this.selected);\n }\n isSelected(p: CompanyModel): boolean {\n return this.selected.findIndex(x => x.Id === p.Id) > -1;\n }\n onSelect(item: CompanyModel): void {\n if (this.isSelected(item)) {\n this.selected = this.selected.filter(x => x.Id !== item.Id);\n } else {\n this.selected.push(item);\n }\n this.setSelectAllState();\n console.log(this.selected);\n }\n\n\n\n // ngOnInit(): void {\n // this.loadAllData();\n // }\n\n \n \n \n \n // @ViewChild('addModal') delModal: ModalDirective;\n // @ViewChild('editModal') editModal: ModalDirective;\n // @ViewChild('infoModal') infoModal: ModalDirective;\n\n @ViewChild('companyModalRef', { static: true }) companyModalRef: SidePopupComponent;\n @ViewChild('delModal') delModal: ModalDirective;\n // @ViewChild('addNewModalRef', { static: true }) addNewModalRef: SidePopupComponent;\n // @ViewChild('editModalRef', { static: true }) editModalRef: SidePopupComponent;\n // @ViewChild('infoModalRef', { static: true }) infoModalRef: SidePopupComponent;\n showAddNewModalRef(): void {\n\n this.currentFormMode='Add'\n this.company = new CompanyModel;\n this.CompanyForm = this.createForm();\n //this.addNewModalRef.show();\n this.companyModalRef.show();\n //remove this when API connection is finished\n document.getElementById('ModalRefSubmitButton')?.removeAttribute('disabled');\n }\n showEditModalRef(Id: any): void {\n \n this.currentFormMode='Edit'\n this.company = this.ogData.find(i => i.Id === Id);\n of(this.company).subscribe(data => {\n this.company = data;\n })\n this.CompanyForm = this.createForm();\n //this.editModalRef.show();\n this.companyModalRef.show();\n \n //remove this when API connection is finished\n document.getElementById('ModalRefSubmitButton')?.removeAttribute('disabled');\n }\n showInfoModalRef(Id: any): void {\n this.currentFormMode='Info'\n this.company = this.ogData.find(i => i.Id === Id);\n of(this.company).subscribe(data => {\n this.company = data;\n })\n this.CompanyForm = this.createForm();\n //this.infoModalRef.show();\n this.companyModalRef.show();\n }\n \n deletionList: CompanyModel[] = [];\n showDelModal(Id: any): void {\n\n if(Id >= 0)\n {\n this.currentFormMode='Del'\n this.deletionList = [ this.ogData.find(i => i.Id === Id) ];\n //console.log(this.deletionList);\n //this.infoModalRef.show();\n this.delModal.show();\n }\n else if (Id === 'delMulti')\n {\n this.currentFormMode='MultiDel'\n this.deletionList = [...this.selected]\n // this.selected.push({NameAr:\"testElement\"})\n // console.log(this.deletionList);\n // console.log(this.selected);\n //this.infoModalRef.show();\n this.delModal.show();\n }\n \n //remove this when API connection is finished\n document.getElementById('ModalRefDeleteButton')?.removeAttribute('disabled');\n }\n\n\n SearchTerm: any = '';\n company: CompanyModel = new CompanyModel({});\n CompanyForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n NameEn: new FormControl(),\n NameAr: new FormControl(),\n Api: new FormControl(),\n CommercialRegister: new FormControl(),\n TaxCard: new FormControl(),\n AuthorizedPerson: new FormControl(),\n Email: new FormControl(),\n Landline: new FormControl(),\n Phone: new FormControl(),\n Notes: new FormControl(),\n Token: new FormControl()\n });\n\n // showAddModal(): void {\n // this.company = new CompanyModel;\n // this.CompanyForm = this.createForm();\n // this.addModal.show();\n // console.log(this.paginatedData);\n \n // }\n // hideAddModal(): void {\n // this.addModal.hide();\n // }\n\n // showEditModal(Id: any): void {\n // this.company = this.paginatedData.find(i => i.Id === Id);\n // of(this.company).subscribe(data => {\n // this.company = data;\n // })\n // this.CompanyForm = this.createForm();\n // this.editModal.show();\n // }\n // hideEditModal(): void {\n // this.company = new CompanyModel();\n // this.editModal.hide();\n // }\n\n // showInfoModal(Id: any): void {\n // this.company = this.paginatedData.find(i => i.Id === Id);\n // of(this.company).subscribe(data => {\n // this.company = data;\n // })\n // this.CompanyForm = this.createForm();\n // this.infoModal.show();\n // }\n // hideInfoModal(): void {\n // this.company = new CompanyModel();\n // this.infoModal.hide();\n // }\n\n addCompany() {\n //prevent multiclick submits. enable again after API response.\n document.getElementById('ModalRefSubmitButton')?.setAttribute('disabled','');\n\n this.company = new CompanyModel();\n this.company.Id = this.lastId;\n //this.company.Id = 0;\n this.company.NameEn = this.CompanyForm.getRawValue().NameEn;\n this.company.NameAr = this.CompanyForm.getRawValue().NameAr;\n this.company.Api = this.CompanyForm.getRawValue().Api;\n this.company.CommercialRegister = this.CompanyForm.getRawValue().CommercialRegister;\n this.company.TaxCard = this.CompanyForm.getRawValue().TaxCard;\n this.company.AuthorizedPerson = this.CompanyForm.getRawValue().AuthorizedPerson;\n this.company.Email = this.CompanyForm.getRawValue().Email;\n this.company.Landline = this.CompanyForm.getRawValue().Landline;\n this.company.Phone = this.CompanyForm.getRawValue().Phone;\n this.company.Notes = this.CompanyForm.getRawValue().Notes;\n this.company.Token = this.CompanyForm.getRawValue().Token;\n this.ogData.push(this.company);\n // this.companyService.insert(this.company).subscribe(result => {\n // if (result === true) {\n // this.loadAllData();\n // }\n // })\n\n this.lastId+=1;\n //this.addModal.hide();\n this.loadData();\n this.companyModalRef.modalRef.hide();\n this.makeToast(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n }\n\n editCompany() {\n //prevent multiclicks. re enable after API response\n document.getElementById('ModalRefSubmitButton')?.setAttribute('disabled','');\n\n\n let tempCompany = new CompanyModel({\n Id: this.company.Id,\n NameEn: this.CompanyForm.getRawValue().NameEn,\n NameAr: this.CompanyForm.getRawValue().NameAr,\n Api: this.CompanyForm.getRawValue().Api,\n CommercialRegister: this.CompanyForm.getRawValue().CommercialRegister,\n TaxCard: this.CompanyForm.getRawValue().TaxCard,\n AuthorizedPerson: this.CompanyForm.getRawValue().AuthorizedPerson,\n Email: this.CompanyForm.getRawValue().Email,\n Landline: this.CompanyForm.getRawValue().Landline,\n Phone: this.CompanyForm.getRawValue().Phone,\n Notes: this.CompanyForm.getRawValue().Notes,\n Token: this.CompanyForm.getRawValue().Token \n });\n this.ogData[this.ogData.findIndex(i => i.Id === this.company.Id)] = tempCompany;\n // this.companyService.update(tempCompany).subscribe(result => {\n // if (result === true) {\n // this.loadAllData();\n // }\n // })\n \n //this.hideEditModal();\n //this.editModalRef.modalRef.hide();\n this.loadData();\n this.companyModalRef.modalRef.hide();\n\n this.makeToast(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n }\n\n deleteCompany(Id: any) {\n //prevent multiclicks. re enable after API response\n document.getElementById('ModalRefDeleteButton')?.setAttribute('disabled','');\n\n const tempCompany = this.ogData.find(i => i.Id === Id);\n // this.companyService.delete(tempCompany).subscribe(result => {\n // if (result === true) {\n // this.loadAllData();\n // }\n // })\n // console.log('paginatedData: '+this.paginatedData.map(item => item.NameAr));\n // console.log('selectedlist: '+this.selected.map(item => item.NameAr));\n // console.log('deletionlist: '+this.deletionList.map(item => item.NameAr));\n // console.log(\"DELEEETING\");\n \n // console.log('ogData: '+this.paginatedData.map(item => item.NameAr));\n // console.log('selectedlist: '+this.selected.map(item => item.NameAr));\n // console.log('deletionlist: '+this.deletionList.map(item => item.NameAr));\n\n \n if(this.deletionList.length === 1)\n {\n this.makeToast(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"OneCompany\"));\n }\n else if(this.deletionList.length === 2)\n {\n this.makeToast(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" +\n this.translate.instant(\"TwoCompanies\"));\n }\n else if(this.deletionList.length > 2 && this.deletionList.length < 11)\n {\n this.makeToast(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" + \n this.deletionList.length + \" \" + this.translate.instant(\"CompanyRowsPlur\"));\n }\n else\n {\n this.makeToast(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyDeleted\") + \" \" + \n this.deletionList.length + \" \" + this.translate.instant(\"CompanyRows\"));\n }\n\n \n this.ogData = this.ogData.filter(item => !this.deletionList.includes(item));\n //this.selected = this.selected.filter(item => !this.deletionList.includes(item));\n this.deletionList = [];\n this.selected = [];\n\n this.setSelectAllState();\n console.log(this.paginatedData.length);\n console.log(this.selected.length);\n \n if(this.selectAllState === '')\n {\n this.SelectAllBox = false;\n }\n\n this.loadData();\n this.delModal.hide();\n }\n \n makeToast(toastHeader:string, toastBody:string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n deleteMultiCompany() {\n // this.companyService.delete(tempCompany).subscribe(result => {\n // if (result === true) {\n // this.loadAllData();\n // }\n // })\n \n this.loadData();\n this.delModal.hide();\n }\n\n\n loadAllData() {\n this.companyService.getAll().subscribe(\n data => {\n this.ogData = data;\n this.loadSearch();\n }\n )\n }\n\n loadSearch() {\n const prevSearch = this.SearchTerm;\n this.SearchTerm = '';\n setTimeout(() => {\n this.SearchTerm = prevSearch;\n }, 1);\n }\n\n createForm(): FormGroup {\n return this.formBuilder.group({\n Id: [this.company.Id >= 0 ? this.company.Id : 0],\n NameEn: [this.company.NameEn, Validators.compose([Validators.required, Validators.minLength(2)])],\n NameAr: [this.company.NameAr, Validators.compose([Validators.required, Validators.pattern(/^[\\u0621-\\u064A]+([\\s]*[\\u0621-\\u064A]+)*$/)])],\n Api: [this.company.Api, Validators.compose([Validators.required, Validators.minLength(2)])],\n CommercialRegister: [this.company.CommercialRegister, Validators.compose([Validators.required,\n Validators.pattern(/^\\d+$/), Validators.minLength(5), Validators.maxLength(14)])],\n TaxCard: [this.company.TaxCard, Validators.compose([Validators.required, Validators.pattern(/^\\d{9}(\\d{5})?$/)])],\n AuthorizedPerson: [this.company.AuthorizedPerson, Validators.compose([Validators.required, Validators.minLength(2)])],\n Email: [this.company.Email, Validators.compose([Validators.required, Validators.email])],\n Landline: [this.company.Landline, Validators.compose([Validators.required, Validators.pattern(/^\\d{10}$/)])],\n Phone: [this.company.Phone, Validators.compose([Validators.required, Validators.pattern(/^\\d{11}$/)])],\n Notes: [this.company.Notes],\n Token: [this.company.Token, Validators.compose([Validators.required, Validators.minLength(2)])]\n });\n }\n}\n","\n\n
    \n
    \n
    \n

    \n {{currentFormMode+\"Company\" |\n translate}}

    \n
    \n
    \n
    \n\n
    \n \n \n \n
    \n {{\"CompanyNameEnRequired\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n {{\"CompanyNameArRequired\" | translate}}
    \n \n
    \n\n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n

    \n {{\"ConfirmDelCompany\" |\n translate}}

    \n
    \n
    \n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n\n\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
      \n
    • {{item | translate}}
    • \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n\n
    \n \n \n \n \n
    \n
    \n\n
    \n
    \n
    \n \n {{\"DisplayingResults\" | translate}}\n {{(currentPage-1)*itemsPerPage+1}}\n {{\"resultsTo\" | translate}}\n {{((currentPage-1)*itemsPerPage+itemsPerPage) < filteredData.length ?\n ((currentPage-1)*itemsPerPage+itemsPerPage) : filteredData.length}} ({{\"resultsOf\" | translate}}\n {{filteredData.length}}) \n \n {{\"NoResults\" | translate}} \n
    \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n\n
    \n\n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n {{\"CompanyName\" | translate}}{{\"CompanyEmail\" | translate}}{{\"CompanyLandline\" | translate}}{{\"CompanyPhone\" | translate}}{{\"CompanyNotes\" | translate}}\n \n \n \n
    \n
    \n \n \n
    \n
    {{company.NameEn}}{{company.NameAr}}{{company.Email}}{{company.Landline}}{{company.Phone}}\n
    {{company.Notes}}
    \n
    \n \n {{\"CompanyName\" | translate}}{{\"CompanyEmail\" | translate}}{{\"CompanyLandline\" | translate}}{{\"CompanyPhone\" | translate}}{{\"CompanyNotes\" | translate}}\n \n \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
      \n
    • {{item}}
    • \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n\n
    \n \n \n \n \n
    \n
    \n\n
    \n
    \n
    \n \n {{\"DisplayingResults\" | translate}}\n {{(currentPage-1)*itemsPerPage+1}}\n {{\"resultsTo\" | translate}}\n {{((currentPage-1)*itemsPerPage+itemsPerPage) < filteredData.length ?\n ((currentPage-1)*itemsPerPage+itemsPerPage) : filteredData.length}} ({{\"resultsOf\" | translate}}\n {{filteredData.length}}) \n
    \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { environment } from 'src/environments/environment';\n\n@Component({\n selector: 'app-error',\n templateUrl: './error.component.html'\n})\nexport class ErrorComponent implements OnInit, OnDestroy {\n adminRoot = environment.adminRoot;\n\n constructor() { }\n\n ngOnInit(): void {\n document.body.classList.add('background');\n }\n\n ngOnDestroy(): void {\n document.body.classList.remove('background');\n }\n\n}\n","
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    MAGIC IS IN THE DETAILS

    \n

    Yes, it is indeed!

    \n
    \n
    \n \n \n \n
    {{ \"pages.error-title\" | translate }}
    \n

    \n {{ \"pages.error-code\" | translate }}\n

    \n

    404

    \n \n {{ \"pages.go-back-home\" | translate }}\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n","export class DataFilterer{\r\n constructor(){\r\n //console.log('data presenter loaded');\r\n\r\n }\r\n OnInit(){\r\n //console.log('data presenter used');\r\n }\r\n filterData(searchTerm:any, searchKeys:any[], ogData:any[]){\r\n let objectKeys : any [] = [];\r\n let result : any [] = [];\r\n for (let index = 0; index < searchKeys.length; index++) {\r\n objectKeys.push(searchKeys[index] as keyof typeof ogData[0]);\r\n }\r\n //console.log(objectKeys);\r\n for (let dataIndex = 0; dataIndex < ogData.length; dataIndex++) {\r\n for (let keyIndex = 0; keyIndex < objectKeys.length; keyIndex++) {\r\n if (result.includes(ogData[dataIndex]))\r\n {\r\n //console.log(ogData[dataIndex].NameAr + \" is a duplicate. Ignored.\");\r\n break;\r\n }\r\n else\r\n {\r\n if (ogData[dataIndex][objectKeys[keyIndex]].toString().toLowerCase().includes(searchTerm.toString().toLowerCase()))\r\n {\r\n result.push(ogData[dataIndex])\r\n }\r\n }\r\n }\r\n }\r\n //console.log(result);\r\n return result;\r\n }\r\n}","export class DataPaginator{\r\n constructor(){\r\n //console.log('data presenter loaded');\r\n\r\n }\r\n OnInit(){\r\n //console.log('data presenter used');\r\n }\r\n paginateData(currentPage:any, itemsperPage:any, ogData:any[]):any[]{\r\n let result: any[] = [...ogData];\r\n return result.slice((currentPage-1)*(itemsperPage), (itemsperPage*currentPage));\r\n }\r\n}","export class DataSorter {\r\n constructor() {\r\n //console.log('data presenter loaded');\r\n\r\n }\r\n OnInit() {\r\n //console.log('data presenter used');\r\n }\r\n sortData(sortKey: any, ogData: any[]):any[]{\r\n //console.log(sortKey);\r\n \r\n let result: any[] = [...ogData];\r\n let objKey = sortKey as keyof typeof ogData[0]\r\n result = result.sort((n1, n2) => {\r\n if (n1[sortKey] > n2[sortKey]) {\r\n return 1;\r\n }\r\n if (n1[sortKey] < n2[sortKey]) {\r\n return -1;\r\n }\r\n return 0;\r\n });\r\n //console.log(\"sorting by: \" + sortKey);\r\n //console.log(result.map(item => item.Id));\r\n \r\n return result;\r\n }\r\n}","import { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { BsModalService, BsModalRef } from 'ngx-bootstrap/modal';\n\n@Component({\n selector: 'app-side-popup',\n templateUrl: './side-popup.component.html',\n styleUrls: ['./side-popup.component.scss']\n})\nexport class SidePopupComponent {\n modalRef: BsModalRef;\n lang:string;\n config = {\n backdrop: true,\n ignoreBackdropClick: true,\n class: 'modal-left'\n };\n\n\n @ViewChild('template', { static: true }) template: TemplateRef;\n\n constructor(private modalService: BsModalService) {\n this.lang = localStorage.getItem('theme_lang');\n this.config = {\n backdrop: true,\n ignoreBackdropClick: true,\n class: this.lang==='ar-EG'?'modal-left':'modal-right'\n };\n }\n\n\n show(): void {\n this.modalRef = this.modalService.show(this.template, this.config);\n }\n\n}\n","\n\n \n \n","import { CashierSessionModel } from \"../cashier-sessions/CashierSessionModel\";\r\n\r\nexport class CashRegisterModel {\r\n Id?: number;\r\n Code?: number;\r\n BranchId?: number;\r\n BranchNameAr?: string;\r\n BranchNameEn?: string;\r\n Sessions?: CashierSessionModel [];\r\n LastDailyRevenue?: number;\r\n LastMonthlyRevenue?: number;\r\n LastAnnualRevenue?: number;\r\n TotalRevenue?: number;\r\n LastActivityDate?: Date;\r\n LastUserId?: number;\r\n LastUserNameAr?: string;\r\n LastUserNameEn?: string;\r\n constructor(obj?: CashRegisterModel) {\r\n obj = obj ? obj : {};\r\n this.Id = obj.Id ? obj.Id : 0;\r\n this.Code = obj.Code ? obj.Code : 0;\r\n this.BranchId = obj.BranchId ? obj.BranchId : 0;\r\n this.BranchNameAr = obj.BranchNameAr ? obj.BranchNameAr : '';\r\n this.BranchNameEn = obj.BranchNameEn ? obj.BranchNameEn : '';\r\n this.Sessions = obj.Sessions ? obj.Sessions : [];\r\n this.LastDailyRevenue = obj.LastDailyRevenue ? obj.LastDailyRevenue : 0;\r\n this.LastMonthlyRevenue = obj.LastMonthlyRevenue ? obj.LastMonthlyRevenue : 0;\r\n this.LastAnnualRevenue = obj.LastAnnualRevenue ? obj.LastAnnualRevenue : 0;\r\n this.TotalRevenue = obj.TotalRevenue ? obj.TotalRevenue : 0;\r\n this.LastActivityDate = obj.LastActivityDate ? obj.LastActivityDate : new Date();\r\n this.LastUserId = obj.LastUserId ? obj.LastUserId : 0;\r\n this.LastUserNameAr = obj.LastUserNameAr ? obj.LastUserNameAr : '';\r\n this.LastUserNameEn = obj.LastUserNameEn ? obj.LastUserNameEn : '';\r\n }\r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { CashRegisterModel } from \"./CashRegisterModel\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CashRegisterService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n debugData: CashRegisterModel [] = [\r\n ];\r\n // debugData: CashRegisterModel [] = [\r\n // {\r\n // Id:1, Code:1001, BranchId:1, BranchNameAr:\"فرع القاهرة\", BranchNameEn:\"Cairo Branch\", LastActivityDate:new Date(2021, 0, 13),\r\n // LastUserId: 1, LastUserNameAr: \"احمد سعيد\", LastUserNameEn:\"Ahmad Saeed\",\r\n // LastDailyRevenue:100, LastMonthlyRevenue: 1000, LastAnnualRevenue:10000, TotalRevenue: 100000\r\n // },\r\n // {\r\n // Id:2, Code:1002, BranchId:2, BranchNameAr:\"فرع السعودية\", BranchNameEn:\"Saudi Branch\", LastActivityDate:new Date(2022, 1, 13),\r\n // LastUserId: 2, LastUserNameAr: \"محمد فيصل\", LastUserNameEn:\"Mohamad Faysal\",\r\n // LastDailyRevenue:200, LastMonthlyRevenue: 2000, LastAnnualRevenue:20000, TotalRevenue: 200000\r\n // },\r\n // ];\r\n debugMode: boolean = false;\r\n\r\n baseUrl = environment.baseApiUrl;\r\n // baseUrl = 'http://localhost:60289/';\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}CashRegister/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData.find(x=>x.Id==id))\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}CashRegister/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: CashRegisterModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.push(payload);\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}CashRegister/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: CashRegisterModel): Observable {\r\n if(this.debugMode){\r\n this.debugData[this.debugData.findIndex(x=>x.Id==payload.Id)] = payload;\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}CashRegister/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: CashRegisterModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==payload.Id),1);\r\n return of(true)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}CashRegister/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: CashRegisterModel []): Observable {\r\n if(this.debugMode){\r\n payload.forEach(element => {\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==element.Id),1);\r\n });\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}CashRegister/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { TableEngine } from '../../../invoices/TableEngine'\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from '../../app/aio/shared/side-popup/side-popup.component';\nimport { Observable, of, Subscription } from 'rxjs';\n\nimport { NgSelectComponent } from '@ng-select/ng-select';\n\nimport { DatePipe, formatDate } from '@angular/common';\n\n\nimport { CashRegisterService } from \"./CashRegisterService\";\nimport { CashRegisterModel } from \"./CashRegisterModel\";\n\nimport { BranchService } from '../../../invoices/branches/BranchService';\nimport { BranchModel } from '../../../invoices/branches/BranchModel';\n\n\nimport { CashierStaffModel } from '../cashier-staff/CashierStaffModel';\nimport { CashierStaffService } from '../cashier-staff/CashierStaffService';\nimport { ConfigPoSService } from '../config-pos-general/ConfigPoSService';\nimport { ConfigPoSModel } from '../config-pos-general/ConfigPoSModel';\nimport { ListPageHeaderComponent } from 'src/app/containers/pages/list-page-header/list-page-header.component';\n\n\n\n\n@Component({\n selector: 'app-cashier-machines',\n templateUrl: './cashier-machines.component.html',\n styleUrls: ['./cashier-machines.component.scss']\n})\nexport class CashRegistersComponent {\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n\n //Enable debugMode to make API modules return static data from within the service class\n debugMode: boolean = false;\n\n constructor(private formBuilder: FormBuilder, private modelService: CashRegisterService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private branchService: BranchService, private cashierStaffService: CashierStaffService, \n private datePipe: DatePipe, private configPoSService: ConfigPoSService,\n ) {\n }\n\n\n listHeader = new ListPageHeaderComponent();\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n tableView: any = true;\n\n translationName: string = 'CashRegister'\n\n sortableKeys = [];\n searchableKeys = ['LastActivityDate'];\n\n modelObject: CashRegisterModel = new CashRegisterModel();\n\n ogData: CashRegisterModel[] = [];\n \n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n BranchId: new FormControl(),\n });\n\n\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) public delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n if (this.debugMode) {\n this.enableDebugOnAllServices();\n }\n\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'CashRegisterCode', property: 'Code' };\n this.sortableKeys = [\n { label: 'CashRegisterCode', property: 'Code' },\n { label: 'CashRegisterBranch', property: this.lang === 'ar-EG' ? 'BranchNameAr' : 'BranchNameEn' },\n { label: 'CashRegisterLastActivityDate', property: 'LastActivityDate' },\n { label: 'CashRegisterLastDailyRevenue', property: 'LastDailyRevenue' },\n { label: 'CashRegisterLastMonthlyRevenue', property: 'LastMonthlyRevenue' },\n { label: 'CashRegisterLastAnnualRevenue', property: 'LastAnnualRevenue' },\n { label: 'CashRegisterTotalRevenue', property: 'TotalRevenue' },\n { label: 'CashRegisterLastUserName', property: this.lang === 'ar-EG' ? 'LastUserNameAr' : 'LastUserNameEn' },\n ];\n\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n\n this.loadServices();\n }\n\n\n enableDebugOnAllServices() {\n //this.modelService.debugMode = true;\n // this.branchService.debugMode = true;\n // this.cashierStaffService.debugMode = true;\n }\n\n lastCode = 0;\n codeWasChecked = false;\n checkCode() : boolean{\n if(!(this.lastCode > 0)){\n this.codeWasChecked = false;\n console.log(\"bad code\", this.lastCode);\n \n return this.codeWasChecked;\n }\n this.configPoSService.checkCashierCode(this.lastCode).subscribe(\n result => {\n this.codeWasChecked = result;\n }\n );\n console.log(\"code availability:\",this.codeWasChecked);\n \n return this.codeWasChecked;\n }\n showModal(Id, action) {\n if (action === 'Add') {\n //this.lastCode = this.tableEngine.ogData.length>0?this.tableEngine.ogData[this.tableEngine.ogData.length - 1].Code:0;\n this.lastCode = this.configPoS.StartingCodeCashRegisiters;\n for (let index = 0; index < this.tableEngine.ogData.length; index++) {\n if(this.tableEngine.ogData.findIndex(x=>x.Code == this.lastCode) >= 0)\n { this.lastCode++ } \n else { break; }\n }\n this.checkCode();\n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder);\n }\n else if (action === 'Edit') {\n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder);\n this.lastCode = this.tableEngine.modelObject.Code\n }\n else if (action === 'Info') {\n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder);\n this.lastCode = this.tableEngine.modelObject.Code\n }\n this.tableView = false;\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n console.log((action + \" object\"), this.modelObject);\n\n \n console.log(\"modelObject after entering edit\", this.modelObject);\n }\n currentDate='';\n currentExpirationDate='';\n createForm(modelObject, formBuilder): FormGroup {\n \n return formBuilder.group({\n BranchId: [modelObject.BranchId, Validators.compose([Validators.required])],\n });\n }\n\n addObject() {\n this.currentAction = 'loading';\n\n let lastId = this.tableEngine.ogData.length>0?this.tableEngine.ogData[this.tableEngine.ogData.length - 1].Id:0;\n\n let branch: BranchModel = this.getBranchById(this.mainForm.getRawValue().BranchId);\n\n this.modelObject = new CashRegisterModel();\n \n this.modelObject.Id = this.debugMode ? lastId + 1 : 0;\n this.modelObject.Code = this.lastCode;\n this.modelObject.BranchId = branch.Id;\n this.modelObject.BranchNameAr = branch.NameAr;\n this.modelObject.BranchNameEn = branch.NameEn;\n \n this.executeAddObject();\n }\n\n executeAddObject() {\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true || result > 0) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n if (this.sideModalRef === undefined) {\n if (this.smallModal != undefined) {\n this.tableEngine.smallModal.hide();\n }\n else {\n this.tableView = this.prevAction === 'AddThenNew' ? false : true;\n \n //this.prevAction = '';\n }\n }\n else {\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n \n if(this.prevAction != 'AddThenNew'){\n this.goBack();\n }\n else{\n this.prevAction = '';\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n\n editObject() {\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n\n let branch: BranchModel = this.getBranchById(this.mainForm.getRawValue().BranchId);\n // let tempObj = new CashRegisterModel({\n // Id: this.modelObject.Id,\n // Code: this.modelObject.Code,\n // BranchId: branch.Id,\n // BranchNameAr: branch.NameAr,\n // BranchNameEn: branch.NameEn\n // });\n let tempObj = new CashRegisterModel();\n tempObj.Id =this.modelObject.Id;\n tempObj.Code = this.lastCode;\n tempObj.BranchId = branch.Id;\n tempObj.BranchNameAr = branch.NameAr;\n tempObj.BranchNameEn = branch.NameEn;\n tempObj.LastDailyRevenue = this.modelObject.LastDailyRevenue;\n tempObj.LastMonthlyRevenue = this.modelObject.LastMonthlyRevenue;\n tempObj.LastAnnualRevenue = this.modelObject.LastAnnualRevenue;\n tempObj.TotalRevenue = this.modelObject.TotalRevenue;\n tempObj.LastActivityDate = this.modelObject.LastActivityDate;\n tempObj.LastUserId = this.modelObject.LastUserId;\n tempObj.LastUserNameAr = this.modelObject.LastUserNameAr;\n tempObj.LastUserNameEn = this.modelObject.LastUserNameEn;\n this.executeEditObject(tempObj);\n console.log(\"saved object\", tempObj);\n \n }\n\n executeEditObject(Object) {\n\n\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n\n if (this.sideModalRef === undefined) {\n if (this.smallModal != undefined) {\n this.tableEngine.smallModal.hide();\n }\n else {\n this.tableView = true;\n }\n }\n else {\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n \n this.goBack();\n \n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n SearchFrom: Date = null;\n SearchTo: Date = null;\n\n clearSearch() {\n this.SearchFrom = null;\n this.SearchTo = null;\n }\n\n prevAction = '';\n addAndNew() {\n this.prevAction = 'AddThenNew';\n this.addObject();\n this.showModal(null, 'Add');\n }\n\n configPoS = new ConfigPoSModel();\n loadServices() {\n this.currentAction = 'loading';\n\n this.configPoSService.getFirst().subscribe(\n configPoSData => {\n this.configPoS = configPoSData;\n this.branchService.getAll().subscribe(\n branchData => {\n this.branchList = branchData;\n \n this.cashierStaffService.getAll().subscribe(\n cashierStaffData => {\n this.cashierStaffList = cashierStaffData;\n this.tableEngine.loadData();\n }\n )\n }\n )\n }\n );\n\n\n }\n \n branchList: BranchModel[] = [];\n cashierStaffList: CashierStaffModel[] = [];\n getBranchById(Id: any): any {\n return this.branchList.find(i => i.Id === Id);\n }\n getCashierStaffById(Id: any): any {\n return this.cashierStaffList.find(i => i.Id === Id);\n }\n\n goBack(){\n console.log(\"back\");\n \n this.modelObject = {};\n this.currentAction = \"\";\n this.tableView = true;\n\n \n console.log(this.modelObject);\n console.log(this.lastCode);\n }\n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepChangeSort(sortKey) {\n this.SearchFrom = null;\n this.SearchTo = null;\n \n \n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n\n getFormattedDate(dateString: any){\n let splitDate: number[] = dateString.toString().split(\"/\");\n\n return new Date(splitDate[2], splitDate[1]-1, splitDate[0])\n }\n ///////////////////////////////////////////////////////\n \n displayMode = 'list';\n changeDisplayMode(mode): void {\n this.displayMode = mode;\n }\n itemsPerPageChange(perPage: number): void {\n this.tableEngine.paginateData(perPage, 1)\n }\n}\n","\n\n\n\n\n
    \n
    \n
    \n\n
    \n \n \n \n \n
    \n
    \n\n
    \n\n\n
    \n \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    0)\">\n {{\"CashRegisterCodeRequired\" | translate}}
    \n
    \n {{\"CasherStaffCodeAlreadyTaken\" | translate}}
    \n
    \n\n
    \n\n
    \n\n
    \n
    \n \n
    \n \n \n {{lang==='ar-EG'?branch.NameAr:branch.NameEn}}\n \n
    \n \n
    \n {{\"CashRegisterBranchIdRequired\" | translate}}
    \n \n
    \n
    \n
    \n\n
    \n
    \n
    \n\n
    \n
    \n
    \n \n  \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n tableEngine.deletionList.length === tableEngine.ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n\n\n\n
    \n\n
    \n\n
    \n
    \n
    \n
    \n \n \n \n\n \n \n\n\n \n \n\n\n \n \n\n\n \n \n\n\n\n\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n \n \n \n {{\"CashRegisterCode\" | translate}}\n \n \n \n \n {{\"CashRegisterBranch\" | translate}}\n \n \n \n \n {{\"CashRegisterLastActivityDate\" | translate}}\n \n \n \n \n {{\"CashRegisterLastUserName\" | translate}}\n \n \n \n \n {{\"CashRegisterTotalRevenue\" | translate}}\n \n\n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • \n {{item}}\n
  • \n
    \n
    \n
    \n\n
    \n
    \n \n \n
    \n
    {{obj.Code}}{{lang==='ar-EG'?obj.BranchNameAr:obj.BranchNameEn}}{{obj.LastActivityDate | date:\"dd/MM/yyyy\"}}{{obj.LastUserId>0?(lang==='ar-EG'?obj.LastUserNameAr:obj.LastUserNameEn):\"None\" | translate}}{{obj.TotalRevenue.toFixed(2)}}\n \n \n \n \n \n
    \n\n
    \n
    \n \n
    \n\n \n \n \n \n
    \n
    \n
    \n\n\n
    \n
    \n\n
    \n
    \n
    \n\n
    \n\n
     
    \n\n\n
     
    \n\n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","export class CashierOrderItemModel{\r\n Id?:number;\r\n Code?:number; //new\r\n CashierOrderId?:number;\r\n CashierOrderCode?:number; //new\r\n ItemId?:number;\r\n ItemNameAr?:string;\r\n ItemNameEn?:string;\r\n UnitId?:number;\r\n UnitNameAr?:string;\r\n UnitNameEn?:string;\r\n UnitCost?:number;\r\n Quantity?:number;\r\n TotalPrice?:number;\r\n DiscountValue?:number;\r\n DiscountIsRate?:boolean;\r\n NetPrice?:number;\r\n AddedValueTax?:number;\r\n GrossPrice?:number;\r\n Note?:string;\r\n constructor(obj?:CashierOrderItemModel){\r\n obj = obj? obj:{};\r\n this.Id = obj.Id? obj.Id:0;\r\n this.Code = obj.Code? obj.Code:0; //new\r\n this.CashierOrderId = obj.CashierOrderId? obj.CashierOrderId:0;\r\n this.CashierOrderCode = obj.CashierOrderCode? obj.CashierOrderCode:0; //new\r\n this.ItemId = obj.ItemId? obj.ItemId:0;\r\n this.ItemNameAr = obj.ItemNameAr? obj.ItemNameAr:'';\r\n this.ItemNameEn = obj.ItemNameEn? obj.ItemNameEn:'';\r\n this.UnitId = obj.UnitId? obj.UnitId:0;\r\n this.UnitNameAr = obj.UnitNameAr? obj.UnitNameAr:'';\r\n this.UnitNameEn = obj.UnitNameEn? obj.UnitNameEn:'';\r\n this.UnitCost = obj.UnitCost? obj.UnitCost:0;\r\n this.Quantity = obj.Quantity? obj.Quantity:0;\r\n this.TotalPrice = obj.TotalPrice? obj.TotalPrice:0;\r\n this.DiscountValue = obj.DiscountValue? obj.DiscountValue:0;\r\n this.DiscountIsRate = obj.DiscountIsRate? obj.DiscountIsRate:true;\r\n this.NetPrice = obj.NetPrice? obj.NetPrice:0;\r\n this.AddedValueTax = obj.AddedValueTax? obj.AddedValueTax:0;\r\n this.GrossPrice = obj.GrossPrice? obj.GrossPrice:0;\r\n this.Note = obj.Note? obj.Note:'';\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { CashierOrderItemModel } from \"./CashierOrderItemModel\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CashierOrderItemService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n \r\n debugData: CashierOrderItemModel [] = [\r\n \r\n { Id:1, Code:1001, CashierOrderId: 1, CashierOrderCode:1001, ItemId:1, ItemNameAr: \"منتج 1\", ItemNameEn: \"Item 1\", \r\n UnitId:1, UnitNameAr:\"وحدة 1\", UnitNameEn:\"Unit 1\", Note:\"item\\ndescription\\n1\", \r\n UnitCost:1000, Quantity:1, TotalPrice:1000, DiscountValue:1, DiscountIsRate:true, NetPrice:990,\r\n AddedValueTax:138.6, GrossPrice: 1128.6 },\r\n\r\n { Id:2, Code:1002, CashierOrderId: 1, CashierOrderCode:1001, ItemId:2, ItemNameAr: \"منتج 2\", ItemNameEn: \"Item 2\", \r\n UnitId:2, UnitNameAr:\"وحدة 2\", UnitNameEn:\"Unit 2\", Note:\"item\\ndescription\\n2\", \r\n UnitCost:1000, Quantity:2, TotalPrice:2000, DiscountValue:2, DiscountIsRate:true, NetPrice:1960,\r\n AddedValueTax:274.4, GrossPrice: 2234.4 },\r\n\r\n { Id:3, Code:1003, CashierOrderId: 2, CashierOrderCode:1002, ItemId:2, ItemNameAr: \"منتج 2\", ItemNameEn: \"Item 2\", \r\n UnitId:2, UnitNameAr:\"وحدة 1\", UnitNameEn:\"Unit 1\", Note:\"item\\ndescription\\n3\", \r\n UnitCost:1000, Quantity:3, TotalPrice:3000, DiscountValue:3, DiscountIsRate:true, NetPrice:2910,\r\n AddedValueTax:407.4, GrossPrice: 3317.4 },\r\n\r\n { Id:4, Code:1004, CashierOrderId: 2, CashierOrderCode:1002, ItemId:1, ItemNameAr: \"منتج 1\", ItemNameEn: \"Item 1\", \r\n UnitId:1, UnitNameAr:\"وحدة 2\", UnitNameEn:\"Unit 2\", Note:\"item\\ndescription\\n4\", \r\n UnitCost:1000, Quantity:4, TotalPrice:4000, DiscountValue:4, DiscountIsRate:true, NetPrice:3840,\r\n AddedValueTax:537.6, GrossPrice: 4377.6 },\r\n ];\r\n debugMode: boolean = false;\r\n\r\n baseUrl = environment.baseApiUrl;\r\n // baseUrl = 'http://localhost:60289/';\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}CashierOrderItem/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n getById(id:number): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData.find(x=>x.Id==id))\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}CashierOrderItem/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n insert(payload: CashierOrderItemModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.push(payload);\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}CashierOrderItem/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: CashierOrderItemModel): Observable {\r\n if(this.debugMode){\r\n this.debugData[this.debugData.findIndex(x=>x.Id==payload.Id)] = payload;\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}CashierOrderItem/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: CashierOrderItemModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==payload.Id),1);\r\n return of(true)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}CashierOrderItem/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: CashierOrderItemModel []): Observable {\r\n if(this.debugMode){\r\n payload.forEach(element => {\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==element.Id),1);\r\n });\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}CashierOrderItem/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","\r\nimport { CashierOrderItemModel } from \"./CashierOrderItemModel\";\r\nexport class CashierOrderModel{\r\n Id?:number;\r\n Code?:number;\r\n SessionId?:number;\r\n SessionCode?:number;\r\n CashRegisterId?:number;\r\n CashRegisterCode?:number;\r\n CashRegisterBranchId?:number;\r\n CashRegisterBranchNameAr?:string;\r\n CashRegisterBranchNameEn?:string;\r\n CashierId?:number;\r\n CashierNameAr?:string;\r\n CashierNameEn?:string;\r\n ClientId?:number;\r\n ClientNameAr?:string;\r\n ClientNameEn?:string;\r\n ModifiedDate?:Date;\r\n Note?:string;\r\n IsRefund?:boolean;\r\n Status?:string;\r\n Items?:CashierOrderItemModel[];\r\n ItemTotalPrices?:number;\r\n ItemTotalDiscounts?:number;\r\n ItemTotalNetPrices?:number;\r\n ItemTotalTaxes?:number;\r\n ItemTotalGrossPrices?:number;\r\n TotalValue?:number;\r\n OrderDiscountValue?: number;\r\n OrderDiscountIsRate?: boolean;\r\n PaymentMethodId?:number;\r\n PaymentMethodAr?:string;\r\n PaymentMethodEn?:string;\r\n CounterCashBeforeCheckout?:number;\r\n CounterCashAfterCheckout?:number;\r\n PaidAmount?:number;\r\n ChangeGiven?:number;\r\n constructor(obj?:CashierOrderModel){\r\n obj = obj? obj:{};\r\n this.Id = obj.Id? obj.Id:0;\r\n this.Code = obj.Code? obj.Code:0;\r\n this.SessionId = obj.SessionId? obj.SessionId:0;\r\n this.SessionCode = obj.SessionCode? obj.SessionCode:0;\r\n this.CashRegisterId = obj.CashRegisterId? obj.CashRegisterId:0;\r\n this.CashRegisterCode = obj.CashRegisterCode? obj.CashRegisterCode:0;\r\n this.CashRegisterBranchId = obj.CashRegisterBranchId? obj.CashRegisterBranchId:0;\r\n this.CashRegisterBranchNameAr = obj.CashRegisterBranchNameAr? obj.CashRegisterBranchNameAr:'';\r\n this.CashRegisterBranchNameEn = obj.CashRegisterBranchNameEn? obj.CashRegisterBranchNameEn:'';\r\n this.CashierId = obj.CashierId? obj.CashierId:0;\r\n this.CashierNameAr = obj.CashierNameAr? obj.CashierNameAr:'';\r\n this.CashierNameEn = obj.CashierNameEn? obj.CashierNameEn:'';\r\n this.ClientId = obj.ClientId? obj.ClientId:0;\r\n this.ClientNameAr = obj.ClientNameAr? obj.ClientNameAr:'';\r\n this.ClientNameEn = obj.ClientNameEn? obj.ClientNameEn:'';\r\n this.ModifiedDate = obj.ModifiedDate? obj.ModifiedDate:new Date();\r\n this.Note = obj.Note? obj.Note:'';\r\n this.IsRefund = obj.IsRefund? obj.IsRefund:false;\r\n this.Status = obj.Status? obj.Status: '';\r\n this.Items = obj.Items? obj.Items:[];\r\n this.ItemTotalPrices = obj.ItemTotalPrices? obj.ItemTotalPrices:0;\r\n this.ItemTotalDiscounts = obj.ItemTotalDiscounts? obj.ItemTotalDiscounts:0;\r\n this.ItemTotalNetPrices = obj.ItemTotalNetPrices? obj.ItemTotalNetPrices:0;\r\n this.ItemTotalTaxes = obj.ItemTotalTaxes? obj.ItemTotalTaxes:0;\r\n this.ItemTotalGrossPrices = obj.ItemTotalGrossPrices? obj.ItemTotalGrossPrices:0;\r\n this.TotalValue = obj.TotalValue? obj.TotalValue:0;\r\n this.OrderDiscountValue = obj.OrderDiscountValue? obj.OrderDiscountValue:0;\r\n this.OrderDiscountIsRate = obj.OrderDiscountIsRate? obj.OrderDiscountIsRate:false;\r\n this.PaymentMethodId = obj.PaymentMethodId? obj.PaymentMethodId:0;\r\n this.PaymentMethodAr = obj.PaymentMethodAr? obj.PaymentMethodAr:'';\r\n this.PaymentMethodEn = obj.PaymentMethodEn? obj.PaymentMethodEn:'';\r\n this.CounterCashBeforeCheckout = obj.CounterCashBeforeCheckout? obj.CounterCashBeforeCheckout:0;\r\n this.CounterCashAfterCheckout = obj.CounterCashAfterCheckout? obj.CounterCashAfterCheckout:0;\r\n this.PaidAmount = obj.PaidAmount? obj.PaidAmount:0;\r\n this.ChangeGiven = obj.ChangeGiven? obj.ChangeGiven:0;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { CashierOrderModel } from \"./CashierOrderModel\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CashierOrderService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n \r\n debugData: CashierOrderModel [] = [];\r\n // debugData: CashierOrderModel [] = [\r\n // {\r\n // Id:1, Code:1001, Note:\"desc1\\nOrder1\\n1\", Status:'Complete', \r\n // CashierId:1, CashierNameAr:\"احمد سعيد\", CashierNameEn:\"Ahmad Saeed\", \r\n // ClientId:1, ClientNameAr:'احمد', ClientNameEn:'Ahmad', IsRefund:false,\r\n // ModifiedDate: new Date(2021, 0, 13), SessionId:1, SessionCode:1001, CashRegisterId:1, CashRegisterCode:1001,\r\n // CashRegisterBranchId:1, CashRegisterBranchNameAr:\"فرع القاهرة\", CashRegisterBranchNameEn:\"Cairo Branch\",\r\n \r\n // Items: [\r\n // { Id:1, Code:1001, CashierOrderId: 1, CashierOrderCode:1001, ItemId:1, ItemNameAr: \"منتج 1\", ItemNameEn: \"Item 1\", \r\n // UnitId:1, UnitNameAr:\"وحدة 1\", UnitNameEn:\"Unit 1\", Note:\"item\\ndescription\\n1\", \r\n // UnitCost:1000, Quantity:1, TotalPrice:1000, DiscountValue:1, DiscountIsRate:true, NetPrice:990,\r\n // AddedValueTax:138.6, GrossPrice: 1128.6 },\r\n\r\n // { Id:2, Code:1002, CashierOrderId: 1, CashierOrderCode:1001, ItemId:2, ItemNameAr: \"منتج 2\", ItemNameEn: \"Item 2\", \r\n // UnitId:2, UnitNameAr:\"وحدة 2\", UnitNameEn:\"Unit 2\", Note:\"item\\ndescription\\n2\", \r\n // UnitCost:1000, Quantity:2, TotalPrice:2000, DiscountValue:2, DiscountIsRate:true, NetPrice:1960,\r\n // AddedValueTax:274.4, GrossPrice: 2234.4 },\r\n // ],\r\n\r\n // ItemTotalPrices:3000, ItemTotalDiscounts:50, ItemTotalNetPrices: 2950, \r\n // ItemTotalTaxes:413, ItemTotalGrossPrices: 3363, TotalValue:3363,\r\n\r\n // PaymentMethodId:1, PaymentMethodAr: \"كاش\", PaymentMethodEn:\"Cash\",\r\n // CounterCashBeforeCheckout:1000, CounterCashAfterCheckout: 4363,\r\n // PaidAmount: 3400, ChangeGiven:37,\r\n // },\r\n\r\n // {\r\n // Id:2, Code:1002, Note:\"desc2\\nOrder2\\n2\", Status:'In-Delivery',\r\n // CashierId:2, CashierNameAr:\"محمد فيصل\", CashierNameEn:\"Mohamad Faysal\", \r\n // ClientId:2, ClientNameAr:'فواز', ClientNameEn:'Fawaz', IsRefund:false,\r\n // ModifiedDate: new Date(2022, 1, 13), SessionId:2, SessionCode:1002, CashRegisterId:2, CashRegisterCode:1002,\r\n // CashRegisterBranchId:2, CashRegisterBranchNameAr:\"فرع السعودية\", CashRegisterBranchNameEn:\"Saudi Branch\",\r\n \r\n // Items: [\r\n // { Id:3, CashierOrderId: 2, ItemId:2, ItemNameAr: \"منتج 2\", ItemNameEn: \"Item 2\", \r\n // UnitId:2, UnitNameAr:\"وحدة 1\", UnitNameEn:\"Unit 1\", Note:\"item\\ndescription\\n3\", \r\n // UnitCost:1000, Quantity:3, TotalPrice:3000, DiscountValue:3, DiscountIsRate:true, NetPrice:2910,\r\n // AddedValueTax:407.4, GrossPrice: 3317.4 },\r\n\r\n // { Id:4, CashierOrderId: 2, ItemId:1, ItemNameAr: \"منتج 1\", ItemNameEn: \"Item 1\", \r\n // UnitId:1, UnitNameAr:\"وحدة 2\", UnitNameEn:\"Unit 2\", Note:\"item\\ndescription\\n4\", \r\n // UnitCost:1000, Quantity:4, TotalPrice:4000, DiscountValue:4, DiscountIsRate:true, NetPrice:3840,\r\n // AddedValueTax:537.6, GrossPrice: 4377.6 },\r\n // ],\r\n\r\n // ItemTotalPrices:7000, ItemTotalDiscounts:250, ItemTotalNetPrices: 6750, \r\n // ItemTotalTaxes:945, ItemTotalGrossPrices: 7695, \r\n // OrderDiscountValue:0, OrderDiscountIsRate:false, TotalValue:7695,\r\n\r\n // PaymentMethodId:1, PaymentMethodAr: \"كاش\", PaymentMethodEn:\"Cash\",\r\n // //CounterCashBeforeCheckout:2000, CounterCashAfterCheckout: 9695,\r\n // CounterCashBeforeCheckout:2000, CounterCashAfterCheckout: 2000,\r\n // PaidAmount: 7700, ChangeGiven:5,\r\n // },\r\n \r\n // ];\r\n debugMode: boolean = false;\r\n\r\n baseUrl = environment.baseApiUrl;\r\n // baseUrl = 'http://localhost:60289/';\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}CashierOrder/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getAllWithItems(): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}CashierOrder/GetAllWithItems`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData.find(x=>x.Id==id))\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}CashierOrder/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getByIdWithItems(id:number): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData.find(x=>x.Id==id))\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}CashierOrder/GetByIdWithItems/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: CashierOrderModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.push(payload);\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}CashierOrder/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insertWithItems(payload: CashierOrderModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.push(payload);\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}CashierOrder/InsertWithItems`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: CashierOrderModel): Observable {\r\n if(this.debugMode){\r\n this.debugData[this.debugData.findIndex(x=>x.Id==payload.Id)] = payload;\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}CashierOrder/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: CashierOrderModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==payload.Id),1);\r\n return of(true)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}CashierOrder/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: CashierOrderModel []): Observable {\r\n if(this.debugMode){\r\n payload.forEach(element => {\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==element.Id),1);\r\n });\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}CashierOrder/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { TableEngine } from '../../../invoices/TableEngine'\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from '../../app/aio/shared/side-popup/side-popup.component';\nimport { Observable, of, Subscription } from 'rxjs';\n\nimport { NgSelectComponent } from '@ng-select/ng-select';\n\nimport { DatePipe, formatDate } from '@angular/common';\n\n\nimport { CashierOrderService } from \"./CashierOrderService\";\nimport { CashierOrderModel } from \"./CashierOrderModel\";\n\nimport { BranchModel } from '../../../invoices/branches/BranchModel';\nimport { CashRegisterModel } from '../cashier-machines/CashRegisterModel';\nimport { StaffModel } from '../../../invoices/staff/StaffModel';\nimport { CashierStaffModel } from '../cashier-staff/CashierStaffModel';\nimport { ItemModel } from \"../../../invoices/items/ItemModel\";\nimport { CodingUnitModel } from \"../../../invoices/coding-units/CodingUnitModel\";\nimport { ClientModel } from \"../../../invoices/clients/ClientModel\";\nimport html2canvas from 'html2canvas';\nimport jsPDF from 'jspdf';\nimport { ListPageHeaderComponent } from 'src/app/containers/pages/list-page-header/list-page-header.component';\n\n\n\n\n@Component({\n selector: 'app-cashier-orders',\n templateUrl: './cashier-orders.component.html',\n styleUrls: ['./cashier-orders.component.scss']\n})\nexport class CashierOrdersComponent {\n // ////////////////////////////////////////////////////////////////////////////\n // // VARYING :\n // // Modify per similar component.\n // ////////////////////////////////////////////////////////////////////////////\n\n //Enable debugMode to make API modules return static data from within the service class\n debugMode: boolean = false;\n\n constructor(private formBuilder: FormBuilder, private modelService: CashierOrderService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private datePipe: DatePipe,\n ) {\n }\n\n\n listHeader = new ListPageHeaderComponent();\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n tableView: any = true;\n\n translationName: string = 'CashierOrder'\n\n sortableKeys = [];\n searchableKeys = ['CreateDateTime'];\n\n modelObject: CashierOrderModel = new CashierOrderModel();\n\n ogData: CashierOrderModel[] = [];\n \n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n // StaffId: new FormControl(),\n // BranchId: new FormControl(),\n });\n\n\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n if (this.debugMode) {\n this.enableDebugOnAllServices();\n }\n\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'CashierOrderName', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' };\n this.sortableKeys = [\n { label: 'CashierOrderCode', property: 'Code' },\n { label: 'CashierOrderDate', property: 'Date' },\n { label: 'CashierOrderCashierName', property: this.lang === 'ar-EG' ? 'CashierNameAr' : 'CashierNameEn' },\n { label: 'CashierOrderClientName', property: this.lang === 'ar-EG' ? 'ClientNameAr' : 'ClientNameEn' },\n { label: 'CashierOrderIsRefund', property: 'IsRefund' },\n { label: 'CashierOrderStatus', property: 'Status' },\n { label: 'CashierOrderTotalValue', property: 'TotalValue' },\n ];\n\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n\n this.loadServices();\n }\n\n\n enableDebugOnAllServices() {\n //this.modelService.debugMode = true;\n }\n\n lastCode = 0;\n showModal(Id, action) {\n // if (action === 'Add') {\n // this.lastCode = this.tableEngine.ogData.length>0?this.tableEngine.ogData[this.tableEngine.ogData.length - 1].Code:0;\n // this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder);\n // }\n // else if (action === 'Edit') {\n // this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder);\n // }\n //else if (action === 'Info') {\n if (action === 'Info') {\n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder);\n }\n this.tableView = false;\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n console.log((action + \" object\"), this.modelObject);\n\n \n console.log(\"modelObject after entering edit\", this.modelObject);\n }\n \n createForm(modelObject, formBuilder): FormGroup {\n \n return formBuilder.group({\n });\n }\n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n SearchFrom: Date = null;\n SearchTo: Date = null;\n\n clearSearch() {\n this.SearchFrom = null;\n this.SearchTo = null;\n }\n\n prevAction = '';\n\n loadServices() {\n this.currentAction = 'loading';\n\n this.tableEngine.loadData();\n\n\n }\n\n goBack(){\n console.log(\"back\");\n \n this.modelObject = {};\n this.currentAction = \"\";\n this.tableView = true;\n\n \n console.log(this.modelObject);\n console.log(this.lastCode);\n }\n\n\n printing = false;\n printingDate = new Date();\n exportTable(){\n this.printing = true;\n this.printingDate = new Date();\n\n var data = document.getElementById('printingTest');\n let align = data.style.textAlign;\n data.style.textAlign = 'justify';\n html2canvas(data,{}).then(canvas => {\n var imgWidth = 208;\n var pageHeight = 295;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n var heightLeft = imgHeight;\n const contentDataURL = canvas.toDataURL('image/png')\n let pdf = new jsPDF('p', 'mm', 'a4'); // A4 size page of PDF\n var position = 0;\n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n pdf.save('report.pdf'); // Generated PDF\n\n this.printing = false;\n data.style.textAlign = align;\n //data.style.display = 'none';\n });\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepChangeSort(sortKey) {\n this.SearchFrom = null;\n this.SearchTo = null;\n \n \n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n\n getFormattedDate(dateString: any){\n let splitDate: number[] = dateString.toString().split(\"/\");\n\n return new Date(splitDate[2], splitDate[1]-1, splitDate[0])\n }\n \n // ///////////////////////////////////////////////////////\n \n displayMode = 'list';\n changeDisplayMode(mode): void {\n this.displayMode = mode;\n }\n itemsPerPageChange(perPage: number): void {\n this.tableEngine.paginateData(perPage, 1)\n }\n}\n","\n\n\n\n\n
    \n
    \n
    \n\n
    \n \n \n
    \n
    \n
    \n \n \n \n
    \n \n
    \n\n
    \n
    \n \n \n
    \n\n
    \n\n
    \n \n \n
    \n\n
    \n\n
    \n \n \n
    \n\n
    \n\n
    \n\n
    \n
    \n \n \n
    \n\n
    \n\n
    \n \n \n
    \n\n
    \n\n
    \n \n \n
    \n\n
    \n\n
    \n\n
    \n
    \n \n \n
    \n\n
    \n\n
    \n \n \n
    \n\n
    \n\n
    \n\n
    \n
    \n \n \n \n
    \n
    \n\n
    \n
    \n\n \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{\"CashierOrderItemName\" | translate}}{{\"CashierOrderItemUnit\" | translate}}{{\"CashierOrderItemUnitCost\" | translate}}{{\"CashierOrderItemQuantity\" | translate}}{{\"CashierOrderItemTotalPrice\" | translate}}{{\"CashierOrderItemDiscountValue\" | translate}}{{\"CashierOrderItemNetPrice\" | translate}}{{\"CashierOrderItemTotalTaxValues\" | translate}}{{\"CashierOrderItemGrossPrice\" | translate}}{{\"CashierOrderItemNote\" | translate}}
    \n {{obj.ItemId>0?(lang==='ar-EG'?obj.ItemNameAr:obj.ItemNameEn):\"None\"|translate}}\n \n {{obj.UnitId>0?(lang==='ar-EG'?obj.UnitNameAr:obj.UnitNameEn):\"None\"|translate}}\n \n {{obj.UnitCost.toFixed(2)}}\n \n {{obj.Quantity.toFixed(2)}}\n \n {{obj.TotalPrice.toFixed(2)}}\n \n {{obj.DiscountValue.toFixed(2)}}{{obj.DiscountIsRate?'%':''}}\n \n {{obj.NetPrice.toFixed(2)}}\n \n {{obj.AddedValueTax.toFixed(2)}}\n \n {{obj.GrossPrice.toFixed(2)}}\n \n {{obj.Note}}\n
    \n
    \n
    \n
    \n
    \n
    \n\n\n
    \n\n
    \n
    \n \n \n
    \n\n
    \n\n
    \n \n \n
    \n\n
    \n\n\n
    \n\n
    \n\n
    \n \n \n
    \n\n
    \n\n \n\n
    \n\n\n
    \n\n
    \n\n
    \n \n \n
    \n\n
    \n\n
    \n \n \n
    \n
    \n\n\n
    \n\n
    \n\n
    \n \n \n
    \n\n
    \n\n
    \n \n \n
    \n
    \n\n\n
    \n\n
    \n\n
    \n \n \n
    \n\n
    \n\n
    \n \n \n
    \n
    \n\n
    \n
    \n
    \n
    \n\n\n
    \n\n
    \n\n
    \n
    \n
    \n
    \n \n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n \n \n {{\"CashierOrderCode\" | translate}}\n \n \n \n \n {{\"CashierOrderDate\" | translate}}\n \n \n \n \n {{\"CashierOrderCashierName\" | translate}}\n \n \n \n \n {{\"CashierOrderClientName\" | translate}}\n \n \n \n \n {{\"CashierOrderIsRefund\" | translate}}\n \n \n \n \n {{\"CashierOrderStatus\" | translate}}\n \n \n \n \n {{\"CashierOrderTotalValue\" | translate}}\n \n\n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • \n {{item}}\n
  • \n
    \n
    \n
    \n\n
    {{obj.Code}}{{obj.ModifiedDate | date:\"dd/MM/yyyy - hh:mm:ssa\"}}{{obj.CashierId>0?(lang==='ar-EG'?obj.CashierNameAr:obj.CashierNameEn):\"None\" | translate}}{{obj.ClientId>0?(lang==='ar-EG'?obj.ClientNameAr:obj.ClientNameEn):'NoClient' | translate}}{{obj.IsRefund?(\"CashierOrderIsRefundTrue\"|translate):(\"CashierOrderIsRefundFalse\"|translate)}}{{obj.Status}}{{obj.TotalValue.toFixed(2)}}\n \n
    \n\n
    \n
    \n \n
    \n\n \n \n \n \n
    \n
    \n
    \n\n\n
    \n
    \n\n
    \n
    \n
    \n\n
    \n\n
     
    \n\n\n
     
    \n\n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","\r\nimport { TaxTypesModel } from \"src/app/invoices/tax-types/TaxTypesModel\";\r\nimport { CashierOrderModel } from \"../cashier-orders/CashierOrderModel\";\r\nexport class CashierSessionModel{\r\n Id?:number;\r\n Code?:number;\r\n CashierId?:number;\r\n CashierNameAr?:string;\r\n CashierNameEn?:string;\r\n CashRegisterId?:number;\r\n CashRegisterCode?:number;\r\n CashRegisterBranchId?:number;\r\n CashRegisterBranchNameAr?:string;\r\n CashRegisterBranchNameEn?:string;\r\n Active?:boolean;\r\n StartTime?:Date;\r\n EndTime?:Date;\r\n StartingCash?:number;\r\n StartingNote?:string;\r\n Orders?:CashierOrderModel[];\r\n OrderCount?:number;\r\n RefundCount?:number;\r\n SessionTotal?:number;\r\n LeaveCash?:number;\r\n LeaveNote?:string;\r\n LeaveBill025?:number;\r\n LeaveBill05?:number;\r\n LeaveBill1?:number;\r\n LeaveBill5?:number;\r\n LeaveBill10?:number;\r\n LeaveBill20?:number;\r\n LeaveBill50?:number;\r\n LeaveBill100?:number;\r\n LeaveBill200?:number;\r\n HasOrdersInDelivery?:boolean;\r\n WorkShiftId?:number; //new\r\n WorkShiftNameAr?:string; //new\r\n WorkShiftNameEn?:string; //new\r\n WorkShiftFrom?:Date; //new\r\n WorkShiftTo?:Date; //new\r\n Taxes?:TaxTypesModel[]=[];\r\n Lang ?: string;\r\n constructor(obj?:CashierSessionModel){\r\n obj = obj? obj:{};\r\n this.Id = obj.Id? obj.Id:0;\r\n this.Code = obj.Code? obj.Code:0;\r\n this.CashierId = obj.CashierId? obj.CashierId:0;\r\n this.CashierNameAr = obj.CashierNameAr? obj.CashierNameAr:'';\r\n this.CashierNameEn = obj.CashierNameEn? obj.CashierNameEn:'';\r\n this.Lang = obj.Lang? obj.Lang:'';\r\n this.CashRegisterId = obj.CashRegisterId? obj.CashRegisterId:0;\r\n this.CashRegisterCode = obj.CashRegisterCode? obj.CashRegisterCode:0;\r\n this.CashRegisterBranchId = obj.CashRegisterBranchId? obj.CashRegisterBranchId:0;\r\n this.CashRegisterBranchNameAr = obj.CashRegisterBranchNameAr? obj.CashRegisterBranchNameAr:'';\r\n this.CashRegisterBranchNameEn = obj.CashRegisterBranchNameEn? obj.CashRegisterBranchNameEn:'';\r\n this.Active = obj.Active? obj.Active:false;\r\n this.StartTime = obj.StartTime? obj.StartTime:new Date();\r\n this.EndTime = obj.EndTime? obj.EndTime:new Date();\r\n this.StartingCash = obj.StartingCash? obj.StartingCash:0;\r\n this.StartingNote = obj.StartingNote? obj.StartingNote:'';\r\n this.Orders = obj.Orders? obj.Orders:[];\r\n this.OrderCount = obj.OrderCount? obj.OrderCount:0;\r\n this.RefundCount = obj.RefundCount? obj.RefundCount:0;\r\n this.SessionTotal = obj.SessionTotal? obj.SessionTotal:0;\r\n this.LeaveCash = obj.LeaveCash? obj.LeaveCash:0;\r\n this.LeaveNote = obj.LeaveNote? obj.LeaveNote:'';\r\n this.LeaveBill025 = obj.LeaveBill025? obj.LeaveBill025:0;\r\n this.LeaveBill05 = obj.LeaveBill05? obj.LeaveBill05:0;\r\n this.LeaveBill1 = obj.LeaveBill1? obj.LeaveBill1:0;\r\n this.LeaveBill5 = obj.LeaveBill5? obj.LeaveBill5:0;\r\n this.LeaveBill10 = obj.LeaveBill10? obj.LeaveBill10:0;\r\n this.LeaveBill20 = obj.LeaveBill20? obj.LeaveBill20:0;\r\n this.LeaveBill50 = obj.LeaveBill50? obj.LeaveBill50:0;\r\n this.LeaveBill100 = obj.LeaveBill100? obj.LeaveBill100:0;\r\n this.LeaveBill200 = obj.LeaveBill200? obj.LeaveBill200:0;\r\n this.HasOrdersInDelivery = obj.HasOrdersInDelivery? obj.HasOrdersInDelivery:false;\r\n this.WorkShiftId = obj.WorkShiftId? obj.WorkShiftId:0;\r\n this.WorkShiftNameAr = obj.WorkShiftNameAr? obj.WorkShiftNameAr:'';\r\n this.WorkShiftNameEn = obj.WorkShiftNameEn? obj.WorkShiftNameEn:'';\r\n this.WorkShiftFrom = obj.WorkShiftFrom? obj.WorkShiftFrom:new Date();\r\n this.WorkShiftTo = obj.WorkShiftTo? obj.WorkShiftTo:new Date();\r\n this.Taxes = obj.Taxes ? obj.Taxes : [];\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { CashierSessionModel } from \"./CashierSessionModel\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CashierSessionService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n currentSession = new CashierSessionModel();\r\n \r\n debugData: CashierSessionModel [] = []\r\n // debugData: CashierSessionModel [] = [\r\n // {\r\n // Id:1, Code:1001, StartingNote:\"desc1\\nOrder1\\n1\", StartingCash:1000, Active:false,\r\n // CashierId:1, CashierNameAr:\"احمد سعيد\", CashierNameEn:\"Ahmad Saeed\", \r\n // StartTime: new Date(2021, 0, 13, 9, 0, 0), EndTime: new Date(2021, 0, 13, 17, 0, 0),\r\n // CashRegisterId:1, CashRegisterCode:1001, \r\n // CashRegisterBranchId:1, CashRegisterBranchNameAr:\"فرع القاهرة\", CashRegisterBranchNameEn:\"Cairo Branch\",\r\n \r\n // Orders: [{\r\n // Id:1, Code:1001, Note:\"desc1\\nOrder1\\n1\", Status:'Complete',\r\n // CashierNameAr:\"احمد سعيد\", CashierNameEn:\"Ahmad Saeed\", \r\n // ClientId:1, ClientNameAr:'احمد', ClientNameEn:'Ahmad', IsRefund:false,\r\n // ModifiedDate: new Date(2021, 0, 13), SessionId:1, SessionCode:1001, CashRegisterId:1, CashRegisterCode:1001,\r\n // CashRegisterBranchId:1, CashRegisterBranchNameAr:\"فرع القاهرة\", CashRegisterBranchNameEn:\"Cairo Branch\",\r\n \r\n // Items: [\r\n // { Id:1, CashierOrderId: 1, ItemId:1, ItemNameAr: \"منتج 1\", ItemNameEn: \"Item 1\", \r\n // UnitId:1, UnitNameAr:\"وحدة 1\", UnitNameEn:\"Unit 1\", Note:\"item\\ndescription\\n1\", \r\n // UnitCost:1000, Quantity:1, TotalPrice:1000, DiscountValue:1, DiscountIsRate:true, NetPrice:990,\r\n // AddedValueTax:138.6, GrossPrice: 1128.6 },\r\n \r\n // { Id:2, CashierOrderId: 1, ItemId:2, ItemNameAr: \"منتج 2\", ItemNameEn: \"Item 2\", \r\n // UnitId:2, UnitNameAr:\"وحدة 2\", UnitNameEn:\"Unit 2\", Note:\"item\\ndescription\\n2\", \r\n // UnitCost:1000, Quantity:2, TotalPrice:2000, DiscountValue:2, DiscountIsRate:true, NetPrice:1960,\r\n // AddedValueTax:274.4, GrossPrice: 2234.4 },\r\n // ],\r\n \r\n // ItemTotalPrices:3000, ItemTotalDiscounts:50, ItemTotalNetPrices: 2950, \r\n // ItemTotalTaxes:413, ItemTotalGrossPrices: 3363, TotalValue:3363,\r\n \r\n // PaymentMethodId:1, PaymentMethodAr: \"كاش\", PaymentMethodEn:\"Cash\",\r\n // CounterCashBeforeCheckout:1000, CounterCashAfterCheckout: 4363,\r\n // PaidAmount: 3400, ChangeGiven:37,\r\n // }\r\n // ],\r\n\r\n // OrderCount:1, RefundCount:0, SessionTotal: 3363,\r\n // LeaveCash:4363, LeaveNote:\"good\\nday\\n1\",\r\n // WorkShiftId:1, WorkShiftNameAr:\"الصباح\", WorkShiftNameEn:\"الصباح\",\r\n // WorkShiftFrom: new Date(2021, 0, 13, 9, 0, 0), WorkShiftTo: new Date(2021, 0, 13, 17, 0, 0),\r\n // },\r\n // {\r\n // Id:2, Code:1002, StartingNote:\"desc2\\nOrder2\\n2\", StartingCash:2000, Active:false,\r\n // CashierId:2, CashierNameAr:\"محمد فيصل\", CashierNameEn:\"Mohamad Faysal\", \r\n // StartTime: new Date(2022, 1, 13, 15, 0, 0), EndTime: new Date(2022, 1, 13, 23, 0, 0),\r\n // CashRegisterId:2, CashRegisterCode:1002, \r\n // CashRegisterBranchId:2, CashRegisterBranchNameAr:\"فرع السعودية\", CashRegisterBranchNameEn:\"Saudi Branch\",\r\n \r\n // Orders: [\r\n // {\r\n // Id:2, Code:1002, Note:\"desc2\\nOrder2\\n2\", Status:'In-Delivery',\r\n // CashierId:2, CashierNameAr:\"محمد فيصل\", CashierNameEn:\"Mohamad Faysal\", \r\n // ClientId:2, ClientNameAr:'فواز', ClientNameEn:'Fawaz', IsRefund:false,\r\n // ModifiedDate: new Date(2022, 1, 13), SessionId:2, SessionCode:1002, CashRegisterId:2, CashRegisterCode:1002,\r\n // CashRegisterBranchId:2, CashRegisterBranchNameAr:\"فرع السعودية\", CashRegisterBranchNameEn:\"Saudi Branch\",\r\n \r\n // Items: [\r\n // { Id:3, CashierOrderId: 2, ItemId:2, ItemNameAr: \"منتج 2\", ItemNameEn: \"Item 2\", \r\n // UnitId:2, UnitNameAr:\"وحدة 1\", UnitNameEn:\"Unit 1\", Note:\"item\\ndescription\\n3\", \r\n // UnitCost:1000, Quantity:3, TotalPrice:3000, DiscountValue:3, DiscountIsRate:true, NetPrice:2910,\r\n // AddedValueTax:407.4, GrossPrice: 3317.4 },\r\n \r\n // { Id:4, CashierOrderId: 2, ItemId:1, ItemNameAr: \"منتج 1\", ItemNameEn: \"Item 1\", \r\n // UnitId:1, UnitNameAr:\"وحدة 2\", UnitNameEn:\"Unit 2\", Note:\"item\\ndescription\\n4\", \r\n // UnitCost:1000, Quantity:4, TotalPrice:4000, DiscountValue:4, DiscountIsRate:true, NetPrice:3840,\r\n // AddedValueTax:537.6, GrossPrice: 4377.6 },\r\n // ],\r\n \r\n // ItemTotalPrices:7000, ItemTotalDiscounts:250, ItemTotalNetPrices: 6750, \r\n // ItemTotalTaxes:945, ItemTotalGrossPrices: 7695, \r\n // OrderDiscountValue:0, OrderDiscountIsRate:false, TotalValue:7695,\r\n \r\n // PaymentMethodId:1, PaymentMethodAr: \"كاش\", PaymentMethodEn:\"Cash\",\r\n // //CounterCashBeforeCheckout:2000, CounterCashAfterCheckout: 9695,\r\n // CounterCashBeforeCheckout:2000, CounterCashAfterCheckout: 2000,\r\n // PaidAmount: 7700, ChangeGiven:5\r\n // },\r\n // ],\r\n\r\n // OrderCount:1, RefundCount:0, SessionTotal: 2000,\r\n // LeaveCash:2000, LeaveNote:\"good\\nday\\n2\",\r\n // WorkShiftId:2, WorkShiftNameAr:\"المساء\", WorkShiftNameEn:\"المساء\",\r\n // WorkShiftFrom: new Date(2021, 0, 13, 17, 0, 0), WorkShiftTo: new Date(2021, 0, 14, 2, 0, 0)\r\n // },\r\n // ];\r\n debugMode: boolean = false;\r\n\r\n baseUrl = environment.baseApiUrl;\r\n // baseUrl = 'http://localhost:60289/';\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n console.log(this.debugData);\r\n \r\n if(this.debugMode){\r\n return of(this.debugData)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}CashierSession/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getAllWithOrders(): Observable {\r\n console.log(this.debugData);\r\n \r\n if(this.debugMode){\r\n return of(this.debugData)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}CashierSession/GetAllWithOrders`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData.find(x=>x.Id==id))\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}CashierSession/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getByIdWithOrders(id:number): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData.find(x=>x.Id==id))\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}CashierSession/GetByIdWithOrders/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: CashierSessionModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.push(payload);\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}CashierSession/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insertWithOrders(payload: CashierSessionModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.push(payload);\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}CashierSession/InsertWithOrders`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n update(payload: CashierSessionModel): Observable {\r\n if(this.debugMode){\r\n this.debugData[this.debugData.findIndex(x=>x.Id==payload.Id)] = payload;\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}CashierSession/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: CashierSessionModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==payload.Id),1);\r\n return of(true)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}CashierSession/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: CashierSessionModel []): Observable {\r\n if(this.debugMode){\r\n payload.forEach(element => {\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==element.Id),1);\r\n });\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}CashierSession/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { TableEngine } from '../../../invoices/TableEngine'\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from '../../app/aio/shared/side-popup/side-popup.component';\nimport { Observable, of, Subscription } from 'rxjs';\n\nimport { NgSelectComponent } from '@ng-select/ng-select';\n\nimport { DatePipe, formatDate } from '@angular/common';\n\n\nimport { CashierSessionModel } from \"./CashierSessionModel\";\nimport { CashierSessionService } from \"./CashierSessionService\";\n\nimport { CashierOrderModel } from \"../cashier-orders/CashierOrderModel\";\nimport { BranchModel } from '../../../invoices/branches/BranchModel';\nimport { CashRegisterModel } from '../cashier-machines/CashRegisterModel';\nimport { StaffModel } from '../../../invoices/staff/StaffModel';\nimport { CashierStaffModel } from '../cashier-staff/CashierStaffModel';\nimport { ItemModel } from \"../../../invoices/items/ItemModel\";\nimport { CodingUnitModel } from \"../../../invoices/coding-units/CodingUnitModel\";\nimport { ClientModel } from \"../../../invoices/clients/ClientModel\";\nimport { ListPageHeaderComponent } from 'src/app/containers/pages/list-page-header/list-page-header.component';\n\n\n\n\n@Component({\n selector: 'app-cashier-sessions',\n templateUrl: './cashier-sessions.component.html',\n styleUrls: ['./cashier-sessions.component.scss']\n})\nexport class CashierSessionsComponent {\n // ////////////////////////////////////////////////////////////////////////////\n // // VARYING :\n // // Modify per similar component.\n // ////////////////////////////////////////////////////////////////////////////\n\n //Enable debugMode to make API modules return static data from within the service class\n debugMode: boolean = false;\n\n constructor(private formBuilder: FormBuilder, private modelService: CashierSessionService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private datePipe: DatePipe,\n ) {\n }\n\n\n listHeader = new ListPageHeaderComponent();\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n tableView: any = true;\n\n translationName: string = 'CashierSession'\n\n sortableKeys = [];\n searchableKeys = ['StartTime'];\n\n modelObject: CashierSessionModel = new CashierSessionModel();\n\n ogData: CashierSessionModel[] = [];\n \n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n // StaffId: new FormControl(),\n // BranchId: new FormControl(),\n });\n\n\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective = null;\n @ViewChild('orderItemsModal', { static: true }) orderItemsModal: ModalDirective;\n \n formPresentationModal: any;\n ngOnInit(): void {\n if (this.debugMode) {\n this.enableDebugOnAllServices();\n }\n\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'CashierSessionName', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' };\n this.sortableKeys = [\n { label: 'CashierSessionCode', property: 'Code' },\n { label: 'CashierSessionCashierName', property: this.lang === 'ar-EG' ? 'CashierNameAr' : 'CashierNameEn' },\n { label: 'CashierSessionBranchName', property: this.lang === 'ar-EG' ? 'BranchNameAr' : 'BranchNameEn' },\n { label: 'CashierSessionCashRegisterCode', property: 'CashRegisterCode' },\n { label: 'CashierSessionStartTime', property: 'StartTime' },\n { label: 'CashierSessionEndTime', property: 'EndTime' },\n { label: 'CashierSessionOrderCount', property: 'OrderCount' },\n { label: 'CashierSessionRefundCount', property: 'RefundCount' },\n { label: 'CashierSessionSessionTotal', property: 'SessionTotal' },\n ];\n\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n\n this.loadServices();\n }\n\n\n enableDebugOnAllServices() {\n //this.modelService.debugMode = true;\n }\n\n lastCode = 0;\n showModal(Id, action) {\n // if (action === 'Add') {\n // this.lastCode = this.tableEngine.ogData.length>0?this.tableEngine.ogData[this.tableEngine.ogData.length - 1].Code:0;\n // this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder);\n // }\n // else if (action === 'Edit') {\n // this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder);\n // }\n //else if (action === 'Info') {\n if (action === 'Info') {\n this.modelService.getByIdWithOrders(Id).subscribe(\n detailedObject => {\n let targetIndex = this.tableEngine.ogData.findIndex(i => i.Id === Id);\n console.log(detailedObject);\n console.log(this.tableEngine.ogData.find(i => i.Id === Id));\n this.tableEngine.ogData[targetIndex] = detailedObject;\n console.log(this.tableEngine.ogData.find(i => i.Id === Id));\n \n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder);\n \n this.tableView = false;\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n console.log((action + \" object\"), this.modelObject);\n \n \n console.log(\"modelObject after entering edit\", this.modelObject);\n }\n )\n }\n }\n \n createForm(modelObject, formBuilder): FormGroup {\n \n return formBuilder.group({\n });\n }\n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n SearchFrom: Date = null;\n SearchTo: Date = null;\n\n clearSearch() {\n this.SearchFrom = null;\n this.SearchTo = null;\n }\n\n prevAction = '';\n\n loadServices() {\n this.currentAction = 'loading';\n\n this.tableEngine.loadData();\n\n\n }\n\n viewedOrder: CashierOrderModel = new CashierOrderModel();\n showOrderItemsModal(order: CashierOrderModel){\n this.viewedOrder = order;\n this.orderItemsModal.show();\n }\n\n goBack(){\n console.log(\"back\");\n \n this.modelObject = {};\n this.currentAction = \"\";\n this.tableView = true;\n\n \n console.log(this.modelObject);\n console.log(this.lastCode);\n }\n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepChangeSort(sortKey) {\n this.SearchFrom = null;\n this.SearchTo = null;\n \n \n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n\n getFormattedDate(dateString: any){\n let splitDate: number[] = dateString.toString().split(\"/\");\n\n return new Date(splitDate[2], splitDate[1]-1, splitDate[0])\n }\n // ///////////////////////////////////////////////////////\n \n displayMode = 'list';\n changeDisplayMode(mode): void {\n this.displayMode = mode;\n }\n itemsPerPageChange(perPage: number): void {\n this.tableEngine.paginateData(perPage, 1)\n }\n}\n","\n\n\n
    \n
    \n
    \n
    \n

    \n {{\"CashierSessionOrders\" | translate}}

    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{\"CashierOrderItemName\" | translate}}{{\"CashierOrderItemUnit\" | translate}}{{\"CashierOrderItemUnitCost\" | translate}}{{\"CashierOrderItemQuantity\" | translate}}{{\"CashierOrderItemTotalPrice\" | translate}}{{\"CashierOrderItemDiscountValue\" | translate}}{{\"CashierOrderItemNetPrice\" | translate}}{{\"CashierOrderItemTotalTaxValues\" | translate}}{{\"CashierOrderItemGrossPrice\" | translate}}{{\"CashierOrderItemNote\" | translate}}
    \n {{obj.ItemId>0?(lang==='ar-EG'?obj.ItemNameAr:obj.ItemNameEn):\"None\"|translate}}\n \n {{obj.UnitId>0?(lang==='ar-EG'?obj.UnitNameAr:obj.UnitNameEn):\"None\"|translate}}\n \n {{obj.UnitCost.toFixed(2)}}\n \n {{obj.Quantity.toFixed(2)}}\n \n {{obj.TotalPrice.toFixed(2)}}\n \n {{obj.DiscountValue.toFixed(2)}}{{obj.DiscountIsRate?'%':''}}\n \n {{obj.NetPrice.toFixed(2)}}\n \n {{obj.AddedValueTax.toFixed(2)}}\n \n {{obj.GrossPrice.toFixed(2)}}\n \n {{obj.Note}}\n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n\n
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n\n
    \n\n
    \n \n \n
    \n\n
    \n\n
    \n
    \n
    \n \n \n
    \n\n
    \n\n
    \n \n \n
    \n\n
    \n\n
    \n \n \n
    \n
    \n\n
    \n\n
    \n
    \n \n \n
    \n\n
    \n\n
    \n \n \n
    \n\n
    \n\n
    \n\n
    \n
    \n \n \n \n
    \n
    \n\n
    \n
    \n\n \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{\"CashierOrderCode\" | translate}}{{\"CashierOrderClientName\" | translate}}{{\"CashierOrderDate\" | translate}}{{\"CashierOrderItems\" | translate}}{{\"CashierOrderIsRefund\" | translate}}{{\"CashierOrderStatus\" | translate}}{{\"CashierOrderItemTotalNetPrices\" | translate}}{{\"CashierOrderTotalValue\" | translate}}{{\"CashierOrderPaymentMethod\" | translate}}{{\"CashierOrderNote\" | translate}}
    \n {{obj.Id>0?(lang==='ar-EG'?obj.Code:obj.Code):\"None\"|translate}}\n \n {{obj.ClientId>0?(lang==='ar-EG'?obj.ClientNameAr:obj.ClientNameEn):\"None\"|translate}}\n \n {{obj.ModifiedDate | date:\"dd/MM/yyyy - HH:mm:ss\"}}\n \n 0)\"\n id=\"showOrderItems\" class=\"btn btn-secondary\"\n (click)=\"showOrderItemsModal(obj)\"\n style=\"font-weight: bold; width: 65px; height: 25px; font-size: 12px; text-align: center; padding: 2px;\">\n {{\"Show\" | translate}}\n \n {{obj.IsRefund?(\"CashierOrderIsRefundTrue\"|translate):(\"CashierOrderIsRefundFalse\"|translate)}}\n \n {{obj.Status | translate}}\n \n {{obj.ItemTotalNetPrices.toFixed(2)}}\n \n {{obj.TotalValue.toFixed(2)}}\n \n {{obj.PaymentMethodId>0?(lang==='ar-EG'?obj.PaymentMethodAr:obj.PaymentMethodEn):\"None\"|translate}}\n \n {{obj.Note}}\n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n\n
    \n
    \n \n \n
    \n\n
    \n\n
    \n \n \n
    \n\n
    \n\n
    \n \n \n
    \n
    \n\n
    \n\n
    \n
    \n \n \n
    \n\n
    \n\n
    \n \n \n
    \n\n
    \n\n
    \n\n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n
    \n\n
    \n\n
    \n
    \n
    \n
    \n \n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n \n \n {{\"CashierSessionCode\" | translate}}\n \n \n \n \n {{\"CashierSessionCashierName\" | translate}}\n \n \n \n \n {{\"CashierSessionBranchName\" | translate}}\n \n \n \n \n {{\"CashierSessionCashRegisterCode\" | translate}}\n \n \n \n \n {{\"CashierSessionStartTime\" | translate}}\n \n \n \n \n {{\"CashierSessionEndTime\" | translate}}\n \n \n \n \n {{\"CashierSessionOrderCount\" | translate}}\n \n \n \n \n {{\"CashierSessionRefundCount\" | translate}}\n \n \n \n \n {{\"CashierSessionSessionTotal\" | translate}}\n \n\n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • \n {{item}}\n
  • \n
    \n
    \n
    \n\n
    {{obj.Code}}{{obj.CashierId>0?(lang==='ar-EG'?obj.CashierNameAr:obj.CashierNameEn):\"None\" | translate}}{{obj.CashRegisterBranchId>0?(lang==='ar-EG'?obj.CashRegisterBranchNameAr:obj.CashRegisterBranchNameEn):\"None\" | translate}}{{obj.CashRegisterCode}}{{obj.StartTime | date:\"dd/MM/yyyy - hh:mma\"}}{{(!(obj.Active)?(obj.EndTime | date:\"dd/MM/yyyy - hh:mma\"):('None'|translate))}}{{obj.OrderCount}}{{obj.RefundCount}}{{obj.SessionTotal.toFixed(2)}}\n \n
    \n\n
    \n
    \n \n
    \n\n \n \n \n \n
    \n
    \n
    \n\n\n
    \n
    \n\n
    \n
    \n
    \n\n
    \n\n
     
    \n\n\n
     
    \n\n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { CashierSessionModel } from \"../cashier-sessions/CashierSessionModel\";\r\n\r\nexport class CashierStaffModel {\r\n Id?: number;\r\n Code?:number; //new\r\n StaffId?:number;\r\n NameAr?: string;\r\n NameEn?: string;\r\n Email?:string;\r\n Role?:string;\r\n BranchId?: number;\r\n BranchNameAr?: string;\r\n BranchNameEn?: string;\r\n LastRegisterId?:number;\r\n LastRegisterCode?:number;\r\n LastRegisterBranchNameAr?:string; //new\r\n LastRegisterBranchNameEn?:string; //new\r\n Sessions?: CashierSessionModel []; //new\r\n\r\n constructor(obj?: CashierStaffModel) {\r\n obj = obj ? obj : {};\r\n this.Id = obj.Id ? obj.Id : 0;\r\n this.Code = obj.Code ? obj.Code : 0;\r\n this.StaffId = obj.StaffId ? obj.StaffId : 0;\r\n this.NameAr = obj.NameAr ? obj.NameAr : '';\r\n this.NameEn = obj.NameEn ? obj.NameEn : '';\r\n this.Email = obj.Email ? obj.Email : '';\r\n this.Role = obj.Role ? obj.Role : '';\r\n this.BranchId = obj.BranchId ? obj.BranchId : 0;\r\n this.BranchNameAr = obj.BranchNameAr ? obj.BranchNameAr : '';\r\n this.BranchNameEn = obj.BranchNameEn ? obj.BranchNameEn : '';\r\n this.LastRegisterId = obj.LastRegisterId ? obj.LastRegisterId : 0;\r\n this.LastRegisterCode = obj.LastRegisterCode ? obj.LastRegisterCode : 0;\r\n this.LastRegisterBranchNameAr = obj.LastRegisterBranchNameAr ? obj.LastRegisterBranchNameAr : '';\r\n this.LastRegisterBranchNameEn = obj.LastRegisterBranchNameEn ? obj.LastRegisterBranchNameEn : '';\r\n this.Sessions = obj.Sessions ? obj.Sessions : [];\r\n }\r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { CashierStaffModel } from \"./CashierStaffModel\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CashierStaffService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n debugData: CashierStaffModel [] = []\r\n // debugData: CashierStaffModel [] = [\r\n // {\r\n // Id:1, Code:1001, StaffId:1, NameAr:\"احمد سعيد\", NameEn:\"Ahmad Saeed\", Role:\"Cashier\", Email:\"AhmadSaeed10@gmail.com\",\r\n // BranchId:1, BranchNameAr:\"فرع القاهرة\", BranchNameEn:\"Cairo Branch\", \r\n // LastRegisterId:1, LastRegisterCode:1001, LastRegisterBranchNameAr:\"فرع القاهرة\", LastRegisterBranchNameEn:\"Cairo Branch\",\r\n // },\r\n // {\r\n // Id:2, Code:1002, StaffId:2, NameAr:\"محمد فيصل\", NameEn:\"Mohamad Faysal\", Role:\"Cashier\", Email:\"MohamadFaysal20@gmail.com\",\r\n // BranchId:2, BranchNameAr:\"فرع السعودية\", BranchNameEn:\"Saudi Branch\", \r\n // LastRegisterId:2, LastRegisterCode:1002, LastRegisterBranchNameAr:\"فرع السعودية\", LastRegisterBranchNameEn:\"Saudi Branch\",\r\n // },\r\n // ];\r\n debugMode: boolean = false;\r\n\r\n baseUrl = environment.baseApiUrl;\r\n // baseUrl = 'http://localhost:60289/';\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}Cashier/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData.find(x=>x.Id==id))\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}Cashier/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: CashierStaffModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.push(payload);\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}Cashier/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: CashierStaffModel): Observable {\r\n if(this.debugMode){\r\n this.debugData[this.debugData.findIndex(x=>x.Id==payload.Id)] = payload;\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}Cashier/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: CashierStaffModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==payload.Id),1);\r\n return of(true)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}Cashier/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: CashierStaffModel []): Observable {\r\n if(this.debugMode){\r\n payload.forEach(element => {\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==element.Id),1);\r\n });\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}Cashier/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { TableEngine } from '../../../invoices/TableEngine'\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from '../../app/aio/shared/side-popup/side-popup.component';\nimport { Observable, of, Subscription } from 'rxjs';\n\nimport { NgSelectComponent } from '@ng-select/ng-select';\n\nimport { DatePipe, formatDate } from '@angular/common';\n\n\nimport { CashierStaffService } from \"./CashierStaffService\";\nimport { CashierStaffModel } from \"./CashierStaffModel\";\n\nimport { BranchService } from '../../../invoices/branches/BranchService';\nimport { BranchModel } from '../../../invoices/branches/BranchModel';\nimport { CashRegisterService } from '../cashier-machines/CashRegisterService';\nimport { CashRegisterModel } from '../cashier-machines/CashRegisterModel';\nimport { StaffService } from '../../../invoices/staff/StaffService';\nimport { StaffModel } from '../../../invoices/staff/StaffModel';\nimport { ConfigPoSService } from '../config-pos-general/ConfigPoSService';\nimport { ConfigPoSModel } from '../config-pos-general/ConfigPoSModel';\nimport { ListPageHeaderComponent } from 'src/app/containers/pages/list-page-header/list-page-header.component';\n\n\n\n\n@Component({\n selector: 'app-cashier-staff',\n templateUrl: './cashier-staff.component.html',\n styleUrls: ['./cashier-staff.component.scss']\n})\nexport class CashierStaffComponent {\n // ////////////////////////////////////////////////////////////////////////////\n // // VARYING :\n // // Modify per similar component.\n // ////////////////////////////////////////////////////////////////////////////\n\n //Enable debugMode to make API modules return static data from within the service class\n debugMode: boolean = false;\n\n constructor(private formBuilder: FormBuilder, private modelService: CashierStaffService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private branchService: BranchService, private CashRegisterService: CashRegisterService, \n private staffService: StaffService, private configPoSService: ConfigPoSService,\n private datePipe: DatePipe,\n ) {\n }\n\n\n listHeader = new ListPageHeaderComponent();\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n tableView: any = true;\n\n translationName: string = 'CashierStaff'\n\n sortableKeys = [];\n searchableKeys = ['NameAr', 'NameEn'];\n\n modelObject: CashierStaffModel = new CashierStaffModel();\n\n ogData: CashierStaffModel[] = [];\n \n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n StaffId: new FormControl(),\n BranchId: new FormControl(),\n });\n\n\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n if (this.debugMode) {\n this.enableDebugOnAllServices();\n }\n\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'CashierStaffCode', property: 'Code' };\n this.sortableKeys = [\n { label: 'CashierStaffCode', property: 'Code' },\n { label: 'CashierStaffName', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' },\n { label: 'CashierStaffBranch', property: this.lang === 'ar-EG' ? 'BranchNameAr' : 'BranchNameEn' },\n { label: 'CashierStaffRole', property: 'Role' },\n { label: 'CashierStaffEmail', property: 'Email' },\n { label: 'CashierStaffLastRegister', property: 'LastRegisterCode' },\n ];\n\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n\n this.loadServices();\n }\n\n\n enableDebugOnAllServices() {\n //this.modelService.debugMode = true;\n // this.branchService.debugMode = true;\n // this.staffService.debugMode = true;\n }\n\n lastCode = 0;\n codeWasChecked = false;\n checkCode() : boolean{\n if(!(this.lastCode > 0)){\n this.codeWasChecked = false;\n console.log(\"bad code\", this.lastCode);\n \n return this.codeWasChecked;\n }\n this.configPoSService.checkCashierCode(this.lastCode).subscribe(\n result => {\n this.codeWasChecked = result;\n }\n );\n console.log(\"code availability:\",this.codeWasChecked);\n \n return this.codeWasChecked;\n }\n showModal(Id, action) {\n if (action === 'Add') {\n //this.lastCode = this.tableEngine.ogData.length>0?this.tableEngine.ogData[this.tableEngine.ogData.length - 1].Code:0;\n this.lastCode = this.configPoS.StartingCodeCashiers;\n for (let index = 0; index < this.tableEngine.ogData.length; index++) {\n if(this.tableEngine.ogData.findIndex(x=>x.Code == this.lastCode) >= 0)\n { this.lastCode++ } \n else { break; }\n }\n this.checkCode();\n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder);\n }\n else if (action === 'Edit') {\n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder);\n this.lastCode = this.tableEngine.modelObject.Code\n }\n else if (action === 'Info') {\n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder);\n this.lastCode = this.tableEngine.modelObject.Code\n }\n this.tableView = false;\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n console.log((action + \" object\"), this.modelObject);\n\n \n console.log(\"modelObject after entering edit\", this.modelObject);\n }\n currentDate='';\n currentExpirationDate='';\n createForm(modelObject, formBuilder): FormGroup {\n \n return formBuilder.group({\n BranchId: [modelObject.BranchId, Validators.compose([Validators.required])],\n StaffId: [modelObject.StaffId, Validators.compose([Validators.required])],\n });\n }\n\n addObject() {\n this.currentAction = 'loading';\n\n let lastId = this.tableEngine.ogData.length>0?this.tableEngine.ogData[this.tableEngine.ogData.length - 1].Id:0;\n\n let branch: BranchModel = this.getBranchById(this.mainForm.getRawValue().BranchId);\n let staff: StaffModel = this.getStaffById(this.mainForm.getRawValue().StaffId);\n\n this.modelObject = new CashierStaffModel();\n \n this.modelObject.Id = this.debugMode ? lastId + 1 : 0;\n this.modelObject.Code = this.lastCode;\n this.modelObject.StaffId = staff.Id;\n this.modelObject.NameAr = staff.NameAr;\n this.modelObject.NameEn = staff.NameEn;\n this.modelObject.Email = staff.Email;\n this.modelObject.Role = staff.Role;\n this.modelObject.BranchId = branch.Id;\n this.modelObject.BranchNameAr = branch.NameAr;\n this.modelObject.BranchNameEn = branch.NameEn;\n \n this.executeAddObject();\n }\n\n executeAddObject() {\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true || result > 0) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n if (this.sideModalRef === undefined) {\n if (this.smallModal != undefined) {\n this.tableEngine.smallModal.hide();\n }\n else {\n this.tableView = this.prevAction === 'AddThenNew' ? false : true;\n \n this.prevAction = '';\n }\n }\n else {\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n \n if(this.prevAction != 'AddThenNew'){\n this.goBack();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n\n editObject() {\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n\n let branch: BranchModel = this.getBranchById(this.mainForm.getRawValue().BranchId);\n let staff: StaffModel = this.getStaffById(this.mainForm.getRawValue().StaffId);\n // let tempObj = new CashierStaffModel({\n // Id: this.modelObject.Id,\n // Code: this.modelObject.Code,\n // BranchId: branch.Id,\n // BranchNameAr: branch.NameAr,\n // BranchNameEn: branch.NameEn\n // });\n let tempObj = new CashierStaffModel();\n tempObj.Id =this.modelObject.Id;\n tempObj.Code = this.lastCode;\n tempObj.StaffId = staff.Id;\n tempObj.NameAr = staff.NameAr;\n tempObj.NameEn = staff.NameEn;\n tempObj.Role = staff.Role;\n tempObj.Email = staff.Email;\n tempObj.BranchId = branch.Id;\n tempObj.BranchNameAr = branch.NameAr;\n tempObj.BranchNameEn = branch.NameEn;\n tempObj.LastRegisterId = this.modelObject.LastRegisterId;\n tempObj.LastRegisterCode = this.modelObject.LastRegisterCode;\n this.executeEditObject(tempObj);\n console.log(\"saved object\", tempObj);\n \n }\n\n executeEditObject(Object) {\n\n\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n\n if (this.sideModalRef === undefined) {\n if (this.smallModal != undefined) {\n this.tableEngine.smallModal.hide();\n }\n else {\n this.tableView = true;\n }\n }\n else {\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n \n this.goBack();\n \n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n SearchFrom: Date = null;\n SearchTo: Date = null;\n\n clearSearch() {\n this.SearchFrom = null;\n this.SearchTo = null;\n }\n\n prevAction = '';\n addAndNew() {\n this.prevAction = 'AddThenNew';\n this.addObject();\n this.showModal(null, 'Add');\n }\n\n configPoS = new ConfigPoSModel();\n loadServices() {\n this.currentAction = 'loading';\n\n this.configPoSService.getFirst().subscribe(\n configPoSData => {\n this.configPoS = configPoSData;\n this.branchService.getAll().subscribe(\n branchData => {\n this.branchList = branchData;\n\n this.staffService.getAll().subscribe(\n staffData => {\n this.staffList = staffData;\n this.tableEngine.loadData();\n }\n )\n }\n )\n }\n );\n\n\n }\n \n branchList: BranchModel[] = [];\n staffList: StaffModel[] = [];\n getBranchById(Id: any): any {\n return this.branchList.find(i => i.Id === Id);\n }\n getStaffById(Id: any): any {\n console.log(\"staff:\",Id);\n //console.log(this.staffList);\n \n //console.log(this.mainForm.getRawValue().StaffId);\n //console.log(this.mainForm.getRawValue().BranchId);\n \n \n \n return this.staffList.find(i => i.Id === Id);\n }\n\n\n goBack(){\n console.log(\"back\");\n \n this.modelObject = {};\n this.currentAction = \"\";\n this.tableView = true;\n\n \n console.log(this.modelObject);\n console.log(this.lastCode);\n }\n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepChangeSort(sortKey) {\n this.SearchFrom = null;\n this.SearchTo = null;\n \n \n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n\n getFormattedDate(dateString: any){\n let splitDate: number[] = dateString.toString().split(\"/\");\n\n return new Date(splitDate[2], splitDate[1]-1, splitDate[0])\n }\n // ///////////////////////////////////////////////////////\n \n displayMode = 'list';\n changeDisplayMode(mode): void {\n this.displayMode = mode;\n }\n itemsPerPageChange(perPage: number): void {\n this.tableEngine.paginateData(perPage, 1)\n }\n}\n","\n\n\n\n\n
    \n
    \n
    \n\n
    \n \n \n \n \n
    \n
    \n\n
    \n\n
    \n \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    0)\">\n {{\"CashierStaffCodeRequired\" | translate}}
    \n
    \n {{\"CasherStaffCodeAlreadyTaken\" | translate}}
    \n
    \n\n
    \n\n
    \n
    \n \n
    \n \n \n {{lang==='ar-EG'?staff.NameAr:staff.NameEn}}\n \n
    \n \n
    \n {{\"CashierStaffStaffIdRequired\" | translate}}
    \n \n
    \n\n
    \n\n
    \n \n \n
    \n\n
    \n\n
    \n \n \n
    \n\n
    \n\n
    \n\n
    \n
    \n \n
    \n \n \n {{branch.Id>0?(lang==='ar-EG'?branch.NameAr:branch.NameEn):\"None\" | translate}}\n \n
    \n \n
    \n {{\"CashierStaffBranchIdRequired\" | translate}}
    \n \n
    \n
    \n
    \n\n
    \n
    \n
    \n\n
    \n
    \n
    \n \n  \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n
    \n
    \n
    1 && \n tableEngine.deletionList.length === tableEngine.ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n\n\n\n
    \n\n
    \n\n
    \n
    \n
    \n
    \n \n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n \n \n \n {{\"CashierStaffCode\" | translate}}\n \n \n \n \n {{\"CashierStaffName\" | translate}}\n \n \n \n \n {{\"CashierStaffBranch\" | translate}}\n \n \n \n \n {{\"CashierStaffRole\" | translate}}\n \n \n \n \n {{\"CashierStaffEmail\" | translate}}\n \n \n \n \n {{\"CashierStaffLastRegister\" | translate}}\n \n\n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • \n {{item}}\n
  • \n
    \n
    \n
    \n\n
    \n
    \n \n \n
    \n
    {{obj.Code}}{{lang==='ar-EG'?obj.NameAr:obj.NameEn}}{{lang==='ar-EG'?obj.BranchNameAr:obj.BranchNameEn}}{{obj.Role}}{{obj.Email}}{{obj.LastRegisterCode>0?obj.LastRegisterCode:'None'|translate}}\n \n \n \n \n \n
    \n\n
    \n
    \n \n
    \n\n \n \n \n \n
    \n
    \n
    \n\n\n
    \n
    \n\n
    \n
    \n
    \n\n
    \n\n
     
    \n\n\n
     
    \n\n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","export class CashierWorkShiftModel {\r\n Id?: number;\r\n Code?: number;\r\n Name?: string;\r\n From?: Date;\r\n To?: Date;\r\n constructor(obj?: CashierWorkShiftModel) {\r\n obj = obj ? obj : {};\r\n this.Id = obj.Id ? obj.Id : 0;\r\n this.Code = obj.Code ? obj.Code : 0;\r\n this.Name = obj.Name ? obj.Name : '';\r\n this.From = obj.From ? obj.From : new Date();\r\n this.To = obj.To ? obj.To : new Date();\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { CashierWorkShiftModel } from \"./CashierWorkShiftModel\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CashierWorkShiftService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n debugData: CashierWorkShiftModel [] = []\r\n // debugData: CashierWorkShiftModel [] = [\r\n // {\r\n // Id:1, Code:1001, Name:\"الصباح\",\r\n // From: new Date(2021, 0, 13, 9, 0, 0), To: new Date(2021, 0, 13, 17, 0, 0),\r\n // },\r\n // {\r\n // Id:2, Code:1002, Name:\"المساء\",\r\n // From: new Date(2021, 0, 13, 17, 0, 0), To: new Date(2021, 0, 14, 2, 0, 0),\r\n // },\r\n // ];\r\n debugMode: boolean = false;\r\n\r\n baseUrl = environment.baseApiUrl;\r\n // baseUrl = 'http://localhost:60289/';\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}CashierWorkShift/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData.find(x=>x.Id==id))\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}CashierWorkShift/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: CashierWorkShiftModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.push(payload);\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}CashierWorkShift/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: CashierWorkShiftModel): Observable {\r\n if(this.debugMode){\r\n this.debugData[this.debugData.findIndex(x=>x.Id==payload.Id)] = payload;\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}CashierWorkShift/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: CashierWorkShiftModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==payload.Id),1);\r\n return of(true)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}CashierWorkShift/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: CashierWorkShiftModel []): Observable {\r\n if(this.debugMode){\r\n payload.forEach(element => {\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==element.Id),1);\r\n });\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}CashierWorkShift/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { TableEngine } from '../../../invoices/TableEngine'\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from '../../app/aio/shared/side-popup/side-popup.component';\nimport { Observable, of, Subscription } from 'rxjs';\n\nimport { NgSelectComponent } from '@ng-select/ng-select';\n\nimport { DatePipe, formatDate } from '@angular/common';\n\n\nimport { CashierWorkShiftService } from \"./CashierWorkShiftService\";\nimport { CashierWorkShiftModel } from \"./CashierWorkShiftModel\";\nimport { ConfigPoSService } from '../config-pos-general/ConfigPoSService';\nimport { ConfigPoSModel } from '../config-pos-general/ConfigPoSModel';\nimport { ListPageHeaderComponent } from 'src/app/containers/pages/list-page-header/list-page-header.component';\n\n@Component({\n selector: 'app-cashier-work-shifts',\n templateUrl: './cashier-work-shifts.component.html',\n styleUrls: ['./cashier-work-shifts.component.scss']\n})\nexport class CashierWorkShiftsComponent {\n // ////////////////////////////////////////////////////////////////////////////\n // // VARYING :\n // // Modify per similar component.\n // ////////////////////////////////////////////////////////////////////////////\n\n //Enable debugMode to make API modules return static data from within the service class\n debugMode: boolean = false;\n\n constructor(private formBuilder: FormBuilder, private modelService: CashierWorkShiftService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private datePipe: DatePipe, private configPoSService: ConfigPoSService,\n ) {\n }\n\n\n listHeader = new ListPageHeaderComponent();\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n tableView: any = true;\n\n translationName: string = 'CashierWorkShift'\n\n sortableKeys = [];\n searchableKeys = ['Code'];\n\n modelObject: CashierWorkShiftModel = new CashierWorkShiftModel();\n\n ogData: CashierWorkShiftModel[] = [];\n \n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Name: new FormControl(),\n From: new FormControl(),\n To: new FormControl(),\n });\n\n\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n if (this.debugMode) {\n this.enableDebugOnAllServices();\n }\n\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'CashierWorkShiftCode', property: 'Code' };\n this.sortableKeys = [\n { label: 'CashierWorkShiftCode', property: 'Code' },\n { label: 'CashierWorkShiftName', property: 'Name' },\n { label: 'CashierWorkShiftFrom', property: 'From' },\n { label: 'CashierWorkShiftTo', property: 'To' },\n ];\n\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n\n this.loadServices();\n }\n\n\n enableDebugOnAllServices() {\n //this.modelService.debugMode = true;\n }\n\n lastCode = 0;\n codeWasChecked = false;\n checkCode() : boolean{\n if(!(this.lastCode > 0)){\n this.codeWasChecked = false;\n console.log(\"bad code\", this.lastCode);\n \n return this.codeWasChecked;\n }\n this.configPoSService.checkWorkShiftCode(this.lastCode).subscribe(\n result => {\n this.codeWasChecked = result;\n }\n );\n console.log(\"code availability:\",this.codeWasChecked);\n \n return this.codeWasChecked;\n }\n showModal(Id, action) {\n if (action === 'Add') {\n //this.lastCode = this.tableEngine.ogData.length>0?this.tableEngine.ogData[this.tableEngine.ogData.length - 1].Code:0;\n this.lastCode = this.configPoS.StartingCodeWorkShifts;\n for (let index = 0; index < this.tableEngine.ogData.length; index++) {\n if(this.tableEngine.ogData.findIndex(x=>x.Code == this.lastCode) >= 0)\n { this.lastCode++ } \n else { break; }\n }\n this.checkCode();\n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder);\n }\n else if (action === 'Edit') {\n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder);\n this.lastCode = this.tableEngine.modelObject.Code\n }\n else if (action === 'Info') {\n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder);\n this.lastCode = this.tableEngine.modelObject.Code\n }\n this.tableView = false;\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n console.log((action + \" object\"), this.modelObject);\n\n \n console.log(\"modelObject after entering edit\", this.modelObject);\n }\n currentDate='';\n currentExpirationDate='';\n createForm(modelObject, formBuilder): FormGroup {\n \n return formBuilder.group({\n Name: [modelObject.Name, Validators.compose([Validators.required])],\n From: [modelObject.From, Validators.compose([Validators.required])],\n To: [modelObject.To, Validators.compose([Validators.required])],\n });\n }\n\n addObject() {\n this.currentAction = 'loading';\n\n let lastId = this.tableEngine.ogData.length>0?this.tableEngine.ogData[this.tableEngine.ogData.length - 1].Id:0;\n this.modelObject = new CashierWorkShiftModel();\n this.modelObject.Id = this.debugMode ? lastId + 1 : 0;\n this.modelObject.Code = this.lastCode;\n let timezoneOffset = (new Date()).getTimezoneOffset();\n let FromUTC = new Date(this.mainForm.getRawValue().From)\n FromUTC = new Date(FromUTC.setTime(FromUTC.getTime() - (timezoneOffset * 60 * 1000)));\n let ToUTC = new Date(this.mainForm.getRawValue().To)\n ToUTC = new Date(ToUTC.setTime(ToUTC.getTime() - (timezoneOffset * 60 * 1000)));\n //console.log(\"timezone\", timezoneOffset);\n //console.log(\"now + timezone\", new Date((new Date()).setTime(new Date().getTime() - (timezoneOffset * 60 * 1000))));\n //console.log(\"now normal\", new Date());\n \n \n // console.log(\"og\",this.mainForm.getRawValue().From);\n // console.log(\"utc\",this.mainForm.getRawValue().From.toUTCString());\n // console.log(\"locale\",this.mainForm.getRawValue().From.toLocaleString());\n // console.log(\"utc to locale\",this.mainForm.getRawValue().From.toUTCString().toLocaleString());\n // console.log(FromUTC);\n \n this.modelObject.Name = this.mainForm.getRawValue().Name;\n this.modelObject.From = FromUTC;\n this.modelObject.To = ToUTC;\n let test = new Date()\n //test.setUTCHours(this.mainForm.getRawValue().From.getUTCHours());\n //console.log(test);\n \n \n this.executeAddObject();\n }\n\n executeAddObject() {\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true || result > 0) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n if (this.sideModalRef === undefined) {\n if (this.smallModal != undefined) {\n this.tableEngine.smallModal.hide();\n }\n else {\n this.tableView = this.prevAction === 'AddThenNew' ? false : true;\n \n this.prevAction = '';\n }\n }\n else {\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n \n if(this.prevAction != 'AddThenNew'){\n this.goBack();\n }\n }\n else {\n console.log(result);\n \n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n\n editObject() {\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n let tempObj = new CashierWorkShiftModel();\n tempObj.Id =this.modelObject.Id;\n tempObj.Code = this.lastCode;\n console.log(new Date());\n console.log(this.mainForm.getRawValue().From);\n let timezoneOffset = (new Date()).getTimezoneOffset();\n let FromUTC = new Date(this.mainForm.getRawValue().From)\n FromUTC = new Date(FromUTC.setTime(FromUTC.getTime() - (timezoneOffset * 60 * 1000)));\n let ToUTC = new Date(this.mainForm.getRawValue().To)\n ToUTC = new Date(ToUTC.setTime(ToUTC.getTime() - (timezoneOffset * 60 * 1000)));\n tempObj.Name = this.mainForm.getRawValue().Name;\n tempObj.From = FromUTC;\n tempObj.To = ToUTC;\n this.executeEditObject(tempObj);\n console.log(\"saved object\", tempObj);\n \n }\n\n executeEditObject(Object) {\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n\n if (this.sideModalRef === undefined) {\n if (this.smallModal != undefined) {\n this.tableEngine.smallModal.hide();\n }\n else {\n this.tableView = true;\n }\n }\n else {\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n \n this.goBack();\n \n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n SearchFrom: Date = null;\n SearchTo: Date = null;\n\n clearSearch() {\n this.SearchFrom = null;\n this.SearchTo = null;\n }\n\n prevAction = '';\n addAndNew() {\n this.prevAction = 'AddThenNew';\n this.addObject();\n this.showModal(null, 'Add');\n }\n\n configPoS = new ConfigPoSModel();\n loadServices() {\n this.currentAction = 'loading';\n this.configPoSService.getFirst().subscribe(\n configPoSData => {\n this.configPoS = configPoSData;\n this.tableEngine.loadData();\n }\n )\n }\n\n goBack(){\n console.log(\"back\");\n \n this.modelObject = {};\n this.currentAction = \"\";\n this.tableView = true;\n\n \n console.log(this.modelObject);\n console.log(this.lastCode);\n }\n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepChangeSort(sortKey) {\n this.SearchFrom = null;\n this.SearchTo = null;\n \n \n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n\n getFormattedDate(dateString: any){\n let splitDate: number[] = dateString.toString().split(\"/\");\n\n return new Date(splitDate[2], splitDate[1]-1, splitDate[0])\n }\n // ///////////////////////////////////////////////////////\n \n displayMode = 'list';\n changeDisplayMode(mode): void {\n this.displayMode = mode;\n }\n itemsPerPageChange(perPage: number): void {\n this.tableEngine.paginateData(perPage, 1)\n }\n}\n","\n\n\n\n\n
    \n
    \n
    \n\n
    \n \n \n \n \n
    \n
    \n\n
    \n\n
    \n \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    0)\">\n {{\"CashierWorkShiftCodeRequired\" | translate}}
    \n
    \n {{\"CasherStaffCodeAlreadyTaken\" | translate}}
    \n
    \n\n
    \n\n
    \n\n
    \n\n
    \n \n
    \n \n
    \n \n
    \n {{\"CashierWorkShiftNameRequired\" | translate}}
    \n \n
    \n
    \n\n
    \n\n
    \n
    \n \n
    \n \n \n \n
    \n \n
    \n {{\"CashierWorkShiftFromRequired\" | translate}}
    \n \n
    \n\n
    \n\n
    \n \n
    \n \n \n \n
    \n \n
    \n {{\"CashierWorkShiftToRequired\" | translate}}
    \n \n
    \n
    \n
    \n\n
    \n
    \n
    \n\n
    \n
    \n
    \n \n  \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n
    \n
    \n
    1 && \n tableEngine.deletionList.length === tableEngine.ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n\n\n\n
    \n\n
    \n\n
    \n
    \n
    \n
    \n \n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n \n \n \n {{\"CashierWorkShiftCode\" | translate}}\n \n \n \n \n {{\"CashierWorkShiftName\" | translate}}\n \n \n \n \n {{\"CashierWorkShiftFrom\" | translate}}\n \n \n \n \n {{\"CashierWorkShiftTo\" | translate}}\n \n\n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • \n {{item}}\n
  • \n
    \n
    \n
    \n\n
    \n
    \n \n \n
    \n
    {{obj.Code}}{{obj.Name}}{{obj.From | date:\"hh:mma\"}}{{obj.To | date:\"hh:mma\"}}\n \n \n \n \n \n
    \n\n
    \n
    \n \n
    \n\n \n \n \n \n
    \n
    \n
    \n\n\n
    \n
    \n\n
    \n
    \n
    \n\n
    \n\n
     
    \n\n\n
     
    \n\n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { TableEngine } from '../../../invoices/TableEngine'\nimport { ModalDirective, ModalOptions } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from '../../app/aio/shared/side-popup/side-popup.component';\n\n\nimport { CodingUnitModel } from \"../../../invoices/coding-units/CodingUnitModel\";\nimport { CodingUnitService } from '../../../invoices/coding-units/CodingUnitService';\nimport { ClientService } from \"../../../invoices/clients/ClientService\";\nimport { ClientModel } from \"../../../invoices/clients/ClientModel\";\nimport { DatePipe, formatDate } from '@angular/common';\nimport { PaymentMethodModel } from \"../../purchases/purchase-orders/PaymentMethodModel\";\nimport { PaymentMethodService } from \"../../purchases/purchase-orders/PaymentMethodService\";\nimport { CashierOrderModel } from \"../cashier-orders/CashierOrderModel\";\nimport { CashierSessionModel } from \"../cashier-sessions/CashierSessionModel\";\nimport { CashierOrderService } from \"../cashier-orders/CashierOrderService\";\nimport { CashierOrderItemService } from '../cashier-orders/CashierOrderItemService';\nimport { CashierOrderItemModel } from '../cashier-orders/CashierOrderItemModel';\nimport { CashierSessionService } from '../cashier-sessions/CashierSessionService';\nimport { CashRegisterService } from '../cashier-machines/CashRegisterService';\nimport { Router } from '@angular/router';\nimport { DateAdapter } from '@angular/material/core';\n\n\nimport html2canvas from 'html2canvas';\nimport jspdf from 'jspdf';\nimport { ConfigPoSService } from '../config-pos-general/ConfigPoSService';\nimport { ConfigPoSModel } from '../config-pos-general/ConfigPoSModel';\nimport { ListPageHeaderComponent } from 'src/app/containers/pages/list-page-header/list-page-header.component';\nimport { StoreItemsService } from 'src/app/Invintory/store-items-service.service';\nimport { StoreItemsModel } from 'src/app/Invintory/models/StoreItemsModel';\nimport { TaxTypesService } from 'src/app/invoices/tax-types/TaxTypesService';\nimport { TaxTypesModel } from 'src/app/invoices/tax-types/TaxTypesModel';\n\n\n@Component({\n selector: 'app-cashier',\n templateUrl: './cashier.component.html',\n styleUrls: ['./cashier.component.scss']\n})\nexport class CashierComponent {\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n\n //Enable debugMode to make API modules return static data from within the service class\n debugMode: boolean = false;\ntaxes:TaxTypesModel[]=[];\nSeasionTaxes:TaxTypesModel[]=[];\n constructor(private formBuilder: FormBuilder, private modelService: CashierOrderService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private itemService: StoreItemsService, private datePipe: DatePipe, private paymentMethodService: PaymentMethodService,\n private clientService: ClientService, private codingUnitService: CodingUnitService,\n private sessionService: CashierSessionService, private cashRegisterService: CashRegisterService,\n private cashierOrderService: CashierOrderService, private cashierOrderItemService: CashierOrderItemService,\n private configPoSService: ConfigPoSService,\n private _router: Router,\n private taxService:TaxTypesService\n //private cashierOrderService: CashierOrderService,\n ) {\n }\n\n\n listHeader = new ListPageHeaderComponent();\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n tableView: any = false;\n\n translationName: string = 'CashierOrder'\n\n sortableKeys = [];\n searchableKeys = ['Name'];\n\n modelObject: CashierSessionModel = new CashierSessionModel();\n\n ogData: CashierSessionModel[] = [];\n\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n\n @ViewChild('infoModal', { static: true }) infoModal: ModalDirective;\n @ViewChild('orderModal', { static: true }) orderModal: ModalDirective;\n @ViewChild('printModal', { static: true }) printModal: ModalDirective;\n @ViewChild('refundModal', { static: true }) refundModal: ModalDirective;\n @ViewChild('itemNoteModal', { static: true }) itemNoteModal: ModalDirective;\n @ViewChild('clientModal', { static: true }) clientModal: ModalDirective;\n @ViewChild('endSessionModal', { static: true }) endSessionModal: ModalDirective;\n //@ViewChild('sessionOrdersModal', { static: true }) sessionOrdersModal: ModalDirective;\n @ViewChild('orderItemsModal', { static: true }) orderItemsModal: ModalDirective;\n @ViewChild('orderStatusModal', { static: true }) orderStatusModal: ModalDirective;\n @ViewChild('orderStatusReminderModal', { static: true }) orderStatusReminderModal: ModalDirective;\n \n ngOnInit(): void {\n this.taxService.getAll()\n .subscribe(taxes => {\n this.taxes = taxes;\n })\n this.printOrder = new CashierOrderModel();\n if (!(this.sessionService.currentSession.Id>0)){\n this._router.navigate(['app/aio/Points-Of-Sale']);\n }\n else{\n if(this.currentSession.Orders){\n console.log(this.currentSession);\n \n }else{\n this.currentSession.Orders = [];\n this.SeasionTaxes = [];\n }\n }\n if (this.debugMode) {\n this.enableDebugOnAllServices();\n }\n\n this.currentSession = this.sessionService.currentSession;\n\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'Name', property: this.lang === 'ar-EG' ? 'Name' : 'Name' },\n this.sortableKeys = [\n { label: 'ItemName', property: this.lang === 'ar-EG' ? 'Name' : 'Name' },\n ];\n\n\n this.tableEngine.loadTableEngine(this.itemList, this.itemService, this.modelObject,\n this.searchableKeys, this.sortableKeys, null, this.translationName, this.itemOrder,\n null, null, null, this.lang\n )\n\n this.loadServices();\n\n this.tableEngine.itemsPerPage = 999999999;\n this.tableEngine.currentPage = 1;\n\n }\n\n\n enableDebugOnAllServices() {\n //this.modelService.debugMode = true;\n // this.clientService.debugMode = true;\n // this.paymentMethodService.debugMode = true;\n // this.itemService.debugMode = true;\n // this.codingUnitService.debugMode = true;\n //this.sessionService.debugMode = true;\n //this.cashRegisterService.debugMode = true;\n }\n\n viewedOrder: CashierOrderModel = new CashierOrderModel;\n printOrder: CashierOrderModel = new CashierOrderModel;\n showModal(modal:any, action:any){\n debugger;\n //this.currentOrder.IsRefund=(action==\"Refund\")?true:false;\n this.calculateTotalCashierOrderValue();\n if((action=='Info'||action=='Note')&&!(this.currentItem.Id>0)){\n return;\n }\n if((action=='Order') || (action=='Refund')){\n if(!(this.currentOrder.Items.length>0)){\n return;\n }\n else {\n this.tempPaidAmount = 0;\n this.tempChangeGiven = 0;\n this.currentOrder.IsRefund = action=='Refund'?true:false;\n this.currentOrder.PaymentMethodId = this.configPoS.DefaultPaymentMethodId;\n this.currentOrder.Status = null;\n }\n }\n\n if((action=='SessionOrders')){\n this.tableView = true;\n return;\n }\n\n if((action == 'ExitTableView')){\n this.tableView = false;\n return;\n }\n\n if((modal == this.orderStatusModal)){\n this.viewedOrder = action;\n this.tempOrderStatus = this.viewedOrder.Status;\n //this.exportTable();\n }\n \n\n if((modal == this.endSessionModal)){\n this.tempChangeGiven = 0;\n this.tempPaidAmount = 0;\n //this.endingSession = true;\n this.tempSessionEndCash = { Amount:0, \n Bill05:0, Bill025:0, Bill1:0, Bill5:0, Bill10:0, Bill20:0, Bill50:0, Bill100:0, Bill200:0,\n BillTotal:0};\n this.calculateSessionTotal();\n }\n modal.show();\n }\n showOrderItemsModal(order: CashierOrderModel){\n this.viewedOrder = order;\n this.showModal(this.orderItemsModal, 'ShowItems');\n }\n currentSession: CashierSessionModel = new CashierSessionModel({\n //Id:1, Code:1001, CashierId:1, CashierNameAr: \"محمد احمد\", CashierNameEn: \"Mohamad Ahmad\", StartingCash: 1000, LeaveCash:1000\n })\n currentItem: CashierOrderItemModel = new CashierOrderItemModel();\n currentOrder: CashierOrderModel = new CashierOrderModel({\n Id:1,\n PaymentMethodId:null,\n Status:'Complete'\n });\n\n lastSessionCode = 0;\n orderItemInternalId = 1\n\n addOrderItem(ItemId: number){\n debugger;\n let foundItem = this.currentOrder.Items.find(x=>x.ItemId==ItemId);\n if(foundItem){\n foundItem.Quantity += 1;\n this.calculateTotalCashierOrderValue();\n return;\n }\n let item: StoreItemsModel = this.getItemById(ItemId);\n // let unit = this.getUnityById(item.CodingUnitId);\n let temp = new CashierOrderItemModel();\n temp.Id = this.orderItemInternalId;\n temp.CashierOrderId = this.currentOrder.Id;\n temp.ItemId = ItemId;\n temp.ItemNameAr = item.Name;\n temp.ItemNameEn = item.Name;\n // temp.UnitId = item.CodingUnitId;\n // temp.UnitNameAr = unit.NameAr;\n // temp.UnitNameEn = unit.NameEn;\n temp.UnitCost = item.SalePrice;\n temp.Quantity = 1;\n temp.NetPrice = temp.UnitCost;\n \n var tax = this.calcTotalItemTaxes(item);\n temp.AddedValueTax = (Number((temp.NetPrice * tax).toFixed(2)))/100;\n temp.GrossPrice = item.SalePrice + temp.AddedValueTax;\n\n this.currentOrder.Items = this.currentOrder.Items.concat(temp)\n this.orderItemInternalId += 1;\n\n console.log(temp);\n \n this.calculateTotalCashierOrderValue();\n }\n\n removeOrderItem(Id: number){\n let index = this.currentOrder.Items.findIndex(x => x.Id === Id);\n this.currentOrder.Items.splice(index, 1);\n this.currentItem = new CashierOrderItemModel();\n\n this.calculateTotalCashierOrderValue();\n }\n\n selectOrderItem(Id: number){\n this.currentItem = this.currentItem == this.currentOrder.Items.find(x => x.Id === Id)?\n new CashierOrderItemModel():\n this.currentOrder.Items.find(x => x.Id === Id);\n }\n deselectItem(){\n this.currentItem = new CashierOrderItemModel();\n }\n\n currentMode: string = 'Qty'\n lastMode: string = ''\n lastButton: string = ''\n quantityLimit = 999;\n priceLimit = 999999;\n //discountLimit = 100;\n setMode(mode:string){\n this.lastButton = '';\n this.lastMode = '';\n this.currentMode = mode;\n }\n modifyItem(mode:string, button:any){\n if(this.currentOrder.Items.length==0 || !(this.currentItem.Id>0)){\n return;\n }\n \n switch(button){\n case '.':{\n let val = mode=='Qty'?this.currentItem.Quantity:(mode=='Price'?this.currentItem.UnitCost:this.currentItem.DiscountValue);\n if(val.toString().includes('.')){\n this.lastMode = mode;\n return;\n }\n this.lastMode = mode;\n this.lastButton = button;\n return;\n }\n case '+/-':{\n this.currentItem.UnitCost = -this.currentItem.UnitCost;\n this.calculateTotalCashierOrderValue();\n this.lastMode = mode;\n this.lastButton = button;\n return;\n }\n case 'Del':{\n let val = mode=='Qty'?this.currentItem.Quantity:(mode=='Price'?this.currentItem.UnitCost:this.currentItem.DiscountValue);\n if(val==0){\n this.removeOrderItem(this.currentItem.Id);\n return;\n }\n else{\n if(val.toString().length==1){\n val = 0;\n }\n else{\n val = Number(val.toString().slice(0,-1));\n }\n if(mode=='Qty'){this.currentItem.Quantity=val}\n else if(mode=='Price'){this.currentItem.UnitCost=val}\n else {this.currentItem.DiscountValue=val};\n }\n this.calculateTotalCashierOrderValue();\n return;\n }\n }\n\n\n switch(mode){\n case 'Qty': {//Quantity\n if(this.lastMode==mode){\n let quantity = this.currentItem.Quantity.toString();\n if(this.lastButton=='.'){\n console.log(\"adding after (.)\");\n \n this.currentItem.Quantity = Number(quantity.concat(\".\"+button));\n console.log(\"number conversion\",Number(quantity.concat(\".\"+button)));\n \n }\n else if(this.currentItem.Quantity {\n item.TotalPrice = item.UnitCost * item.Quantity;\n totalItemPrices += item.TotalPrice;\n let i: StoreItemsModel = this.getItemById(item.ItemId);\n\n totalItemDiscounts += item.DiscountValue*item.TotalPrice/100;\n item.NetPrice = item.TotalPrice - (item.DiscountValue*item.TotalPrice/100);\n totalItemNetPrices += item.NetPrice;\n\n item.AddedValueTax = (item.NetPrice * this.calcTotalItemTaxes(i))/100;\n totalItemTaxes += Number(item.AddedValueTax.toFixed(2));\n\n item.GrossPrice = item.NetPrice + item.AddedValueTax;\n totalItemGrossPrices += item.GrossPrice;\n });\n \n\n //let finalDiscountValue = this.mainForm.getRawValue().DiscountValue;\n //let finalDiscountIsRate = this.mainForm.getRawValue().DiscountIsRate;\n //let finalCashierOrderDiscount = finalDiscountIsRate?finalDiscountValue*totalItemGrossPrices/100:finalDiscountValue;\n //totalAfterCashierOrderDiscount = totalItemGrossPrices - finalCashierOrderDiscount;\n \n this.currentOrder.ItemTotalPrices = totalItemPrices;\n this.currentOrder.ItemTotalDiscounts = totalItemDiscounts;\n this.currentOrder.ItemTotalNetPrices = totalItemNetPrices;\n this.currentOrder.ItemTotalTaxes = totalItemTaxes;\n this.currentOrder.ItemTotalGrossPrices = totalItemGrossPrices;\n this.currentOrder.TotalValue = totalItemGrossPrices;\n \n //this.currentTotalAfterCashierOrderDiscount = totalAfterCashierOrderDiscount;\n \n return totalCashierOrderValue;\n}\n\nlastOrderCode=0;\nrefund(){\n this.currentOrder.IsRefund = true;\n this.addOrder();\n}\naddOrder(){\n debugger;\n if(this.currentOrder.IsRefund){\n this.currentOrder.Items.forEach(item => {\n item.UnitCost = -item.UnitCost;\n \n });\n }\n if(this.currentOrder.Status=='In-Delivery'){\n this.currentSession.HasOrdersInDelivery = true;\n }\n this.calculateTotalCashierOrderValue();\n //let nextOrderCode = this.configPoSService.getNextCode(this.configPoS.StartingCodeOrders, this.cashierOrderList);\n this.currentOrder.Code = this.lastOrderCode;\n \n\n this.currentOrder.SessionId = this.currentSession.Id;\n this.currentOrder.SessionCode = this.currentSession.Code;\n this.currentOrder.CashRegisterId = this.currentSession.CashRegisterId;\n this.currentOrder.CashRegisterCode = this.currentSession.CashRegisterCode;\n let paymentMethod = this.paymentMethodList.find(x=>x.Id = this.currentOrder.PaymentMethodId);\n this.currentOrder.PaymentMethodAr = paymentMethod.NameAr;\n this.currentOrder.PaymentMethodEn = paymentMethod.NameEn;\n this.currentOrder.Note = this.tempOrderNote;\n this.currentOrder.PaidAmount = this.tempPaidAmount;\n this.currentOrder.ChangeGiven = this.tempChangeGiven;\n this.currentOrder.ChangeGiven = this.tempChangeGiven;\n\n this.currentOrder.ClientId = this.currentOrder.ClientId>0?this.currentOrder.ClientId:this.configPoS.DefaultClientId;\n this.currentOrder.CashierId = this.currentSession.CashierId;\n this.currentOrder.CashRegisterBranchId = this.currentSession.CashRegisterBranchId;\n this.currentOrder.CounterCashBeforeCheckout = this.currentSession.LeaveCash;\n this.currentOrder.CounterCashAfterCheckout = \n this.currentSession.LeaveCash + this.currentOrder.PaidAmount - this.currentOrder.ChangeGiven;\n\n this.cashierOrderService.insertWithItems(this.currentOrder).subscribe(result => {\n if (result === true || result > 0) {\n this.printOrder = this.currentOrder;\n\n //this.tableEngine.loadData();\n this.currentSession.Orders = this.currentSession.Orders.concat(this.currentOrder);\n this.calculateSessionTotal();\n\n this.tempPaidAmount = 0;\n this.tempChangeGiven = 0;\n\n let id = this.currentOrder.Id;\n this.currentOrder = new CashierOrderModel({Id:id+1});\n this.lastButton = '';\n this.lastMode = '';\n this.currentMode = 'Qty';\n //this.lastOrderCode += 1;\n\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAddedOrder\"));\n\n this.orderModal.hide();\n //this.refundModal.hide();\n\n\n this.updateSession();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAddingOrder\"));\n }\n })\n}\n\ncalculateSessionTotal(){\n debugger;\n this.currentSession.HasOrdersInDelivery = false;\n this.currentSession.LeaveCash = 0;\n this.currentSession.SessionTotal = 0;\n this.currentSession.OrderCount = 0;\n this.currentSession.RefundCount = 0;\n this.currentSession.Orders.forEach(order => {\n if(order.Status=='Complete'){\n this.currentSession.LeaveCash += order.TotalValue;\n this.currentSession.SessionTotal += order.TotalValue;\n this.currentSession.OrderCount += order.IsRefund?0:1;\n this.currentSession.RefundCount += order.IsRefund?1:0;\n }\n if(order.Status=='In-Delivery'){\n this.currentSession.HasOrdersInDelivery = true;\n }\n });\n}\nendingSession: boolean = false;\ntempSessionEndNote='';\ncloseEndSessionModal(){\n this.endingSession = false;\n this.endSessionModal.hide();\n}\n\nendSession(){\n this.printOrder = new CashierOrderModel();\n this.endingSession = true;\n this.updateSession();\n}\n\nupdateSession() {\n debugger;\n this.currentAction = 'loading';\n let tempOrderList: CashierOrderModel[] = [];\n let tempOrder: CashierOrderModel;\n for (let index = 0; index < this.currentSession.Orders.length; index++) {\n tempOrder = new CashierOrderItemModel();\n tempOrder = this.currentSession.Orders[index];\n tempOrder.Id = this.debugMode ? this.currentSession.Orders[index].Id : 0;\n this.currentSession.HasOrdersInDelivery = (tempOrder.Status=='In-Delivery')?true:this.currentSession.HasOrdersInDelivery;\n tempOrderList.push(tempOrder);\n }\n\n //let lastId = this.tableEngine.ogData.length>0?this.tableEngine.ogData[this.tableEngine.ogData.length - 1].Id:0;\n\n //this.modelObject = new CashierSessionModel();\n \n //this.currentSession.Id = this.debugMode ? lastId + 1 : 0;\n \n //this.currentSession.Code = this.lastSessionCode + 1;\n console.log(this.lastSessionCode);\n this.currentSession.Orders = tempOrderList;\n \n \n this.calculateSessionTotal();\n\n let tempLeaveCash = this.currentSession.LeaveCash;\n if(this.endingSession){\n this.currentSession.LeaveCash = this.tempSessionEndCash.BillTotal;\n this.currentSession.LeaveBill025 = this.tempSessionEndCash.Bill025;\n this.currentSession.LeaveBill05 = this.tempSessionEndCash.Bill05;\n this.currentSession.LeaveBill1 = this.tempSessionEndCash.Bill1;\n this.currentSession.LeaveBill5 = this.tempSessionEndCash.Bill5;\n this.currentSession.LeaveBill10 = this.tempSessionEndCash.Bill10;\n this.currentSession.LeaveBill20 = this.tempSessionEndCash.Bill20;\n this.currentSession.LeaveBill50 = this.tempSessionEndCash.Bill50;\n this.currentSession.LeaveBill100 = this.tempSessionEndCash.Bill100;\n this.currentSession.LeaveBill200 = this.tempSessionEndCash.Bill200;\n this.currentSession.Taxes = this.SeasionTaxes;\n this.currentSession.Lang = this.lang;\n let timezoneOffset = (new Date()).getTimezoneOffset();\n let nowUTC = new Date()\n nowUTC = new Date(nowUTC.setTime(nowUTC.getTime() - (timezoneOffset * 60 * 1000)));\n this.currentSession.LeaveNote = this.tempSessionEndNote;\n this.currentSession.EndTime = nowUTC;\n this.currentSession.Active = !this.endingSession;\n }\n else{\n this.currentSession.LeaveCash = 0;\n }\n\n this.executeUpdateSession();\n this.currentSession.LeaveCash = tempLeaveCash;\n }\n\n executeUpdateSession() {\n debugger;\n this.sessionService.update(this.currentSession).subscribe(result => {\n if (result === true) {\n //this.tableEngine.loadData();\n //NEW\n this.sessionService.getByIdWithOrders(this.currentSession.Id).subscribe(newResult => {\n if (newResult === true || newResult.Id > 0) {\n this.currentSession = newResult;\n if(this.printOrder.Id>0){\n console.log(this.currentSession.Orders);\n console.log(this.printOrder);\n \n this.printOrder = this.currentSession.Orders[this.currentSession.Orders.length-1];\n console.log(this.printOrder);\n if(!this.tableView && !this.endingSession){\n this.showModal(this.printModal, '');\n }\n }\n this.currentAction = '';\n //this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyUpdatedCashierSession\"));\n if(this.endingSession){\n this.goBack();\n this._router.navigate(['app/aio/Points-Of-Sale']);\n }\n else{\n this.endSessionModal.hide();\n this.orderStatusModal.hide();\n }\n } \n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedLoadingUpdate\"));\n this.currentAction = '';\n }\n }\n );\n }\n else {\n this.endingSession = false;\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedUpdate\"));\n this.currentAction = '';\n }\n })\n }\n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n\n prevAction = '';\n configPoS: ConfigPoSModel = new ConfigPoSModel();\n\n loadServices() {\n this.currentAction = 'loading';\n\n this.clientService.getAll().subscribe(\n clientData => {\n this.clientList = clientData;\n\n this.codingUnitService.getAll().subscribe(\n codingUnitData => {\n this.codingUnitList = codingUnitData;\n\n this.itemService.getAll().subscribe(\n itemData => {\n this.itemList = itemData;\n\n this.paymentMethodService.getAll().subscribe(\n paymentMethodData => {\n this.paymentMethodList = paymentMethodData;\n\n this.configPoSService.getFirst().subscribe(\n configPoSData => {\n this.configPoS = configPoSData;\n this.lastSessionCode = this.configPoS.StartingCodeSessions;\n this.lastOrderCode = this.configPoS.StartingCodeOrders;\n \n this.tableEngine.loadData();\n if(this.currentSession.Orders.length>0){\n this.orderStatusReminderModal.config = new ModalOptions();\n this.showModal(this.orderStatusReminderModal, 'Reminder');\n }\n\n this.tempClientId = this.configPoS.DefaultClientId;\n }\n )\n }\n )\n }\n )\n }\n )\n }\n )\n\n\n }\n \n codingUnitList: CodingUnitModel[] = [];\n itemList: StoreItemsModel[] = [];\n clientList: ClientModel[] = [];\n paymentMethodList: PaymentMethodModel [] = [];\n \n getItemById(Id: any): any {\n return this.itemList.find(i => i.Id === Id);\n }\n getUnityById(Id: any): any {\n return this.codingUnitList.find(i => i.Id === Id);\n }\n getClientById(Id: any): any {\n return this.clientList.find(i => i.Id === Id);\n }\n\n currentTotalItemPrices = 0;\n currentTotalItemDiscounts = 0;\n currentTotalItemNetPrices = 0;\n currentTotalItemTaxes = 0;\n currentTotalItemGrossPrices = 0;\n currentTotalAfterCashierOrderDiscount = 0;\n currentTotalCashierOrderValue = 0;\n\n goBack(){\n console.log(\"back\");\n \n this.modelObject = {};\n this.currentSession = new CashierSessionModel();\n this.sessionService.currentSession = new CashierSessionModel();\n this.currentOrder = new CashierOrderModel();\n\n this.currentTotalItemPrices = 0;\n this.currentTotalItemNetPrices = 0;\n this.currentTotalItemDiscounts = 0;\n this.currentTotalItemGrossPrices = 0;\n this.currentTotalItemTaxes = 0;\n this.currentTotalAfterCashierOrderDiscount = 0;\n this.currentTotalCashierOrderValue = 0;\n\n this.currentAction = \"\";\n this.tableView = true;\n\n \n console.log(this.modelObject);\n console.log(this.lastSessionCode);\n }\n\n tempNote = '';\n tempOrderNote = '';\n tempOrderStatus = '';\n setOrderItemNote(){\n this.currentItem.Note = this.tempNote;\n this.itemNoteModal.hide();\n }\n\n setOrderStatus(){\n let oldStatus = this.viewedOrder.Status;\n this.viewedOrder.Status = this.tempOrderStatus;\n this.calculateSessionTotal();\n //this.orderStatusModal.hide();\n this.viewedOrder.Status = oldStatus;\n }\n\n applyOrderStatusUpdate(){\n this.viewedOrder.Status = this.tempOrderStatus;\n this.calculateSessionTotal();\n this.cashierOrderService.update(this.viewedOrder).subscribe(result => {\n if (result === true || result > 0) {\n //this.tableEngine.loadData();\n //this.currentSession.Orders = this.currentSession.Orders.concat(this.currentOrder);\n this.calculateSessionTotal();\n\n this.tempPaidAmount = 0;\n this.tempChangeGiven = 0;\n\n let id = this.currentOrder.Id;\n this.currentOrder = new CashierOrderModel({Id:id+1});\n this.lastButton = '';\n this.lastMode = '';\n this.currentMode = 'Qty';\n //this.lastOrderCode += 1;\n\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyUpdatedOrder\"));\n\n this.orderModal.hide();\n //this.refundModal.hide();\n\n this.updateSession();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedUpdatingOrder\"));\n }\n })\n }\n tempClientId = null;\n setOrderClient(){\n console.log(this.tempClientId);\n if(this.tempClientId>0){\n let client = this.getClientById(this.tempClientId);\n this.currentOrder.ClientId = client.Id;\n this.currentOrder.ClientNameAr = client.NameAr;\n this.currentOrder.ClientNameEn = client.NameEn;\n }\n else{\n this.currentOrder.ClientId = 0;\n }\n this.clientModal.hide();\n }\n\n tempSessionEndCash = \n { Amount:0, \n Bill05:0, Bill025:0, Bill1:0, Bill5:0, Bill10:0, Bill20:0, Bill50:0, Bill100:0, Bill200:0,\n BillTotal:0};\n\n updateBills(){\n this.tempSessionEndCash.Bill05 = this.tempSessionEndCash.Bill05>0?this.tempSessionEndCash.Bill05:0;\n this.tempSessionEndCash.Bill025 = this.tempSessionEndCash.Bill025>0?this.tempSessionEndCash.Bill025:0;\n this.tempSessionEndCash.Bill1 = this.tempSessionEndCash.Bill1>0?this.tempSessionEndCash.Bill1:0;\n this.tempSessionEndCash.Bill5 = this.tempSessionEndCash.Bill5>0?this.tempSessionEndCash.Bill5:0;\n this.tempSessionEndCash.Bill10 = this.tempSessionEndCash.Bill10>0?this.tempSessionEndCash.Bill10:0;\n this.tempSessionEndCash.Bill20 = this.tempSessionEndCash.Bill20>0?this.tempSessionEndCash.Bill20:0;\n this.tempSessionEndCash.Bill50 = this.tempSessionEndCash.Bill50>0?this.tempSessionEndCash.Bill50:0;\n this.tempSessionEndCash.Bill100 = this.tempSessionEndCash.Bill100>0?this.tempSessionEndCash.Bill100:0;\n this.tempSessionEndCash.Bill200 = this.tempSessionEndCash.Bill200>0?this.tempSessionEndCash.Bill200:0;\n\n this.tempSessionEndCash.BillTotal = \n this.tempSessionEndCash.Bill05 * 0.5 + this.tempSessionEndCash.Bill025 * 0.25 + \n this.tempSessionEndCash.Bill1 + this.tempSessionEndCash.Bill5 * 5 +\n this.tempSessionEndCash.Bill10 * 10 + this.tempSessionEndCash.Bill20 * 20 + \n this.tempSessionEndCash.Bill50 * 50 + this.tempSessionEndCash.Bill100 * 100 +\n this.tempSessionEndCash.Bill200 * 200;\n \n console.log(\"actual end cash\", this.tempSessionEndCash.BillTotal);\n \n }\n\n tempPaidAmount = 0;\n tempChangeGiven = 0;\n checkValue(value:any, action:any){\n value = value>0?value:0;\n if(action=='CheckEndSession'){\n this.tempChangeGiven = this.tempPaidAmount-this.currentOrder.ItemTotalGrossPrices;\n }\n }\n\n openForExport = false;\n exportTable(){\n this.openForExport = true;\n // TableUtil.exportToPdf(\"ExampleTable\");\n var data = document.getElementById('contentToConvert');\n data.style.display = 'inline-block';\n // html2canvas.useCORS = true;\n html2canvas(data,{}).then(canvas => {\n // Few necessary setting options\n var imgWidth = 208;\n var pageHeight = 295;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n var heightLeft = imgHeight;\n const contentDataURL = canvas.toDataURL('image/png')\n let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF\n var position = 0;\n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n pdf.save('new-file.pdf'); // Generated PDF\n data.style.display = 'none';\n \n this.printModal.hide();\n });\n }\n\n // exportTable(){\n // var data = document.getElementById('printingTest');\n // data.style.display = 'inline-block';\n // html2canvas(data,{}).then(canvas => {\n // var imgWidth = 208;\n // var pageHeight = 295;\n // var imgHeight = canvas.height * imgWidth / canvas.width;\n // var heightLeft = imgHeight;\n // const contentDataURL = canvas.toDataURL('image/png')\n // let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF\n // var position = 0;\n // pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n // pdf.save('new-file.pdf'); // Generated PDF\n // data.style.display = 'none';\n \n // });\n // }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n //\n ///////////////////////////////////////////////////////\n // itemsPerPageChange(perPage: number): void {\n // this.tableEngine.paginateData(perPage, 1)\n // }\n\n BarCode;\n addByBarCode(){\n var item = this.itemList.find(i => i.Barcode == this.BarCode);\n if(item!=null && item!=undefined && item.Id > 0){\n this.addOrderItem(item.Id);\n this.BarCode = '';\n }\n }\n calcTotalItemTaxes(Item:StoreItemsModel){\n debugger;\n var totalTaxes = 0;\n if(Item.FirstTaxId > 0){\n var i = this.taxes.findIndex(x=>x.Id == Item.FirstTaxId);\n if(i>-1){\n totalTaxes += this.taxes[i].Percentage;\n var temp = this.taxes[i]\n temp.Value = Item.SalePrice * (temp.Percentage/100);\n var fountInSeasion = this.SeasionTaxes.findIndex(x=>x.Id == this.taxes[i].Id);\n if(fountInSeasion == -1){\n this.SeasionTaxes.push(temp);\n }\n else{\n this.SeasionTaxes[fountInSeasion].Value+= temp.Value\n }\n }\n }\n if(Item.SecondTaxId > 0){\n var i = this.taxes.findIndex(x=>x.Id == Item.SecondTaxId);\n if(i>-1){\n totalTaxes += this.taxes[i].Percentage;\n var temp = this.taxes[i]\n temp.Value = Item.SalePrice * (temp.Percentage/100);\n var fountInSeasion = this.SeasionTaxes.findIndex(x=>x.Id == this.taxes[i].Id);\n if(fountInSeasion == -1){\n this.SeasionTaxes.push(temp);\n }\n else{\n this.SeasionTaxes[fountInSeasion].Value+= temp.Value\n }\n }\n }\n return totalTaxes;\n }\n}\n","\n
    \n
    \n
    \n
    \n

    \n {{\"CashierSessionOrders\" | translate}}

    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{\"CashierOrderCode\" | translate}}{{\"CashierOrderClientName\" | translate}}{{\"CashierOrderDate\" | translate}}{{\"CashierOrderItems\" | translate}}{{\"CashierOrderIsRefund\" | translate}}{{\"CashierOrderStatus\" | translate}}{{\"CashierOrderItemTotalNetPrices\" | translate}}{{\"CashierOrderItemTotalTaxes\" | translate}}{{\"CashierOrderTotalValue\" | translate}}{{\"CashierOrderPaymentMethod\" | translate}}{{\"CashierOrderNote\" | translate}}
    {{\"CashierSessionOrdersEmpty\"|translate}}
    \n {{obj.Id>0?(lang==='ar-EG'?obj.Code:obj.Code):\"None\"|translate}}\n \n {{obj.ClientId>0?(lang==='ar-EG'?obj.ClientNameAr:obj.ClientNameEn):\"NoClient\"|translate}}\n \n {{obj.ModifiedDate | date:\"dd/MM/yyyy - HH:mm:ss\"}}\n \n 0)\"\n id=\"showOrderItems\" class=\"btn btn-secondary\"\n (click)=\"showOrderItemsModal(obj)\"\n style=\"font-weight: bold; width: 65px; height: 25px; font-size: 12px; text-align: center; padding: 2px;\">\n {{\"Show\" | translate}}\n \n {{obj.IsRefund?(\"CashierOrderIsRefundTrue\"|translate):(\"CashierOrderIsRefundFalse\"|translate)}}\n \n {{obj.Status | translate}}\n \n {{obj.ItemTotalNetPrices.toFixed(2)}}\n \n {{obj.ItemTotalTaxes.toFixed(2)}}\n \n {{obj.TotalValue.toFixed(2)}}\n \n {{obj.PaymentMethodId>0?(lang==='ar-EG'?obj.PaymentMethodAr:obj.PaymentMethodEn):\"None\"|translate}}\n \n {{obj.Note}}\n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n

    \n {{\"CashierOrderItems\" | translate}}

    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{\"CashierOrderItemName\" | translate}}{{\"CashierOrderItemUnit\" | translate}}{{\"CashierOrderItemUnitCost\" | translate}}{{\"CashierOrderItemQuantity\" | translate}}{{\"CashierOrderItemTotalPrice\" | translate}}{{\"CashierOrderItemDiscountValue\" | translate}}{{\"CashierOrderItemNetPrice\" | translate}}{{\"CashierOrderItemTotalTaxValues\" | translate}}{{\"CashierOrderItemGrossPrice\" | translate}}{{\"CashierOrderItemNote\" | translate}}
    \n {{obj.ItemId>0?(lang==='ar-EG'?obj.ItemNameAr:obj.ItemNameEn):\"None\"|translate}}\n \n {{obj.UnitId>0?(lang==='ar-EG'?obj.UnitNameAr:obj.UnitNameEn):\"None\"|translate}}\n \n {{obj.UnitCost.toFixed(2)}}\n \n {{obj.Quantity.toFixed(2)}}\n \n {{obj.TotalPrice.toFixed(2)}}\n \n {{obj.DiscountValue.toFixed(2)}}{{obj.DiscountIsRate?'%':''}}\n \n {{obj.NetPrice.toFixed(2)}}\n \n {{obj.AddedValueTax.toFixed(2)}}\n \n {{obj.GrossPrice.toFixed(2)}}\n \n {{obj.Note}}\n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n

    \n {{\"CashierOrderItemInfo\" | translate}}

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

    \n {{(currentOrder.IsRefund?\"CashierRefundSummary\":\"CashierOrderSummary\") | translate}}

    \n
    \n
    \n \n
    \n\n
    \n\n
    \n \n \n \n
    \n
    \n
    \n \n \n \n
    \n
    \n
    \n \n \n \n
    \n\n
    \n\n
    \n\n
    \n\n
    \n \n \n \n \n
    \n
    \n
    \n \n \n \n \n
    \n\n
    \n\n
    \n\n
    \n\n
    \n \n \n \n {{lang==='ar-EG'?paymentMethod.NameAr:paymentMethod.NameEn}}\n \n \n
    \n
    \n
    \n \n \n \n {{\"CashierOrderComplete\"|translate}}\n \n \n {{\"CashierOrderDelivery\"|translate}}\n \n \n
    \n\n
    \n\n
    \n\n
    \n \n \n \n
    \n\n
    \n
    \n \n \n
    \n \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n

    \n {{\"CashierOrderSummary\" | translate}}

    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{\"CashierOrderItemName\" | translate}}{{\"CashierOrderItemUnit\" | translate}}{{\"CashierOrderItemUnitCost\" | translate}}{{\"CashierOrderItemQuantity\" | translate}}{{\"CashierOrderItemTotalPrice\" | translate}}{{\"CashierOrderItemDiscountValue\" | translate}}{{\"CashierOrderItemNetPrice\" | translate}}{{\"CashierOrderItemTotalTaxValues\" | translate}}{{\"CashierOrderItemGrossPrice\" | translate}}{{\"CashierOrderItemNote\" | translate}}
    \n {{obj.ItemId>0?(lang==='ar-EG'?obj.ItemNameAr:obj.ItemNameEn):\"None\"|translate}}\n \n {{obj.UnitId>0?(lang==='ar-EG'?obj.UnitNameAr:obj.UnitNameEn):\"None\"|translate}}\n \n {{obj.UnitCost.toFixed(2)}}\n \n {{obj.Quantity.toFixed(2)}}\n \n {{obj.TotalPrice.toFixed(2)}}\n \n {{obj.DiscountValue.toFixed(2)}}{{obj.DiscountIsRate?'%':''}}\n \n {{obj.NetPrice.toFixed(2)}}\n \n {{obj.AddedValueTax.toFixed(2)}}\n \n {{obj.GrossPrice.toFixed(2)}}\n \n {{obj.Note}}\n
    \n \n
    \n \n \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n

    \n {{\"CashierOrderItemNote\" | translate}}

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

    \n {{\"CashierEndSession\" | translate}}

    \n
    \n
    \n \n
    \n
    \n \n \n \n
    \n\n
    \n
    \n \n \n
    \n
    \n\n
    \n \n \n \n
    \n
    \n
    \n \n \n \n
    \n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n\n
    \n \n \n \n
    \n
    \n
    \n \n \n \n
    \n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n\n
    \n \n \n \n
    \n
    \n
    \n \n \n \n
    \n
    \n
    \n \n \n \n
    \n
    \n\n
    \n\n
    \n \n \n \n \n
    \n
    \n \n \n \n
    \n
    \n
    \n {{\"CashierSessionHasOrdersInDelivery\" | translate}}
    \n
    \n \n \n
    \n
    \n \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n

    \n {{\"CashierOrderClient\" | translate}}

    \n
    \n
    \n
    \n \n \n \n {{lang==='ar-EG'?client.NameAr:client.NameEn}}\n \n \n \n
    \n \n \n
    \n \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n

    \n {{\"CashierOrderStatus\" | translate}}

    \n
    \n
    \n
    \n \n \n \n {{\"CashierOrderComplete\"|translate}}\n \n \n {{\"CashierOrderDelivery\"|translate}}\n \n \n {{\"CashierOrderCancelled\"|translate}}\n \n \n \n
    \n \n \n
    \n \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n

    \n {{\"CashierOrderStatusReminder\" | translate}}

    \n
    \n
    \n
    \n \n
    \n \n
    \n \n
    \n
    \n
    \n\n
    \n
    \n
    \n {{\"CashierName\" | translate}} : {{currentSession.CashierId>0?(lang==='ar-EG'?currentSession.CashierNameAr:currentSession.CashierNameEn):\"CashierNameError\"|translate}}\n
    \n
    \n
    \n \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n {{\"CashierSessionOrders\"|translate}}
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{\"CashierOrderCode\" | translate}}{{\"CashierOrderClientName\" | translate}}{{\"CashierOrderDate\" | translate}}{{\"CashierOrderItems\" | translate}}{{\"CashierOrderIsRefund\" | translate}}{{\"CashierOrderStatus\" | translate}}{{\"CashierOrderItemTotalNetPrices\" | translate}}{{\"CashierOrderItemTotalTaxes\" | translate}}{{\"CashierOrderTotalValue\" | translate}}{{\"CashierOrderPaymentMethod\" | translate}}{{\"CashierOrderNote\" | translate}}
    {{\"CashierSessionOrdersEmpty\"|translate}}
    \n {{obj.Id>0?(lang==='ar-EG'?obj.Code:obj.Code):\"None\"|translate}}\n \n {{obj.ClientId>0?(lang==='ar-EG'?obj.ClientNameAr:obj.ClientNameEn):\"NoClient\"|translate}}\n \n {{obj.ModifiedDate | date:\"dd/MM/yyyy - HH:mm:ss\"}}\n \n 0)\"\n id=\"showOrderItems\" class=\"btn btn-secondary\"\n (click)=\"showOrderItemsModal(obj)\"\n style=\"font-weight: bold; width: 65px; height: 25px; font-size: 12px; text-align: center; padding: 2px;\">\n {{\"Show\" | translate}}\n \n {{obj.IsRefund?(\"CashierOrderIsRefundTrue\"|translate):(\"CashierOrderIsRefundFalse\"|translate)}}\n \n \n \n {{obj.Status | translate}}\n \n {{obj.ItemTotalNetPrices.toFixed(2)}}\n \n {{obj.ItemTotalTaxes.toFixed(2)}}\n \n {{obj.TotalValue.toFixed(2)}}\n \n {{obj.PaymentMethodId>0?(lang==='ar-EG'?obj.PaymentMethodAr:obj.PaymentMethodEn):\"None\"|translate}}\n \n {{obj.Note}}\n
    \n \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n \n
     
    \n \n
    \n
    \n
    \n
    \n\n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{\"CashierItemName\" | translate}}{{\"CashierItemPrice\" | translate}}{{\"TotalItemTaxes\" | translate}}
    \n {{lang==='ar-EG'?obj.Name:obj.Name}}\n \n {{obj.SalePrice.toFixed(2)}}\n \n {{calcTotalItemTaxes(obj).toFixed(2)}}\n
    \n
    \n
    \n
    \n\n
    \n \n \n
    \n
    \n
    \n {{\"CashierOrderItemInfo\"|translate}}\n
    \n
    \n {{\"CashierOrderRefund\"|translate}}\n
    \n
    \n {{\"CashierOrderItemNote\"|translate}}\n
    \n
    \n
    \n
    \n
    \n
    {{\"CashierOrderClientName\"|translate}}
    \n\n
    \n \n
    \n\n \n
    \n
    \n {{\"CashierOrderProceed\"|translate}}\n
    \n
    \n\n
    \n \n
    \n
    {{'CashierQty'|translate}}
    \n
    7
    \n
    8
    \n
    9
    \n
    \n
    \n
    {{'CashierPrice'|translate}}
    \n
    4
    \n
    5
    \n
    6
    \n
    \n
    \n
    {{'CashierDsc'|translate}}
    \n
    1
    \n
    2
    \n
    3
    \n
    \n
    \n
    حذف
    \n
    +/-
    \n
    0
    \n
    .
    \n
    \n
    \n
    \n
    \n \n
    \n\n
    \n
    \n
    \n\n\n\n\n","export class ConfigPoSModel {\r\n Id?: number;\r\n Code?: number;\r\n DefaultClientId?: number;\r\n DefaultTemplateId?: number;\r\n DefaultPaymentMethodId?: number;\r\n EnableDiscountLimit?: boolean;\r\n DiscountLimit?: number;\r\n EnableAutoCodes?: boolean;\r\n StartingCode?: number;\r\n EnableAutoCodesForCashRegisiters?: boolean;\r\n StartingCodeCashRegisiters?: number;\r\n EnableAutoCodesForCashiers?: boolean;\r\n StartingCodeCashiers?: number;\r\n EnableAutoCodesForWorkShifts?: boolean;\r\n StartingCodeWorkShifts?: number;\r\n StartingCodeOrders?: number;\r\n StartingCodeSessions?: number;\r\n ActivePaymentMethods?: string;\r\n ActiveItems?: string;\r\n EnableDigitButtons?: boolean;\r\n EnableItemImages?: boolean;\r\n EnableAccountingPerInvoice?: boolean;\r\n EnableAddingItemsViaSerial?: boolean;\r\n EnableDelayedPayment?: boolean;\r\n EnableAutoSettlement?: boolean;\r\n DefaultEarningsAccountId?: number;\r\n DefaultLossesAccountId?: number;\r\n constructor(obj?: ConfigPoSModel) {\r\n obj = obj ? obj : {};\r\n this.Id = obj.Id ? obj.Id : 0;\r\n this.Code = obj.Code ? obj.Code : 0;\r\n this.DefaultClientId = obj.DefaultClientId ? obj.DefaultClientId : 0;\r\n this.DefaultTemplateId = obj.DefaultTemplateId ? obj.DefaultTemplateId : 0;\r\n this.DefaultPaymentMethodId = obj.DefaultPaymentMethodId ? obj.DefaultPaymentMethodId : 0;\r\n this.EnableDiscountLimit = obj.EnableDiscountLimit ? obj.EnableDiscountLimit : false;\r\n this.DiscountLimit = obj.DiscountLimit ? obj.DiscountLimit : 0;\r\n this.EnableAutoCodesForCashRegisiters = obj.EnableAutoCodesForCashRegisiters ? obj.EnableAutoCodesForCashRegisiters : false;\r\n this.StartingCodeCashRegisiters = obj.StartingCodeCashRegisiters ? obj.StartingCodeCashRegisiters : 0;\r\n this.EnableAutoCodesForCashiers = obj.EnableAutoCodesForCashiers ? obj.EnableAutoCodesForCashiers : false;\r\n this.StartingCodeCashiers = obj.StartingCodeCashiers ? obj.StartingCodeCashiers : 0;\r\n this.EnableAutoCodesForWorkShifts = obj.EnableAutoCodesForWorkShifts ? obj.EnableAutoCodesForWorkShifts : false;\r\n this.StartingCodeWorkShifts = obj.StartingCodeWorkShifts ? obj.StartingCodeWorkShifts : 0;\r\n this.StartingCodeOrders = obj.StartingCodeOrders ? obj.StartingCodeOrders : 0;\r\n this.StartingCodeSessions = obj.StartingCodeSessions ? obj.StartingCodeSessions : 0;\r\n this.ActivePaymentMethods = obj.ActivePaymentMethods ? obj.ActivePaymentMethods : '';\r\n this.ActiveItems = obj.ActiveItems ? obj.ActiveItems : '';\r\n this.EnableDigitButtons = obj.EnableDigitButtons ? obj.EnableDigitButtons : false;\r\n this.EnableItemImages = obj.EnableItemImages ? obj.EnableItemImages : false;\r\n this.EnableAccountingPerInvoice = obj.EnableAccountingPerInvoice ? obj.EnableAccountingPerInvoice : false;\r\n this.EnableAddingItemsViaSerial = obj.EnableAddingItemsViaSerial ? obj.EnableAddingItemsViaSerial : false;\r\n this.EnableDelayedPayment = obj.EnableDelayedPayment ? obj.EnableDelayedPayment : false;\r\n this.EnableAutoSettlement = obj.EnableAutoSettlement ? obj.EnableAutoSettlement : false;\r\n this.DefaultEarningsAccountId = obj.DefaultEarningsAccountId ? obj.DefaultEarningsAccountId : 0;\r\n this.DefaultLossesAccountId = obj.DefaultLossesAccountId ? obj.DefaultLossesAccountId : 0;\r\n }\r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ConfigPoSModel } from \"./ConfigPoSModel\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConfigPoSService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n debugData: ConfigPoSModel [] = []\r\n // debugData: ConfigPoSModel [] = [\r\n // {\r\n // Id:1, Code:1001, DefaultClientId:0, DefaultTemplateId:0, DefaultPaymentMethodId:0, EnableDiscountLimit:false, \r\n // DiscountLimit:0, EnableAutoCodes:false, StartingCode:0, ActivePaymentMethods:'1,2', ActiveItems:'1,2', EnableDigitButtons:false, \r\n // EnableItemImages:false, EnableAccountingPerInvoice:false, EnableAddingItemsViaSerial:false, EnableDelayedPayment:false, \r\n // EnableAutoSettlement:false, DefaultEarningsAccountId:0, DefaultLossesAccountId:0,\r\n // }\r\n // ];\r\n debugMode: boolean = false;\r\n\r\n baseUrl = environment.baseApiUrl;\r\n // baseUrl = 'http://localhost:60289/';\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getFirst(): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}ConfigPoS/GetFirst`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n update(payload: ConfigPoSModel): Observable {\r\n if(this.debugMode){\r\n this.debugData[this.debugData.findIndex(x=>x.Id==payload.Id)] = payload;\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}ConfigPoS/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n checkCashierCode(code:number): Observable {\r\n // if(this.debugMode){\r\n // return of(this.debugData.find(x=>x.Code==code)?false:true)\r\n // }\r\n return this.http\r\n .get(`${this.baseUrl}ConfigPoS/CheckCashierCode/${code}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n checkOrderCode(code:number): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}ConfigPoS/CheckOrderCode/${code}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n checkSessionCode(code:number): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}ConfigPoS/CheckSessionCode/${code}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n checkCashRegisterCode(code:number): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}ConfigPoS/CheckCashRegisterCode/${code}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n checkWorkShiftCode(code:number): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}ConfigPoS/CheckWorkShiftCode/${code}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n \r\n\r\n // getNextCode(startingCode:any, list:any) : number{\r\n // let code = startingCode;\r\n // for (let index = 0; index < list.length; index++) {\r\n // const element = list[index];\r\n // if(list.find(x=>x.Code==code)){\r\n // code += 1;\r\n // }\r\n // else{\r\n // return code;\r\n // }\r\n // }\r\n // return code;\r\n // }\r\n}\r\n","import { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { TableEngine } from '../../../invoices/TableEngine'\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from '../../app/aio/shared/side-popup/side-popup.component';\nimport { Observable, of, Subscription } from 'rxjs';\n\nimport { NgSelectComponent } from '@ng-select/ng-select';\n\nimport { DatePipe, formatDate } from '@angular/common';\n\n\nimport { ConfigPoSService } from \"./ConfigPoSService\";\nimport { ConfigPoSModel } from \"./ConfigPoSModel\";\nimport { ClientService } from '../../../invoices/clients/ClientService';\nimport { PaymentMethodService } from '../../purchases/purchase-orders/PaymentMethodService';\nimport { ItemService } from '../../../invoices/items/ItemService';\nimport { ClientModel } from '../../../invoices/clients/ClientModel';\nimport { Router } from '@angular/router';\nimport { ListPageHeaderComponent } from 'src/app/containers/pages/list-page-header/list-page-header.component';\n\n@Component({\n selector: 'app-config-pos-general',\n templateUrl: './config-pos-general.component.html',\n styleUrls: ['./config-pos-general.component.scss']\n})\nexport class ConfigPosGeneralComponent {\n // ////////////////////////////////////////////////////////////////////////////\n // // VARYING :\n // // Modify per similar component.\n // ////////////////////////////////////////////////////////////////////////////\n\n //Enable debugMode to make API modules return static data from within the service class\n debugMode: boolean = false;\n\n constructor(private formBuilder: FormBuilder, private modelService: ConfigPoSService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private datePipe: DatePipe, private clientService: ClientService, private paymentMethodService: PaymentMethodService,\n private itemService: ItemService, private _router: Router\n ) {\n }\n\n listHeader = new ListPageHeaderComponent();\n translationName: string = 'ConfigPoS'\n\n modelObject: ConfigPoSModel = new ConfigPoSModel();\n\n declare lang: any;\n ngOnInit(): void {\n if (this.debugMode) {\n this.enableDebugOnAllServices();\n }\n this.lang = localStorage.getItem('theme_lang');\n this.loadServices();\n }\n\n currentAction = '';\n\n clientList = [];\n paymentMethodList = [];\n itemList = [];\n loadServices() {\n this.currentAction = 'loading';\n \n\n this.clientService.getAll().subscribe(\n clientData => {\n this.clientList = clientData;\n\n this.itemService.getAll().subscribe(\n itemData => {\n this.itemList = itemData;\n \n this.paymentMethodService.getAll().subscribe(\n paymentMethodData => {\n this.paymentMethodList = paymentMethodData;\n this.loadModelObject();\n }\n )\n }\n )\n }\n )\n }\n\n loadModelObject(){\n this.currentAction = 'loading';\n this.modelService.getFirst().subscribe(\n config => {\n this.modelObject = config;\n this.mainForm = this.createForm(this.modelObject, this.formBuilder);\n this.currentAction = '';\n \n this.toggleInput(this.mainForm.getRawValue().EnableAutoCodesForCashiers, this.mainForm.get('StartingCodeCashiers'));\n this.toggleInput(this.mainForm.getRawValue().EnableAutoCodesForCashRegisiters, this.mainForm.get('StartingCodeCashRegisiters'));\n this.toggleInput(this.mainForm.getRawValue().EnableAutoCodesForWorkShifts, this.mainForm.get('StartingCodeWorkShifts'));\n }\n )\n }\n\n enableDebugOnAllServices() {\n //this.modelService.debugMode = true;\n // this.clientService.debugMode = true;\n // this.itemService.debugMode = true;\n // this.paymentMethodService.debugMode = true;\n }\n\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n DefaultClientId: new FormControl(),\n //DefaultTemplateId: new FormControl(),\n DefaultPaymentMethodId: new FormControl(),\n //EnableDiscountLimit: new FormControl(),\n DiscountLimit: new FormControl(),\n EnableAutoCodesForCashRegisiters: new FormControl(),\n StartingCodeCashRegisiters: new FormControl(),\n EnableAutoCodesForCashiers: new FormControl(),\n StartingCodeCashiers: new FormControl(),\n EnableAutoCodesForWorkShifts: new FormControl(),\n StartingCodeWorkShifts: new FormControl(),\n StartingCodeOrders: new FormControl(),\n StartingCodeSessions: new FormControl(),\n //ActivePaymentMethods: new FormControl(),\n //ActiveItems: new FormControl(),\n //EnableDigitButtons: new FormControl(),\n //EnableItemImages: new FormControl(),\n //EnableAccountingPerInvoice: new FormControl(),\n //EnableAddingItemsViaSerial: new FormControl(),\n //EnableDelayedPayment: new FormControl(),\n //EnableAutoSettlement: new FormControl(),\n //DefaultEarningsAccountId: new FormControl(),\n //DefaultLossesAccountId: new FormControl(),\n });\n\n createForm(modelObject, formBuilder): FormGroup {\n \n return formBuilder.group({\n DefaultClientId: [modelObject.DefaultClientId, Validators.compose([Validators.required])],\n //DefaultTemplateId: [modelObject.DefaultTemplateId, Validators.compose([Validators.required])],\n DefaultPaymentMethodId: [modelObject.DefaultPaymentMethodId, Validators.compose([Validators.required])],\n //EnableDiscountLimit: [modelObject.EnableDiscountLimit, Validators.compose([Validators.required])],\n DiscountLimit: [modelObject.DiscountLimit, Validators.compose([Validators.required])],\n EnableAutoCodesForCashRegisiters: [modelObject.EnableAutoCodesForCashRegisiters, Validators.compose([Validators.required])],\n StartingCodeCashRegisiters: [modelObject.StartingCodeCashRegisiters, Validators.compose([Validators.required])],\n EnableAutoCodesForCashiers: [modelObject.EnableAutoCodesForCashiers, Validators.compose([Validators.required])],\n StartingCodeCashiers: [modelObject.StartingCodeCashiers, Validators.compose([Validators.required])],\n EnableAutoCodesForWorkShifts: [modelObject.EnableAutoCodesForWorkShifts, Validators.compose([Validators.required])],\n StartingCodeWorkShifts: [modelObject.StartingCodeWorkShifts, Validators.compose([Validators.required])],\n StartingCodeOrders: [modelObject.StartingCodeOrders, Validators.compose([Validators.required])],\n StartingCodeSessions: [modelObject.StartingCodeSessions, Validators.compose([Validators.required])],\n //ActivePaymentMethods: [modelObject.ActivePaymentMethods, Validators.compose([Validators.required])],\n //ActiveItems: [modelObject.ActiveItems, Validators.compose([Validators.required])],\n //EnableDigitButtons: [modelObject.EnableDigitButtons, Validators.compose([Validators.required])],\n //EnableItemImages: [modelObject.EnableItemImages, Validators.compose([Validators.required])],\n //EnableAccountingPerInvoice: [modelObject.EnableAccountingPerInvoice, Validators.compose([Validators.required])],\n //EnableAddingItemsViaSerial: [modelObject.EnableAddingItemsViaSerial, Validators.compose([Validators.required])],\n //EnableDelayedPayment: [modelObject.EnableDelayedPayment, Validators.compose([Validators.required])],\n //EnableAutoSettlement: [modelObject.EnableAutoSettlement, Validators.compose([Validators.required])],\n //DefaultEarningsAccountId: [modelObject.DefaultEarningsAccountId],\n //DefaultLossesAccountId: [modelObject.DefaultLossesAccountId],\n });\n }\n\n editObject() {\n this.currentAction = 'loading';\n let tempObj = new ConfigPoSModel();\n tempObj.Id =this.modelObject.Id;\n tempObj.Code = this.modelObject.Code;\n tempObj.DefaultClientId = this.mainForm.getRawValue().DefaultClientId;\n tempObj.DefaultPaymentMethodId = this.mainForm.getRawValue().DefaultPaymentMethodId;\n tempObj.DiscountLimit = this.mainForm.getRawValue().DiscountLimit;\n tempObj.EnableAutoCodesForCashRegisiters = this.mainForm.getRawValue().EnableAutoCodesForCashRegisiters;\n tempObj.StartingCodeCashRegisiters = this.mainForm.getRawValue().StartingCodeCashRegisiters;\n tempObj.EnableAutoCodesForCashiers = this.mainForm.getRawValue().EnableAutoCodesForCashiers;\n tempObj.StartingCodeCashiers = this.mainForm.getRawValue().StartingCodeCashiers;\n tempObj.EnableAutoCodesForWorkShifts = this.mainForm.getRawValue().EnableAutoCodesForWorkShifts;\n tempObj.StartingCodeWorkShifts = this.mainForm.getRawValue().StartingCodeWorkShifts;\n tempObj.StartingCodeOrders = this.mainForm.getRawValue().StartingCodeOrders;\n tempObj.StartingCodeSessions = this.mainForm.getRawValue().StartingCodeSessions;\n this.executeEditObject(tempObj);\n console.log(\"saved object\", tempObj);\n }\n\n executeEditObject(Object) {\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n this.goBack();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n toggleInput(state:any, input:any){\n if(state == false){\n input.disable();\n }\n else{\n input.enable();\n }\n console.log(state);\n console.log(input);\n }\n\n setDiscountLimit(){\n let value = this.mainForm.getRawValue().DiscountLimit > 100 ? 100 : this.mainForm.getRawValue().DiscountLimit;\n this.mainForm.controls.DiscountLimit.setValue(value);\n }\n\n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n\n goBack(){\n this.modelObject = {};\n this.currentAction = \"\";\n this._router.navigate(['app/aio/Points-Of-Sale/Config']); \n }\n}\n","
    \n
    \n
    \n\n
    \n \n \n
    \n
    \n\n
    \n\n
    \n \n \n \n {{lang==='ar-EG'?client.NameAr:client.NameEn}}\n \n
    \n\n
    \n\n
    \n \n \n \n {{lang==='ar-EG'?paymentMethod.NameAr:paymentMethod.NameEn}}\n \n
    \n\n
    \n\n
    \n\n
    \n\n
    \n \n
    \n \n
    \n
    \n {{\"ConfigPoSDiscountLimitRequired\" | translate}}
    \n \n
    \n \n
    \n\n
    \n\n
    \n
    \n \n
    \n \n \n \n
    \n
    \n {{\"ConfigPoSEnableAutoCodesForCashiersRequired\" | translate}}
    \n \n
    \n\n
    \n\n
    \n \n
    \n \n \n
    \n
    \n {{\"ConfigPoSEnableAutoCodesForCashRegisitersRequired\" | translate}}
    \n \n
    \n\n
    \n\n
    \n \n
    \n \n \n
    \n
    \n {{\"ConfigPoSEnableAutoCodesForWorkShiftsRequired\" | translate}}
    \n \n
    \n \n
    \n\n
    \n\n
    \n
    \n \n
    \n \n
    \n
    \n {{\"ConfigPoSStartingCashiersCodeRequired\" | translate}}
    \n \n
    \n\n
    \n\n
    \n \n
    \n \n
    \n
    \n {{\"ConfigPoSStartingCashRegisitersCodeRequired\" | translate}}
    \n \n
    \n\n
    \n\n
    \n \n
    \n \n
    \n
    \n {{\"ConfigPoSStartingWorkShiftsCodeRequired\" | translate}}
    \n \n
    \n
    \n\n
    \n\n
    \n
    \n \n
    \n \n
    \n
    \n {{\"ConfigPoSStartingSessionsCodeRequired\" | translate}}
    \n \n
    \n\n
    \n\n
    \n \n
    \n \n
    \n
    \n {{\"ConfigPoSStartingOrdersCodeRequired\" | translate}}
    \n \n
    \n
    \n
    \n\n
    \n
    \n
    ","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-config-pos',\n templateUrl: './config-pos.component.html',\n styleUrls: ['./config-pos.component.scss']\n})\nexport class ConfigPosComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
    \n
    \n
    \n \n
    \n
    \n \n
    \n \n
    \n
    \n\n","import { DatePipe } from '@angular/common';\nimport { Component, OnInit, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationsService } from 'angular2-notifications';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { config } from 'rxjs';\nimport { TableEngine } from '../../../invoices/TableEngine';\nimport { CashRegisterModel } from '../cashier-machines/CashRegisterModel';\nimport { CashRegisterService } from '../cashier-machines/CashRegisterService';\nimport { CashierOrderModel } from '../cashier-orders/CashierOrderModel';\nimport { CashierOrderService } from '../cashier-orders/CashierOrderService';\nimport { CashierSessionModel } from '../cashier-sessions/CashierSessionModel';\nimport { CashierSessionService } from '../cashier-sessions/CashierSessionService';\nimport { CashierStaffModel } from '../cashier-staff/CashierStaffModel';\nimport { CashierStaffService } from '../cashier-staff/CashierStaffService';\nimport { CashierWorkShiftModel } from '../cashier-work-shifts/CashierWorkShiftModel';\nimport { CashierWorkShiftService } from '../cashier-work-shifts/CashierWorkShiftService';\nimport { ConfigPoSModel } from '../config-pos-general/ConfigPoSModel';\nimport { ConfigPoSService } from '../config-pos-general/ConfigPoSService';\n\n@Component({\n selector: 'app-pos-portal',\n templateUrl: './pos-portal.component.html',\n styleUrls: ['./pos-portal.component.scss']\n})\nexport class PosPortalComponent implements OnInit {\n\n //Enable debugMode to make API modules return static data from within the service class\n debugMode: boolean = false;\n\n constructor(private formBuilder: FormBuilder, private modelService: CashierSessionService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private datePipe: DatePipe, private cashierStaffService: CashierStaffService, private cashierWorkShiftService: CashierWorkShiftService,\n private cashRegisterService: CashRegisterService, private cashierSessionService: CashierSessionService,\n private cashierOrderService: CashierOrderService,\n private configPoSService: ConfigPoSService,\n private _router: Router\n ) {\n }\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n declare lang: any;\n currentAction = '';\n\n @ViewChild('cashierLoginModal', { static: true }) cashierLoginModal: ModalDirective;\n ngOnInit(): void {\n if (this.debugMode) {\n this.enableDebugOnAllServices();\n }\n this.lang = localStorage.getItem('theme_lang');\n this.loadServices();\n }\n\n enableDebugOnAllServices() {\n //this.modelService.debugMode = true;\n //this.cashRegisterService.debugMode = true;\n //this.cashierSessionService.debugMode = true;\n //this.cashierStaffService.debugMode = true;\n //this.cashierWorkShiftService.debugMode = true;\n }\n\n cashierStaffList: CashierStaffModel[] = [];\n cashRegisterList: CashRegisterModel[] = [];\n cashierWorkShiftList: CashierWorkShiftModel[] = [];\n cashierOrderList: CashierOrderModel[] = [];\n cashierSessionList: CashierSessionModel[] = [];\n configPoS: ConfigPoSModel = new ConfigPoSModel();\n loadServices() {\n debugger;\n this.currentAction = 'loading';\n\n this.configPoSService.getFirst().subscribe(\n configPoSData => {\n this.configPoS = configPoSData;\n\n this.cashierStaffService.getAll().subscribe(\n cashierStaffData => {\n this.cashierStaffList = cashierStaffData;\n \n this.cashierSessionService.getAll().subscribe(\n cashierSessionData => {\n this.cashierSessionList = cashierSessionData;\n \n this.cashRegisterService.getAll().subscribe(\n cashRegisterData => {\n this.cashRegisterList = cashRegisterData;\n \n this.cashierWorkShiftService.getAll().subscribe(\n cashierWorkShiftData => {\n this.cashierWorkShiftList = cashierWorkShiftData;\n \n this.cashierOrderService.getAll().subscribe(\n cashierOrderData => {\n this.cashierOrderList = cashierOrderData;\n \n this.currentAction = '';\n }\n )\n }\n )\n }\n )\n }\n )\n }\n )\n }\n )\n\n\n }\n\n cashierStaffId = null;\n cashierWorkShiftId = null;\n cashRegisterId = null;\n startingNote = '';\n startingCash = 0;\n checkActiveSessions() {\n debugger;\n let counter = 0;\n if(this.cashierSessionList.length > 0){\n this.cashierSessionList.forEach(session => {\n counter += 1;\n if (session.Active) {\n this.cashierSessionService.getByIdWithOrders(session.Id).subscribe(\n result => {\n this.cashierSessionService.currentSession = result;\n \n console.log(this.cashierSessionService.currentSession);\n if (!this.cashierSessionService.currentSession.Orders) {\n this.cashierSessionService.currentSession.Orders = [];\n }\n this._router.navigate(['app/aio/Points-Of-Sale/Cashier-Screen']);\n \n return;\n })\n }\n else {\n if (counter >= this.cashierSessionList.length) {\n this.cashierLoginModal.show();\n this.currentAction = '';\n }\n }\n console.log(this.cashierSessionService.currentSession.Id);\n console.log(counter);\n });\n }\n else{\n this.cashierLoginModal.show();\n this.currentAction = '';\n }\n\n }\n\n startSession() {\n this.currentAction = 'loading';\n if (this.cashierSessionService.currentSession.Id > 0) {\n console.log(this.cashierSessionService.currentSession);\n if (!this.cashierSessionService.currentSession.Orders) {\n this.cashierSessionService.currentSession.Orders = [];\n }\n this.currentAction = '';\n this._router.navigate(['app/aio/Points-Of-Sale/Cashier-Screen']);\n }\n else {\n this.checkActiveSessions();\n }\n }\n\n LogIntoSession() {\n let lastSession = this.cashierSessionList.length > 0 ? this.cashierSessionList[this.cashierSessionList.length - 1] : new CashierSessionModel();\n\n let reverseSessionList = this.cashierSessionList.slice().reverse();\n let lastSessionOnMachine = reverseSessionList.find(x => x.CashRegisterId == this.cashRegisterId);\n if (!lastSessionOnMachine){\n lastSessionOnMachine = new CashierSessionModel();\n }\n\n if(lastSessionOnMachine.Id>0){\n this.cashierSessionService.getByIdWithOrders(lastSessionOnMachine.Id).subscribe(result => {\n if (result && (result === true || result.Id > 0)) {\n \n lastSessionOnMachine = result;\n this.cashierSessionService.currentSession = new CashierSessionModel();\n this.cashierSessionService.currentSession.Id = this.debugMode ? lastSession.Id + 1 : 0;\n //let nextSessionCode = this.configPoSService.getNextCode(this.configPoS.StartingCodeSessions, this.cashierSessionList);\n //this.cashierSessionService.currentSession.Code = this.debugMode ? lastSession.Code + 1 : 0;\n this.cashierSessionService.currentSession.Code = this.configPoS.StartingCodeSessions;\n \n if (lastSessionOnMachine.HasOrdersInDelivery) {\n let newOrderId = this.cashierSessionService.debugMode?1:0;\n let newOrderCode = this.configPoS.StartingCodeOrders;\n this.cashierSessionService.currentSession.HasOrdersInDelivery = true;\n if (lastSessionOnMachine.Orders) {\n lastSessionOnMachine.Orders.forEach(order => {\n if (order.Status == 'In-Delivery') {\n order.Id = newOrderId;\n //let nextOrderCode = this.configPoSService.getNextCode(this.configPoS.StartingCodeSessions, this.cashierSessionList);\n order.Code = this.debugMode ? newOrderCode : 0;\n newOrderCode += this.cashierSessionService.debugMode?1:0;\n newOrderId += this.cashierSessionService.debugMode?1:0;\n this.cashierSessionService.currentSession.Orders = this.cashierSessionService.currentSession.Orders.concat(order);\n }\n });\n } else {\n lastSessionOnMachine.Orders = [];\n }\n }\n \n this.insertAndStartSession();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedLogin\"));\n this.currentAction = '';\n }\n })\n }\n else{\n this.insertAndStartSession();\n }\n console.log(\"sessions\", reverseSessionList);\n\n console.log(\"last session\", lastSessionOnMachine);\n\n\n }\n\n\n insertAndStartSession(){\n \n let cashier = this.cashierStaffList.find(x => x.Id === this.cashierStaffId);\n let machine = this.cashRegisterList.find(x => x.Id === this.cashRegisterId);\n let workShift = this.cashierWorkShiftList.find(x => x.Id === this.cashierWorkShiftId);\n\n if (!this.cashierSessionService.currentSession.Orders) {\n this.cashierSessionService.currentSession.Orders = [];\n }\n\n this.cashierSessionService.currentSession.StartTime = new Date();\n this.cashierSessionService.currentSession.StartingCash = this.startingCash;\n this.cashierSessionService.currentSession.StartingNote = this.startingNote;\n this.cashierSessionService.currentSession.CashierId = this.cashierStaffId;\n this.cashierSessionService.currentSession.WorkShiftId = this.cashierWorkShiftId;\n this.cashierSessionService.currentSession.CashierNameAr = cashier.NameAr;\n this.cashierSessionService.currentSession.CashierNameEn = cashier.NameEn;\n this.cashierSessionService.currentSession.CashRegisterId = this.cashRegisterId;\n this.cashierSessionService.currentSession.CashRegisterCode = machine.Code;\n this.cashierSessionService.currentSession.CashRegisterBranchId = machine.BranchId;\n this.cashierSessionService.currentSession.CashRegisterBranchNameAr = machine.BranchNameAr;\n this.cashierSessionService.currentSession.CashRegisterBranchNameEn = machine.BranchNameEn;\n this.cashierSessionService.currentSession.Active = true;\n\n console.log(this.cashierSessionService.currentSession);\n this.cashierSessionService.insertWithOrders(this.cashierSessionService.currentSession).subscribe(result => {\n if (result === true || result > 0) {\n console.log(\"result\",result);\n \n //this.tableEngine.loadData();\n this.cashierSessionService.getByIdWithOrders(result).subscribe(newResult => {\n if (newResult === true || newResult.Id > 0) {\n this.cashierSessionService.currentSession = newResult;\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyLoggedIn\"));\n this._router.navigate(['app/aio/Points-Of-Sale/Cashier-Screen']);\n }\n else{\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedLogin\"));\n this.currentAction = '';\n }\n });\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedLogin\"));\n this.currentAction = '';\n }\n })\n }\n}\n","\n
    \n
    \n
    \n
    \n

    \n {{\"CashierLogin\" | translate}}

    \n
    \n
    \n
    \n \n \n \n {{lang==='ar-EG'?cashierStaff.NameAr:cashierStaff.NameEn}}\n \n \n
    \n\n
    \n \n \n \n {{lang==='ar-EG'?cashRegister.BranchNameAr:cashRegister.BranchNameEn}} - {{cashRegister.Code}}\n \n \n
    \n \n
    \n \n \n
    = 0)\" class=\"messages text-danger\">\n {{\"CashierStartCashRequired\" | translate}}
    \n \n
    \n\n
    \n \n \n \n {{cashierWorkShift.Name}}\n \n \n
    \n\n
    \n \n \n \n
    \n\n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n\n","export class ConfigPurchasesModel {\r\n Id?: number;\r\n Code?: number;\r\n EnableAutoPurchaseOrderCodes?: boolean;\r\n EnableAutoRequestReceiptCodes?: boolean;\r\n EnableAutoPurchaseInvoiceCodes?: boolean;\r\n EnableAutoReturnRequestCodes?: boolean;\r\n EnableAutoPurchaseQuotationCodes?: boolean;\r\n EnableAutoQuotationRequestCodes?: boolean;\r\n StartingPurchaseOrderCode?: number;\r\n StartingRequestReceiptCode?: number;\r\n StartingPurchaseInvoiceCode?: number;\r\n StartingReturnRequestCode?: number;\r\n StartingPurchaseQuotationCode?: number;\r\n StartingQuotationRequestCode?: number;\r\n AllowedDiscounts?: string;\r\n UpdateItemValuesAfterInvoiceCreation?: boolean;\r\n AutoPaymentIfSupplierHasCredit?: boolean;\r\n PurchaseInvoicesPaidForByDefault?: boolean;\r\n PurchaseInvoicesRecievedByDefault?: boolean;\r\n PurchaseInvoicesManualStatusEnabled?: boolean;\r\n constructor(obj?: ConfigPurchasesModel) {\r\n obj = obj ? obj : {};\r\n this.Id = obj.Id ? obj.Id : 0;\r\n this.Code = obj.Code ? obj.Code : 0;\r\n this.EnableAutoPurchaseOrderCodes = obj.EnableAutoPurchaseOrderCodes ? obj.EnableAutoPurchaseOrderCodes : false;\r\n this.EnableAutoRequestReceiptCodes = obj.EnableAutoRequestReceiptCodes ? obj.EnableAutoRequestReceiptCodes : false;\r\n this.EnableAutoPurchaseInvoiceCodes = obj.EnableAutoPurchaseInvoiceCodes ? obj.EnableAutoPurchaseInvoiceCodes : false;\r\n this.EnableAutoReturnRequestCodes = obj.EnableAutoReturnRequestCodes ? obj.EnableAutoReturnRequestCodes : false;\r\n this.EnableAutoPurchaseQuotationCodes = obj.EnableAutoPurchaseQuotationCodes ? obj.EnableAutoPurchaseQuotationCodes : false;\r\n this.EnableAutoQuotationRequestCodes = obj.EnableAutoQuotationRequestCodes ? obj.EnableAutoQuotationRequestCodes : false;\r\n this.StartingPurchaseOrderCode = obj.StartingPurchaseOrderCode ? obj.StartingPurchaseOrderCode : 0;\r\n this.StartingRequestReceiptCode = obj.StartingRequestReceiptCode ? obj.StartingRequestReceiptCode : 0;\r\n this.StartingPurchaseInvoiceCode = obj.StartingPurchaseInvoiceCode ? obj.StartingPurchaseInvoiceCode : 0;\r\n this.StartingReturnRequestCode = obj.StartingReturnRequestCode ? obj.StartingReturnRequestCode : 0;\r\n this.StartingPurchaseQuotationCode = obj.StartingPurchaseQuotationCode ? obj.StartingPurchaseQuotationCode : 0;\r\n this.StartingQuotationRequestCode = obj.StartingQuotationRequestCode ? obj.StartingQuotationRequestCode : 0;\r\n this.AllowedDiscounts = obj.AllowedDiscounts ? obj.AllowedDiscounts : '';\r\n this.UpdateItemValuesAfterInvoiceCreation = obj.UpdateItemValuesAfterInvoiceCreation ? obj.UpdateItemValuesAfterInvoiceCreation : false;\r\n this.AutoPaymentIfSupplierHasCredit = obj.AutoPaymentIfSupplierHasCredit ? obj.AutoPaymentIfSupplierHasCredit : false;\r\n this.PurchaseInvoicesPaidForByDefault = obj.PurchaseInvoicesPaidForByDefault ? obj.PurchaseInvoicesPaidForByDefault : false;\r\n this.PurchaseInvoicesRecievedByDefault = obj.PurchaseInvoicesRecievedByDefault ? obj.PurchaseInvoicesRecievedByDefault : false;\r\n this.PurchaseInvoicesManualStatusEnabled = obj.PurchaseInvoicesManualStatusEnabled ? obj.PurchaseInvoicesManualStatusEnabled : false;\r\n }\r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ConfigPurchasesModel } from \"./ConfigPurchasesModel\";\r\nimport { ItemModel } from 'src/app/invoices/items/ItemModel';\r\nimport { PaymentMethodModel } from '../../purchases/purchase-orders/PaymentMethodModel';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConfigPurchasesService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n debugData: ConfigPurchasesModel [] = []\r\n \r\n debugMode: boolean = false;\r\n\r\n baseUrl = environment.baseApiUrl;\r\n // baseUrl = 'http://localhost:60289/';\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getFirst(): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}ConfigPurchases/GetFirst`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n update(payload: ConfigPurchasesModel): Observable {\r\n if(this.debugMode){\r\n this.debugData[this.debugData.findIndex(x=>x.Id==payload.Id)] = payload;\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}ConfigPurchases/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n checkPurchaseOrderCode(code:number): Observable {\r\n // if(this.debugMode){\r\n // return of(this.debugData.find(x=>x.Code==code)?false:true)\r\n // }\r\n return this.http\r\n .get(`${this.baseUrl}ConfigPurchases/CheckPurchaseOrderCode/${code}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n checkRequestReceiptCode(code:number): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}ConfigPurchases/CheckRequestReceiptCode/${code}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n checkPurchaseInvoiceCode(code:number): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}ConfigPurchases/CheckPurchaseInvoiceCode/${code}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n checkReturnPurchaseCode(code:number): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}ConfigPurchases/CheckReturnPurchaseCode/${code}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n checkQuotationRequestCode(code:number): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}ConfigPurchases/CheckQuotationRequestCode/${code}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n checkPurchaseQuotationCode(code:number): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}ConfigPurchases/CheckPurchaseQuotationCode/${code}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n}\r\n","import { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { TableEngine } from 'src/app/invoices/TableEngine'\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from '../../app/aio/shared/side-popup/side-popup.component';\nimport { Observable, of, Subscription } from 'rxjs';\n\nimport { NgSelectComponent } from '@ng-select/ng-select';\n\nimport { DatePipe, formatDate } from '@angular/common';\n\n\nimport { ConfigPurchasesService } from \"./ConfigPurchasesService\";\nimport { ConfigPurchasesModel } from \"./ConfigPurchasesModel\";\nimport { ClientService } from 'src/app/invoices/clients/ClientService';\nimport { PaymentMethodService } from '../../purchases/purchase-orders/PaymentMethodService';\nimport { ClientModel } from 'src/app/invoices/clients/ClientModel';\nimport { Router } from '@angular/router';\nimport { ItemModel } from 'src/app/invoices/items/ItemModel';\nimport { PaymentMethodModel } from '../../purchases/purchase-orders/PaymentMethodModel';\nimport { ListPageHeaderComponent } from 'src/app/containers/pages/list-page-header/list-page-header.component';\nimport { StoreItemsService } from 'src/app/Invintory/store-items-service.service';\n\ntype CloneItemModel = ItemModel & {Hidden: boolean};\ntype ClonePaymentMethodModel = PaymentMethodModel & {Hidden: boolean};\n\n\n@Component({\n selector: 'app-config-purchases',\n templateUrl: './config-purchases.component.html',\n styleUrls: ['./config-purchases.component.scss']\n})\nexport class ConfigPurchasesComponent {\n // ////////////////////////////////////////////////////////////////////////////\n // // VARYING :\n // // Modify per similar component.\n // ////////////////////////////////////////////////////////////////////////////\n\n //Enable debugMode to make API modules return static data from within the service class\n debugMode: boolean = false;\n\n constructor(private formBuilder: FormBuilder, private modelService: ConfigPurchasesService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private datePipe: DatePipe, private clientService: ClientService, private paymentMethodService: PaymentMethodService,\n private itemService: StoreItemsService, private _router: Router\n ) {\n }\n\n listHeader = new ListPageHeaderComponent();\n translationName: string = 'ConfigPurchases'\n\n modelObject: ConfigPurchasesModel = new ConfigPurchasesModel();\n\n declare lang: any;\n ngOnInit(): void {\n if (this.debugMode) {\n this.enableDebugOnAllServices();\n }\n this.lang = localStorage.getItem('theme_lang');\n this.loadServices();\n }\n\n currentAction = '';\n\n loadServices() {\n this.loadModelObject();\n }\n\n activeItemList: ItemModel [] = [];\n activePaymentMethodList: PaymentMethodModel [] = [];\n tempActiveItemList: ItemModel [] = [];\n tempAddedItem: ItemModel = {};\n tempItemId = null;\n tempPaymentMethodId = null;\n tempActivePaymentMethodList: PaymentMethodModel [] = [];\n tempAddedMethod: ItemModel = {};\n \n loadModelObject(){\n this.currentAction = 'loading';\n this.modelService.getFirst().subscribe(\n config => {\n this.modelObject = config;\n this.mainForm = this.createForm(this.modelObject, this.formBuilder);\n this.currentAction = '';\n }\n )\n }\n \n enableDebugOnAllServices() {\n //this.modelService.debugMode = true;\n }\n\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n //AllowedDiscounts: new FormControl(),\n EnableAutoPurchaseOrderCodes: new FormControl(),\n EnableAutoRequestReceiptCodes: new FormControl(),\n EnableAutoPurchaseInvoiceCodes: new FormControl(),\n EnableAutoReturnRequestCodes: new FormControl(),\n EnableAutoPurchaseQuotationCodes: new FormControl(),\n EnableAutoQuotationRequestCodes: new FormControl(),\n StartingPurchaseOrderCode: new FormControl(),\n StartingRequestReceiptCode: new FormControl(),\n StartingPurchaseInvoiceCode: new FormControl(),\n StartingReturnRequestCode: new FormControl(),\n StartingPurchaseQuotationCode: new FormControl(),\n StartingQuotationRequestCode: new FormControl(),\n //UpdateItemValuesAfterInvoiceCreation: new FormControl(),\n //AutoPaymentIfSupplierHasCredit: new FormControl(),\n //PurchaseInvoicesPaidForByDefault: new FormControl(),\n //PurchaseInvoicesRecievedByDefault: new FormControl(),\n //PurchaseInvoicesManualStatusEnabled: new FormControl(),\n });\n\n createForm(modelObject, formBuilder): FormGroup {\n return formBuilder.group({\n //AllowedDiscounts: [modelObject.AllowedDiscounts, Validators.compose([Validators.required])],\n EnableAutoPurchaseOrderCodes: [modelObject.EnableAutoPurchaseOrderCodes, Validators.compose([Validators.required])],\n EnableAutoRequestReceiptCodes: [modelObject.EnableAutoRequestReceiptCodes, Validators.compose([Validators.required])],\n EnableAutoPurchaseInvoiceCodes: [modelObject.EnableAutoPurchaseInvoiceCodes, Validators.compose([Validators.required])],\n EnableAutoReturnRequestCodes: [modelObject.EnableAutoReturnRequestCodes, Validators.compose([Validators.required])],\n EnableAutoPurchaseQuotationCodes: [modelObject.EnableAutoPurchaseQuotationCodes, Validators.compose([Validators.required])],\n EnableAutoQuotationRequestCodes: [modelObject.EnableAutoQuotationRequestCodes, Validators.compose([Validators.required])],\n StartingPurchaseOrderCode: [modelObject.StartingPurchaseOrderCode, Validators.compose([Validators.required])],\n StartingRequestReceiptCode: [modelObject.StartingRequestReceiptCode, Validators.compose([Validators.required])],\n StartingPurchaseInvoiceCode: [modelObject.StartingPurchaseInvoiceCode, Validators.compose([Validators.required])],\n StartingReturnRequestCode: [modelObject.StartingReturnRequestCode, Validators.compose([Validators.required])],\n StartingPurchaseQuotationCode: [modelObject.StartingPurchaseQuotationCode, Validators.compose([Validators.required])],\n StartingQuotationRequestCode: [modelObject.StartingQuotationRequestCode, Validators.compose([Validators.required])],\n //UpdateItemValuesAfterInvoiceCreation: [modelObject.UpdateItemValuesAfterInvoiceCreation, Validators.compose([Validators.required])],\n //AutoPaymentIfSupplierHasCredit: [modelObject.AutoPaymentIfSupplierHasCredit, Validators.compose([Validators.required])],\n //PurchaseInvoicesPaidForByDefault: [modelObject.PurchaseInvoicesPaidForByDefault, Validators.compose([Validators.required])],\n //PurchaseInvoicesRecievedByDefault: [modelObject.PurchaseInvoicesRecievedByDefault, Validators.compose([Validators.required])],\n //PurchaseInvoicesManualStatusEnabled: [modelObject.PurchaseInvoicesManualStatusEnabled, Validators.compose([Validators.required])],\n });\n }\n\n editObject() {\n this.currentAction = 'loading';\n let tempObj = new ConfigPurchasesModel();\n tempObj.Id =this.modelObject.Id;\n tempObj.Code = this.modelObject.Code;\n //tempObj.AllowedDiscounts = this.mainForm.getRawValue().AllowedDiscounts;\n tempObj.EnableAutoPurchaseOrderCodes = this.mainForm.getRawValue().EnableAutoPurchaseOrderCodes;\n tempObj.EnableAutoRequestReceiptCodes = this.mainForm.getRawValue().EnableAutoRequestReceiptCodes;\n tempObj.EnableAutoPurchaseInvoiceCodes = this.mainForm.getRawValue().EnableAutoPurchaseInvoiceCodes;\n tempObj.EnableAutoReturnRequestCodes = this.mainForm.getRawValue().EnableAutoReturnRequestCodes;\n tempObj.EnableAutoPurchaseQuotationCodes = this.mainForm.getRawValue().EnableAutoPurchaseQuotationCodes;\n tempObj.EnableAutoQuotationRequestCodes = this.mainForm.getRawValue().EnableAutoQuotationRequestCodes;\n tempObj.StartingPurchaseOrderCode = this.mainForm.getRawValue().StartingPurchaseOrderCode;\n tempObj.StartingRequestReceiptCode = this.mainForm.getRawValue().StartingRequestReceiptCode;\n tempObj.StartingPurchaseInvoiceCode = this.mainForm.getRawValue().StartingPurchaseInvoiceCode;\n tempObj.StartingReturnRequestCode = this.mainForm.getRawValue().StartingReturnRequestCode;\n tempObj.StartingPurchaseQuotationCode = this.mainForm.getRawValue().StartingPurchaseQuotationCode;\n tempObj.StartingQuotationRequestCode = this.mainForm.getRawValue().StartingQuotationRequestCode;\n //tempObj.UpdateItemValuesAfterInvoiceCreation = this.mainForm.getRawValue().UpdateItemValuesAfterInvoiceCreation;\n //tempObj.AutoPaymentIfSupplierHasCredit = this.mainForm.getRawValue().AutoPaymentIfSupplierHasCredit;\n //tempObj.PurchaseInvoicesPaidForByDefault = this.mainForm.getRawValue().PurchaseInvoicesPaidForByDefault;\n //tempObj.PurchaseInvoicesRecievedByDefault = this.mainForm.getRawValue().PurchaseInvoicesRecievedByDefault;\n //tempObj.PurchaseInvoicesManualStatusEnabled = this.mainForm.getRawValue().PurchaseInvoicesManualStatusEnabled;\n this.executeEditObject(tempObj);\n console.log(\"saved object\", tempObj);\n }\n\n executeEditObject(Object) {\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n this.goBack();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n\n goBack(){\n this.modelObject = {};\n this.currentAction = \"\";\n this._router.navigate(['app/aio/Purchases']); \n }\n}\n","
    \n
    \n
    \n\n
    \n \n \n
    \n
    \n\n \n\n
    \n
    \n \n
    \n \n \n
    \n
    \n {{\"ConfigPurchasesEnableAutoPurchaseOrderCodesRequired\" | translate}}
    \n \n
    \n\n
    \n\n
    \n \n
    \n \n \n
    \n
    \n {{\"ConfigPurchasesEnableAutoRequestReceiptCodesRequired\" | translate}}
    \n \n
    \n\n
    \n\n
    \n \n
    \n \n \n
    \n
    \n {{\"ConfigPurchasesEnableAutoPurchaseInvoiceCodesRequired\" | translate}}
    \n \n
    \n \n
    \n\n
    \n\n
    \n
    \n \n
    \n \n
    \n
    \n {{\"ConfigPurchasesStartingPurchaseOrderCodeRequired\" | translate}}
    \n \n
    \n\n
    \n\n
    \n \n
    \n \n
    \n
    \n {{\"ConfigPurchasesStartingRequestReceiptCodeRequired\" | translate}}
    \n \n
    \n\n
    \n\n
    \n \n
    \n \n
    \n
    \n {{\"ConfigPurchasesStartingPurchaseInvoiceCodeRequired\" | translate}}
    \n \n
    \n
    \n\n
    \n\n
    \n
    \n \n
    \n \n \n
    \n
    \n {{\"ConfigPurchasesEnableAutoReturnRequestCodesRequired\" | translate}}
    \n \n
    \n\n
    \n\n
    \n \n
    \n \n \n
    \n
    \n {{\"ConfigPurchasesEnableAutoPurchaseQuotationCodesRequired\" | translate}}
    \n \n
    \n\n
    \n\n
    \n \n
    \n \n \n
    \n
    \n {{\"ConfigPurchasesEnableAutoQuotationRequestCodesRequired\" | translate}}
    \n \n
    \n \n
    \n\n
    \n\n
    \n
    \n \n
    \n \n
    \n
    \n {{\"ConfigPurchasesStartingReturnRequestCodeRequired\" | translate}}
    \n \n
    \n\n
    \n\n
    \n \n
    \n \n
    \n
    \n {{\"ConfigPurchasesStartingPurchaseQuotationCodeRequired\" | translate}}
    \n \n
    \n\n
    \n\n
    \n \n
    \n \n
    \n
    \n {{\"ConfigPurchasesStartingQuotationRequestCodeRequired\" | translate}}
    \n \n
    \n
    \n
    \n\n
    \n
    \n
    ","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { PaymentMethodModel } from \"./PaymentMethodModel\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PaymentMethodService {\r\n constructor(private http: HttpClient) {\r\n\r\n }\r\n \r\n \r\n debugData: PaymentMethodModel [] = [\r\n {Id:1, NameAr: \"وسيلة دفع 1\", NameEn: \"Payment Method 1\"},\r\n {Id:2, NameAr: \"وسيلة دفع 2\", NameEn: \"Payment Method 2\"},\r\n {Id:3, NameAr: \"وسيلة دفع 3\", NameEn: \"Payment Method 3\"},\r\n {Id:4, NameAr: \"وسيلة دفع 4\", NameEn: \"Payment Method 4\"},\r\n {Id:5, NameAr: \"وسيلة دفع 5\", NameEn: \"Payment Method 5\"},\r\n {Id:6, NameAr: \"وسيلة دفع 6\", NameEn: \"Payment Method 6\"},\r\n {Id:7, NameAr: \"وسيلة دفع 7\", NameEn: \"Payment Method 7\"},\r\n {Id:8, NameAr: \"وسيلة دفع 8\", NameEn: \"Payment Method 8\"},\r\n {Id:9, NameAr: \"وسيلة دفع 9\", NameEn: \"Payment Method 9\"},\r\n {Id:10, NameAr: \"وسيلة دفع 10\", NameEn: \"Payment Method 10\"},\r\n ];\r\n debugMode: boolean = false;\r\n\r\n baseUrl = environment.baseApiUrl;\r\n // baseUrl = 'http://localhost:60289/';\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}PaymentMethod/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData.find(x=>x.Id==id))\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}PaymentMethod/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: PaymentMethodModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.push(payload);\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}PaymentMethod/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n update(payload: PaymentMethodModel): Observable {\r\n if(this.debugMode){\r\n this.debugData[this.debugData.findIndex(x=>x.Id==payload.Id)] = payload;\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}PaymentMethod/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n delete(payload: PaymentMethodModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==payload.Id),1);\r\n return of(true)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}PaymentMethod/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n deleteList(payload: PaymentMethodModel []): Observable {\r\n if(this.debugMode){\r\n payload.forEach(element => {\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==element.Id),1);\r\n });\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}PaymentMethod/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n}\r\n","\r\nexport class PurchaseInvoiceItemModel {\r\n Id?: number;\r\n Code?: number;\r\n PurchaseInvoiceId ?: number;\r\n PurchaseInvoiceCode ?: number;\r\n ItemId?: number;\r\n ItemNameAr ?: string;\r\n ItemNameEn ?: string;\r\n UnitId?: number;\r\n UnitNameAr ?: string;\r\n UnitNameEn ?: string;\r\n Quantity?: number;\r\n UnitCost?: number;\r\n TotalPrice?: number;\r\n DiscountIsRate?: boolean;\r\n DiscountValue?: number;\r\n NetPrice?: number;\r\n TaxId?: number;\r\n //TaxNameAr ?: string;\r\n //TaxNameEn ?: string;\r\n TaxValue?: number;\r\n GrossPrice?: number;\r\n MaxQuantity?: number;\r\n constructor(obj?: PurchaseInvoiceItemModel) {\r\n obj = obj ? obj : {};\r\n this.Id = obj.Id ? obj.Id : 0;\r\n this.Code = obj.Code ? obj.Code : 0;\r\n this.PurchaseInvoiceId = obj.PurchaseInvoiceId ? obj.PurchaseInvoiceId : 0;\r\n this.PurchaseInvoiceCode = obj.PurchaseInvoiceCode ? obj.PurchaseInvoiceCode : 0;\r\n this.ItemId = obj.ItemId ? obj.ItemId : 0;\r\n this.ItemNameAr = obj.ItemNameAr ? obj.ItemNameAr : '';\r\n this.ItemNameEn = obj.ItemNameEn ? obj.ItemNameEn : '';\r\n this.UnitId = obj.UnitId ? obj.UnitId : 0;\r\n this.UnitNameAr = obj.UnitNameAr ? obj.UnitNameAr : '';\r\n this.UnitNameEn = obj.UnitNameEn ? obj.UnitNameEn : '';\r\n this.Quantity = obj.Quantity ? obj.Quantity : 0;\r\n this.UnitCost = obj.UnitCost ? obj.UnitCost : 0;\r\n this.TotalPrice = obj.TotalPrice ? obj.TotalPrice : 0;\r\n this.DiscountIsRate = obj.DiscountIsRate ? obj.DiscountIsRate : false;\r\n this.DiscountValue = obj.DiscountValue ? obj.DiscountValue : 0;\r\n this.NetPrice = obj.NetPrice ? obj.NetPrice : 0;\r\n //this.TaxId = obj.TaxId ? obj.TaxId : 0;\r\n //this.TaxNameAr = obj.TaxNameAr ? obj.TaxNameAr : '';\r\n //this.TaxNameEn = obj.TaxNameEn ? obj.TaxNameEn : '';\r\n this.TaxValue = obj.TaxValue ? obj.TaxValue : 0;\r\n this.GrossPrice = obj.GrossPrice ? obj.GrossPrice : 0;\r\n this.MaxQuantity = obj.MaxQuantity ? obj.MaxQuantity : 0;\r\n }\r\n\r\n}","import { PurchaseInvoiceItemModel } from \"./PurchaseInvoiceItemModel\";\r\nimport { PurchaseInvoiceFilesModel } from './PurchaseInvoiceFilesModel';\r\nimport { JournalFooterCostCenterModel } from \"../../app/aio/acounting_components/dailyrestrictions/journal-footer-cost-center.model\";\r\n \r\nexport class PurchaseInvoiceModel {\r\n Id?: number;\r\n Code?: number;\r\n RequestReceiptId?: number;\r\n RequestReceiptCode?: number;\r\n SupplierId?: number;\r\n SupplierNameAr?: string;\r\n SupplierNameEn?: string;\r\n PaymentMethodId?: number;\r\n PaymentMethodNameAr?: string;\r\n PaymentMethodNameEn?: string;\r\n CompanyDataId?: number;\r\n BranchId?: number;\r\n BranchNameAr?: string;\r\n BranchNameEn?: string;\r\n StoreDataId?: number;\r\n StoreNameAr?: string;\r\n StoreNameEn?: string;\r\n Barcode?: string;\r\n Year?: number;\r\n Month?: number;\r\n Date?: Date;\r\n //DueDate?: Date;\r\n Description?: string;\r\n TotalItemPrices?: number;\r\n TotalItemDiscounts?: number;\r\n TotalItemNetPrices?: number;\r\n TotalItemTaxes?: number;\r\n TotalItemGrossPrices?: number;\r\n IsPosted?: boolean;\r\n Lang?:string;\r\n PaymentPlanId ?:number;\r\n DueDate ?: Date|null;\r\n Items?: PurchaseInvoiceItemModel [];\r\n Files?:PurchaseInvoiceFilesModel[];\r\n CostCenters?:JournalFooterCostCenterModel[];\r\n\r\n constructor(obj?: PurchaseInvoiceModel) {\r\n obj = obj ? obj : {};\r\n this.Id = obj.Id ? obj.Id : 0;\r\n this.Code = obj.Code ? obj.Code : 0;\r\n this.RequestReceiptId = obj.RequestReceiptId ? obj.RequestReceiptId : 0;\r\n this.RequestReceiptCode = obj.RequestReceiptCode ? obj.RequestReceiptCode : 0;\r\n this.SupplierId = obj.SupplierId ? obj.SupplierId : 0;\r\n this.PaymentPlanId = obj.PaymentPlanId ? obj.PaymentPlanId : 0;\r\n this.SupplierNameAr = obj.SupplierNameAr ? obj.SupplierNameAr : \"\";\r\n this.SupplierNameEn = obj.SupplierNameEn ? obj.SupplierNameEn : \"\";\r\n this.PaymentMethodId = obj.PaymentMethodId ? obj.PaymentMethodId : 0;\r\n this.PaymentMethodNameAr = obj.PaymentMethodNameAr ? obj.PaymentMethodNameAr : \"\";\r\n this.PaymentMethodNameEn = obj.PaymentMethodNameEn ? obj.PaymentMethodNameEn : \"\";\r\n this.CompanyDataId = obj.CompanyDataId ? obj.CompanyDataId : 0;\r\n this.BranchId = obj.BranchId ? obj.BranchId : 0;\r\n this.BranchNameAr = obj.BranchNameAr ? obj.BranchNameAr : \"\";\r\n this.BranchNameEn = obj.BranchNameEn ? obj.BranchNameEn : \"\";\r\n this.StoreDataId = obj.StoreDataId ? obj.StoreDataId : 0;\r\n this.StoreNameAr = obj.StoreNameAr ? obj.StoreNameAr : \"\";\r\n this.StoreNameEn = obj.StoreNameEn ? obj.StoreNameEn : \"\";\r\n this.Barcode = obj.Barcode ? obj.Barcode : \"\";\r\n this.Year = obj.Year ? obj.Year : 0;\r\n this.Month = obj.Month ? obj.Month : 0;\r\n this.Date = obj.Date ? obj.Date : new Date();\r\n this.DueDate = obj.DueDate ? obj.DueDate : new Date();\r\n this.Description = obj.Description ? obj.Description : \"\";\r\n this.TotalItemPrices = obj.TotalItemPrices ? obj.TotalItemPrices : 0;\r\n this.TotalItemDiscounts = obj.TotalItemDiscounts ? obj.TotalItemDiscounts : 0;\r\n this.TotalItemNetPrices = obj.TotalItemNetPrices ? obj.TotalItemNetPrices : 0;\r\n this.TotalItemTaxes = obj.TotalItemTaxes ? obj.TotalItemTaxes : 0;\r\n this.TotalItemGrossPrices = obj.TotalItemGrossPrices ? obj.TotalItemGrossPrices : 0;\r\n this.IsPosted = obj.IsPosted ? obj.IsPosted : false;\r\n this.Lang = obj.Lang ? obj.Lang : \"\";\r\n this.Items = obj.Items ? obj.Items : [];\r\n this.Files = obj.Files ? obj.Files : [];\r\n this.CostCenters = obj.CostCenters ? obj.CostCenters : [];\r\n }\r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { PurchaseInvoiceModel } from \"./PurchaseInvoiceModel\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PurchaseInvoiceService {\r\n constructor(private http: HttpClient) {\r\n\r\n }\r\n \r\n \r\n debugData: PurchaseInvoiceModel [] = []\r\n // debugData: PurchaseInvoiceModel [] = [\r\n // {\r\n // Id:1, RequestReceiptHeaderid:1, SuppliersDataId:1, Code:1, CompanyDataId:0, BranchesDataId:0, StoreDataId:2, BarcodeInvoice: \"\", PaymentTypeId:1,\r\n // Year:2021, Month:1, Date:new Date(2021, 0, 13), Description:\"desc1\\ntest1\\n1\", TotalItemsValue:5, TotalItemsDiscounts:1, TotalItemsAfterDisc:1,\r\n // TotalItemsTaxs: 1, NetItemsValue: 1,\r\n // IsPosted:false,\r\n // Footers: [\r\n // {Id:1, PurchaseInvoicesHeaderId:1, ItemsHeaderId:1, ItemsUnitId:1, Quantity:1, UnitPrice:1, ItemValue:1, DiscountTypeId:1, \r\n // DiscountValue: 1, ItemValAfterDiscount: 1, TaxableTypeId: 1, TaxValue: 1, ItemNetValue:1},\r\n // {Id:2, PurchaseInvoicesHeaderId:1, ItemsHeaderId:2, ItemsUnitId:2, Quantity:2, UnitPrice:2, ItemValue:2, DiscountTypeId:2, \r\n // DiscountValue: 2, ItemValAfterDiscount: 2, TaxableTypeId: 2, TaxValue: 2, ItemNetValue:2},\r\n // ]\r\n // },\r\n // {\r\n // Id:2, RequestReceiptHeaderid:2, SuppliersDataId:2, Code:2, CompanyDataId:0, BranchesDataId:0, StoreDataId:3, BarcodeInvoice: \"\", PaymentTypeId:2,\r\n // Year:2022, Month:2, Date:new Date(2022, 2, 13), Description:\"desc2\\ntest2\\n2\", TotalItemsValue:5, TotalItemsDiscounts:2, TotalItemsAfterDisc:2,\r\n // TotalItemsTaxs: 2, NetItemsValue: 2,\r\n // IsPosted:true,\r\n // Footers: [\r\n // {Id: 3, PurchaseInvoicesHeaderId: 2, ItemsHeaderId: 2, ItemsUnitId: 2, Quantity: 3, UnitPrice: 3, ItemValue: 3, DiscountTypeId: 3, \r\n // DiscountValue: 3, ItemValAfterDiscount: 3, TaxableTypeId: 3, TaxValue: 3, ItemNetValue: 3},\r\n // {Id: 4, PurchaseInvoicesHeaderId: 2, ItemsHeaderId: 1, ItemsUnitId: 1, Quantity: 4, UnitPrice: 4, ItemValue: 4, DiscountTypeId: 4, \r\n // DiscountValue: 4, ItemValAfterDiscount: 4, TaxableTypeId: 4, TaxValue: 4, ItemNetValue: 4},\r\n // ]\r\n // },\r\n // ];\r\n debugMode: boolean = false;\r\n\r\n baseUrl = environment.baseApiUrl;\r\n // baseUrl = 'http://localhost:60289/';\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}PurchaseInvoice/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n GetAllNotPayed(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}PurchaseInvoice/GetAllNotPayed`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n getAllWithItems(): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}PurchaseInvoice/GetAllWithItems`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData.find(x=>x.Id==id))\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}PurchaseInvoice/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getByIdWithItems(id:number): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData.find(x=>x.Id==id))\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}PurchaseInvoice/GetByIdWithItems/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: PurchaseInvoiceModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.push(payload);\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}PurchaseInvoice/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insertWithItems(payload: PurchaseInvoiceModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.push(payload);\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}PurchaseInvoice/InsertWithItems`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n update(payload: PurchaseInvoiceModel): Observable {\r\n if(this.debugMode){\r\n this.debugData[this.debugData.findIndex(x=>x.Id==payload.Id)] = payload;\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}PurchaseInvoice/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n updateWithItems(payload: PurchaseInvoiceModel): Observable {\r\n if(this.debugMode){\r\n this.debugData[this.debugData.findIndex(x=>x.Id==payload.Id)] = payload;\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}PurchaseInvoice/UpdateWithItems`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n delete(payload: PurchaseInvoiceModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==payload.Id),1);\r\n return of(true)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}PurchaseInvoice/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n deleteList(payload: PurchaseInvoiceModel []): Observable {\r\n if(this.debugMode){\r\n payload.forEach(element => {\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==element.Id),1);\r\n });\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}PurchaseInvoice/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n}\r\n","import { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { TableEngine } from 'src/app/invoices/TableEngine'\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from 'src/app/views/app/aio/shared/side-popup/side-popup.component';\nimport { Observable, of, Subscription } from 'rxjs';\n\nimport { NgSelectComponent } from '@ng-select/ng-select';\n\nimport { PurchaseInvoiceModel } from \"./PurchaseInvoiceModel\";\nimport { PurchaseInvoiceService } from \"./PurchaseInvoiceService\";\nimport { PurchaseInvoiceItemModel } from \"./PurchaseInvoiceItemModel\";\n\nimport { CodingUnitModel } from \"src/app/invoices/coding-units/CodingUnitModel\";\nimport { CodingUnitService } from 'src/app/invoices/coding-units/CodingUnitService';\nimport { StoreDataService } from \"src/app/views/purchases/purchase-orders/StoreDataService\";\nimport { SupplierModel } from \"src/app/views/purchases/purchase-orders/SupplierModel\";\nimport { SupplierService } from \"src/app/views/purchases/purchase-orders/SupplierService\";\n// import { PaymentMethodModel } from \"src/app/views/purchases/purchase-orders/PaymentMethodModel\";\n// import { PaymentMethodService } from \"src/app/views/purchases/purchase-orders/PaymentMethodService\";\nimport { formatDate } from '@angular/common';\nimport { StoreDataModel } from '../purchase-orders/StoreDataModel';\nimport { RequestReceiptService } from '../request-receipt/RequestReceiptService';\nimport { RequestReceiptModel } from '../request-receipt/RequestReceiptModel';\nimport { PaymentMethodModel } from './PaymentMethodModel';\nimport { PaymentMethodService } from './PaymentMethodService';\nimport { ConfigPurchasesService } from '../config-purchases/ConfigPurchasesService';\nimport { ConfigPurchasesModel } from '../config-purchases/ConfigPurchasesModel';\nimport { StoreItemsService } from 'src/app/Invintory/store-items-service.service';\nimport { TaxTypesService } from 'src/app/invoices/tax-types/TaxTypesService';\nimport { TaxTypesModel } from 'src/app/invoices/tax-types/TaxTypesModel';\nimport { JournalFileModel } from '../../app/aio/acounting_components/dailyrestrictions/journal-file.model';\nimport { PaymentPlanModel } from '../../app/aio/acounting_components/payment-plan/models/payment-plan.model';\nimport { PaymentPlanService } from '../../app/aio/acounting_components/payment-plan/payment-plan.service';\nimport { CostCenterModel } from '../../app/aio/acounting_components/cost-center/models/cost-center.model';\nimport { CostCenterService } from '../../app/aio/acounting_components/cost-center/services/cost-center.service';\nimport { JournalFooterCostCenterModel } from '../../app/aio/acounting_components/dailyrestrictions/journal-footer-cost-center.model';\n\n\n\n@Component({\n selector: 'app-invoice-purchase',\n templateUrl: './invoice-purchase.component.html',\n styleUrls: ['./invoice-purchase.component.scss']\n})\nexport class InvoicePurchaseComponent {\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n\n //Enable debugMode to make API modules return static data from within the service class\n debugMode: boolean = false;\n allTaxes:TaxTypesModel[]=[];\n paymentPlans:PaymentPlanModel[]=[];\n centers:CostCenterModel[]=[]\n constructor(private formBuilder: FormBuilder, private modelService: PurchaseInvoiceService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private itemService: StoreItemsService, private paymentMethodService: PaymentMethodService,\n private storeDataService: StoreDataService, private codingUnitService: CodingUnitService,\n private supplierService: SupplierService, private requestReceiptService: RequestReceiptService,\n private configPurchasesService: ConfigPurchasesService,\n private taxService:TaxTypesService,\n private paymentPlanService:PaymentPlanService,\n private costCenterService:CostCenterService\n\n ) {\n }\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n tableView: any = true;\n\n\n translationName: string = 'PurchaseInvoice'\n\n sortableKeys = [];\n searchableKeys = ['Date'];\n\n modelObject: PurchaseInvoiceModel = new PurchaseInvoiceModel();\n\n ogData: PurchaseInvoiceModel[] = [];\n\n Footers?: PurchaseInvoiceItemModel[];\n mainForm: FormGroup = new FormGroup({\n //Id: new FormControl(),\n RequestReceiptId: new FormControl(),\n PaymentMethodId: new FormControl(),\n DueDate:new FormControl(),\n PaymentPlanId:new FormControl()\n });\n\n\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n if (this.debugMode) {\n this.enableDebugOnAllServices();\n }\n this.costCenterService.getAll(0)\n .subscribe(result => {\n this.centers = result;\n })\nthis.paymentPlanService.getAll()\n.subscribe(result=>{\n this.paymentPlans = result;\n})\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'PurchaseInvoiceCode', property: 'Code' };\n this.sortableKeys = [\n { label: 'PurchaseInvoiceDate', property: 'Date' },\n { label: 'PurchaseInvoiceStoreName', property: this.lang === 'ar-EG' ? 'StoreNameAr':'StoreNameEn' },\n { label: 'PurchaseInvoiceRequestReceiptHeader', property: 'RequestReceiptCode' },\n { label: 'PurchaseInvoiceTotalValue', property: 'TotalItemGrossPrices' },\n { label: 'PurchaseInvoiceSupplier', property: this.lang === 'ar-EG' ? 'SupplierNameAr':'SupplierNameEn' },\n { label: 'PurchaseInvoiceCode', property: 'Code' },\n { label: 'PurchaseInvoiceIsPosted', property: 'IsPosted' },\n \n \n ];\n\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n this.loadServices();\n }\n\n\n enableDebugOnAllServices() {\n //this.modelService.debugMode = true;\n // this.itemService.debugMode = true;\n //this.codingUnitService.debugMode = true;\n //this.storeDataService.debugMode = true;\n //this.supplierService.debugMode = true;\n //this.requestReceiptService.debugMode = true;\n //this.paymentMethodService.debugMode = true;\n\n }\n\n TaxId = 0;\n lastCode = 0;\n showModal(Id, action) {\n console.log(\"entered showModal\");\n\n if (action === 'Add') {\n this.addedItemList = [];\n this.files = [];\n if(this.configPurchases.EnableAutoPurchaseInvoiceCodes==true){\n this.lastCode = this.configPurchases.StartingPurchaseInvoiceCode;\n for (let index = 0; index < this.tableEngine.ogData.length; index++) {\n if(this.tableEngine.ogData.findIndex(x=>x.Code == this.lastCode) >= 0)\n { this.lastCode++; console.log(this.lastCode);\n } \n else { break; }\n }\n }else{\n //this.lastCode = this.tableEngine.ogData.length>0?this.tableEngine.ogData[this.tableEngine.ogData.length - 1].Code + 1:0;\n this.lastCode = 0;\n }\n this.modelObject.Code = this.lastCode;\n this.checkCode();\n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n }\n else if (action === 'Edit') {\n this.modelService.getByIdWithItems(Id).subscribe(\n detailedObject => {\n console.log(\"detailed object\", detailedObject);\n \n let targetIndex = this.tableEngine.ogData.findIndex(i => i.Id === Id);\n this.tableEngine.ogData[targetIndex] = detailedObject;\n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder)\n \n this.lastCode = this.tableEngine.modelObject.Code\n \n this.modelObject = this.tableEngine.modelObject;\n this.files = this.modelObject.Files;\n this.mainForm = this.tableEngine.mainForm;\n this.tableView = false;\n\n this.addedItemList = [];\n this.addedItemList = [...this.modelObject.Items];\n\n this.calculateTotalItemValue();\n }\n )\n }\n else if (action === 'Info') {\n console.log(\"entered info\");\n this.modelService.getByIdWithItems(Id).subscribe(\n detailedObject => {\n console.log(\"detailed object\", detailedObject);\n \n let targetIndex = this.tableEngine.ogData.findIndex(i => i.Id === Id);\n this.tableEngine.ogData[targetIndex] = detailedObject;\n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder)\n \n this.lastCode = this.tableEngine.modelObject.Code\n \n this.modelObject = this.tableEngine.modelObject;\n this.files = this.modelObject.Files;\n\n this.mainForm = this.tableEngine.mainForm;\n this.tableView = false;\n\n this.addedItemList = [];\n this.addedItemList = [...this.modelObject.Items];\n\n this.calculateTotalItemValue();\n } \n )\n }\n this.tableView = false;\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n console.log((action + \" object\"), this.modelObject);\n\n this.addedItemList.forEach(element => {\n element.MaxQuantity = element.Quantity;\n console.log(element.MaxQuantity);\n \n });\n\n this.calculateTotalItemValue();\n\n console.log(\"modelObject after entering edit\", this.modelObject);\n }\n\n createForm(modelObject, formBuilder): FormGroup {\n return formBuilder.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n RequestReceiptId: [modelObject.RequestReceiptId, Validators.compose([Validators.required])],\n PaymentMethodId: [modelObject.PaymentMethodId, Validators.compose([Validators.required])],\n PaymentPlanId: [modelObject.PaymentPlanId],\n DueDate: [modelObject.DueDate],\n });\n }\n\n addObject() {\n this.currentAction = 'loading';\n \n let tempList: PurchaseInvoiceItemModel[] = [];\n let tempItem: PurchaseInvoiceItemModel;\n let debugId = 0;\n for (let index = 0; index < this.addedItemList.length; index++) {\n tempItem = new PurchaseInvoiceItemModel();\n tempItem = this.addedItemList[index];\n tempItem.Id = this.debugMode ? debugId : 0;\n tempItem.PurchaseInvoiceId = 0;\n tempList.push(tempItem)\n\n debugId++;\n }\n \n //let lastId = this.tableEngine.ogData.length>0?this.tableEngine.ogData[this.tableEngine.ogData.length - 1].Id:0;\n //\n this.modelObject = new PurchaseInvoiceModel();\n \n //this.modelObject.Id = this.debugMode ? lastId + 1 : 0;\n this.modelObject.Id = 0;\n this.modelObject.RequestReceiptId = this.requestReceiptHeader.Id;\n this.modelObject.RequestReceiptCode = this.requestReceiptHeader.Code;\n\n let paymentMehod = this.getPaymentMethodById(this.mainForm.getRawValue().PaymentMethodId);\n this.modelObject.PaymentMethodId = paymentMehod.Id;\n this.modelObject.PaymentMethodNameAr = paymentMehod.NameAr;\n this.modelObject.PaymentMethodNameEn = paymentMehod.NameEn;\n \n this.modelObject.Code = this.lastCode;\n this.modelObject.SupplierId = this.requestReceiptHeader.SupplierId;\n this.modelObject.SupplierNameAr = this.requestReceiptHeader.SupplierNameAr;\n this.modelObject.SupplierNameEn = this.requestReceiptHeader.SupplierNameEn;\n this.modelObject.StoreDataId = this.requestReceiptHeader.StoreDataId;\n this.modelObject.StoreNameAr = this.requestReceiptHeader.StoreNameAr;\n this.modelObject.StoreNameEn = this.requestReceiptHeader.StoreNameEn;\n this.modelObject.BranchId = this.getStoreDataById(this.modelObject.StoreDataId).BranchId;\n this.modelObject.BranchNameAr = this.requestReceiptHeader.BranchNameAr;\n this.modelObject.BranchNameEn = this.requestReceiptHeader.BranchNameEn;\n this.modelObject.Lang = this.lang;\n this.modelObject.CostCenters = this.selectedCostCenters;\n this.modelObject.PaymentPlanId = this.mainForm.getRawValue().PaymentPlanId;\n this.modelObject.DueDate = this.mainForm.getRawValue().DueDate;\n\n let date = new Date(this.requestReceiptHeader.Date);\n this.modelObject.Date = date;\n this.modelObject.Month = date.getMonth();\n this.modelObject.Year = date.getFullYear();\n\n this.modelObject.Description = this.requestReceiptHeader.Description;\n this.modelObject.IsPosted = this.requestReceiptHeader.IsPosted;\n this.modelObject.Items = tempList;\n\n this.modelObject.TotalItemGrossPrices = this.calculateTotalItemValue();\n this.modelObject.TotalItemDiscounts = this.currentDiscounts;\n this.modelObject.TotalItemNetPrices = this.currentAfterDiscounts;\n this.modelObject.TotalItemPrices = this.currentBaseValues;\n this.modelObject.TotalItemTaxes = this.currentTaxes;\n this.modelObject.Files = this.files;\n\n\n console.log(this.modelObject);\n this.executeAddObject();\n }\n\n executeAddObject() {\n this.modelService.insertWithItems(this.modelObject).subscribe(result => {\n if (result === true || result > 0) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n if (this.sideModalRef === undefined) {\n if (this.smallModal != undefined) {\n this.tableEngine.smallModal.hide();\n }\n else {\n this.tableView = this.prevAction === 'AddThenNew' ? false : true;\n\n this.prevAction = '';\n }\n }\n else {\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n\n if(this.prevAction != 'AddThenNew'){\n this.goBack();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n\n editObject() {\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n\n let tempList: PurchaseInvoiceItemModel[] = [];\n let tempItem: PurchaseInvoiceItemModel;\n let debugId = 1;\n for (let index = 0; index < this.addedItemList.length; index++) {\n tempItem = new PurchaseInvoiceItemModel();\n tempItem = this.addedItemList[index]\n //tempItem.Id = this.debugMode ? debugId : 0;\n tempItem.Id = 0;\n\n tempItem.PurchaseInvoiceId = this.modelObject.Id;\n tempList.push(tempItem)\n\n debugId++;\n }\n console.log(\"edited item list\",tempList);\n \n //this.calculateTotalItemValue();\n\n let tempObj = JSON.parse(JSON.stringify(this.modelObject));\n console.log(\"Original Object\", this.modelObject);\n console.log(\"Temp Object\", tempObj);\n \n let date = new Date(this.modelObject.Date);\n tempObj.Date = date;\n\n\n let paymentMehod = this.getPaymentMethodById(this.mainForm.getRawValue().PaymentMethodId);\n tempObj.PaymentMethodId = paymentMehod.Id;\n tempObj.PaymentMethodNameAr = paymentMehod.NameAr;\n tempObj.PaymentMethodNameEn = paymentMehod.NameEn;\n\n tempObj.Items = tempList;\n\n tempObj.Id = this.modelObject.Id;\n\n tempObj.Code = this.lastCode;\n tempObj.SupplierId = this.modelObject.SupplierId;\n tempObj.StoreDataId = this.modelObject.StoreDataId;\n tempObj.BranchId = this.modelObject.BranchId;;\n\n tempObj.Description = this.modelObject.Description;\n tempObj.IsPosted = this.modelObject.IsPosted;\n \n tempObj.TotalValue = this.calculateTotalItemValue();\n tempObj.TotalItemDiscounts = this.currentDiscounts;\n tempObj.TotalItemNetPrices = this.currentAfterDiscounts;\n tempObj.TotalItemPrices = this.currentBaseValues;\n tempObj.TotalItemTaxes = this.currentTaxes;\n tempObj.Files = this.files;\n tempObj.CostCenters = this.selectedCostCenters;\n\n console.log(\"editedObject\", tempObj);\n this.executeEditObject(tempObj);\n }\n\n executeEditObject(Object) {\n\n\n this.modelService.updateWithItems(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n\n if (this.sideModalRef === undefined) {\n if (this.smallModal != undefined) {\n this.tableEngine.smallModal.hide();\n }\n else {\n this.tableView = true;\n }\n }\n else {\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n \n this.goBack();\n\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n SearchFrom: Date = null;\n SearchTo: Date = null;\n\n clearSearch() {\n this.SearchFrom = null;\n this.SearchTo = null;\n }\n\n prevAction = '';\n addAndNew() {\n this.prevAction = 'AddThenNew';\n this.addObject();\n this.showModal(null, 'Add');\n }\n\n configPurchases = new ConfigPurchasesModel();\n loadServices() {\n this.currentAction = 'loading';\n\n this.supplierService.getAll().subscribe(\n supplierData => {\n this.supplierList = supplierData;\n\n this.codingUnitService.getAll().subscribe(\n codingUnitData => {\n this.codingUnitList = codingUnitData;\n\n this.itemService.getAll().subscribe(\n itemData => {\n this.itemList = itemData;\n\n this.storeDataService.getAll().subscribe(\n storeData => {\n this.storeDataList = storeData;\n this.requestReceiptService.getAll().subscribe(\n requestReceiptData => {\n this.requestReceiptList = requestReceiptData;\n\n this.paymentMethodService.getAll().subscribe(\n paymentMethodData => {\n this.paymentMethodList = paymentMethodData;\n \n this.configPurchasesService.getFirst().subscribe(\n configPurchasesData => {\n this.configPurchases = configPurchasesData;\n\n this.taxService.getAll().subscribe(taxes =>{\n this.allTaxes = taxes;\n this.tableEngine.loadData();\n })\n \n }\n )\n }\n )\n }\n )\n }\n )\n }\n )\n }\n )\n }\n )\n\n\n }\n changeTax(obj){\n debugger;\n var tax = this.allTaxes.find(x=>x.Id == this.TaxId);\n if(tax){\n obj.TaxValue = (tax.Percentage/100) * obj.GrossPrice\n obj.TaxId = this.TaxId ;\n this.calculateTotalItemValue();\n this.TaxId = 0\n }\n }\n addedItemList: PurchaseInvoiceItemModel[] = [];\n codingUnitList: CodingUnitModel[] = [];\n itemList: any[] = [];\n storeDataList: StoreDataModel[] = [];\n supplierList: SupplierModel[] = [];\n requestReceiptList: RequestReceiptModel[] = [];\n paymentMethodList: PaymentMethodModel[] = [];\n\n getItemById(Id: any): any {\n return this.itemList.find(i => i.Id === Id);\n }\n getUnityById(Id: any): any {\n return this.codingUnitList.find(i => i.Id === Id);\n }\n getStoreDataById(Id: any): any {\n return this.storeDataList.find(i => i.Id === Id);\n }\n getSupplierById(Id: any): any {\n return this.supplierList.find(i => i.Id === Id);\n }\n getRequestReceiptById(Id: any): any {\n return this.requestReceiptList.find(i => i.Id === Id);\n }\n getPaymentMethodById(Id: any): any {\n return this.paymentMethodList.find(i => i.Id === Id);\n }\n getPaymentPlan(Id){\n return this.paymentPlans.find(i => i.Id === Id).Name;\n\n }\n removePurchaseInvoiceItem(Id: any): any {\n\n let index = this.addedItemList.findIndex(x => x.Id === Id);\n this.addedItemList.splice(index, 1);\n\n this.calculateTotalItemValue();\n }\n\n currentBaseValues = 0;\n currentDiscounts = 0;\n currentAfterDiscounts = 0;\n currentTaxes = 0;\n currentTotal = 0;\n\n badValue = false;\n calculateTotalItemValue() {\n debugger;\n this.badValue = false;\n\n console.log(\"calculating\");\n\n let basevalues = 0;\n let discounts = 0;\n let afterDiscounts = 0;\n let taxes = 0;\n let total = 0;\n this.addedItemList.forEach(item => {\n if(item.Quantity > item.MaxQuantity){\n item.Quantity = item.MaxQuantity;\n }\n \n item.TotalPrice = item.Quantity * item.UnitCost;\n basevalues += item.TotalPrice;\n \n item.NetPrice = item.TotalPrice - item.DiscountValue;\n discounts += item.DiscountValue;\n afterDiscounts += item.NetPrice;\n \n item.GrossPrice = item.NetPrice + item.TaxValue;\n taxes += item.TaxValue;\n\n total += item.GrossPrice;\n if(item.DiscountValue == null || item.DiscountValue < 0 \n || item.TaxValue == null || item.TaxValue < 0\n || item.Quantity == null || item.Quantity <= 0\n || item.GrossPrice < 0)\n {\n this.badValue = true;\n }\n //console.log(item.Quantity);\n //console.log(item.DiscountValue);\n //console.log(item.TaxValue);\n \n });\n this.currentBaseValues = basevalues;\n this.currentDiscounts = discounts;\n this.currentAfterDiscounts = afterDiscounts;\n this.currentTaxes = taxes;\n this.currentTotal = total;\n //console.log(this.currentTotal);\n\n return total;\n }\n goBack(){\n console.log(\"back\");\n \n this.modelObject = {};\n //this.createForm(this.modelObject, this.formBuilder);\n this.addedItemList = [];\n this.currentTotal = 0;\n this.requestReceiptHeader = {};\n this.currentAction = \"\";\n this.tableView = true;\n\n console.log(this.modelObject);\n console.log(this.lastCode);\n }\n requestReceiptHeader: RequestReceiptModel = new RequestReceiptModel();\n changeRequestReceiptHeader(){\n debugger;\n this.addedItemList = [];\n\n this.requestReceiptHeader = this.getRequestReceiptById(this.mainForm.getRawValue().RequestReceiptId?this.mainForm.getRawValue().RequestReceiptId:this.modelObject.RequestReceiptId);\n \n this.requestReceiptService.getByIdWithItems(this.requestReceiptHeader.Id).subscribe(\n detailedObject => { \n this.requestReceiptHeader = {...detailedObject};\n this.modelObject = JSON.parse(JSON.stringify(detailedObject));\n this.addedItemList = [];\n this.requestReceiptHeader.Items.forEach(element => {\n element.MaxQuantity = element.Quantity;\n console.log(element.MaxQuantity);\n let tempItem = new PurchaseInvoiceItemModel({\n Id: element.Id,\n ItemId: element.ItemId,\n ItemNameAr: element.ItemNameAr,\n ItemNameEn: element.ItemNameEn,\n UnitId: element.UnitId,\n UnitNameAr: element.UnitNameAr,\n UnitNameEn: element.UnitNameEn,\n Quantity: element.Quantity,\n UnitCost: element.UnitCost,\n MaxQuantity: element.Quantity,\n })\n this.addedItemList.push(tempItem);\n });\n console.log(this.modelObject);\n console.log(this.addedItemList);\n this.calculateTotalItemValue();\n }\n );\n }\n\n \n\n //lastCode = 0;\n codeWasChecked = false;\n checkCode() : boolean{\n if(!(this.lastCode > 0)){\n this.codeWasChecked = false;\n console.log(\"bad code\", this.lastCode);\n \n return this.codeWasChecked;\n }\n this.configPurchasesService.checkPurchaseInvoiceCode(this.lastCode).subscribe(\n result => {\n this.codeWasChecked = result;\n }\n );\n console.log(\"code availability:\",this.codeWasChecked);\n \n return this.codeWasChecked;\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n\n prepChangeSort(sortKey) {\n this.SearchFrom = null;\n this.SearchTo = null;\n\n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n public editEnabled = true;\n public fileUrl: string ='';\n files:JournalFileModel[]=[];\n setFileToList(){\n var file = new JournalFileModel();\n file.JournalHeaderId = this.modelObject.Id ;\n file.FileUrl = this.fileUrl;\n file.Id = 0;\n this.files.push(file);\n }\n deleteFile(file){\n var i = this.files.indexOf(file);\n if(i>-1){\n this.files.splice(i,1);\n }\n }\n\n changePaymentPlan(){\n debugger\n var paymentPlanId = this.mainForm.controls['PaymentPlanId'].value;\n if(paymentPlanId > 0){\n var i = this.paymentPlans.findIndex(x=>x.Id == paymentPlanId);\n if(i>-1){\n var date= new Date();\n var year = date.getFullYear();\n var manth = date.getUTCMonth();\n var day = date.getDate();\n var today = new Date()\n today.setFullYear(year);\n today.setUTCMonth(manth);\n today.setDate(day+this.paymentPlans[i].NumberOfDays);\n this.mainForm.controls['DueDate'].setValue(new Date(today).toISOString().slice(0, 10) );\n }\n }\n }\n changeDueDate(){\n this.mainForm.controls['PaymentPlanId'].setValue(0);\n }\n\n selectedCostCenters:JournalFooterCostCenterModel[]=[] \n \n costCenterId=0;\n selectCenter(){\n debugger;\n var i = this.centers.findIndex(x=>x.Id == this.costCenterId);\n if(i>-1){\n var selected = new JournalFooterCostCenterModel();\n selected.CostCenterId = this.centers[i].Id;\n selected.Amount = 0;\n selected.Id = 0;\n selected.JournalFooterId = 0;\n selected.Percent = 0;\n this.selectedCostCenters.push(selected);\n this.costCenterId = 0;\n }\n }\n getCostName(id){\n return this.centers.find(x=>x.Id == id).NameAr\n }\n\n changePercent(cost,$event){\n debugger;\n cost.Percent = + $event.target.value;\n if(cost.Percent > 100){\n cost.Percent = 100\n }\n var amount = this.currentTotal;\n var totalPercent = 0;\n var i = this.selectedCostCenters.indexOf(cost);\n if(i>-1){\n this.selectedCostCenters[i].Percent = cost.Percent;\n this.selectedCostCenters[i].Amount = (amount * cost.Percent) / 100;\n }\n\n}\nchangeAmount(cost,$event){\n debugger;\n cost.Amount = + $event.target.value;\n var amount = this.currentTotal;\n if(cost.Amount > amount){\n cost.Amount = amount\n }\n var i = this.selectedCostCenters.indexOf(cost);\n if(i>-1){\n this.selectedCostCenters[i].Amount = cost.Amount;\n this.selectedCostCenters[i].Percent = (cost.Amount * 100) / amount;\n }\n\n}\ndeleteCostCenter(cost){\n var i = this.selectedCostCenters.indexOf(cost);\n if(i > -1){\n this.selectedCostCenters.splice(i,1);\n }\n \n}\n}\n","\n\n\n
    \n
    \n
    \n\n
    \n \n \n \n \n
    \n
    \n\n
    \n\n
    \n \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    0)\">\n {{\"PurchaseInvoiceCodeRequired\" | translate}}
    \n
    \n {{\"PurchaseInvoiceCodeAlreadyTaken\" | translate}}
    \n
    \n\n
    \n\n
    \n \n
    \n \n \n {{requestReceipt.Code}}\n \n
    \n \n
    \n {{\"PurchaseInvoiceRequestReceiptRequired\" | translate}}
    \n \n
    \n\n
    \n\n
    \n \n
    \n \n \n {{lang==='ar-EG'?paymentMethod.NameAr:paymentMethod.NameEn}}\n \n
    \n \n
    \n {{\"PurchaseInvoicePaymentMethodRequired\" | translate}}
    \n \n
    \n\n
    \n\n
    \n\n
    \n\n\n\n
    \n \n \n\n \n
    \n\n
    \n\n\n
    \n \n\n \n \n
    \n
    \n \n \n \n
    \n
    \n \n
    \n \n \n {{requestReceipt.Name}}\n \n
    \n \n \n \n
    \n
    \n \n
    \n \n\n
    \n \n \n \n
    \n\n\n
    \n \n \n \n
    \n\n\n\n
    \n\n\n
    \n\n
    \n
    \n \n \n \n
    \n
    \n\n
    \n\n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{\"PurchaseInvoiceItemName\" | translate}}{{\"PurchaseInvoiceItemUnit\" | translate}}{{\"PurchaseInvoiceItemPrice\" | translate}}{{\"PurchaseInvoiceItemQuantity\" | translate}}{{\"PurchaseInvoiceItemDiscount\" | translate}}{{\"PurchaseInvoiceItemTax\" | translate}}{{\"PurchaseInvoiceItemValue\" | translate}}
    \n \n \n {{obj.ItemId>0?(lang==='ar-EG'?obj.ItemNameAr:obj.ItemNameEn):\"None\"|translate}}\n \n {{obj.UnitId>0?(lang==='ar-EG'?obj.UnitNameAr:obj.UnitNameEn):\"None\"|translate}}\n \n {{obj.UnitCost}}\n \n 0) || obj.Quantity===null?'form-control bad-value':'form-control'\"\n placeholder='{{\"PurchaseInvoiceItemQuantity\" | translate}}'>\n\n \n
    \n {{obj.Quantity}}\n
    \n
    \n =0) || obj.DiscountValue===null?'form-control bad-value':'form-control'\"\n [(ngModel)]=\"obj.DiscountValue\" style=\"width: 150px; margin: 0px;\"\n [ngModelOptions]=\"{standalone: true}\"\n placeholder='{{\"PurchaseInvoiceItemDiscountValue\" | translate}}'>\n\n \n
    \n {{obj.DiscountValue}}\n
    \n
    \n \n \n \n {{lang==='ar-EG'?item.NameAr:item.NameEn}}\n \n \n \n \n
    \n {{obj.TaxValue}}\n
    \n
    \n {{(obj.GrossPrice)}}\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n {{\"PurchaseInvoiceTotalValue\" | translate}}\n
    \n {{currentTotal}}\n
    {{\"PurchaseInvoiceInvalidTotal\" | translate}}
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    #{{'Cost Center'| translate}}{{'Percent'| translate}}{{'Amount'| translate}}{{'Delete'| translate}}
    {{i + 1}}\n {{getCostName(cost.CostCenterId)}}\n \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n \n \n \n \n \n \n \n \n
    #{{i+1}}{{\"Download\"|translate}}\n \n
    \n
    \n \n
    \n \n
    \n
    \n\n
    \n
    \n
    \n  \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n tableEngine.deletionList.length === tableEngine.ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n\n
    \n \n\n\n\n
    \n\n
    \n
    \n
    \n
    \n \n \n \n\n\n \n \n\n\n \n \n\n\n \n \n\n\n \n \n\n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n \n \n \n {{\"PurchaseInvoiceCode\" | translate}}\n \n \n \n \n {{\"PurchaseInvoiceSupplier\" | translate}}\n \n \n \n \n {{\"PurchaseInvoiceDate\" | translate}}\n \n \n \n \n {{\"PurchaseInvoiceStoreName\" | translate}}\n \n \n \n \n {{\"PurchaseInvoiceTotalValue\" | translate}}\n \n \n \n \n {{\"PurchaseInvoiceIsPosted\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{obj.Code}}\n {{lang==='ar-EG'?obj.SupplierNameAr:obj.SupplierNameEn}}\n {{obj.Date | date:\"dd/MM/yyyy\"}}\n {{lang==='ar-EG'?obj.StoreNameAr:obj.StoreNameEn}}\n {{obj.TotalItemGrossPrices}}\n \n {{(obj.IsPosted?\"PurchaseInvoiceIsPostedTrue\":\"PurchaseInvoiceIsPostedFalse\")\n | translate}}\n\n \n \n \n \n \n \n
    \n
    \n
    \n \n
    \n\n \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n\n
     
    \n\n
    \n\n \n
    \n\n
     
    \n\n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { PaymentMethodModel } from './PaymentMethodModel';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PaymentMethodService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n\r\n debugData: PaymentMethodModel [] = [\r\n {Id: 1, NameAr:\"طريقة دفع 1\", NameEn:\"Payment Method 1\"},\r\n {Id: 2, NameAr:\"طريقة دفع 2\", NameEn:\"Payment Method 2\"},\r\n {Id: 3, NameAr:\"طريقة دفع 3\", NameEn:\"Payment Method 3\"},\r\n {Id: 4, NameAr:\"طريقة دفع 4\", NameEn:\"Payment Method 4\"},\r\n {Id: 5, NameAr:\"طريقة دفع 5\", NameEn:\"Payment Method 5\"},\r\n {Id: 6, NameAr:\"طريقة دفع 6\", NameEn:\"Payment Method 6\"},\r\n {Id: 7, NameAr:\"طريقة دفع 7\", NameEn:\"Payment Method 7\"},\r\n {Id: 8, NameAr:\"طريقة دفع 8\", NameEn:\"Payment Method 8\"},\r\n {Id: 9, NameAr:\"طريقة دفع 9\", NameEn:\"Payment Method 9\"},\r\n {Id: 10, NameAr:\"طريقة دفع 10\", NameEn:\"Payment Method 10\"},\r\n ]\r\n debugMode: boolean = false;\r\n\r\n baseUrl = environment.baseApiUrl;\r\n // baseUrl = 'http://localhost:60289/';\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}PaymentMethod/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData.find(x=>x.Id==id))\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}PaymentMethod/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: PaymentMethodModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.push(payload);\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}PaymentMethod/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: PaymentMethodModel): Observable {\r\n if(this.debugMode){\r\n this.debugData[this.debugData.findIndex(x=>x.Id==payload.Id)] = payload;\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}PaymentMethod/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: PaymentMethodModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==payload.Id),1);\r\n return of(true)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}PaymentMethod/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: PaymentMethodModel []): Observable {\r\n if(this.debugMode){\r\n payload.forEach(element => {\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==element.Id),1);\r\n });\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}PaymentMethod/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n \r\n}\r\n","\r\nexport class PurchaseOrderItemModel {\r\n Id?: number;\r\n Code?: number;\r\n PurchaseOrderId ?: number; //PurchaseOrderId\r\n PurchaseOrderCode ?: number;\r\n ItemId?: number; //ItemId\r\n ItemNameAr ?: string;\r\n ItemNameEn ?: string;\r\n UnitId?: number;\r\n UnitNameAr ?: string;\r\n UnitNameEn ?: string;\r\n Quantity?: number;\r\n UnitCost?: number;\r\n TotalPrice?: number; //TotalValue\r\n\r\n constructor(obj?: PurchaseOrderItemModel) {\r\n obj = obj ? obj : {};\r\n this.Id = obj.Id ? obj.Id : 0;\r\n this.Code = obj.Code ? obj.Code : 0;\r\n this.PurchaseOrderId = obj.PurchaseOrderId ? obj.PurchaseOrderId : 0;\r\n this.PurchaseOrderCode = obj.PurchaseOrderCode ? obj.PurchaseOrderCode : 0;\r\n this.ItemId = obj.ItemId ? obj.ItemId : null;\r\n this.ItemNameAr = obj.ItemNameAr ? obj.ItemNameAr : \"\";\r\n this.ItemNameEn = obj.ItemNameEn ? obj.ItemNameEn : \"\";\r\n this.UnitId = obj.UnitId ? obj.UnitId : null;\r\n this.UnitNameAr = obj.UnitNameAr ? obj.UnitNameAr : \"\";\r\n this.UnitNameEn = obj.UnitNameEn ? obj.UnitNameEn : \"\";\r\n this.Quantity = obj.Quantity ? obj.Quantity : null;\r\n this.UnitCost = obj.UnitCost ? obj.UnitCost : null;\r\n this.TotalPrice = obj.TotalPrice ? obj.TotalPrice : 0;\r\n }\r\n\r\n}","import { PurchaseOrderItemModel } from \"./PurchaseOrderItemModel\";\r\n\r\n \r\nexport class PurchaseOrderModel {\r\n Id?: number;\r\n Code?: number;\r\n SupplierId?: number;\r\n SupplierNameAr?: string;\r\n SupplierNameEn?: string;\r\n CompanyDataId?: number;\r\n BranchId?: number;\r\n BranchNameAr?: string;\r\n BranchNameEn?: string;\r\n StoreDataId?: number;\r\n StoreNameAr?: string;\r\n StoreNameEn?: string;\r\n Year?: number;\r\n Month?: number;\r\n Date?: Date;\r\n CreateDateTime?: Date;\r\n Description?: string;\r\n TotalValue?: number;\r\n IsPosted?: boolean;\r\n Items?: PurchaseOrderItemModel [];\r\n\r\n constructor(obj?: PurchaseOrderModel) {\r\n obj = obj ? obj : {};\r\n this.Id = obj.Id ? obj.Id : 0;\r\n this.Code = obj.Code ? obj.Code : 0;\r\n this.SupplierId = obj.SupplierId ? obj.SupplierId : 0;\r\n this.SupplierNameAr = obj.SupplierNameAr ? obj.SupplierNameAr : '';\r\n this.SupplierNameEn = obj.SupplierNameEn ? obj.SupplierNameEn : '';\r\n this.CompanyDataId = obj.CompanyDataId ? obj.CompanyDataId : 0;\r\n this.BranchId = obj.BranchId ? obj.BranchId : 0;\r\n this.BranchNameAr = obj.BranchNameAr ? obj.BranchNameAr : '';\r\n this.BranchNameEn = obj.BranchNameEn ? obj.BranchNameEn : '';\r\n this.StoreDataId = obj.StoreDataId ? obj.StoreDataId : 0;\r\n this.StoreNameAr = obj.StoreNameAr ? obj.StoreNameAr : '';\r\n this.StoreNameEn = obj.StoreNameEn ? obj.StoreNameEn : '';\r\n this.Year = obj.Year ? obj.Year : 0;\r\n this.Month = obj.Month ? obj.Month : 0;\r\n this.CreateDateTime = obj.CreateDateTime ? obj.CreateDateTime : new Date();\r\n this.Date = obj.Date ? obj.Date : new Date();\r\n this.Description = obj.Description ? obj.Description : '';\r\n this.TotalValue = obj.TotalValue ? obj.TotalValue : 0;\r\n this.IsPosted = obj.IsPosted ? obj.IsPosted : false;\r\n this.Items = obj.Items ? obj.Items : [];\r\n \r\n }\r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { PurchaseOrderModel } from \"src/app/views/purchases/purchase-orders/PurchaseOrderModel\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PurchaseOrderService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n debugData: PurchaseOrderModel [] = [];\r\n // debugData: PurchaseOrderModel [] = [\r\n // {\r\n // Id:1, SupplierId:1, Code:1, CompanyDataId:0, BranchesDataId:0, StoreDataId:2, \r\n // Year:2021, Month:1, Date:new Date(2021, 0, 13), Description:\"desc1\\ntest1\\n1\", TotalValue:5,\r\n // IsPosted:false,\r\n // Footers: [\r\n // {Id:1, PurchaseOrderHeaderId:1, ItemsHeaderId:1, UnitTypeId:1, Quantity:1, Price:1, Value:1},\r\n // {Id:2, PurchaseOrderHeaderId:1, ItemsHeaderId:2, UnitTypeId:2, Quantity:2, Price:2, Value:4},\r\n // ]\r\n // },\r\n // {\r\n // Id:2, SupplierId:2, Code:2, CompanyDataId:0, BranchesDataId:0, StoreDataId:3, \r\n // Year:2022, Month:2, Date:new Date(2022, 1, 13), Description:\"desc2\\ntest2\\n2\", TotalValue:25,\r\n // IsPosted:true,\r\n // Footers: [\r\n // {Id:3, PurchaseOrderHeaderId:2, ItemsHeaderId:1, UnitTypeId:2, Quantity:3, Price:3, Value:9},\r\n // {Id:4, PurchaseOrderHeaderId:2, ItemsHeaderId:2, UnitTypeId:1, Quantity:4, Price:4, Value:16},\r\n // ]\r\n // },\r\n // ];\r\n debugMode: boolean = false;\r\n\r\n baseUrl = environment.baseApiUrl;\r\n // baseUrl = 'http://localhost:60289/';\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}PurchaseOrder/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getAllWithItems(): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}PurchaseOrder/GetAllWithItems`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData.find(x=>x.Id==id))\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}PurchaseOrder/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getByIdWithItems(id:number): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData.find(x=>x.Id==id))\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}PurchaseOrder/GetByIdWithItems/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: PurchaseOrderModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.push(payload);\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}PurchaseOrder/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n insertWithItems(payload: PurchaseOrderModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.push(payload);\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}PurchaseOrder/InsertWithItems`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n update(payload: PurchaseOrderModel): Observable {\r\n if(this.debugMode){\r\n this.debugData[this.debugData.findIndex(x=>x.Id==payload.Id)] = payload;\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}PurchaseOrder/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n updateWithItems(payload: PurchaseOrderModel): Observable {\r\n if(this.debugMode){\r\n this.debugData[this.debugData.findIndex(x=>x.Id==payload.Id)] = payload;\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}PurchaseOrder/UpdateWithItems`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: PurchaseOrderModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==payload.Id),1);\r\n return of(true)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}PurchaseOrder/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: PurchaseOrderModel []): Observable {\r\n if(this.debugMode){\r\n payload.forEach(element => {\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==element.Id),1);\r\n });\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}PurchaseOrder/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { StoreDataModel } from \"src/app/views/purchases/purchase-orders/StoreDataModel\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StoreDataService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n debugData: StoreDataModel [] = [];\r\n // debugData: StoreDataModel [] = [\r\n // {\r\n // Id: 1, CompanyDataId: 0, BranchesDataId:0, NameAr:\"مخزن 1\", NameEn:\"Store 1\", CountryCodeId:1, GovernorateCodeId:1,\r\n // CityCodeId:1, StoreAddress:\"Store 1 Address\", StoreMobil:\"02011111111\", StorePhone:\"0211111111\", StoreFax:\"FAX111111\",\r\n // StoreWhatsapp:\"WA02011111111\", StoreEmail:\"store1@gmail.com\", StoreManager:1, Description:\"Description\\nTest\\nStore 1\"\r\n // },\r\n // {\r\n // Id: 2, CompanyDataId: 0, BranchesDataId:0, NameAr:\"مخزن 2\", NameEn:\"Store 2\", CountryCodeId:1, GovernorateCodeId:1,\r\n // CityCodeId:1, StoreAddress:\"Store 2 Address\", StoreMobil:\"02022222222\", StorePhone:\"0222222222\", StoreFax:\"FAX222222\",\r\n // StoreWhatsapp:\"WA02022222222\", StoreEmail:\"store2@gmail.com\", StoreManager:1, Description:\"Description\\nTest\\nStore 2\"\r\n // },\r\n // {\r\n // Id: 3, CompanyDataId: 0, BranchesDataId:0, NameAr:\"مخزن 3\", NameEn:\"Store 3\", CountryCodeId:1, GovernorateCodeId:1,\r\n // CityCodeId:1, StoreAddress:\"Store 3 Address\", StoreMobil:\"03033333333\", StorePhone:\"0333333333\", StoreFax:\"FAX333333\",\r\n // StoreWhatsapp:\"WA03033333333\", StoreEmail:\"store3@gmail.com\", StoreManager:1, Description:\"Description\\nTest\\nStore 3\"\r\n // },\r\n // {\r\n // Id: 4, CompanyDataId: 0, BranchesDataId:0, NameAr:\"مخزن 4\", NameEn:\"Store 4\", CountryCodeId:1, GovernorateCodeId:1,\r\n // CityCodeId:1, StoreAddress:\"Store 4 Address\", StoreMobil:\"04044444444\", StorePhone:\"0444444444\", StoreFax:\"FAX444444\",\r\n // StoreWhatsapp:\"WA04044444444\", StoreEmail:\"store4@gmail.com\", StoreManager:1, Description:\"Description\\nTest\\nStore 4\"\r\n // },\r\n // {\r\n // Id: 5, CompanyDataId: 0, BranchesDataId:0, NameAr:\"مخزن 5\", NameEn:\"Store 5\", CountryCodeId:1, GovernorateCodeId:1,\r\n // CityCodeId:1, StoreAddress:\"Store 5 Address\", StoreMobil:\"05055555555\", StorePhone:\"0555555555\", StoreFax:\"FAX555555\",\r\n // StoreWhatsapp:\"WA05055555555\", StoreEmail:\"store5@gmail.com\", StoreManager:1, Description:\"Description\\nTest\\nStore 5\"\r\n // },\r\n // {\r\n // Id: 6, CompanyDataId: 0, BranchesDataId:0, NameAr:\"مخزن 6\", NameEn:\"Store 6\", CountryCodeId:1, GovernorateCodeId:1,\r\n // CityCodeId:1, StoreAddress:\"Store 6 Address\", StoreMobil:\"06066666666\", StorePhone:\"0666666666\", StoreFax:\"FAX666666\",\r\n // StoreWhatsapp:\"WA06066666666\", StoreEmail:\"store6@gmail.com\", StoreManager:1, Description:\"Description\\nTest\\nStore 6\"\r\n // },\r\n // {\r\n // Id: 7, CompanyDataId: 0, BranchesDataId:0, NameAr:\"مخزن 7\", NameEn:\"Store 7\", CountryCodeId:1, GovernorateCodeId:1,\r\n // CityCodeId:1, StoreAddress:\"Store 7 Address\", StoreMobil:\"07077777777\", StorePhone:\"0777777777\", StoreFax:\"FAX777777\",\r\n // StoreWhatsapp:\"WA07077777777\", StoreEmail:\"store7@gmail.com\", StoreManager:1, Description:\"Description\\nTest\\nStore 7\"\r\n // },\r\n // {\r\n // Id: 8, CompanyDataId: 0, BranchesDataId:0, NameAr:\"مخزن 8\", NameEn:\"Store 8\", CountryCodeId:1, GovernorateCodeId:1,\r\n // CityCodeId:1, StoreAddress:\"Store 8 Address\", StoreMobil:\"08088888888\", StorePhone:\"0888888888\", StoreFax:\"FAX888888\",\r\n // StoreWhatsapp:\"WA08088888888\", StoreEmail:\"store8@gmail.com\", StoreManager:1, Description:\"Description\\nTest\\nStore 8\"\r\n // },\r\n // {\r\n // Id: 9, CompanyDataId: 0, BranchesDataId:0, NameAr:\"مخزن 9\", NameEn:\"Store 9\", CountryCodeId:1, GovernorateCodeId:1,\r\n // CityCodeId:1, StoreAddress:\"Store 9 Address\", StoreMobil:\"09099999999\", StorePhone:\"0999999999\", StoreFax:\"FAX999999\",\r\n // StoreWhatsapp:\"WA09099999999\", StoreEmail:\"store9@gmail.com\", StoreManager:1, Description:\"Description\\nTest\\nStore 9\"\r\n // }\r\n // ]\r\n debugMode: boolean = false;\r\n\r\n baseUrl = environment.baseApiUrl;\r\n // baseUrl = 'http://localhost:60289/';\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}warehouse/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData.find(x=>x.Id==id))\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}warehouse/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: StoreDataModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.push(payload);\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}warehouse/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: StoreDataModel): Observable {\r\n if(this.debugMode){\r\n this.debugData[this.debugData.findIndex(x=>x.Id==payload.Id)] = payload;\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}warehouse/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: StoreDataModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==payload.Id),1);\r\n return of(true)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}warehouse/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: StoreDataModel []): Observable {\r\n if(this.debugMode){\r\n payload.forEach(element => {\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==element.Id),1);\r\n });\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}warehouse/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { SupplierModel } from './SupplierModel';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SupplierService {\r\n baseUrl = environment.baseApiUrl;\r\n CompanyId:number =+ localStorage.getItem(\"CompanyId\");\r\n //baseUrl = 'http://localhost:60289/';\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n constructor(private http: HttpClient) {\r\n\r\n }\r\n\r\n\r\n debugData: SupplierModel [] = [\r\n {Id: 1, NameAr:\"مورد 1\", NameEn:\"Supplier 1\", Phone:\"011111111111\", \r\n Address:\"Address 1\", SupplierType:1, CountryId:1, CityId:1, CitiyName:\"City 1\", PostalCode:\"11111\"},\r\n\r\n {Id: 2, NameAr:\"مورد 2\", NameEn:\"Supplier 2\", Phone:\"021111111111\", \r\n Address:\"Address 2\", SupplierType:1, CountryId:1, CityId:1, CitiyName:\"City 1\", PostalCode:\"11111\"},\r\n\r\n {Id: 3, NameAr:\"مورد 3\", NameEn:\"Supplier 3\", Phone:\"031111111111\", \r\n Address:\"Address 3\", SupplierType:1, CountryId:1, CityId:1, CitiyName:\"City 1\", PostalCode:\"11111\"},\r\n\r\n {Id: 4, NameAr:\"مورد 4\", NameEn:\"Supplier 4\", Phone:\"041111111111\", \r\n Address:\"Address 4\", SupplierType:1, CountryId:1, CityId:1, CitiyName:\"City 1\", PostalCode:\"11111\"},\r\n\r\n {Id: 5, NameAr:\"مورد 5\", NameEn:\"Supplier 5\", Phone:\"051111111111\", \r\n Address:\"Address 5\", SupplierType:1, CountryId:1, CityId:1, CitiyName:\"City 1\", PostalCode:\"11111\"},\r\n\r\n {Id: 6, NameAr:\"مورد 6\", NameEn:\"Supplier 6\", Phone:\"061111111111\", \r\n Address:\"Address 6\", SupplierType:1, CountryId:1, CityId:1, CitiyName:\"City 1\", PostalCode:\"11111\"},\r\n\r\n {Id: 7, NameAr:\"مورد 7\", NameEn:\"Supplier 7\", Phone:\"071111111111\", \r\n Address:\"Address 7\", SupplierType:1, CountryId:1, CityId:1, CitiyName:\"City 1\", PostalCode:\"11111\"},\r\n\r\n {Id: 8, NameAr:\"مورد 8\", NameEn:\"Supplier 8\", Phone:\"081111111111\", \r\n Address:\"Address 8\", SupplierType:1, CountryId:1, CityId:1, CitiyName:\"City 1\", PostalCode:\"11111\"},\r\n\r\n {Id: 9, NameAr:\"مورد 9\", NameEn:\"Supplier 9\", Phone:\"091111111111\", \r\n Address:\"Address 9\", SupplierType:1, CountryId:1, CityId:1, CitiyName:\"City 1\", PostalCode:\"11111\"},\r\n\r\n {Id: 10, NameAr:\"مورد 10\", NameEn:\"Supplier 10\", Phone:\"010111111111\", \r\n Address:\"Address 10\", SupplierType:1, CountryId:1, CityId:1, CitiyName:\"City 1\", PostalCode:\"11111\"},\r\n\r\n ]\r\n debugMode: boolean = false;\r\n\r\n getAll(): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}Supplier/GetAll/${this.CompanyId}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData.find(x=>x.Id==id))\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}Supplier/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: SupplierModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.push(payload);\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}Supplier/Insert/${this.CompanyId}`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n update(payload: SupplierModel): Observable {\r\n if(this.debugMode){\r\n this.debugData[this.debugData.findIndex(x=>x.Id==payload.Id)] = payload;\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}Supplier/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n delete(payload: SupplierModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==payload.Id),1);\r\n return of(true)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}Supplier/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n deleteList(payload: SupplierModel []): Observable {\r\n if(this.debugMode){\r\n payload.forEach(element => {\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==element.Id),1);\r\n });\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}Supplier/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n\r\n}\r\n","import { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { TableEngine } from 'src/app/invoices/TableEngine'\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from 'src/app/views/app/aio/shared/side-popup/side-popup.component';\nimport { Observable, of, Subscription } from 'rxjs';\n\nimport { NgSelectComponent } from '@ng-select/ng-select';\n\nimport { PurchaseOrderModel } from \"src/app/views/purchases/purchase-orders/PurchaseOrderModel\";\nimport { PurchaseOrderService } from \"src/app/views/purchases/purchase-orders/PurchaseOrderService\";\nimport { PurchaseOrderItemModel } from \"src/app/views/purchases/purchase-orders/PurchaseOrderItemModel\";\n\nimport { CodingUnitModel } from \"src/app/invoices/coding-units/CodingUnitModel\";\nimport { CodingUnitService } from 'src/app/invoices/coding-units/CodingUnitService';\nimport { StoreDataService } from \"src/app/views/purchases/purchase-orders/StoreDataService\";\nimport { SupplierModel } from \"src/app/views/purchases/purchase-orders/SupplierModel\";\nimport { SupplierService } from \"src/app/views/purchases/purchase-orders/SupplierService\";\n// import { PaymentMethodModel } from \"src/app/views/purchases/purchase-orders/PaymentMethodModel\";\n// import { PaymentMethodService } from \"src/app/views/purchases/purchase-orders/PaymentMethodService\";\nimport { DatePipe, formatDate } from '@angular/common';\nimport { StoreDataModel } from './StoreDataModel';\nimport { ConfigPurchasesService } from '../config-purchases/ConfigPurchasesService';\nimport { ConfigPurchasesModel } from '../config-purchases/ConfigPurchasesModel';\nimport { ListPageHeaderComponent } from 'src/app/containers/pages/list-page-header/list-page-header.component';\nimport { StoreItemsService } from 'src/app/Invintory/store-items-service.service';\n\n@Component({\n selector: 'app-purchase-orders',\n templateUrl: './purchase-orders.component.html',\n styleUrls: ['./purchase-orders.component.scss']\n})\nexport class PurchaseOrdersComponent {\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n\n //Enable debugMode to make API modules return static data from within the service class\n debugMode: boolean = false;\n\n constructor(private formBuilder: FormBuilder, private modelService: PurchaseOrderService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private itemService: StoreItemsService, private datePipe: DatePipe,\n private storeDataService: StoreDataService, private codingUnitService: CodingUnitService,\n private supplierService: SupplierService, private configPurchasesService: ConfigPurchasesService\n\n ) {\n }\n\n listHeader = new ListPageHeaderComponent();\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n tableView: any = true;\n\n translationName: string = 'PurchaseOrder'\n\n sortableKeys = [];\n searchableKeys = ['Date'];\n\n modelObject: PurchaseOrderModel = new PurchaseOrderModel();\n\n ogData: PurchaseOrderModel[] = [];\n\n Items?: PurchaseOrderItemModel[];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n //Code: new FormControl(),\n SupplierId: new FormControl(),\n //CompanyDataId: new FormControl(),\n //BranchId: new FormControl(),\n StoreDataId: new FormControl(),\n Date: new FormControl(),\n //TotalValue: new FormControl(),\n IsPosted: new FormControl(),\n Description: new FormControl(),\n //Items: new FormControl(),\n });\n\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n if (this.debugMode) {\n this.enableDebugOnAllServices();\n }\n\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'PurchaseOrderCode', property: 'Code' };\n this.sortableKeys = [\n { label: 'PurchaseOrderCode', property: 'Code' },\n { label: 'PurchaseOrderDate', property: 'Date' },\n { label: 'PurchaseOrderStoreName', property: this.lang === 'ar-EG' ? 'StoreNameAr':'StoreNameEn' },\n { label: 'PurchaseOrderTotalValue', property: 'TotalValue' },\n { label: 'PurchaseOrderSupplier', property: this.lang === 'ar-EG' ? 'SupplierNameAr':'SupplierNameEn' },\n { label: 'PurchaseOrderIsPosted', property: 'IsPosted' },\n ];\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n\n this.loadServices();\n }\n\n\n enableDebugOnAllServices() {\n //this.modelService.debugMode = true;\n // this.itemService.debugMode = true;\n //this.codingUnitService.debugMode = true;\n //this.storeDataService.debugMode = true;\n //this.supplierService.debugMode = true;\n }\n\n lastCode = 0;\n showModal(Id, action) {\n this.newPurchaseOrderItem = {};\n this.purchaseOrderItemForm = this.createPurchaseOrderItemForm(this.newPurchaseOrderItem, this.formBuilder);\n\n if (action === 'Add') {\n this.addedItemList = [];\n this.newPurchaseOrderItemInternalId = 0;\n if(this.configPurchases.EnableAutoPurchaseOrderCodes==true){\n this.lastCode = this.configPurchases.StartingPurchaseOrderCode;\n for (let index = 0; index < this.tableEngine.ogData.length; index++) {\n if(this.tableEngine.ogData.findIndex(x=>x.Code == this.lastCode) >= 0)\n { this.lastCode++; console.log(this.lastCode);\n } \n else { break; }\n }\n }else{\n //this.lastCode = this.tableEngine.ogData.length>0?this.tableEngine.ogData[this.tableEngine.ogData.length - 1].Code + 1:0;\n this.lastCode = 0;\n }\n this.modelObject.Code = this.lastCode;\n this.checkCode();\n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n }\n else if (action === 'Edit') {\n //this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder)\n this.modelService.getByIdWithItems(Id).subscribe(\n detailedObject => {\n console.log(\"detailed object\", detailedObject);\n \n let targetIndex = this.tableEngine.ogData.findIndex(i => i.Id === Id);\n this.tableEngine.ogData[targetIndex] = detailedObject;\n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder)\n \n this.lastCode = this.tableEngine.modelObject.Code\n \n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n this.tableView = false;\n\n this.addedItemList = [];\n this.addedItemList = [...this.modelObject.Items];\n\n this.calculateTotalItemValue();\n }\n )\n }\n else if (action === 'Info') {\n console.log(\"entered info\");\n this.modelService.getByIdWithItems(Id).subscribe(\n detailedObject => {\n console.log(\"detailed object\", detailedObject);\n \n let targetIndex = this.tableEngine.ogData.findIndex(i => i.Id === Id);\n this.tableEngine.ogData[targetIndex] = detailedObject;\n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder)\n \n this.lastCode = this.tableEngine.modelObject.Code\n \n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n this.tableView = false;\n\n this.addedItemList = [];\n this.addedItemList = [...this.modelObject.Items];\n\n this.calculateTotalItemValue();\n } \n )\n }\n this.tableView = false;\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n console.log((action + \" object\"), this.modelObject);\n\n this.calculateTotalItemValue();\n\n console.log(\"modelObject after entering edit\", this.modelObject);\n }\n currentDate='';\n createForm(modelObject, formBuilder): FormGroup {\n \n return formBuilder.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n SupplierId: [modelObject.SupplierId, Validators.compose([Validators.required])],\n StoreDataId: [modelObject.StoreDataId, Validators.compose([Validators.required])],\n //BranchId: [modelObject.BranchId, Validators.compose([Validators.required])],\n Date: [modelObject.Date?modelObject.Date.toString().slice(0, 10):modelObject.Date, Validators.compose([Validators.required])],\n Description: [modelObject.Description],\n IsPosted: [modelObject.IsPosted, Validators.compose([Validators.required])],\n\n //Items: [modelObject.Items],\n });\n }\n\n addObject() {\n this.currentAction = 'loading';\n \n let tempList: PurchaseOrderItemModel[] = [];\n let tempItem: PurchaseOrderItemModel;\n let debugId = 0;\n for (let index = 0; index < this.addedItemList.length; index++) {\n tempItem = new PurchaseOrderItemModel();\n tempItem = this.addedItemList[index]\n tempItem.Id = this.debugMode ? debugId : 0;\n tempItem.PurchaseOrderId = 0;\n tempList.push(tempItem)\n\n debugId++;\n }\n \n let lastId = this.tableEngine.ogData.length>0?this.tableEngine.ogData[this.tableEngine.ogData.length - 1].Id:0;\n\n this.modelObject = new PurchaseOrderModel();\n \n //this.modelObject.Id = this.debugMode ? lastId + 1 : 0;\n this.modelObject.Id = 0;\n this.modelObject.Code = this.lastCode;\n let supplier = this.getSupplierById(this.mainForm.getRawValue().SupplierId);\n this.modelObject.SupplierId = supplier.Id;\n this.modelObject.SupplierNameAr = supplier.NameAr;\n this.modelObject.SupplierNameEn = supplier.NameEn;\n let store = this.getStoreDataById(this.mainForm.getRawValue().StoreDataId);\n this.modelObject.StoreDataId = store.Id;\n this.modelObject.StoreNameAr = store.NameAr;\n this.modelObject.StoreNameEn = store.NameEn;\n this.modelObject.BranchId = store.BranchId;\n this.modelObject.BranchNameAr = store.BranchAr;\n this.modelObject.BranchNameEn = store.BranchEn;\n\n let date = new Date(this.mainForm.getRawValue().Date);\n this.modelObject.Date = date;\n //this.modelObject.Month = date.getMonth();\n //this.modelObject.Year = date.getFullYear();\n\n this.modelObject.Description = this.mainForm.getRawValue().Description;\n this.modelObject.IsPosted = this.mainForm.getRawValue().IsPosted;\n this.modelObject.Items = tempList;\n this.modelObject.TotalValue = this.calculateTotalItemValue();\n\n\n console.log(this.modelObject);\n this.executeAddObject();\n }\n\n executeAddObject() {\n this.modelService.insertWithItems(this.modelObject).subscribe(result => {\n if (result === true || result > 0) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n if (this.sideModalRef === undefined) {\n if (this.smallModal != undefined) {\n this.tableEngine.smallModal.hide();\n }\n else {\n this.tableView = this.prevAction === 'AddThenNew' ? false : true;\n \n this.prevAction = '';\n }\n }\n else {\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n \n if(this.prevAction != 'AddThenNew'){\n this.goBack();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n\n editObject() {\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n\n let tempList: PurchaseOrderItemModel[] = [];\n let tempItem: PurchaseOrderItemModel;\n let debugId = 1;\n for (let index = 0; index < this.addedItemList.length; index++) {\n tempItem = new PurchaseOrderItemModel();\n tempItem = {...this.addedItemList[index]}\n //tempItem.Id = this.debugMode ? debugId : 0;\n tempItem.Id = 0;\n\n tempItem.PurchaseOrderId = this.modelObject.Id;\n tempList.push(tempItem)\n console.log(\"added temp item while editing\", tempItem);\n \n debugId++;\n }\n\n //this.calculateTotalItemValue();\n //let newString = new DatePipe('en-US').transform(this.mainForm.getRawValue().Date, 'dd/MM/yyyy');\n //console.log(\"newstring\", newString);\n \n //let date: Date = this.getFormattedDate(new DatePipe('en-US').transform(this.mainForm.getRawValue().Date, 'dd/MM/yyyy'));\n let tempObj = new PurchaseOrderModel();\n tempObj.Id = this.modelObject.Id;\n tempObj.Code = this.lastCode;\n let supplier = this.getSupplierById(this.mainForm.getRawValue().SupplierId);\n tempObj.SupplierId = supplier.Id;\n tempObj.SupplierNameAr = supplier.NameAr;\n tempObj.SupplierNameEn = supplier.NameEn;\n let store = this.getStoreDataById(this.mainForm.getRawValue().StoreDataId);\n tempObj.StoreDataId = store.Id;\n tempObj.StoreNameAr = store.NameAr;\n tempObj.StoreNameEn = store.NameEn;\n tempObj.BranchId = store.BranchId;\n tempObj.StoreNameAr = store.BranchAr;\n tempObj.StoreNameEn = store.BranchEn;\n\n let date = new Date(this.mainForm.getRawValue().Date);\n\n tempObj.Date = date;\n tempObj.Year = date.getFullYear();\n tempObj.Month = date.getMonth();\n tempObj.Description = this.mainForm.getRawValue().Description;\n tempObj.IsPosted = this.mainForm.getRawValue().IsPosted;\n tempObj.Items = tempList;\n tempObj.TotalValue = this.calculateTotalItemValue();\n this.executeEditObject(tempObj);\n console.log(\"saved object\", tempObj);\n }\n\n executeEditObject(Object) {\n\n\n this.modelService.updateWithItems(Object).subscribe(result => {\n if (result === true || result > 0) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n\n if (this.sideModalRef === undefined) {\n if (this.smallModal != undefined) {\n this.tableEngine.smallModal.hide();\n }\n else {\n this.tableView = true;\n }\n }\n else {\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n \n this.goBack();\n \n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true || result > 0) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n\n \n //lastCode = 0;\n codeWasChecked = false;\n checkCode() : boolean{\n if(!(this.lastCode > 0)){\n this.codeWasChecked = false;\n console.log(\"bad code\", this.lastCode);\n \n return this.codeWasChecked;\n }\n this.configPurchasesService.checkPurchaseOrderCode(this.lastCode).subscribe(\n result => {\n this.codeWasChecked = result;\n }\n );\n console.log(\"code availability:\",this.codeWasChecked);\n \n return this.codeWasChecked;\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n SearchFrom: Date = null;\n SearchTo: Date = null;\n\n clearSearch() {\n this.SearchFrom = null;\n this.SearchTo = null;\n }\n\n prevAction = '';\n addAndNew() {\n this.prevAction = 'AddThenNew';\n this.addObject();\n this.showModal(null, 'Add');\n }\n\n\n configPurchases = new ConfigPurchasesModel();\n loadServices() {\n this.currentAction = 'loading';\n\n this.supplierService.getAll().subscribe(\n supplierData => {\n this.supplierList = supplierData;\n\n this.codingUnitService.getAll().subscribe(\n codingUnitData => {\n this.codingUnitList = codingUnitData;\n\n this.itemService.getAll().subscribe(\n itemData => {\n this.itemList = itemData;\n\n this.storeDataService.getAll().subscribe(\n storeData => {\n this.storeDataList = storeData;\n\n this.configPurchasesService.getFirst().subscribe(\n configPurchasesData => {\n this.configPurchases = configPurchasesData;\n \n this.tableEngine.loadData();\n }\n )\n }\n )\n }\n )\n }\n )\n }\n )\n\n\n }\n \n addedItemList: PurchaseOrderItemModel[] = [];\n codingUnitList: CodingUnitModel[] = [];\n itemList: any[] = [];\n storeDataList: StoreDataModel[] = [];\n supplierList: SupplierModel[] = [];\n \n getItemById(Id: any): any {\n return this.itemList.find(i => i.Id === Id);\n }\n getUnityById(Id: any): any {\n return this.codingUnitList.find(i => i.Id === Id);\n }\n getStoreDataById(Id: any): any {\n return this.storeDataList.find(i => i.Id === Id);\n }\n getSupplierById(Id: any): any {\n return this.supplierList.find(i => i.Id === Id);\n }\n\n purchaseOrderItemForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n ItemId: new FormControl(),\n //UnitId: new FormControl(),\n Quantity: new FormControl(),\n UnitCost: new FormControl(),\n TotalPrice: new FormControl(),\n });\n createPurchaseOrderItemForm(purchaseOrderItemObject, formBuilder): FormGroup {\n return formBuilder.group({\n Id: [purchaseOrderItemObject.Id >= 0 ? purchaseOrderItemObject.Id : 0],\n ItemId: [null ,Validators.compose([Validators.required])],\n Quantity: [null ,Validators.compose([Validators.required, Validators.pattern(/^([1-9]+)([0-9])*(\\.[0-9]+)?$/)])],\n UnitCost: [null ,Validators.compose([Validators.required, Validators.pattern(/^([1-9]+)([0-9])*(\\.[0-9]+)?$/)])],\n \n //Id: [purchaseOrderItemObject.Id >= 0 ? purchaseOrderItemObject.Id : 0],\n //ItemsHeaderId: [purchaseOrderItemObject.ItemsHeaderId, Validators.compose([Validators.required])],\n //Quantity: [purchaseOrderItemObject.Quantity, Validators.compose([Validators.required, Validators.pattern(/^([1-9]+)([0-9])*(\\.[0-9]+)?$/)])],\n //Price: [purchaseOrderItemObject.Price, Validators.compose([Validators.required, Validators.pattern(/^([1-9]+)([0-9])*(\\.[0-9]+)?$/)])],\n });\n }\n newPurchaseOrderItem: PurchaseOrderItemModel = new PurchaseOrderItemModel();\n newPurchaseOrderItemInternalId = 0;\n\n addPurchaseOrderItem(): any {\n\n let temp = new PurchaseOrderItemModel({\n Id: this.newPurchaseOrderItemInternalId,\n ItemId: this.purchaseOrderItemForm.getRawValue().ItemId,\n UnitId: this.newPurchaseOrderItem.UnitId,\n Quantity: this.purchaseOrderItemForm.getRawValue().Quantity,\n UnitCost: this.purchaseOrderItemForm.getRawValue().UnitCost,\n TotalPrice: this.purchaseOrderItemForm.getRawValue().UnitCost * this.purchaseOrderItemForm.getRawValue().Quantity,\n });\n let tempSourceItem = this.getItemById(this.purchaseOrderItemForm.getRawValue().ItemId);\n // let tempSourceUnit = this.getItemById(this.newPurchaseOrderItem.UnitId);\n temp.ItemNameAr = tempSourceItem.Name;\n temp.ItemNameEn = tempSourceItem.Name;\n // temp.UnitNameAr = tempSourceUnit.NameAr;\n // temp.UnitNameEn = tempSourceUnit.NameEn;\n \n \n this.addedItemList = this.addedItemList.concat(temp)\n this.newPurchaseOrderItemInternalId = this.newPurchaseOrderItemInternalId + 1;\n\n console.log(\"added item\", temp);\n this.newPurchaseOrderItem = new PurchaseOrderItemModel();\n\n \n this.purchaseOrderItemForm = this.createPurchaseOrderItemForm(this.newPurchaseOrderItem, this.formBuilder);\n \n this.calculateTotalItemValue();\n }\n removePurchaseOrderItem(Id: any): any {\n\n let index = this.addedItemList.findIndex(x => x.Id === Id);\n this.addedItemList.splice(index, 1);\n\n this.calculateTotalItemValue();\n }\n changeItem(): any {\n debugger;\n let tempSourceItem = this.getItemById(this.purchaseOrderItemForm.getRawValue().ItemId);\n // let tempSourceUnit = this.getUnityById(tempSourceItem.CodingUnitId);\n this.newPurchaseOrderItem.ItemId = this.purchaseOrderItemForm.getRawValue().ItemId;\n this.newPurchaseOrderItem.UnitId = null // this.purchaseOrderItemForm.getRawValue().ItemId>0?tempSourceUnit.Id:0;\n this.newPurchaseOrderItem.ItemNameAr = tempSourceItem.Name;\n this.newPurchaseOrderItem.ItemNameEn = tempSourceItem.Name;\n // this.newPurchaseOrderItem.UnitNameAr = tempSourceUnit.NameAr;\n // this.newPurchaseOrderItem.UnitNameEn = tempSourceUnit.NameEn;\n this.calculateTotalItemValue();\n }\n currentTotal = 0;\n calculateTotalItemValue() {\n let total = 0;\n this.addedItemList.forEach(item => {\n total += item.TotalPrice;\n });\n this.currentTotal = total;\n return total;\n }\n goBack(){\n console.log(\"back\");\n \n this.modelObject = {};\n this.addedItemList = [];\n this.currentTotal = 0;\n this.newPurchaseOrderItem = {};\n this.currentAction = \"\";\n this.tableView = true;\n\n \n console.log(this.modelObject);\n console.log(this.lastCode);\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepChangeSort(sortKey) {\n this.SearchFrom = null;\n this.SearchTo = null;\n \n \n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n\n getFormattedDate(dateString: any){\n let splitDate: number[] = dateString.toString().split(\"/\");\n\n return new Date(splitDate[2], splitDate[1]-1, splitDate[0])\n }\n ///////////////////////////////////////////////////////\n \n displayMode = 'list';\n changeDisplayMode(mode): void {\n this.displayMode = mode;\n }\n itemsPerPageChange(perPage: number): void {\n this.tableEngine.paginateData(perPage, 1)\n }\n}\n","\n\n\n
    \n
    \n
    \n\n
    \n \n \n \n \n
    \n
    \n\n
    \n\n
    \n \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    0)\">\n {{\"PurchaseOrderCodeRequired\" | translate}}
    \n
    \n {{\"PurchaseOrderCodeAlreadyTaken\" | translate}}
    \n
    \n\n
    \n\n
    \n\n
    \n\n\n\n
    \n \n
    \n \n \n {{lang==='ar-EG'?supplier.NameAr:supplier.NameEn}}\n \n
    \n \n
    \n {{\"PurchaseOrderSupplierRequired\" | translate}}
    \n \n
    \n\n
    \n\n\n
    \n \n
    \n \n \n {{lang==='ar-EG'?store.Name:store.Name}}\n \n
    \n \n
    \n {{\"PurchaseOrderStoreDataRequired\" | translate}}
    \n \n
    \n\n
    \n\n
    \n \n 0?'date':'text'\" onfocus=\"(this.type='date')\"\n onblur=\"if(!this.value)this.type='text'\" onchange=\"if(!this.value)this.type='text'\"\n name=\"Date\" class=\"form-control\" formControlName=\"Date\"\n placeholder='{{\"PurchaseOrderDate\" | translate}}'>\n \n
    \n {{\"PurchaseOrderDateRequired\" | translate}}
    \n \n
    \n\n\n\n
    \n\n
    \n\n
    \n
    \n \n
    \n \n {{\"PurchaseOrderIsPostedFalse\" | translate}}\n {{\"PurchaseOrderIsPostedTrue\" | translate}}\n \n
    \n \n
    \n {{\"PurchaseOrderIsPostedRequired\" | translate}}
    \n \n
    \n
    \n\n
    \n\n
    \n
    \n \n \n \n \n
    \n
    \n\n
    \n\n \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{\"PurchaseOrderItemName\" | translate}}{{\"PurchaseOrderItemUnit\" | translate}}{{\"PurchaseOrderItemUnitCost\" | translate}}{{\"PurchaseOrderItemQuantity\" | translate}}{{\"PurchaseOrderItemValue\" | translate}}
    \n \n \n {{obj.ItemId>0?(lang==='ar-EG'?obj.ItemNameAr:obj.ItemNameEn):\"None\"|translate}}\n \n {{obj.UnitId>0?(lang==='ar-EG'?obj.UnitNameAr:obj.UnitNameEn):\"None\"|translate}}\n \n {{obj.UnitCost}}\n \n {{obj.Quantity}}\n \n {{obj.TotalPrice}}\n
    \n \n \n
    \n \n \n {{lang==='ar-EG'?item.Name:item.Name}}\n \n
    \n
    \n
    \n {{newPurchaseOrderItem.UnitId>0?(lang==='ar-EG'?newPurchaseOrderItem.UnitNameAr:newPurchaseOrderItem.UnitNameEn):\"None\"|translate}}\n
    \n
    \n \n
    \n {{\"PurchaseOrderItemUnitCostRequired\" | translate}}
    \n
    \n \n\n
    \n {{\"PurchaseOrderItemQuantityRequired\" | translate}}
    \n
    \n
    \n {{purchaseOrderItemForm.getRawValue().UnitCost *\n purchaseOrderItemForm.getRawValue().Quantity}}
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n {{\"PurchaseOrderTotalValue\" | translate}}\n
    \n {{currentTotal>0?currentTotal:0}}\n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n  \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n tableEngine.deletionList.length === tableEngine.ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n\n
    \n
    \n
    \n
    \n \n \n \n\n \n \n\n\n \n \n\n\n \n \n\n\n \n \n\n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n \n \n \n {{\"PurchaseOrderCode\" | translate}}\n \n \n \n \n {{\"PurchaseOrderSupplier\" | translate}}\n \n \n \n \n {{\"PurchaseOrderDate\" | translate}}\n \n \n \n \n {{\"PurchaseOrderStoreName\" | translate}}\n \n \n \n \n {{\"PurchaseOrderTotalValue\" | translate}}\n \n \n \n \n {{\"PurchaseOrderIsPosted\" | translate}}\n \n\n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • \n {{item}}
  • \n
    \n
    \n
    \n\n
    \n
    \n \n \n
    \n
    {{obj.Code}}\n {{lang==='ar-EG'?obj.SupplierNameAr:obj.SupplierNameEn}}\n {{obj.Date | date:\"dd/MM/yyyy\"}}\n {{lang==='ar-EG'?obj.StoreNameAr:obj.StoreNameEn}}\n {{obj.TotalValue}}\n {{(obj.IsPosted?\"PurchaseOrderIsPostedTrue\":\"PurchaseOrderIsPostedFalse\")\n | translate}}\n\n \n \n \n \n \n \n
    \n\n
    \n
    \n \n
    \n\n \n \n \n \n
    \n
    \n
    \n\n\n
    \n
    \n\n
    \n
    \n
    \n\n
    \n\n
     
    \n\n\n
     
    \n\n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { PurchaseQuotationFileModel } from \"./PurchaseQuotationFileModel\";\r\nimport { PurchaseQuotationItemModel } from \"./PurchaseQuotationItemModel\";\r\nimport { PurchaseQuotationServiceModel } from \"./PurchaseQuotationServiceModel\";\r\n\r\nexport class PurchaseQuotationDetailsModel {\r\n Id?: number;\r\n Code?: number;\r\n SupplierId?: number;\r\n SupplierNameAr?: string;\r\n SupplierNameEn?: string;\r\n CompanyDataId?: number;\r\n //BranchId?: number;\r\n //BranchNameAr?: string;\r\n //BranchNameEn?: string;\r\n //StoreDataId?: number;\r\n //StoreNameAr?: string;\r\n //StoreNameEn?: string;\r\n Year?: number;\r\n Month?: number;\r\n Date?: Date;\r\n ExpirationDate?: Date;\r\n DiscountValue?: number;\r\n DiscountIsRate?: boolean;\r\n ShippingFees?: number;\r\n ShippingAddress1?: string;\r\n ShippingAddress2?: string;\r\n Description?: string;\r\n Items?: PurchaseQuotationItemModel[];\r\n TotalItemPrices?: number; //base prices, without taxes or discounts\r\n TotalItemDiscounts?: number;\r\n TotalItemNetPrices?: number;\r\n TotalItemTaxes?: number;\r\n TotalItemGrossPrices?: number; //final prices\r\n Services?: PurchaseQuotationServiceModel[];\r\n TotalServices?: number;\r\n TotalPurchaseQuotationValue?: number;\r\n Files?: PurchaseQuotationFileModel[];\r\n constructor(obj?: PurchaseQuotationDetailsModel) {\r\n obj = obj ? obj : {};\r\n this.Id = obj.Id ? obj.Id : 0;\r\n this.Code = obj.Code ? obj.Code : 0;\r\n this.SupplierId = obj.SupplierId ? obj.SupplierId : 0;\r\n this.SupplierNameAr = obj.SupplierNameAr ? obj.SupplierNameAr : '';\r\n this.SupplierNameEn = obj.SupplierNameEn ? obj.SupplierNameEn : '';\r\n this.CompanyDataId = obj.CompanyDataId ? obj.CompanyDataId : 0;\r\n // this.BranchId = obj.BranchId ? obj.BranchId : 0;\r\n // this.BranchNameAr = obj.BranchNameAr ? obj.BranchNameAr : '';\r\n // this.BranchNameEn = obj.BranchNameEn ? obj.BranchNameEn : '';\r\n // this.StoreDataId = obj.StoreDataId ? obj.StoreDataId : 0;\r\n // this.StoreNameAr = obj.StoreNameAr ? obj.StoreNameAr : '';\r\n // this.StoreNameEn = obj.StoreNameEn ? obj.StoreNameEn : '';\r\n this.Year = obj.Year ? obj.Year : 0;\r\n this.Month = obj.Month ? obj.Month : 0;\r\n this.Date = obj.Date ? obj.Date : new Date();\r\n this.ExpirationDate = obj.ExpirationDate ? obj.Date : new Date();\r\n this.DiscountValue = obj.DiscountValue ? obj.DiscountValue : 0;\r\n this.DiscountIsRate = obj.DiscountIsRate ? obj.DiscountIsRate : true;\r\n this.ShippingFees = obj.ShippingFees ? obj.ShippingFees : 0;\r\n this.ShippingAddress1 = obj.ShippingAddress1 ? obj.ShippingAddress1 : '';\r\n this.ShippingAddress2 = obj.ShippingAddress2 ? obj.ShippingAddress2 : '';\r\n this.Description = obj.Description ? obj.Description : '';\r\n this.Items = obj.Items ? obj.Items : [];\r\n this.TotalItemPrices = obj.TotalItemPrices ? obj.TotalItemPrices : 0;\r\n this.TotalItemDiscounts = obj.TotalItemDiscounts ? obj.TotalItemDiscounts : 0;\r\n this.TotalItemNetPrices = obj.TotalItemNetPrices ? obj.TotalItemNetPrices : 0;\r\n this.TotalItemTaxes = obj.TotalItemTaxes ? obj.TotalItemTaxes : 0;\r\n this.TotalItemGrossPrices = obj.TotalItemGrossPrices ? obj.TotalItemGrossPrices : 0;\r\n this.Services = obj.Services ? obj.Services : [];\r\n this.TotalServices = obj.TotalServices ? obj.TotalServices : 0;\r\n this.TotalPurchaseQuotationValue = obj.TotalPurchaseQuotationValue ? obj.TotalPurchaseQuotationValue : 0;\r\n this.Files = obj.Files ? obj.Files : [];\r\n }\r\n\r\n}","export class PurchaseQuotationFileModel {\r\n Id?: number;\r\n Code?: number;\r\n PurchaseQuotationId?: number;\r\n PurchaseQuotationCode?: number;\r\n FileUrl?: string;\r\n constructor(obj?: PurchaseQuotationFileModel) {\r\n obj = obj ? obj : {};\r\n this.Id = obj.Id ? obj.Id : 0;\r\n this.Code = obj.Code ? obj.Code : 0;\r\n this.PurchaseQuotationId = obj.PurchaseQuotationId ? obj.PurchaseQuotationId : 0;\r\n this.PurchaseQuotationCode = obj.PurchaseQuotationCode ? obj.PurchaseQuotationCode : 0;\r\n this.FileUrl = obj.FileUrl ? obj.FileUrl : '';\r\n }\r\n\r\n}","import { PurchaseQuotationItemTaxModel } from \"./PurchaseQuotationItemTaxModel\";\r\n\r\nexport class PurchaseQuotationItemModel {\r\n Id?: number;\r\n Code?: number;\r\n PurchaseQuotationId ?: number;\r\n PurchaseQuotationCode ?: number;\r\n ItemId?: number;\r\n ItemNameAr?: string;\r\n ItemNameEn?: string;\r\n UnitId?: number;\r\n UnitNameAr?: string;\r\n UnitNameEn?: string;\r\n Description?: string;\r\n UnitCost?: number;\r\n Quantity?: number;\r\n TotalPrice?: number;\r\n DiscountValue?: number;\r\n DiscountIsRate?: boolean;\r\n NetPrice?: number;\r\n Taxes?: PurchaseQuotationItemTaxModel[];\r\n TotalTaxValues?: number;\r\n GrossPrice?: number;\r\n constructor(obj?: PurchaseQuotationItemModel) {\r\n obj = obj ? obj : {};\r\n this.Id = obj.Id ? obj.Id : 0;\r\n this.Code = obj.Code ? obj.Code : 0;\r\n this.PurchaseQuotationId = obj.PurchaseQuotationId ? obj.PurchaseQuotationId : 0;\r\n this.PurchaseQuotationCode = obj.PurchaseQuotationCode ? obj.PurchaseQuotationCode : 0;\r\n this.ItemId = obj.ItemId ? obj.ItemId : 0;\r\n this.ItemNameAr = obj.ItemNameAr ? obj.ItemNameAr : '';\r\n this.ItemNameEn = obj.ItemNameEn ? obj.ItemNameEn : '';\r\n this.UnitId = obj.UnitId ? obj.UnitId : 0;\r\n this.UnitNameAr = obj.UnitNameAr ? obj.UnitNameAr : '';\r\n this.UnitNameEn = obj.UnitNameEn ? obj.UnitNameEn : '';\r\n this.Description = obj.Description ? obj.Description : '';\r\n this.UnitCost = obj.UnitCost ? obj.UnitCost : 0;\r\n this.Quantity = obj.Quantity ? obj.Quantity : 0;\r\n this.TotalPrice = obj.TotalPrice ? obj.TotalPrice : 0;\r\n this.DiscountValue = obj.DiscountValue ? obj.DiscountValue : 0;\r\n this.DiscountIsRate = obj.DiscountIsRate ? obj.DiscountIsRate : true;\r\n this.NetPrice = obj.NetPrice ? obj.NetPrice : 0;\r\n this.Taxes = obj.Taxes ? obj.Taxes : [];\r\n this.TotalTaxValues = obj.TotalTaxValues ? obj.TotalTaxValues : 0;\r\n this.GrossPrice = obj.GrossPrice ? obj.GrossPrice : 0;\r\n }\r\n\r\n}","export class PurchaseQuotationItemTaxModel {\r\n Id?: number;\r\n Code?: number;\r\n PurchaseQuotationItemId?: number;\r\n PurchaseQuotationItemCode?: number;\r\n TaxId?: number;\r\n TaxNameAr?: string;\r\n TaxNameEn?: string;\r\n TaxIsRate?: boolean;\r\n TaxValue?: number; \r\n constructor(obj?: PurchaseQuotationItemTaxModel) {\r\n obj = obj ? obj : {};\r\n this.Id = obj.Id ? obj.Id : 0;\r\n this.Code = obj.Code ? obj.Code : 0;\r\n this.PurchaseQuotationItemId = obj.PurchaseQuotationItemId ? obj.PurchaseQuotationItemId : 0;\r\n this.PurchaseQuotationItemCode = obj.PurchaseQuotationItemCode ? obj.PurchaseQuotationItemCode : 0;\r\n this.TaxId = obj.TaxId ? obj.TaxId : 0;\r\n this.TaxNameAr = obj.TaxNameAr ? obj.TaxNameAr : '';\r\n this.TaxNameEn = obj.TaxNameEn ? obj.TaxNameEn : '';\r\n this.TaxIsRate = obj.TaxIsRate ? obj.TaxIsRate : true;\r\n this.TaxValue = obj.TaxValue ? obj.TaxValue : 0;\r\n }\r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { PurchaseQuotationDetailsModel } from \"./PurchaseQuotationDetailsModel\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PurchaseQuotationService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n debugData: PurchaseQuotationDetailsModel [] = [];\r\n // debugData: PurchaseQuotationDetailsModel [] = [\r\n // {\r\n // Id:1, Code:1001, Date:new Date(2021, 0, 13), ExpirationDate:new Date(2021, 5, 13),\r\n // SupplierId:1, SupplierNameAr:'احمد', SupplierNameEn:'Ahmad', ShippingAddress1: \"address11\", ShippingAddress2:\"adderss12\",\r\n // Description:\"desc1\\nquotation1\\n1\",\r\n // Items: [\r\n // { Id:1, PurchaseQuotationId: 1, ItemId:1, ItemNameAr: \"منتج 1\", ItemNameEn: \"Item 1\", \r\n // UnitId:1, UnitNameAr:\"وحدة 1\", UnitNameEn:\"Unit 1\", Description:\"item\\ndescription\\n1\", \r\n // UnitCost:1000, Quantity:1, TotalPrice:1000, DiscountValue:1, DiscountIsRate:false, NetPrice:999,\r\n // Taxes:[\r\n // { Id:1, PurchaseQuotationItemId: 1, TaxId: 1, TaxNameAr: \"ضريبة 1\", TaxNameEn: \"Tax 1\", TaxIsRate:true, TaxValue:5 },\r\n // { Id:2, PurchaseQuotationItemId: 1, TaxId: 2, TaxNameAr: \"ضريبة 2\", TaxNameEn: \"Tax 2\", TaxIsRate:false, TaxValue:200 },\r\n // ],\r\n // TotalTaxValues:249.95, GrossPrice: 1248.95 },\r\n\r\n // { Id:2, PurchaseQuotationId: 1, ItemId:2, ItemNameAr: \"منتج 2\", ItemNameEn: \"Item 2\", \r\n // UnitId:2, UnitNameAr:\"وحدة 2\", UnitNameEn:\"Unit 2\", Description:\"item\\ndescription\\n2\", \r\n // UnitCost:1000, Quantity:2, TotalPrice:2000, DiscountValue:2, DiscountIsRate:true, NetPrice:1960,\r\n // Taxes:[\r\n // { Id:3, PurchaseQuotationItemId: 2, TaxId: 2, TaxNameAr: \"ضريبة 2\", TaxNameEn: \"Tax 2\", TaxIsRate:false, TaxValue:200 },\r\n // { Id:4, PurchaseQuotationItemId: 2, TaxId: 3, TaxNameAr: \"ضريبة 3\", TaxNameEn: \"Tax 3\", TaxIsRate:true, TaxValue:10 },\r\n // ],\r\n // TotalTaxValues:396, GrossPrice: 2356 },\r\n // ],\r\n // TotalItemPrices: 3000, TotalItemDiscounts: 41, TotalItemNetPrices: 2959, TotalItemTaxes: 645.95,\r\n // TotalItemGrossPrices: 3604.95,\r\n // Services: [\r\n // { Id: 1, PurchaseQuotationId: 1, NameAr: \"خدمة تحويل فودافون كاش\", NameEn:\"Vodafone Cash fee\", Value: 5, IsRate: false },\r\n // { Id: 2, PurchaseQuotationId: 1, NameAr: \"كارتة طريق الرحاب\", NameEn:\"Al-Rihab road toll\", Value: 200, IsRate: false },\r\n // ],\r\n // TotalServices: 205, DiscountValue:100, DiscountIsRate: false, ShippingFees: 1000,\r\n // TotalPurchaseQuotationValue: 4109.95,\r\n // Files: [\r\n // {Id: 1, PurchaseQuotationId: 1, FileUrl: \"ID-Card.pdf\"},\r\n // {Id: 2, PurchaseQuotationId: 1, FileUrl: \"Vodafone-Cash-Transfer-Image.jpg\"},\r\n // ],\r\n // },\r\n\r\n // {\r\n // Id:2, Code:1002, Date:new Date(2022, 1, 13), ExpirationDate:new Date(2021, 6, 13),\r\n // SupplierId:2, SupplierNameAr:'فواز', SupplierNameEn:'Fawaz', ShippingAddress1: \"address21\", ShippingAddress2:\"adderss22\",\r\n // Description:\"desc2\\nquotation2\\n2\",\r\n // Items: [\r\n // { Id:3, PurchaseQuotationId: 2, ItemId:2, ItemNameAr: \"منتج 2\", ItemNameEn: \"Item 2\", \r\n // UnitId:2, UnitNameAr:\"وحدة 2\", UnitNameEn:\"Unit 2\", Description:\"item\\ndescription\\n3\", \r\n // UnitCost:1000, Quantity:3, TotalPrice:3000, DiscountValue:3, DiscountIsRate:true, NetPrice:2910,\r\n // Taxes:[\r\n // { Id:3, PurchaseQuotationItemId: 3, TaxId: 3, TaxNameAr: \"ضريبة 3\", TaxNameEn: \"Tax 3\", TaxIsRate:true, TaxValue:10 },\r\n // { Id:4, PurchaseQuotationItemId: 3, TaxId: 1, TaxNameAr: \"ضريبة 1\", TaxNameEn: \"Tax 1\", TaxIsRate:true, TaxValue:5 },\r\n // ],\r\n // TotalTaxValues:436.5, GrossPrice: 3346.5 },\r\n\r\n // { Id:4, PurchaseQuotationId: 2, ItemId:1, ItemNameAr: \"منتج 1\", ItemNameEn: \"Item 1\", \r\n // UnitId:1, UnitNameAr:\"وحدة 1\", UnitNameEn:\"Unit 1\", Description:\"item\\ndescription\\n4\", \r\n // UnitCost:1000, Quantity:4, TotalPrice:4000, DiscountValue:4, DiscountIsRate:false, NetPrice:3996,\r\n // Taxes:[\r\n // { Id:5, PurchaseQuotationItemId: 4, TaxId: 1, TaxNameAr: \"ضريبة 1\", TaxNameEn: \"Tax 1\", TaxIsRate:true, TaxValue:5 },\r\n // { Id:6, PurchaseQuotationItemId: 4, TaxId: 2, TaxNameAr: \"ضريبة 2\", TaxNameEn: \"Tax 2\", TaxIsRate:false, TaxValue:200 },\r\n // ],\r\n // TotalTaxValues:399.8, GrossPrice: 4395.8 },\r\n // ],\r\n // TotalItemPrices: 7000, TotalItemDiscounts: 94, TotalItemNetPrices: 6906, TotalItemTaxes: 836.3,\r\n // TotalItemGrossPrices: 7742.3,\r\n // Services: [\r\n // { Id: 3, PurchaseQuotationId: 2, NameAr: \"غرامة تأخر استلام\", NameEn:\"Waiting fee\", Value: 100, IsRate: false },\r\n // ],\r\n // TotalServices: 100, DiscountValue:200, DiscountIsRate: false, ShippingFees: 2000,\r\n // TotalPurchaseQuotationValue: 9642.3,\r\n // Files: [\r\n // {Id: 3, PurchaseQuotationId: 2, FileUrl: \"Contract1.pdf\"},\r\n // {Id: 4, PurchaseQuotationId: 2, FileUrl: \"Contract2.pdf\"},\r\n // ],\r\n // },\r\n \r\n // ];\r\n debugMode: boolean = false;\r\n\r\n baseUrl = environment.baseApiUrl;\r\n // baseUrl = 'http://localhost:60289/';\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}PurchaseQuotation/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getAllWithItems(): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}PurchaseQuotation/GetAllWithItems`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData.find(x=>x.Id==id))\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}PurchaseQuotation/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getByIdWithItems(id:number): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData.find(x=>x.Id==id))\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}PurchaseQuotation/GetByIdWithItems/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: PurchaseQuotationDetailsModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.push(payload);\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}PurchaseQuotation/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insertWithItems(payload: PurchaseQuotationDetailsModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.push(payload);\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}PurchaseQuotation/InsertWithItems`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: PurchaseQuotationDetailsModel): Observable {\r\n if(this.debugMode){\r\n this.debugData[this.debugData.findIndex(x=>x.Id==payload.Id)] = payload;\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}PurchaseQuotation/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n updateWithItems(payload: PurchaseQuotationDetailsModel): Observable {\r\n if(this.debugMode){\r\n this.debugData[this.debugData.findIndex(x=>x.Id==payload.Id)] = payload;\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}PurchaseQuotation/UpdateWithItems`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: PurchaseQuotationDetailsModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==payload.Id),1);\r\n return of(true)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}PurchaseQuotation/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: PurchaseQuotationDetailsModel []): Observable {\r\n if(this.debugMode){\r\n payload.forEach(element => {\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==element.Id),1);\r\n });\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}PurchaseQuotation/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","export class PurchaseQuotationServiceModel {\r\n Id?: number;\r\n Code?: number;\r\n PurchaseQuotationId?: number;\r\n PurchaseQuotationCode?: number;\r\n NameAr?: string;\r\n NameEn?: string;\r\n Value?: number;\r\n IsRate?: boolean;\r\n constructor(obj?: PurchaseQuotationServiceModel) {\r\n obj = obj ? obj : {};\r\n this.Id = obj.Id ? obj.Id : 0;\r\n this.Code = obj.Code ? obj.Code : 0;\r\n this.PurchaseQuotationId = obj.PurchaseQuotationId ? obj.PurchaseQuotationId : 0;\r\n this.PurchaseQuotationCode = obj.PurchaseQuotationCode ? obj.PurchaseQuotationCode : 0;\r\n this.NameAr = obj.NameAr ? obj.NameAr : '';\r\n this.NameEn = obj.NameEn ? obj.NameEn : '';\r\n this.Value = obj.Value ? obj.Value : 0;\r\n this.IsRate = obj.IsRate ? obj.IsRate : false;\r\n }\r\n\r\n}","import { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from '../../app/aio/shared/side-popup/side-popup.component';\nimport { PurchaseQuotationDetailsModel } from \"./PurchaseQuotationDetailsModel\";\nimport { PurchaseQuotationService } from \"./PurchaseQuotationService\";\nimport { PurchaseQuotationItemModel } from \"./PurchaseQuotationItemModel\";\nimport { PurchaseQuotationFileModel } from \"./PurchaseQuotationFileModel\";\nimport { PurchaseQuotationServiceModel } from \"./PurchaseQuotationServiceModel\";\nimport { CodingUnitModel } from \"src/app/invoices/coding-units/CodingUnitModel\";\nimport { CodingUnitService } from 'src/app/invoices/coding-units/CodingUnitService';\nimport { SupplierService } from \"../../purchases/purchase-orders/SupplierService\";\nimport { SupplierModel } from \"../../purchases/purchase-orders/SupplierModel\";\nimport { TaxTypesModel } from \"src/app/invoices/tax-types/TaxTypesModel\";\nimport { TaxTypesService } from \"src/app/invoices/tax-types/TaxTypesService\";\nimport { DatePipe, formatDate } from '@angular/common';\nimport { PurchaseQuotationItemTaxModel } from './PurchaseQuotationItemTaxModel';\nimport { ConfigPurchasesService } from '../config-purchases/ConfigPurchasesService';\nimport { ConfigPurchasesModel } from '../config-purchases/ConfigPurchasesModel';\nimport { TableEngine } from '../../app/aio/shared/TableEngine';\nimport { ListPageHeaderComponent } from 'src/app/containers/pages/list-page-header/list-page-header.component';\nimport { StoreItemsService } from 'src/app/Invintory/store-items-service.service';\n\n@Component({\n selector: 'app-purchase-quotations',\n templateUrl: './purchase-quotations.component.html',\n styleUrls: ['./purchase-quotations.component.scss']\n})\nexport class PurchaseQuotationsComponent {\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n\n //Enable debugMode to make API modules return static data from within the service class\n debugMode: boolean = false;\n\n constructor(private formBuilder: FormBuilder, private modelService: PurchaseQuotationService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private itemService: StoreItemsService, private datePipe: DatePipe,\n private supplierService: SupplierService, private codingUnitService: CodingUnitService,\n private taxTypeService: TaxTypesService, private configPurchasesService: ConfigPurchasesService\n ) {\n }\n\n\n listHeader = new ListPageHeaderComponent();\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n tableView: any = true;\n\n translationName: string = 'PurchaseQuotation'\n\n sortableKeys = [];\n searchableKeys = ['Date'];\n\n modelObject: PurchaseQuotationDetailsModel = new PurchaseQuotationDetailsModel();\n\n ogData: PurchaseQuotationDetailsModel[] = [];\n \n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Date: new FormControl(),\n ExpirationDate: new FormControl(),\n SupplierId: new FormControl(),\n ShippingFees: new FormControl(),\n ShippingAddress1: new FormControl(),\n ShippingAddress2: new FormControl(),\n Description: new FormControl(),\n DiscountValue: new FormControl(),\n DiscountIsRate: new FormControl(),\n });\n\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective = null;\n @ViewChild('taxModal', { static: true }) taxModal: ModalDirective;\n formPresentationModal: any;\n ngOnInit(): void {\n if (this.debugMode) {\n this.enableDebugOnAllServices();\n }\n\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'PurchaseQuotationCode', property: 'Code' };\n this.sortableKeys = [\n { label: 'PurchaseQuotationCode', property: 'Code' },\n { label: 'PurchaseQuotationDate', property: 'Date' },\n { label: 'PurchaseQuotationExpirationDate', property: 'ExpirationDate' },\n { label: 'PurchaseQuotationSupplierName', property: this.lang === 'ar-EG' ? 'SupplierNameAr' : 'SupplierNameEn' },\n { label: 'PurchaseQuotationShippingAddress1', property: 'ShippingAddress1' },\n { label: 'PurchaseQuotationShippingAddress2', property: 'ShippingAddress2' },\n { label: 'PurchaseQuotationTotalPurchaseQuotationValue', property: 'TotalPurchaseQuotationValue' },\n ];\n\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n\n this.loadServices();\n }\n\n\n enableDebugOnAllServices() {\n //this.modelService.debugMode = true;\n //this.supplierService.debugMode = true;\n //this.taxTypeService.debugMode = true;\n // this.itemService.debugMode = true;\n //this.codingUnitService.debugMode = true;\n //this.storeDataService.debugMode = true;\n //this.supplierService.debugMode = true;\n\n }\n\n lastCode = 0;\n showModal(Id, action) {\n console.log(\"Items\",this.itemList);\n console.log(\"Units\",this.codingUnitList);\n \n this.newPurchaseQuotationItem = {};\n this.newPurchaseQuotationItem.Taxes = [];\n this.newPurchaseQuotationItemTax = {};\n this.newPurchaseQuotationFile = {};\n this.newPurchaseQuotationService = {};\n\n this.quotationItemForm = this.createPurchaseQuotationItemForm(this.newPurchaseQuotationItem, this.formBuilder);\n this.quotationItemTaxForm = this.createPurchaseQuotationItemTaxForm(this.newPurchaseQuotationItem, this.formBuilder);\n this.quotationServiceForm = this.createPurchaseQuotationServiceForm(this.newPurchaseQuotationItem, this.formBuilder);\n\n if (action === 'Add') {\n this.addedItemList = [];\n this.addedServiceList = [];\n this.addedFileList = [];\n this.newPurchaseQuotationItemInternalId = 0;\n this.newPurchaseQuotationItemTaxInternalId = 0;\n this.newPurchaseQuotationServiceInternalId = 0;\n this.newPurchaseQuotationFileInternalId = 0;\n if(this.configPurchases.EnableAutoQuotationRequestCodes==true){\n this.lastCode = this.configPurchases.StartingQuotationRequestCode;\n for (let index = 0; index < this.tableEngine.ogData.length; index++) {\n if(this.tableEngine.ogData.findIndex(x=>x.Code == this.lastCode) >= 0)\n { this.lastCode++; console.log(this.lastCode);\n } \n else { break; }\n }\n }else{\n //this.lastCode = this.tableEngine.ogData.length>0?this.tableEngine.ogData[this.tableEngine.ogData.length - 1].Code + 1:0;\n this.lastCode = 0;\n }\n this.modelObject.Code = this.lastCode;\n this.checkCode();\n \n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n }\n else if (action === 'Edit') {\n\n \n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder);\n //this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder)\n this.modelService.getByIdWithItems(Id).subscribe(\n detailedObject => {\n console.log(\"detailed object\", detailedObject);\n \n let targetIndex = this.tableEngine.ogData.findIndex(i => i.Id === Id);\n this.tableEngine.ogData[targetIndex] = detailedObject;\n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder)\n \n this.lastCode = this.tableEngine.modelObject.Code\n \n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n this.tableView = false;\n\n this.addedItemList = [];\n this.addedServiceList = [];\n this.addedFileList = [];\n this.addedItemList = [...this.modelObject.Items];\n this.addedServiceList = [...this.modelObject.Services];\n this.addedFileList = [...this.modelObject.Files];\n \n this.calculateTotalPurchaseQuotationValue();\n }\n )\n }\n else if (action === 'Info') {\n this.modelService.getByIdWithItems(Id).subscribe(\n detailedObject => {\n console.log(\"detailed object\", detailedObject);\n \n let targetIndex = this.tableEngine.ogData.findIndex(i => i.Id === Id);\n this.tableEngine.ogData[targetIndex] = detailedObject;\n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder)\n \n this.lastCode = this.tableEngine.modelObject.Code\n \n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n this.tableView = false;\n\n this.addedItemList = [];\n this.addedServiceList = [];\n this.addedFileList = [];\n this.addedItemList = [...this.modelObject.Items];\n this.addedServiceList = [...this.modelObject.Services];\n this.addedFileList = [...this.modelObject.Files];\n \n this.calculateTotalPurchaseQuotationValue();\n } \n )\n }\n this.tableView = false;\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n console.log((action + \" object\"), this.modelObject);\n console.log(\"modelObject after entering \", this.modelObject);\n }\n currentDate='';\n currentExpirationDate='';\n createForm(modelObject, formBuilder): FormGroup {\n return formBuilder.group({\n Date: [modelObject.Date?modelObject.Date.toString().slice(0, 10) :modelObject.Date, Validators.compose([Validators.required])],\n ExpirationDate: [modelObject.ExpirationDate?modelObject.ExpirationDate.toString().slice(0, 10) :modelObject.ExpirationDate, Validators.compose([Validators.required])],\n SupplierId: [modelObject.SupplierId, Validators.compose([Validators.required])],\n ShippingFees: [modelObject.ShippingFees, Validators.compose([Validators.required, Validators.pattern(/^([0-9]+)([0-9])*(\\.[0-9]+)?$/)])],\n ShippingAddress1: [modelObject.ShippingAddress1, Validators.compose([Validators.required])],\n ShippingAddress2: [modelObject.ShippingAddress2],\n Description: [modelObject.Description],\n DiscountValue: [modelObject.DiscountValue, Validators.compose([Validators.required, Validators.pattern(/^([0-9]+)([0-9])*(\\.[0-9]+)?$/)])],\n DiscountIsRate: [modelObject.DiscountIsRate],\n });\n }\n\n addObject() {\n\n this.currentAction = 'loading';\n \n let tempItemList: PurchaseQuotationItemModel[] = [];\n let tempItem: PurchaseQuotationItemModel;\n let itemDebugId = 0;\n let taxDebugId = 0;\n for (let index = 0; index < this.addedItemList.length; index++) {\n tempItem = new PurchaseQuotationItemModel();\n tempItem = this.addedItemList[index];\n tempItem.Id = this.debugMode ? itemDebugId : 0;\n tempItem.PurchaseQuotationId = 0;\n tempItemList.push(tempItem); \n\n itemDebugId++;\n \n let tempTaxList: PurchaseQuotationItemTaxModel[] = [];\n let tempTax: PurchaseQuotationItemTaxModel;\n for (let taxIndex = 0; taxIndex < this.addedItemList[index].Taxes.length; taxIndex++) {\n tempTax = new PurchaseQuotationItemTaxModel();\n tempTax = this.addedItemList[index].Taxes[taxIndex];\n tempTax.Id = this.debugMode ? taxDebugId : 0;\n tempTax.PurchaseQuotationItemId = 0;\n tempTaxList.push(tempTax);\n \n taxDebugId++;``\n }\n }\n \n let tempServiceList: PurchaseQuotationServiceModel[] = [];\n let tempService: PurchaseQuotationServiceModel;\n let serviceDebugId = 0;\n for (let index = 0; index < this.addedServiceList.length; index++) {\n tempService = new PurchaseQuotationServiceModel();\n tempService = this.addedServiceList[index];\n tempService.Id = this.debugMode ? serviceDebugId : 0;\n tempService.PurchaseQuotationId = 0;\n tempServiceList.push(tempService);\n\n serviceDebugId++;\n }\n \n let tempFileList: PurchaseQuotationFileModel[] = [];\n let tempFile: PurchaseQuotationFileModel;\n let fileDebugId = 0;\n for (let index = 0; index < this.addedFileList.length; index++) {\n tempFile = new PurchaseQuotationFileModel();\n tempFile = this.addedFileList[index];\n tempFile.Id = this.debugMode ? fileDebugId : 0;\n tempFile.PurchaseQuotationId = 0;\n tempFileList.push(tempFile);\n\n fileDebugId++;\n }\n let lastId = this.tableEngine.ogData.length>0?this.tableEngine.ogData[this.tableEngine.ogData.length - 1].Id:0;\n\n this.modelObject = new PurchaseQuotationDetailsModel();\n //this.modelObject.Id = this.debugMode ? lastId + 1 : 0;\n this.modelObject.Id = 0;\n\n this.modelObject.Code = this.lastCode;\n console.log(this.lastCode);\n \n let supplier = this.getSupplierById(this.mainForm.getRawValue().SupplierId);\n this.modelObject.SupplierId = supplier.Id;\n this.modelObject.SupplierNameAr = supplier.NameAr;\n this.modelObject.SupplierNameEn = supplier.NameEn;\n\n let date = new Date(this.mainForm.getRawValue().Date);\n let expirationDate = new Date(this.mainForm.getRawValue().ExpirationDate);\n this.modelObject.Date = date;\n this.modelObject.ExpirationDate = expirationDate;\n this.modelObject.Month = date.getMonth();\n this.modelObject.Year = date.getFullYear();\n\n this.modelObject.ShippingFees = this.mainForm.getRawValue().ShippingFees;\n this.modelObject.ShippingAddress2 = this.mainForm.getRawValue().ShippingAddress2;\n this.modelObject.ShippingAddress1 = this.mainForm.getRawValue().ShippingAddress1;\n this.modelObject.DiscountValue = this.mainForm.getRawValue().DiscountValue;\n this.modelObject.DiscountIsRate = this.mainForm.getRawValue().DiscountIsRate;\n\n this.modelObject.Description = this.mainForm.getRawValue().Description;\n this.modelObject.Items = tempItemList;\n this.modelObject.Services = tempServiceList;\n this.modelObject.Files = tempFileList;\n\n this.modelObject.TotalPurchaseQuotationValue = this.calculateTotalPurchaseQuotationValue();\n\n this.modelObject.TotalItemPrices = this.currentTotalItemPrices;\n this.modelObject.TotalItemDiscounts = this.currentTotalItemDiscounts;\n this.modelObject.TotalItemNetPrices = this.currentTotalItemNetPrices;\n this.modelObject.TotalItemTaxes = this.currentTotalItemTaxes;\n this.modelObject.TotalItemGrossPrices = this.currentTotalItemGrossPrices;\n this.modelObject.TotalServices = this.currentTotalServices;\n\n this.executeAddObject();\n }\n\n executeAddObject() {\n this.modelService.insertWithItems(this.modelObject).subscribe(result => {\n if (result === true || result > 0 ) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n if (this.sideModalRef === undefined) {\n if (this.smallModal != undefined) {\n this.tableEngine.smallModal.hide();\n }\n else {\n this.tableView = this.prevAction === 'AddThenNew' ? false : true;\n \n this.prevAction = '';\n }\n }\n else {\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n \n if(this.prevAction != 'AddThenNew'){\n this.goBack();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n\n editObject() {\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n\n let tempItemList: PurchaseQuotationItemModel[] = [];\n let tempItem: PurchaseQuotationItemModel;\n let itemDebugId = 1;\n let taxDebugId = 0;\n for (let index = 0; index < this.addedItemList.length; index++) {\n tempItem = new PurchaseQuotationItemModel();\n tempItem = this.addedItemList[index];\n tempItem.Id = this.debugMode ? itemDebugId : 0;\n tempItem.PurchaseQuotationId = 0;\n tempItemList.push(tempItem);\n\n itemDebugId++;\n \n let tempTaxList: PurchaseQuotationItemTaxModel[] = [];\n let tempTax: PurchaseQuotationItemTaxModel;\n for (let taxIndex = 0; taxIndex < this.addedItemList[index].Taxes.length; taxIndex++) {\n tempTax = new PurchaseQuotationItemTaxModel();\n tempTax = this.addedItemList[index].Taxes[taxIndex];\n tempTax.Id = this.debugMode ? taxDebugId : 0;\n tempTax.PurchaseQuotationItemId = 0;\n tempTaxList.push(tempTax);\n \n taxDebugId++;``\n }\n }\n \n let tempServiceList: PurchaseQuotationServiceModel[] = [];\n let tempService: PurchaseQuotationServiceModel;\n let serviceDebugId = 1;\n for (let index = 0; index < this.addedServiceList.length; index++) {\n tempService = new PurchaseQuotationServiceModel();\n tempService = this.addedServiceList[index];\n tempService.Id = this.debugMode ? serviceDebugId : 0;\n tempService.PurchaseQuotationId = 0;\n tempServiceList.push(tempService);\n\n serviceDebugId++;\n }\n \n let tempFileList: PurchaseQuotationFileModel[] = [];\n let tempFile: PurchaseQuotationFileModel;\n let fileDebugId = 1;\n for (let index = 0; index < this.addedFileList.length; index++) {\n tempFile = new PurchaseQuotationFileModel();\n tempFile = this.addedFileList[index];\n tempFile.Id = this.debugMode ? fileDebugId : 0;\n tempFile.PurchaseQuotationId = 0;\n tempFileList.push(tempFile);\n\n fileDebugId++;\n }\n \n //this.calculateTotalItemValue();\n //let newString = new DatePipe('en-US').transform(this.mainForm.getRawValue().Date, 'dd/MM/yyyy');\n //console.log(\"newstring\", newString);\n \n //let date: Date = this.getFormattedDate(new DatePipe('en-US').transform(this.mainForm.getRawValue().Date, 'dd/MM/yyyy'));\n let date = new Date(this.mainForm.getRawValue().Date);\n let expirationDate = new Date(this.mainForm.getRawValue().ExpirationDate);\n let tempObj = new PurchaseQuotationDetailsModel();\n tempObj.Id= this.modelObject.Id,\n tempObj.Code = this.lastCode;\n\n let supplier = this.getSupplierById(this.mainForm.getRawValue().SupplierId);\n tempObj.SupplierId = supplier.Id;\n tempObj.SupplierNameAr = supplier.NameAr;\n tempObj.SupplierNameEn = supplier.NameEn;\n\n tempObj.ShippingFees= this.mainForm.getRawValue().ShippingFees,\n tempObj.ShippingAddress1= this.mainForm.getRawValue().ShippingAddress1,\n tempObj.ShippingAddress2= this.mainForm.getRawValue().ShippingAddress2,\n tempObj.DiscountValue= this.mainForm.getRawValue().DiscountValue,\n tempObj.DiscountIsRate= this.mainForm.getRawValue().DiscountIsRate,\n tempObj.Date= date,\n tempObj.ExpirationDate= expirationDate,\n tempObj.Year = date.getFullYear();\n tempObj.Month = date.getMonth();\n tempObj.Description= this.mainForm.getRawValue().Description,\n\n tempObj.Items= tempItemList,\n tempObj.Services= tempServiceList,\n tempObj.Files= tempFileList,\n \n tempObj.TotalPurchaseQuotationValue= this.calculateTotalPurchaseQuotationValue(),\n\n tempObj.TotalItemPrices= this.currentTotalItemPrices,\n tempObj.TotalItemDiscounts= this.currentTotalItemDiscounts,\n tempObj.TotalItemNetPrices= this.currentTotalItemNetPrices,\n tempObj.TotalItemTaxes= this.currentTotalItemTaxes,\n tempObj.TotalItemGrossPrices= this.currentTotalItemGrossPrices,\n tempObj.TotalServices= this.currentTotalServices,\n \n this.executeEditObject(tempObj);\n console.log(\"saved object\", tempObj);\n }\n\n executeEditObject(Object) {\n this.modelService.updateWithItems(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n\n if (this.sideModalRef === undefined) {\n if (this.smallModal != undefined) {\n this.tableEngine.smallModal.hide();\n }\n else {\n this.tableView = true;\n }\n }\n else {\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n \n this.goBack();\n \n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n SearchFrom: Date = null;\n SearchTo: Date = null;\n\n clearSearch() {\n this.SearchFrom = null;\n this.SearchTo = null;\n }\n\n prevAction = '';\n addAndNew() {\n this.prevAction = 'AddThenNew';\n this.addObject();\n this.showModal(null, 'Add');\n }\n\n configPurchases = new ConfigPurchasesModel();\n loadServices() {\n this.currentAction = 'loading';\n\n this.supplierService.getAll().subscribe(\n supplierData => {\n this.supplierList = supplierData;\n\n this.codingUnitService.getAll().subscribe(\n codingUnitData => {\n this.codingUnitList = codingUnitData;\n\n this.itemService.getAll().subscribe(\n itemData => {\n this.itemList = itemData;\n\n this.taxTypeService.getAll().subscribe(\n taxTypeData => {\n this.taxTypeList = taxTypeData;\n\n this.configPurchasesService.getFirst().subscribe(\n configPurchasesData => {\n this.configPurchases = configPurchasesData;\n \n this.tableEngine.loadData();\n }\n )\n }\n )\n }\n )\n }\n )\n }\n )\n\n\n }\n \n addedItemList: PurchaseQuotationItemModel[] = [];\n addedServiceList: PurchaseQuotationServiceModel[] = [];\n addedFileList: PurchaseQuotationFileModel[] = [];\n codingUnitList: CodingUnitModel[] = [];\n itemList: any[] = [];\n supplierList: SupplierModel[] = [];\n taxTypeList: TaxTypesModel[] = [];\n \n getItemById(Id: any): any {\n return this.itemList.find(i => i.Id === Id);\n }\n getUnityById(Id: any): any {\n return this.codingUnitList.find(i => i.Id === Id);\n }\n getTaxTypeById(Id: any): any {\n return this.taxTypeList.find(i => i.Id === Id);\n }\n getSupplierById(Id: any): any {\n return this.supplierList.find(i => i.Id === Id);\n }\n\n quotationItemForm: FormGroup = new FormGroup({\n ItemId: new FormControl(),\n Description: new FormControl(),\n UnitCost: new FormControl(),\n Quantity: new FormControl(),\n DiscountValue: new FormControl(),\n DiscountIsRate: new FormControl(),\n });\n \n quotationItemTaxForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n TaxId: new FormControl(),\n });\n\n quotationServiceForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n NameAr: new FormControl(),\n //NameEn: new FormControl(),\n Value: new FormControl(),\n //IsRate: new FormControl(),\n });\n\n createPurchaseQuotationItemForm(quotationItemObject, formBuilder): FormGroup {\n return formBuilder.group({\n Id: [quotationItemObject.Id >= 0 ? quotationItemObject.Id : 0],\n ItemId: [null ,Validators.compose([Validators.required])],\n Quantity: [null ,Validators.compose([Validators.required, Validators.pattern(/^([1-9]+)([0-9])*$/)])],\n UnitCost: [null ,Validators.compose([Validators.required, Validators.pattern(/^([0-9]+)([0-9])*(\\.[0-9]+)?$/)])],\n Description: [null],\n DiscountValue: [null ,Validators.compose([Validators.required, Validators.pattern(/^([0-9]+)([0-9])*(\\.[0-9]+)?$/)])],\n DiscountIsRate: [true],\n });\n }\n \n createPurchaseQuotationItemTaxForm(quotationItemTaxObject, formBuilder): FormGroup {\n return formBuilder.group({\n Id: [quotationItemTaxObject.Id >= 0 ? quotationItemTaxObject.Id : 0],\n TaxId: [null ,Validators.compose([Validators.required])],\n });\n }\n \n createPurchaseQuotationServiceForm(quotationServiceObject, formBuilder): FormGroup {\n return formBuilder.group({\n Id: [quotationServiceObject.Id >= 0 ? quotationServiceObject.Id : 0],\n //NameEn: [null , Validators.compose([Validators.required, Validators.minLength(2)])],\n NameAr: [null , Validators.compose([Validators.required])],\n Value: [null ,Validators.compose([Validators.required, Validators.pattern(/^([0-9]+)([0-9])*(\\.[0-9]+)?$/)])],\n //IsRate: [null ,Validators.compose([Validators.required])],\n });\n }\n newPurchaseQuotationItem: PurchaseQuotationItemModel = new PurchaseQuotationItemModel();\n newPurchaseQuotationItemInternalId = 0;\n newPurchaseQuotationItemTax: PurchaseQuotationItemTaxModel = new PurchaseQuotationItemTaxModel();\n newPurchaseQuotationItemTaxInternalId = 0;\n\n newPurchaseQuotationService: PurchaseQuotationServiceModel = new PurchaseQuotationServiceModel();\n newPurchaseQuotationServiceInternalId = 0;\n \n newPurchaseQuotationFile: PurchaseQuotationFileModel = new PurchaseQuotationFileModel();\n newPurchaseQuotationFileInternalId = 0;\n\n //items\n addPurchaseQuotationItem(): any {\n \n let unitCost = this.quotationItemForm.getRawValue().UnitCost;\n let quantity = this.quotationItemForm.getRawValue().Quantity;\n let totalPrice = unitCost * quantity;\n let discountValue = this.quotationItemForm.getRawValue().DiscountValue;\n let netPrice = this.quotationItemForm.getRawValue().DiscountIsRate? totalPrice - (discountValue * totalPrice / 100) : totalPrice - discountValue;\n let totalTaxValues = 0;\n this.newPurchaseQuotationItem.Taxes.forEach(tax => {\n totalTaxValues += tax.TaxIsRate ? tax.TaxValue * netPrice / 100 : tax.TaxValue;\n });\n let grossPrice = netPrice + totalTaxValues;\n\n \n let tempSourceItem = this.getItemById(this.quotationItemForm.getRawValue().ItemId);\n // let tempSourceUnit = this.getItemById(this.newPurchaseQuotationItem.UnitId);\n let temp = new PurchaseQuotationItemModel();\n temp.Id = this.newPurchaseQuotationItemInternalId,\n temp.ItemId = this.quotationItemForm.getRawValue().ItemId,\n temp.ItemNameAr = tempSourceItem.NameAr;\n temp.ItemNameEn = tempSourceItem.NameEn;\n // temp.UnitId = this.newPurchaseQuotationItem.UnitId,\n // temp.UnitNameAr = tempSourceUnit.NameAr;\n // temp.UnitNameEn = tempSourceUnit.NameEn;\n temp.Description = this.quotationItemForm.getRawValue().Description,\n temp.UnitCost = unitCost,\n temp.Quantity = quantity,\n temp.TotalPrice = totalPrice,\n temp.DiscountValue = discountValue,\n temp.DiscountIsRate =this.quotationItemForm.getRawValue().DiscountIsRate;\n temp.NetPrice = netPrice,\n temp.Taxes = this.newPurchaseQuotationItem.Taxes,\n temp.TotalTaxValues = totalTaxValues,\n temp.GrossPrice = grossPrice,\n \n console.log(\"saving\",this.quotationItemForm.getRawValue().DiscountIsRate);\n console.log(temp.DiscountIsRate);\n \n this.addedItemList = this.addedItemList.concat(temp)\n console.log(this.addedItemList);\n \n this.newPurchaseQuotationItemInternalId = this.newPurchaseQuotationItemInternalId + 1;\n\n this.newPurchaseQuotationItem = new PurchaseQuotationItemModel();\n\n \n this.quotationItemForm = this.createPurchaseQuotationItemForm(this.newPurchaseQuotationItem, this.formBuilder);\n \n this.calculateTotalPurchaseQuotationValue();\n }\n removePurchaseQuotationItem(Id: any): any {\n\n let index = this.addedItemList.findIndex(x => x.Id === Id);\n this.addedItemList.splice(index, 1);\n\n this.calculateTotalPurchaseQuotationValue();\n }\n changeItem(): any {\n let tempSourceItem = this.getItemById(this.quotationItemForm.getRawValue().ItemId);\n // let tempSourceUnit = this.getUnityById(tempSourceItem.CodingUnitId);\n this.newPurchaseQuotationItem.ItemId = this.quotationItemForm.getRawValue().ItemId;\n // this.newPurchaseQuotationItem.UnitId = this.quotationItemForm.getRawValue().ItemId>0?tempSourceUnit.Id:0;\n this.newPurchaseQuotationItem.ItemNameAr = tempSourceItem.NameAr;\n this.newPurchaseQuotationItem.ItemNameEn = tempSourceItem.NameEn;\n // this.newPurchaseQuotationItem.UnitNameAr = tempSourceUnit.NameAr;\n // this.newPurchaseQuotationItem.UnitNameEn = tempSourceUnit.NameEn;\n this.calculateItemValues();\n //this.calculateTotalPurchaseQuotationValue();\n }\n \n //services\n addPurchaseQuotationService(): any {\n\n let temp = new PurchaseQuotationServiceModel();\n temp.Id= this.newPurchaseQuotationServiceInternalId,\n //PurchaseQuotationId: this.modelObject.Id,\n temp.NameAr= this.quotationServiceForm.getRawValue().NameAr,\n temp.NameEn= this.quotationServiceForm.getRawValue().NameEn,\n temp.Value= this.quotationServiceForm.getRawValue().Value,\n //IsRate= this.quotationServiceForm.getRawValue().IsRate,\n temp.IsRate = this.quotationServiceForm.getRawValue().IsRate;\n \n this.addedServiceList = this.addedServiceList.concat(temp)\n this.newPurchaseQuotationServiceInternalId = this.newPurchaseQuotationServiceInternalId + 1;\n this.newPurchaseQuotationService = new PurchaseQuotationServiceModel();\n this.quotationServiceForm = this.createPurchaseQuotationServiceForm(this.newPurchaseQuotationService, this.formBuilder);\n \n this.calculateTotalPurchaseQuotationValue();\n }\n removePurchaseQuotationService(Id: any): any {\n\n let index = this.addedServiceList.findIndex(x => x.Id === Id);\n this.addedServiceList.splice(index, 1);\n\n this.calculateTotalPurchaseQuotationValue();\n }\n \n //taxes\n addPurchaseQuotationItemTax(): any {\n \n let tax: TaxTypesModel = this.getTaxTypeById(this.quotationItemTaxForm.getRawValue().TaxId);\n let temp = new PurchaseQuotationItemTaxModel();\n temp.Id= this.newPurchaseQuotationItemTaxInternalId,\n //temp.PurchaseQuotationItemId= this.modelObject.Id,\n temp.TaxId= tax.Id,\n temp.TaxNameAr= tax.NameAr,\n temp.TaxNameEn = tax.NameEn,\n //temp.TaxIsRate= tax.IsRate,\n temp.TaxValue= tax.Percentage,\n temp.TaxIsRate = tax.IsRate;\n\n this.newPurchaseQuotationItem.Taxes = this.newPurchaseQuotationItem.Taxes.concat(temp)\n this.newPurchaseQuotationItemTaxInternalId = this.newPurchaseQuotationItemTaxInternalId + 1;\n\n this.newPurchaseQuotationItemTax = new PurchaseQuotationItemTaxModel();\n\n \n this.quotationItemTaxForm = this.createPurchaseQuotationItemTaxForm(this.newPurchaseQuotationItemTax, this.formBuilder);\n \n this.calculateItemValues()\n //this.calculateTotalPurchaseQuotationValue();\n }\n removePurchaseQuotationItemTax(Id: any): any {\n\n let index = this.newPurchaseQuotationItem.Taxes.findIndex(x => x.Id === Id);\n this.newPurchaseQuotationItem.Taxes.splice(index, 1);\n\n this.calculateItemValues()\n //this.calculateTotalPurchaseQuotationValue();\n }\n changeTax(): any {\n let tax: TaxTypesModel = this.getTaxTypeById(this.quotationItemTaxForm.getRawValue().TaxId);\n this.newPurchaseQuotationItemTax.TaxId = tax.Id;\n this.newPurchaseQuotationItemTax.TaxNameAr = tax.NameAr;\n this.newPurchaseQuotationItemTax.TaxNameEn = tax.NameEn;\n this.newPurchaseQuotationItemTax.TaxValue = tax.Percentage;\n this.newPurchaseQuotationItemTax.TaxIsRate = tax.IsRate;\n\n this.calculateItemValues()\n //this.calculateTotalPurchaseQuotationValue();\n }\n\n //files\n addedFileUrl: string = '';\n addPurchaseQuotationFile(): any {\n let temp = new PurchaseQuotationFileModel();\n temp.Id= this.newPurchaseQuotationFileInternalId,\n //temp.PurchaseQuotationId: this.modelObject.Id,\n temp.FileUrl= this.addedFileUrl,\n\n this.addedFileList = this.addedFileList.concat(temp)\n this.newPurchaseQuotationFileInternalId = this.newPurchaseQuotationFileInternalId + 1;\n\n this.newPurchaseQuotationFile = new PurchaseQuotationFileModel();\n\n //reset form here?\n }\n removePurchaseQuotationFile(Id: any): any {\n\n let index = this.addedFileList.findIndex(x => x.Id === Id);\n this.addedFileList.splice(index, 1);\n }\n\n currentTotalItemPrices = 0;\n currentTotalItemDiscounts = 0;\n currentTotalItemNetPrices = 0;\n currentTotalItemTaxes = 0;\n currentTotalItemGrossPrices = 0;\n currentTotalAfterPurchaseQuotationDiscount = 0;\n currentTotalAfterShippingFees = 0;\n currentTotalServices = 0;\n currentTotalPurchaseQuotationValue = 0;\n calculateTotalPurchaseQuotationValue() {\n \n\n console.log(this.addedItemList);\n console.log(\"chagngesD\");\n let value = this.mainForm.getRawValue().DiscountValue;\n if(this.mainForm.getRawValue().DiscountIsRate && value>100){\n value=100;\n this.mainForm.controls.DiscountValue.setValue(value);\n }\n\n console.log(\"entered\");\n console.log();\n \n \n let totalItemPrices = 0;\n let totalItemDiscounts = 0;\n let totalItemNetPrices = 0;\n let totalItemTaxes = 0;\n let totalItemGrossPrices = 0;\n let totalAfterPurchaseQuotationDiscount = 0;\n let totalAfterShippingFees = 0;\n let totalServices = 0;\n let totalPurchaseQuotationValue = 0;\n this.addedItemList.forEach(item => {\n item.TotalPrice = item.UnitCost * item.Quantity;\n totalItemPrices += item.TotalPrice;\n\n totalItemDiscounts += item.DiscountIsRate?item.DiscountValue*item.TotalPrice/100:item.DiscountValue;\n item.NetPrice = item.TotalPrice - (item.DiscountIsRate?item.DiscountValue*item.TotalPrice/100:item.DiscountValue);\n totalItemNetPrices += item.NetPrice;\n\n item.TotalTaxValues = 0;\n item.Taxes.forEach(tax => {\n item.TotalTaxValues += (tax.TaxIsRate?(tax.TaxValue*item.NetPrice)/100:tax.TaxValue);\n });\n totalItemTaxes += item.TotalTaxValues;\n\n item.GrossPrice = item.NetPrice + item.TotalTaxValues;\n totalItemGrossPrices += item.GrossPrice;\n });\n\n \n this.addedServiceList.forEach(service => {\n totalServices += (service.IsRate?(service.Value*totalItemGrossPrices)/100:service.Value);\n });\n\n let finalDiscountValue = this.mainForm.getRawValue().DiscountValue;\n let finalDiscountIsRate = this.mainForm.getRawValue().DiscountIsRate;\n let finalPurchaseQuotationDiscount = finalDiscountIsRate?finalDiscountValue*totalItemGrossPrices/100:finalDiscountValue;\n totalAfterPurchaseQuotationDiscount = totalItemGrossPrices - finalPurchaseQuotationDiscount;\n totalAfterShippingFees = totalAfterPurchaseQuotationDiscount + this.mainForm.getRawValue().ShippingFees;\n totalPurchaseQuotationValue = totalAfterShippingFees + totalServices;\n \n this.currentTotalItemPrices = totalItemPrices;\n this.currentTotalItemDiscounts = totalItemDiscounts;\n this.currentTotalItemNetPrices = totalItemNetPrices;\n this.currentTotalItemTaxes = totalItemTaxes;\n this.currentTotalItemGrossPrices = totalItemGrossPrices;\n this.currentTotalServices = totalServices;\n this.currentTotalPurchaseQuotationValue = totalPurchaseQuotationValue;\n this.currentTotalAfterPurchaseQuotationDiscount = totalAfterPurchaseQuotationDiscount;\n this.currentTotalAfterShippingFees = totalAfterShippingFees;\n \n console.log(\"neemo\",totalItemGrossPrices);\n \n return totalPurchaseQuotationValue;\n \n }\n goBack(){\n console.log(\"back\");\n \n this.modelObject = {};\n this.addedItemList = [];\n this.addedServiceList = [];\n this.addedFileList = [];\n\n this.currentTotalItemPrices = 0;\n this.currentTotalItemNetPrices = 0;\n this.currentTotalItemDiscounts = 0;\n this.currentTotalServices = 0;\n this.currentTotalItemGrossPrices = 0;\n this.currentTotalItemTaxes = 0;\n this.currentTotalAfterPurchaseQuotationDiscount = 0;\n this.currentTotalAfterShippingFees = 0;\n this.currentTotalPurchaseQuotationValue = 0;\n\n this.newPurchaseQuotationItem = {};\n this.newPurchaseQuotationItem.Taxes = [];\n this.currentAction = \"\";\n this.tableView = true;\n\n \n console.log(this.modelObject);\n console.log(this.lastCode);\n }\n\n calculateItemValues(){\n if(this.quotationItemForm.getRawValue().ItemId>0){\n\n console.log(this.addedItemList);\n console.log(\"chagngesD\");\n let value = this.quotationItemForm.getRawValue().DiscountValue;\n if(this.quotationItemForm.getRawValue().DiscountIsRate && value>100){\n value=100;\n this.quotationItemForm.controls.DiscountValue.setValue(value);\n }\n \n let unitCost = this.quotationItemForm.getRawValue().UnitCost;\n let quantity = this.quotationItemForm.getRawValue().Quantity;\n let totalPrice = unitCost * quantity;\n let discountValue = this.quotationItemForm.getRawValue().DiscountValue;\n let netPrice = this.quotationItemForm.getRawValue().DiscountIsRate? totalPrice - (discountValue * totalPrice / 100) : totalPrice - discountValue;\n let totalTaxValues = 0;\n this.newPurchaseQuotationItem.Taxes.forEach(tax => {\n totalTaxValues += tax.TaxIsRate ? tax.TaxValue * netPrice / 100 : tax.TaxValue;\n });\n console.log(\"KEEMO\",totalTaxValues);\n \n let grossPrice = netPrice + totalTaxValues;\n \n \n let temp = new PurchaseQuotationItemModel({\n Id: this.newPurchaseQuotationItemInternalId,\n ItemId: this.quotationItemForm.getRawValue().ItemId,\n ItemNameAr: this.getItemById(this.quotationItemForm.getRawValue().ItemId).Name,\n ItemNameEn: this.getItemById(this.quotationItemForm.getRawValue().ItemId).Name,\n // UnitId: this.newPurchaseQuotationItem.UnitId,\n // UnitNameAr: this.getUnityById(this.newPurchaseQuotationItem.UnitId).NameAr,\n // UnitNameEn: this.getUnityById(this.newPurchaseQuotationItem.UnitId).NameEn,\n Description: this.quotationItemForm.getRawValue().Description,\n UnitCost: unitCost,\n Quantity: quantity,\n TotalPrice: totalPrice,\n DiscountValue: discountValue,\n //DiscountIsRate: this.quotationItemForm.getRawValue().DiscountIsRate,\n NetPrice: netPrice,\n Taxes: this.newPurchaseQuotationItem.Taxes,\n TotalTaxValues: totalTaxValues,\n GrossPrice: grossPrice,\n })\n temp.DiscountIsRate=this.quotationItemForm.getRawValue().DiscountIsRate;\n \n this.newPurchaseQuotationItem = temp;\n }\n }\n\n showTaxModal(){\n this.taxModal.show();\n }\n \n //lastCode = 0;\n codeWasChecked = false;\n checkCode() : boolean{\n if(!(this.lastCode > 0)){\n this.codeWasChecked = false;\n console.log(\"bad code\", this.lastCode);\n \n return this.codeWasChecked;\n }\n this.configPurchasesService.checkPurchaseQuotationCode(this.lastCode).subscribe(\n result => {\n this.codeWasChecked = result;\n }\n );\n console.log(\"code availability:\",this.codeWasChecked);\n \n return this.codeWasChecked;\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepChangeSort(sortKey) {\n this.SearchFrom = null;\n this.SearchTo = null;\n \n \n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n\n getFormattedDate(dateString: any){\n let splitDate: number[] = dateString.toString().split(\"/\");\n\n return new Date(splitDate[2], splitDate[1]-1, splitDate[0])\n }\n ///////////////////////////////////////////////////////\n \n displayMode = 'list';\n changeDisplayMode(mode): void {\n this.displayMode = mode;\n }\n itemsPerPageChange(perPage: number): void {\n this.tableEngine.paginateData(perPage, 1)\n }\n}\n","\n\n\n\n
    \n
    \n
    \n
    \n

    \n {{\"PurchaseQuotationItemTaxes\" | translate}}

    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n
    {{\"PurchaseQuotationItemTaxName\" |\n translate}}{{\"PurchaseQuotationItemTaxValue\" |\n translate}}{{\"PurchaseQuotationItemAppliedTaxValue\"\n | translate}}
    \n \n \n
    \n {{lang==='ar-EG'?tax.TaxNameAr:tax.TaxNameEn}}\n
    \n
    \n
    \n {{(tax.TaxValue>0?tax.TaxValue.toFixed(2):0)}}{{tax.TaxIsRate?'%':''}}\n
    \n
    \n
    \n {{newPurchaseQuotationItem.NetPrice>0&&tax.TaxValue>0?\n (tax.TaxIsRate?\n ((newPurchaseQuotationItem.NetPrice\n * tax.TaxValue /\n 100).toFixed(2))\n :tax.TaxValue.toFixed(2))\n :0}}\n
    \n
    \n \n \n
    \n \n \n {{lang==='ar-EG'?tax.NameAr:tax.NameEn}}\n \n
    \n
    \n
    \n {{(newPurchaseQuotationItemTax.TaxId>0?newPurchaseQuotationItemTax.TaxValue.toFixed(2):0)}}{{newPurchaseQuotationItemTax.TaxIsRate?'%':''}}\n
    \n
    \n
    \n {{newPurchaseQuotationItem.NetPrice>0&&newPurchaseQuotationItemTax.TaxValue>0?\n (newPurchaseQuotationItemTax.TaxIsRate?\n (newPurchaseQuotationItem.NetPrice\n *\n newPurchaseQuotationItemTax.TaxValue\n / 100).toFixed(2)\n :newPurchaseQuotationItemTax.TaxValue)\n :0}}\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n\n
    \n \n \n \n \n
    \n\n
    \n\n
    \n\n
    \n \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    0)\">\n {{\"PurchaseQuotationCodeRequired\" | translate}}
    \n
    \n {{\"PurchaseQuotationCodeAlreadyTaken\" | translate}}
    \n
    \n\n
    \n\n
    \n\n
    \n
    \n \n
    \n \n \n {{lang==='ar-EG'?supplier.NameAr:supplier.NameEn}}\n \n
    \n \n
    \n {{\"PurchaseQuotationSupplierIdRequired\" | translate}}
    \n \n
    \n\n
    \n\n
    \n \n\n 0?'date':'text'\" onfocus=\"(this.type='date')\"\n onblur=\"if(!this.value)this.type='text'\" onchange=\"if(!this.value)this.type='text'\"\n name=\"Date\" class=\"form-control\" formControlName=\"Date\"\n placeholder='{{\"PurchaseQuotationDate\" | translate}}'>\n \n
    \n {{\"PurchaseQuotationDateRequired\" | translate}}
    \n \n
    \n\n
    \n\n
    \n \n\n 0?'date':'text'\" onfocus=\"(this.type='date')\"\n onblur=\"if(!this.value)this.type='text'\" onchange=\"if(!this.value)this.type='text'\"\n name=\"ExpirationDate\" class=\"form-control\" formControlName=\"ExpirationDate\"\n placeholder='{{\"PurchaseQuotationExpirationDate\" | translate}}'>\n \n
    \n {{\"PurchaseQuotationExpirationDateRequired\" | translate}}
    \n \n
    \n\n
    \n\n\n
    \n\n
    \n
    \n \n \n
    \n {{\"PurchaseQuotationShippingAddress1Required\" | translate}}
    \n \n
    \n\n
    \n\n
    \n \n \n \n
    \n\n
    \n\n
    \n\n
    \n
    \n \n \n \n \n
    \n
    \n\n
    \n
    \n\n \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{\"PurchaseQuotationItemName\" | translate}}{{\"PurchaseQuotationItemUnit\" | translate}}{{\"PurchaseQuotationItemUnitCost\" | translate}}{{\"PurchaseQuotationItemQuantity\" | translate}}{{\"PurchaseQuotationItemTotalPrice\" | translate}}{{\"PurchaseQuotationItemDiscountValue\" | translate}}{{\"PurchaseQuotationItemNetPrice\" | translate}}{{\"PurchaseQuotationItemTotalTaxValues\" | translate}}{{\"PurchaseQuotationItemGrossPrice\" | translate}}
    \n \n \n {{obj.ItemId>0?(lang==='ar-EG'?obj.ItemNameAr:obj.ItemNameEn):\"None\"|translate}}\n \n {{obj.UnitId>0?(lang==='ar-EG'?obj.UnitNameAr:obj.UnitNameEn):\"None\"|translate}}\n \n {{obj.UnitCost.toFixed(2)}}\n \n {{obj.Quantity.toFixed(2)}}\n \n {{obj.TotalPrice.toFixed(2)}}\n \n {{obj.DiscountValue.toFixed(2)}}{{obj.DiscountIsRate?'%':''}}\n \n {{obj.NetPrice.toFixed(2)}}\n \n {{obj.TotalTaxValues.toFixed(2)}}\n \n {{obj.GrossPrice.toFixed(2)}}\n
    \n \n \n \n \n \n {{lang==='ar-EG'?item.Name:item.Name}}\n \n \n
    \n {{\"PurchaseQuotationItemIdRequired\" | translate}}\n
    \n
    \n \n \n \n \n
    \n {{\"PurchaseQuotationItemUnitCostRequired\" |\n translate}}
    \n \n \n
    \n \n\n
    \n {{\"PurchaseQuotationItemQuantityRequired\" |\n translate}}
    \n \n
    \n \n \n \n \n
    \n \n \n
    \n {{'ValueIsRate' | translate}}\n
    \n {{\"PurchaseQuotationItemDiscountValueRequired\" |\n translate}}
    \n \n \n
    \n \n \n \n
    \n\n \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n\n
    \n\n
    \n
    \n  \n
    \n\n
    \n\n
    \n  \n
    \n\n
    \n
    \n
    \n {{\"PurchaseQuotationTotalGrossPrices\" | translate}}\n
    \n \n {{currentTotalItemGrossPrices>0?this.currentTotalItemGrossPrices.toFixed(2):0}}\n \n
    \n
    \n
    \n\n\n
    \n\n \n
    \n
    \n
    \n\n
    \n \n
    \n \n
    \n \n \n
    \n {{'ValueIsRate' | translate}}\n
    \n {{\"PurchaseQuotationDiscountValueRequired\" | translate}}
    \n \n
    \n
    \n\n\n
    \n\n
    \n \n \n
    \n\n\n
    \n\n\n
    \n
    \n  \n
    \n\n
    \n\n
    \n  \n
    \n\n
    \n
    \n
    \n {{\"PurchaseQuotationTotalAfterDiscount\" | translate}}\n
    \n \n {{this.currentTotalAfterPurchaseQuotationDiscount>0?this.currentTotalAfterPurchaseQuotationDiscount.toFixed(2):0}}\n \n
    \n
    \n
    \n
    \n\n\n\n
    \n\n \n
    \n
    \n
    \n\n\n\n
    \n \n
    \n \n
    \n {{\"PurchaseQuotationShippingFeesRequired\" | translate}}
    \n \n
    \n
    \n\n
    \n\n
    \n
    \n  \n
    \n\n
    \n\n
    \n  \n
    \n\n
    \n
    \n
    \n {{\"PurchaseQuotationTotalAfterShippingFees\" | translate}}\n
    \n \n {{this.currentTotalAfterShippingFees>0?this.currentTotalAfterShippingFees.toFixed(2):0}}\n \n
    \n
    \n
    \n
    \n\n\n
    \n\n \n\n \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{\"PurchaseQuotationServiceName\" | translate}}{{\"PurchaseQuotationServiceValue\" | translate}}
    \n \n \n {{lang==='ar-EG'?obj.NameAr:obj.NameEn}}\n \n {{obj.Value.toFixed(2)}}\n
    \n \n \n \n
    \n {{\"PurchaseQuotationServiceNameArRequired\" | translate}}
    \n
    \n \n
    \n {{\"PurchaseQuotationValueRequired\" | translate}}
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n\n\n
    \n
    \n  \n
    \n\n
    \n\n
    \n  \n
    \n\n
    \n
    \n
    \n {{\"PurchaseQuotationTotalValue\" | translate}}\n
    \n \n {{this.currentTotalPurchaseQuotationValue>0?this.currentTotalPurchaseQuotationValue.toFixed(2):0}}\n \n
    \n
    \n
    \n\n
    \n \n \n \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n \n  \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n tableEngine.deletionList.length === tableEngine.ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n\n\n\n
    \n\n
    \n\n
    \n
    \n
    \n
    \n \n \n \n\n \n \n\n\n \n \n\n\n \n \n\n\n\n \n \n\n \n \n\n\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n \n \n \n {{\"PurchaseQuotationCode\" | translate}}\n \n \n \n \n {{\"PurchaseQuotationDate\" | translate}}\n \n \n \n \n {{\"PurchaseQuotationExpirationDate\" | translate}}\n \n \n \n \n {{\"PurchaseQuotationSupplierName\" | translate}}\n \n \n \n \n {{\"PurchaseQuotationShippingAddress\" | translate}}\n \n \n \n \n {{\"PurchaseQuotationTotalPurchaseQuotationValue\" | translate}}\n \n\n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • \n {{item}}\n
  • \n
    \n
    \n
    \n\n
    \n
    \n \n \n
    \n
    {{obj.Code}}{{obj.Date | date:\"dd/MM/yyyy\"}}{{obj.ExpirationDate | date:\"dd/MM/yyyy\"}}\n {{lang==='ar-EG'?obj.SupplierNameAr:obj.SupplierNameEn}}\n {{obj.ShippingAddress1}}{{obj.TotalPurchaseQuotationValue.toFixed(2)}}\n \n \n \n \n \n
    \n\n
    \n
    \n \n
    \n\n \n \n \n \n
    \n
    \n
    \n\n\n
    \n
    \n\n
    \n
    \n
    \n\n
    \n\n
     
    \n\n\n
     
    \n\n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-purchases-portal',\n templateUrl: './purchases-portal.component.html',\n styleUrls: ['./purchases-portal.component.scss']\n})\nexport class PurchasesPortalComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n\n\n","\r\nexport class QuotationRequestItemModel {\r\n Id?: number;\r\n Code?: number;\r\n QuotationRequestId ?: number;\r\n QuotationRequestCode ?: number;\r\n ItemId?: number;\r\n ItemNameAr?: string;\r\n ItemNameEn?: string;\r\n UnitId?: number;\r\n UnitNameAr?: string;\r\n UnitNameEn?: string;\r\n Quantity?: number;\r\n constructor(obj?: QuotationRequestItemModel) {\r\n obj = obj ? obj : {};\r\n this.Id = obj.Id ? obj.Id : 0;\r\n this.Code = obj.Code ? obj.Code : 0;\r\n this.QuotationRequestId = obj.QuotationRequestId ? obj.QuotationRequestId : 0;\r\n this.QuotationRequestCode = obj.QuotationRequestCode ? obj.QuotationRequestCode : 0;\r\n this.ItemId = obj.ItemId ? obj.ItemId : null;\r\n this.ItemNameAr = obj.ItemNameAr ? obj.ItemNameAr : '';\r\n this.ItemNameEn = obj.ItemNameEn ? obj.ItemNameEn : '';\r\n this.UnitId = obj.UnitId ? obj.UnitId : null;\r\n this.UnitNameAr = obj.UnitNameAr ? obj.UnitNameAr : '';\r\n this.UnitNameEn = obj.UnitNameEn ? obj.UnitNameEn : '';\r\n this.Quantity = obj.Quantity ? obj.Quantity : null;\r\n }\r\n\r\n}","import { QuotationRequestItemModel } from \"./QuotationRequestItemModel\";\r\n\r\n \r\nexport class QuotationRequestModel {\r\n Id?: number;\r\n Code?: number;\r\n SupplierId?: number;\r\n SupplierNameAr?: string;\r\n SupplierNameEn?: string;\r\n CompanyDataId?: number;\r\n //BranchId?: number;\r\n //BranchNameAr?: string;\r\n //BranchNameEn?: string;\r\n //StoreDataId?: number;\r\n //StoreNameAr?: string;\r\n //StoreNameEn?: string;\r\n Year?: number;\r\n Month?: number;\r\n Date?: Date;\r\n DueDate?: Date;\r\n Description?: string;\r\n TotalValue?: number;\r\n //IsPosted?: boolean;\r\n Items?: QuotationRequestItemModel [];\r\n constructor(obj?: QuotationRequestModel) {\r\n obj = obj ? obj : {};\r\n this.Id = obj.Id ? obj.Id : 0;\r\n this.Code = obj.Code ? obj.Code : 0;\r\n this.SupplierId = obj.SupplierId ? obj.SupplierId : 0;\r\n this.SupplierNameAr = obj.SupplierNameAr ? obj.SupplierNameAr : '';\r\n this.SupplierNameEn = obj.SupplierNameEn ? obj.SupplierNameEn : '';\r\n this.CompanyDataId = obj.CompanyDataId ? obj.CompanyDataId : 0;\r\n //this.BranchId = obj.BranchId ? obj.BranchId : 0;\r\n //this.BranchNameAr = obj.BranchNameAr ? obj.BranchNameAr : '';\r\n //this.BranchNameEn = obj.BranchNameEn ? obj.BranchNameEn : '';\r\n //this.StoreDataId = obj.StoreDataId ? obj.StoreDataId : 0;\r\n //this.StoreNameAr = obj.StoreNameAr ? obj.StoreNameAr : '';\r\n //this.StoreNameEn = obj.StoreNameEn ? obj.StoreNameEn : '';\r\n this.Year = obj.Year ? obj.Year : 0;\r\n this.Month = obj.Month ? obj.Month : 0;\r\n this.Date = obj.Date ? obj.Date : new Date();\r\n this.DueDate = obj.DueDate ? obj.DueDate : new Date();\r\n this.Description = obj.Description ? obj.Description : '';\r\n this.TotalValue = obj.TotalValue ? obj.TotalValue : 0;\r\n //this.IsPosted = obj.IsPosted ? obj.IsPosted : false;\r\n this.Items = obj.Items ? obj.Items : [];\r\n }\r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { QuotationRequestModel } from \"./QuotationRequestModel\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class QuotationRequestService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n debugData: QuotationRequestModel [] = [];\r\n // debugData: QuotationRequestModel [] = [\r\n // {\r\n // Id:1, SupplierId:1, Code:1, CompanyDataId:0, BranchesDataId:0, StoreDataId:2, \r\n // Year:2021, Month:1, Date:new Date(2021, 0, 13), DueDate:new Date(2021, 5, 13), Description:\"desc1\\ntest1\\n1\", TotalValue:5,\r\n // //IsPosted:false,\r\n // Footers: [\r\n // {Id:1, QuotationRequestHeaderId:1, ItemsHeaderId:1, UnitTypeId:1, Quantity:1},\r\n // {Id:2, QuotationRequestHeaderId:1, ItemsHeaderId:2, UnitTypeId:2, Quantity:2},\r\n // ]\r\n // },\r\n // {\r\n // Id:2, SupplierId:2, Code:2, CompanyDataId:0, BranchesDataId:0, StoreDataId:3, \r\n // Year:2022, Month:2, Date:new Date(2022, 1, 13), DueDate:new Date(2021, 6, 13), Description:\"desc2\\ntest2\\n2\", TotalValue:25,\r\n // //IsPosted:true,\r\n // Footers: [\r\n // {Id:3, QuotationRequestHeaderId:2, ItemsHeaderId:1, UnitTypeId:2, Quantity:3},\r\n // {Id:4, QuotationRequestHeaderId:2, ItemsHeaderId:2, UnitTypeId:1, Quantity:4},\r\n // ]\r\n // },\r\n // ];\r\n debugMode: boolean = false;\r\n\r\n baseUrl = environment.baseApiUrl;\r\n // baseUrl = 'http://localhost:60289/';\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}QuotationRequest/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getAllWithItems(): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}QuotationRequest/GetAllWithItems`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData.find(x=>x.Id==id))\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}QuotationRequest/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getByIdWithItems(id:number): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData.find(x=>x.Id==id))\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}QuotationRequest/GetByIdWithItems/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: QuotationRequestModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.push(payload);\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}QuotationRequest/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insertWithItems(payload: QuotationRequestModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.push(payload);\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}QuotationRequest/InsertWithItems`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: QuotationRequestModel): Observable {\r\n if(this.debugMode){\r\n this.debugData[this.debugData.findIndex(x=>x.Id==payload.Id)] = payload;\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}QuotationRequest/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n updateWithItems(payload: QuotationRequestModel): Observable {\r\n if(this.debugMode){\r\n this.debugData[this.debugData.findIndex(x=>x.Id==payload.Id)] = payload;\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}QuotationRequest/UpdateWithItems`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: QuotationRequestModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==payload.Id),1);\r\n return of(true)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}QuotationRequest/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: QuotationRequestModel []): Observable {\r\n if(this.debugMode){\r\n payload.forEach(element => {\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==element.Id),1);\r\n });\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}QuotationRequest/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { TableEngine } from 'src/app/invoices/TableEngine'\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from 'src/app/views/app/aio/shared/side-popup/side-popup.component';\nimport { Observable, of, Subscription } from 'rxjs';\n\nimport { NgSelectComponent } from '@ng-select/ng-select';\n\nimport { QuotationRequestModel } from \"./QuotationRequestModel\";\nimport { QuotationRequestService } from \"./QuotationRequestService\";\nimport { QuotationRequestItemModel } from \"./QuotationRequestItemModel\";\n\nimport { CodingUnitModel } from \"src/app/invoices/coding-units/CodingUnitModel\";\nimport { CodingUnitService } from 'src/app/invoices/coding-units/CodingUnitService';\nimport { SupplierModel } from \"src/app/views/purchases/purchase-orders/SupplierModel\";\nimport { SupplierService } from \"src/app/views/purchases/purchase-orders/SupplierService\";\n// import { PaymentMethodModel } from \"src/app/views/purchases/purchase-orders/PaymentMethodModel\";\n// import { PaymentMethodService } from \"src/app/views/purchases/purchase-orders/PaymentMethodService\";\nimport { DatePipe, formatDate } from '@angular/common';\n//import { StoreDataModel } from '../purchase-orders/StoreDataModel';\n//import { StoreDataService } from \"src/app/views/purchases/purchase-orders/StoreDataService\";\nimport { ConfigPurchasesService } from '../config-purchases/ConfigPurchasesService';\nimport { ConfigPurchasesModel } from '../config-purchases/ConfigPurchasesModel';\nimport { ListPageHeaderComponent } from 'src/app/containers/pages/list-page-header/list-page-header.component';\nimport { StoreItemsService } from 'src/app/Invintory/store-items-service.service';\nimport { StoreItemsModel } from 'src/app/Invintory/models/StoreItemsModel';\n\n\n\n\n@Component({\n selector: 'app-quotation-requests',\n templateUrl: './quotation-requests.component.html',\n styleUrls: ['./quotation-requests.component.scss']\n})\nexport class QuotationRequestsComponent {\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n\n //Enable debugMode to make API modules return static data from within the service class\n debugMode: boolean = false;\n\n constructor(private formBuilder: FormBuilder, private modelService: QuotationRequestService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private itemService: StoreItemsService, private datePipe: DatePipe,\n // private storeDataService: StoreDataService, \n private codingUnitService: CodingUnitService,\n private supplierService: SupplierService, private configPurchasesService: ConfigPurchasesService\n\n ) {\n }\n\n listHeader = new ListPageHeaderComponent();\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n tableView: any = true;\n\n translationName: string = 'QuotationRequest'\n\n sortableKeys = [];\n searchableKeys = ['Date'];\n\n modelObject: QuotationRequestModel = new QuotationRequestModel();\n\n ogData: QuotationRequestModel[] = [];\n\n Footers?: QuotationRequestItemModel[];\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n SupplierId: new FormControl(),\n Code: new FormControl(),\n Date: new FormControl(),\n DueDate: new FormControl(),\n Description: new FormControl(),\n //CompanyDataId: new FormControl(),\n //BranchId: new FormControl(),\n //StoreDataId: new FormControl(),\n //TotalValue: new FormControl(),\n });\n\n\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n if (this.debugMode) {\n this.enableDebugOnAllServices();\n }\n\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'QuotationRequestCode', property: 'Code' };\n this.sortableKeys = [\n { label: 'QuotationRequestDate', property: 'Date' },\n { label: 'QuotationRequestDueDate', property: 'DueDate' },\n // { label: 'QuotationRequestStoreName', property: 'StoreDataId' },\n //{ label: 'QuotationRequestTotalValue', property: 'TotalValue' },\n { label: 'QuotationRequestSupplier', property: this.lang === 'ar-EG' ? 'SupplierNameAr':'SupplierNameEn' },\n { label: 'QuotationRequestCode', property: 'Code' },\n //{ label: 'QuotationRequestIsPosted', property: 'IsPosted' },\n \n \n ];\n\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n\n this.loadServices();\n }\n\n\n enableDebugOnAllServices() {\n //this.modelService.debugMode = true;\n // this.itemService.debugMode = true;\n //this.codingUnitService.debugMode = true;\n //this.storeDataService.debugMode = true;\n //this.supplierService.debugMode = true;\n\n }\n\n lastCode = 0;\n showModal(Id, action) {\n // console.log(\"datefrom component\",this.SearchFrom);\n // console.log(\"datefrom header in component\", this.listHeader.SearchFrom);\n \n \n // console.log(\"entered showModal\");\n // console.log(\"modelObject\", this.modelObject);\n \n this.newQuotationRequestItem = {};\n\n this.quotationRequestItemForm = this.createQuotationRequestItemForm(this.newQuotationRequestItem, this.formBuilder);\n\n if (action === 'Add') {\n this.addedItemList = [];\n this.newQuotationRequestItemInternalId = 0;\n if(this.configPurchases.EnableAutoQuotationRequestCodes==true){\n this.lastCode = this.configPurchases.StartingQuotationRequestCode;\n for (let index = 0; index < this.tableEngine.ogData.length; index++) {\n if(this.tableEngine.ogData.findIndex(x=>x.Code == this.lastCode) >= 0)\n { this.lastCode++; console.log(this.lastCode);\n } \n else { break; }\n }\n }else{\n //this.lastCode = this.tableEngine.ogData.length>0?this.tableEngine.ogData[this.tableEngine.ogData.length - 1].Code + 1:0;\n this.lastCode = 0;\n }\n this.modelObject.Code = this.lastCode;\n this.checkCode();\n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n }\n else if (action === 'Edit') {\n //this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder)\n this.modelService.getByIdWithItems(Id).subscribe(\n detailedObject => {\n console.log(\"detailed object\", detailedObject);\n \n let targetIndex = this.tableEngine.ogData.findIndex(i => i.Id === Id);\n this.tableEngine.ogData[targetIndex] = detailedObject;\n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder)\n \n this.lastCode = this.tableEngine.modelObject.Code\n \n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n this.tableView = false;\n\n this.addedItemList = [];\n this.addedItemList = [...this.modelObject.Items];\n }\n )\n }\n else if (action === 'Info') {\n console.log(\"entered info\");\n this.modelService.getByIdWithItems(Id).subscribe(\n detailedObject => {\n console.log(\"detailed object\", detailedObject);\n \n let targetIndex = this.tableEngine.ogData.findIndex(i => i.Id === Id);\n this.tableEngine.ogData[targetIndex] = detailedObject;\n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder)\n \n this.lastCode = this.tableEngine.modelObject.Code\n \n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n this.tableView = false;\n\n this.addedItemList = [];\n this.addedItemList = [...this.modelObject.Items];\n } \n )\n }\n this.tableView = false;\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n console.log((action + \" object\"), this.modelObject);\n console.log(\"modelObject after entering \", this.modelObject);\n }\n currentDate='';\n currentDueDate='';\n createForm(modelObject, formBuilder): FormGroup {\n return formBuilder.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n SupplierId: [modelObject.SupplierId, Validators.compose([Validators.required])],\n Date: [modelObject.Date?modelObject.Date.toString().slice(0, 10) :modelObject.Date, Validators.compose([Validators.required])],\n DueDate: [modelObject.DueDate?modelObject.DueDate.toString().slice(0, 10) :modelObject.DueDate, Validators.compose([Validators.required])],\n Description: [modelObject.Description],\n });\n }\n\n addObject() {\n this.currentAction = 'loading';\n \n let tempList: QuotationRequestItemModel[] = [];\n let tempItem: QuotationRequestItemModel;\n let debugId = 0;\n for (let index = 0; index < this.addedItemList.length; index++) {\n tempItem = new QuotationRequestItemModel();\n tempItem = this.addedItemList[index]\n tempItem.Id = this.debugMode ? debugId : 0;\n tempItem.QuotationRequestId = 0;\n tempList.push(tempItem)\n\n debugId++;\n }\n \n //let lastId = this.tableEngine.ogData.length>0?this.tableEngine.ogData[this.tableEngine.ogData.length - 1].Id:0;\n\n this.modelObject = new QuotationRequestModel();\n \n //this.modelObject.Id = this.debugMode ? lastId + 1 : 0;\n this.modelObject.Id = 0;\n this.modelObject.Code = this.lastCode;\n let supplier = this.getSupplierById(this.mainForm.getRawValue().SupplierId);\n this.modelObject.SupplierId = supplier.Id;\n this.modelObject.SupplierNameAr = supplier.NameAr;\n this.modelObject.SupplierNameEn = supplier.NameEn;\n\n let date = new Date(this.mainForm.getRawValue().Date);\n let dueDate = new Date(this.mainForm.getRawValue().DueDate);\n this.modelObject.Date = date;\n this.modelObject.DueDate = dueDate;\n this.modelObject.Month = date.getMonth();\n this.modelObject.Year = date.getFullYear();\n\n this.modelObject.Description = this.mainForm.getRawValue().Description;\n this.modelObject.Items = tempList;\n console.log(this.modelObject);\n this.executeAddObject();\n }\n\n executeAddObject() {\n this.modelService.insertWithItems(this.modelObject).subscribe(result => {\n if (result === true || result > 0) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n if (this.sideModalRef === undefined) {\n if (this.smallModal != undefined) {\n this.tableEngine.smallModal.hide();\n }\n else {\n this.tableView = this.prevAction === 'AddThenNew' ? false : true;\n \n this.prevAction = '';\n }\n }\n else {\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n \n if(this.prevAction != 'AddThenNew'){\n this.goBack();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n\n editObject() {\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n\n let tempList: QuotationRequestItemModel[] = [];\n let tempItem: QuotationRequestItemModel;\n let debugId = 1;\n for (let index = 0; index < this.addedItemList.length; index++) {\n tempItem = new QuotationRequestItemModel();\n tempItem = {...this.addedItemList[index]}\n //tempItem.Id = this.debugMode ? debugId : 0;\n tempItem.Id = 0;\n\n tempItem.QuotationRequestId = this.modelObject.Id;\n tempList.push(tempItem)\n console.log(\"added temp item while editing\", tempItem);\n \n debugId++;\n }\n\n let tempObj = new QuotationRequestModel();\n tempObj.Id = this.modelObject.Id;\n tempObj.Code = this.lastCode;\n let supplier = this.getSupplierById(this.mainForm.getRawValue().SupplierId);\n tempObj.SupplierId = supplier.Id;\n tempObj.SupplierNameAr = supplier.NameAr;\n tempObj.SupplierNameEn = supplier.NameEn;\n\n let date = new Date(this.mainForm.getRawValue().Date);\n let dueDate = new Date(this.mainForm.getRawValue().DueDate);\n\n tempObj.Date = date;\n tempObj.DueDate = dueDate;\n tempObj.Year = date.getFullYear();\n tempObj.Month = date.getMonth();\n tempObj.Description = this.mainForm.getRawValue().Description;\n tempObj.Items = tempList;\n this.executeEditObject(tempObj);\n console.log(\"saved object\", tempObj);\n }\n\n executeEditObject(Object) {\n\n\n this.modelService.updateWithItems(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n\n if (this.sideModalRef === undefined) {\n if (this.smallModal != undefined) {\n this.tableEngine.smallModal.hide();\n }\n else {\n this.tableView = true;\n }\n }\n else {\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n \n this.goBack();\n \n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n SearchFrom: Date = null;\n SearchTo: Date = null;\n\n clearSearch() {\n this.SearchFrom = null;\n this.SearchTo = null;\n }\n\n prevAction = '';\n addAndNew() {\n this.prevAction = 'AddThenNew';\n this.addObject();\n this.showModal(null, 'Add');\n }\n\n configPurchases = new ConfigPurchasesModel();\n loadServices() {\n this.currentAction = 'loading';\n\n this.supplierService.getAll().subscribe(\n supplierData => {\n this.supplierList = supplierData;\n\n this.codingUnitService.getAll().subscribe(\n codingUnitData => {\n this.codingUnitList = codingUnitData;\n\n this.itemService.getAll().subscribe(\n itemData => {\n this.itemList = itemData;\n\n //this.storeDataService.getAll().subscribe(\n // storeData => {\n // this.storeDataList = storeData;\n\n\n this.configPurchasesService.getFirst().subscribe(\n configPurchasesData => {\n this.configPurchases = configPurchasesData;\n\n this.tableEngine.loadData();\n }\n )\n }\n // )\n //}\n )\n }\n )\n }\n )\n\n\n }\n \n addedItemList: QuotationRequestItemModel[] = [];\n codingUnitList: CodingUnitModel[] = [];\n itemList: StoreItemsModel[] = [];\n // storeDataList: StoreDataModel[] = [];\n supplierList: SupplierModel[] = [];\n \n getItemById(Id: any): any {\n return this.itemList.find(i => i.Id === Id);\n }\n getUnityById(Id: any): any {\n return this.codingUnitList.find(i => i.Id === Id);\n }\n // getStoreDataById(Id: any): any {\n // return this.storeDataList.find(i => i.Id === Id);\n // }\n getSupplierById(Id: any): any {\n return this.supplierList.find(i => i.Id === Id);\n }\n\n quotationRequestItemForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n ItemId: new FormControl(),\n UnitId: new FormControl(),\n Quantity: new FormControl(),\n //Price: new FormControl(),\n //Value: new FormControl(),\n });\n createQuotationRequestItemForm(quotationRequestItemObject, formBuilder): FormGroup {\n return formBuilder.group({\n Id: [quotationRequestItemObject.Id >= 0 ? quotationRequestItemObject.Id : 0],\n ItemId: [null ,Validators.compose([Validators.required])],\n Quantity: [null ,Validators.compose([Validators.required, Validators.pattern(/^([1-9]+)([0-9])*(\\.[0-9]+)?$/)])],\n //Price: [null ,Validators.compose([Validators.required, Validators.pattern(/^([1-9]+)([0-9])*(\\.[0-9]+)?$/)])],\n \n //Id: [quotationRequestItemObject.Id >= 0 ? quotationRequestItemObject.Id : 0],\n //ItemId: [quotationRequestItemObject.ItemId, Validators.compose([Validators.required])],\n //Quantity: [quotationRequestItemObject.Quantity, Validators.compose([Validators.required, Validators.pattern(/^([1-9]+)([0-9])*(\\.[0-9]+)?$/)])],\n //Price: [quotationRequestItemObject.Price, Validators.compose([Validators.required, Validators.pattern(/^([1-9]+)([0-9])*(\\.[0-9]+)?$/)])],\n });\n }\n newQuotationRequestItem: QuotationRequestItemModel = new QuotationRequestItemModel();\n newQuotationRequestItemInternalId = 0;\n\n addQuotationRequestItem(): any {\n\n let temp = new QuotationRequestItemModel({\n Id: this.newQuotationRequestItemInternalId,\n ItemId: this.quotationRequestItemForm.getRawValue().ItemId,\n UnitId: this.newQuotationRequestItem.UnitId,\n Quantity: this.quotationRequestItemForm.getRawValue().Quantity,\n //Price: this.quotationRequestItemForm.getRawValue().Price,\n //Value: this.quotationRequestItemForm.getRawValue().Price * this.quotationRequestItemForm.getRawValue().Quantity,\n });\n \n let tempSourceItem = this.getItemById(this.quotationRequestItemForm.getRawValue().ItemId);\n // let tempSourceUnit = this.getItemById(this.newQuotationRequestItem.UnitId);\n temp.ItemNameAr = tempSourceItem.Name;\n temp.ItemNameEn = tempSourceItem.Name;\n // temp.UnitNameAr = tempSourceUnit.NameAr;\n // temp.UnitNameEn = tempSourceUnit.NameEn;\n \n this.addedItemList = this.addedItemList.concat(temp)\n this.newQuotationRequestItemInternalId = this.newQuotationRequestItemInternalId + 1;\n this.newQuotationRequestItem = new QuotationRequestItemModel();\n this.quotationRequestItemForm = this.createQuotationRequestItemForm(this.newQuotationRequestItem, this.formBuilder);\n }\n removeQuotationRequestItem(Id: any): any {\n\n let index = this.addedItemList.findIndex(x => x.Id === Id);\n this.addedItemList.splice(index, 1);\n\n //this.calculateTotalItemValue();\n }\n changeItem(): any {\n let tempSourceItem = this.getItemById(this.quotationRequestItemForm.getRawValue().ItemId);\n // let tempSourceUnit = this.getUnityById(tempSourceItem.CodingUnitId);\n this.newQuotationRequestItem.ItemId = this.quotationRequestItemForm.getRawValue().ItemId;\n // this.newQuotationRequestItem.UnitId = this.quotationRequestItemForm.getRawValue().ItemId>0?tempSourceUnit.Id:0;\n this.newQuotationRequestItem.ItemNameAr = tempSourceItem.Name;\n this.newQuotationRequestItem.ItemNameEn = tempSourceItem.Name;\n // this.newQuotationRequestItem.UnitNameAr = tempSourceUnit.NameAr;\n // this.newQuotationRequestItem.UnitNameEn = tempSourceUnit.NameEn;\n }\n //currentTotal = 0;\n // calculateTotalItemValue() {\n // let total = 0;\n // this.addedItemList.forEach(item => {\n // total += item.Value;\n // });\n // this.currentTotal = total;\n // return total;\n // }\n goBack(){\n console.log(\"back\");\n \n this.modelObject = {};\n this.addedItemList = [];\n //this.currentTotal = 0;\n this.newQuotationRequestItem = {};\n this.currentAction = \"\";\n this.tableView = true;\n\n \n console.log(this.modelObject);\n console.log(this.lastCode);\n }\n\n //lastCode = 0;\n codeWasChecked = false;\n checkCode() : boolean{\n if(!(this.lastCode > 0)){\n this.codeWasChecked = false;\n console.log(\"bad code\", this.lastCode);\n \n return this.codeWasChecked;\n }\n this.configPurchasesService.checkQuotationRequestCode(this.lastCode).subscribe(\n result => {\n this.codeWasChecked = result;\n }\n );\n console.log(\"code availability:\",this.codeWasChecked);\n \n return this.codeWasChecked;\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepChangeSort(sortKey) {\n this.SearchFrom = null;\n this.SearchTo = null;\n \n \n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n\n getFormattedDate(dateString: any){\n let splitDate: number[] = dateString.toString().split(\"/\");\n\n return new Date(splitDate[2], splitDate[1]-1, splitDate[0])\n }\n ///////////////////////////////////////////////////////\n \n displayMode = 'list';\n changeDisplayMode(mode): void {\n this.displayMode = mode;\n }\n itemsPerPageChange(perPage: number): void {\n this.tableEngine.paginateData(perPage, 1)\n }\n}\n","\n\n\n
    \n
    \n
    \n\n
    \n \n \n \n \n
    \n
    \n\n
    \n\n
    \n \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    0)\">\n {{\"QuotationRequestCodeRequired\" | translate}}
    \n
    \n {{\"QuotationRequestCodeAlreadyTaken\" | translate}}
    \n
    \n\n
    \n\n
    \n\n
    \n\n\n\n \n\n
    \n \n
    \n \n \n {{lang==='ar-EG'?supplier.NameAr:supplier.NameEn}}\n \n
    \n \n
    \n {{\"QuotationRequestSupplierRequired\" | translate}}
    \n \n
    \n\n
    \n\n
    \n \n\n 0?'date':'text'\" onfocus=\"(this.type='date')\"\n onblur=\"if(!this.value)this.type='text'\" onchange=\"if(!this.value)this.type='text'\"\n name=\"Date\" class=\"form-control\" formControlName=\"Date\"\n placeholder='{{\"QuotationRequestDate\" | translate}}'>\n \n
    \n {{\"QuotationRequestDateRequired\" | translate}}
    \n \n
    \n\n
    \n\n
    \n \n\n 0?'date':'text'\" onfocus=\"(this.type='date')\"\n onblur=\"if(!this.value)this.type='text'\" onchange=\"if(!this.value)this.type='text'\"\n name=\"DueDate\" class=\"form-control\" formControlName=\"DueDate\"\n placeholder='{{\"QuotationRequestDueDate\" | translate}}'>\n \n
    \n {{\"QuotationRequestDueDateRequired\" | translate}}
    \n \n
    \n\n\n\n
    \n\n \n\n
    \n\n
    \n
    \n \n \n \n \n
    \n
    \n\n
    \n\n \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{\"QuotationRequestItemName\" | translate}}{{\"QuotationRequestItemUnit\" | translate}}{{\"QuotationRequestItemQuantity\" | translate}}
    \n \n \n {{obj.ItemId>0?(lang==='ar-EG'?obj.ItemNameAr:obj.ItemNameEn):\"None\"|translate}}\n \n {{obj.UnitId>0?(lang==='ar-EG'?obj.UnitNameAr:obj.UnitNameEn):\"None\"|translate}}\n \n {{obj.Quantity}}\n
    \n \n \n
    \n \n \n {{lang==='ar-EG'?item.Name:item.Name}}\n \n
    \n
    \n
    \n {{newQuotationRequestItem.UnitId>0?(lang==='ar-EG'?newQuotationRequestItem.UnitNameAr:newQuotationRequestItem.UnitNameEn):\"None\"|translate}}\n
    \n
    \n \n\n
    \n {{\"QuotationRequestItemQuantityRequired\" | translate}}
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n \n  \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n \n
    \n
    1 && \n tableEngine.deletionList.length === tableEngine.ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n\n
    \n \n
    \n\n
    \n
    \n
    \n
    \n \n \n \n\n \n \n\n\n \n \n\n\n \n \n\n\n \n \n\n\n \n\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n \n \n \n {{\"QuotationRequestCode\" | translate}}\n \n \n \n \n {{\"QuotationRequestSupplier\" | translate}}\n \n \n \n \n {{\"QuotationRequestDate\" | translate}}\n \n \n \n \n {{\"QuotationRequestDueDate\" | translate}}\n \n\n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • \n {{item}}
  • \n
    \n
    \n
    \n\n
    \n
    \n \n \n
    \n
    {{obj.Code}}\n {{lang==='ar-EG'?obj.SupplierNameAr:obj.SupplierNameEn}}\n {{obj.Date | date:\"dd/MM/yyyy\"}}{{obj.DueDate | date:\"dd/MM/yyyy\"}}\n \n \n \n \n \n
    \n\n
    \n
    \n \n
    \n\n \n \n \n \n
    \n
    \n
    \n\n\n
    \n
    \n\n
    \n
    \n
    \n\n
    \n\n
     
    \n\n\n
     
    \n\n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { ProductPurchasesDataModel } from '../../models/product-purchases-data.model';\nimport { ProductPurchasesService } from '../../product-purchases.service';\nimport { ProductPurchasesSearchModel } from '../../models/product-purchases-search.model';\nimport html2canvas from 'html2canvas';\nimport jspdf from 'jspdf';\n@Component({\n selector: 'product-purchases',\n templateUrl: 'product-purchases.component.html',\n styleUrls: ['product-purchases.component.scss']\n})\nexport class ProductPurchasesComponent implements OnInit{\n declare lang: any;\n today:Date=new Date();\n list:ProductPurchasesDataModel[]=[];\n liabilities:ProductPurchasesDataModel[]=[];\n PropertyRights:ProductPurchasesDataModel[]=[];\n employees=[];\n nodeList:ProductPurchasesDataModel[]=[];\n constructor(private ProductPurchasesService:ProductPurchasesService){\n this.lang = localStorage.getItem('theme_lang');\n }\n TotalAssets = 0;\n Totalliabilities = 0;\n TotalPropertyRights = 0;\n data:ProductPurchasesDataModel[]=[];\n assets:ProductPurchasesDataModel[]=[];\n search:ProductPurchasesSearchModel={};\n ngOnInit(): void {\n this.ProductPurchasesService.search(this.search)\n .subscribe(data => {\n this.data = data;\n this.assets = data;\n })\n \n }\n Search(){\n this.ProductPurchasesService.search(this.search)\n .subscribe(data => {\n this.data = data;\n })\n }\n exportTable(){\n var data = document.getElementById('contentToConvert');\n data.style.display = 'inline-block';\n html2canvas(data,{}).then(canvas => {\n var imgWidth = 208;\n var pageHeight = 295;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n var heightLeft = imgHeight;\n const contentDataURL = canvas.toDataURL('image/png')\n let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF\n var position = 0;\n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n pdf.save('new-file.pdf'); // Generated PDF\n data.style.display = 'block';\n\n // data.style.display = 'none';\n \n });\n }\n print(){\n let printContents, popupWin;\n printContents = document.getElementById('contentToConvert').innerHTML;\n popupWin = window.open('', '_blank', 'top=0,left=0,height=100%,width=auto');\n popupWin.document.open();\n window.print();\n \n }\n}\n","\n\n
    \n
    \n
    \n
    \n \n
    \n \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n \n \n \n \n
    \n \n \n
    \n {{\" \"}}\n {{\" \"}}\n {{\" \"}}\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    {{ 'Purchases By Product Report' | translate }}

    \n

    {{ today| date:'dd/MM/yyyy' }}

    \n
    {{ 'Future Core' | translate }}
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{lang==='ar-EG'?product.ProductName:product.ProductName}}
    {{ 'Code' | translate }} {{ 'Name' | translate }} {{ 'Date' | translate }}{{ 'Type' | translate }}{{ 'Supplier' | translate }} {{ 'Unit Price' | translate }} {{ 'Total Taxes' | translate }}{{ 'Quantity' | translate }}{{ 'Total' | translate }}
    {{item.ProductCode}}{{item.ProductName}}{{item.InvoiceDate | date:'dd/MM/yyyy'}}{{item.InvoiceType}}{{lang==='ar-EG'?product.SupplierNameAr:product.SupplierNameEn}}{{item.UnitPrice}}{{item.TotalTaxes}}{{item.Amount}}{{item.Total}}
    {{ 'Total' | translate }} {{product.TotalAmount}}{{product.Total}}
    \n \n
    \n \n
    \n
    \n
    ","import { environment } from './../../../../../environments/environment';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { ProductPurchasesSearchModel } from './models/product-purchases-search.model';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProductPurchasesService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n search(search:ProductPurchasesSearchModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}ProductPurchases/Search`,search,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n}\r\n ","import { PurchasesBySupplierDataModel } from './../../models/purchases-by-supplier.data.model';\nimport { Component, OnInit } from '@angular/core';\nimport { PurchasesBySupplierService } from '../../purchases-by-supplier.service';\nimport { PurchasesBySupplierSearchModel } from '../../models/purchases-by-supplier-search.model';\nimport html2canvas from 'html2canvas';\nimport jspdf from 'jspdf';\n@Component({\n selector: 'purchases-by-supplier',\n templateUrl: 'purchases-by-supplier.component.html',\n styleUrls: ['purchases-by-supplier.component.scss']\n})\nexport class PurchasesBySupplierComponent implements OnInit{\n declare lang: any;\n today:Date=new Date();\n list:PurchasesBySupplierDataModel[]=[];\n liabilities:PurchasesBySupplierDataModel[]=[];\n PropertyRights:PurchasesBySupplierDataModel[]=[];\n employees=[];\n nodeList:PurchasesBySupplierDataModel[]=[];\n constructor(private PurchasesBySupplierService:PurchasesBySupplierService){\n this.lang = localStorage.getItem('theme_lang');\n }\n TotalAssets = 0;\n Totalliabilities = 0;\n TotalPropertyRights = 0;\n data:PurchasesBySupplierDataModel[]=[];\n assets:PurchasesBySupplierDataModel[]=[];\n search:PurchasesBySupplierSearchModel={};\n ngOnInit(): void {\n this.PurchasesBySupplierService.search(this.search)\n .subscribe(data => {\n this.data = data;\n this.assets = data;\n })\n \n }\n Search(){\n this.PurchasesBySupplierService.search(this.search)\n .subscribe(data => {\n this.data = data;\n })\n }\n exportTable(){\n var data = document.getElementById('contentToConvert');\n data.style.display = 'inline-block';\n html2canvas(data,{}).then(canvas => {\n var imgWidth = 208;\n var pageHeight = 295;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n var heightLeft = imgHeight;\n const contentDataURL = canvas.toDataURL('image/png')\n let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF\n var position = 0;\n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n pdf.save('new-file.pdf'); // Generated PDF\n data.style.display = 'block';\n\n // data.style.display = 'none';\n \n });\n }\n print(){\n let printContents, popupWin;\n printContents = document.getElementById('contentToConvert').innerHTML;\n popupWin = window.open('', '_blank', 'top=0,left=0,height=100%,width=auto');\n popupWin.document.open();\n window.print();\n \n }\n}\n","\n\n
    \n
    \n
    \n
    \n \n
    \n \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n \n \n \n \n
    \n \n \n
    \n {{\" \"}}\n {{\" \"}}\n {{\" \"}}\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    {{ 'Purchases By Supplier Report' | translate }}

    \n

    {{ today| date:'dd/MM/yyyy' }}

    \n
    {{ 'Future Core' | translate }}
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{lang==='ar-EG'?supplier.SupplierNameAr:supplier.SupplierNameEn}}
    {{ 'Code' | translate }} {{ 'Date' | translate }} {{ 'Is Payed' | translate }}{{ 'Is Not Payed' | translate }}{{ 'Returned' | translate }} {{ 'Total' | translate }}
    {{item.Code}}#{{item.Date | date:'dd/MM/yyyy'}}{{item.Payed}}{{item.NotPayed}}{{item.Returned}}{{item.Total}}
    {{ 'Total' | translate }} {{supplier.TotalPsyed}}{{supplier.TotalNotPayed}}{{supplier.TotalReturned}}{{supplier.Total}}
    \n \n
    \n \n
    \n
    \n
    ","import { environment } from './../../../../../environments/environment';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { PurchasesBySupplierSearchModel } from './models/purchases-by-supplier-search.model';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PurchasesBySupplierService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n search(search:PurchasesBySupplierSearchModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}PurchasesBySupplier/Search`,search,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n}\r\n ","import { Component, OnInit } from '@angular/core';\nimport { SupplierBalancesDataModel } from '../../models/supplier-balances-data.model';\nimport { SupplierBalancesService } from '../../supplier-balances.service';\nimport { SupplierBalancesSearchModel } from '../../models/supplier-balances-search.model';\nimport html2canvas from 'html2canvas';\nimport jspdf from 'jspdf';\n@Component({\n selector: 'supplier-balances',\n templateUrl: 'supplier-balances.component.html',\n styleUrls: ['supplier-balances.component.scss']\n})\nexport class SupplierBalancesComponent implements OnInit{\n declare lang: any;\n today:Date=new Date();\n list:SupplierBalancesDataModel[]=[];\n liabilities:SupplierBalancesDataModel[]=[];\n PropertyRights:SupplierBalancesDataModel[]=[];\n employees=[];\n nodeList:SupplierBalancesDataModel[]=[];\n constructor(private SupplierBalancesService:SupplierBalancesService){\n this.lang = localStorage.getItem('theme_lang');\n }\n TotalAssets = 0;\n Totalliabilities = 0;\n TotalPropertyRights = 0;\n suppliers:any[]=[];\n data:SupplierBalancesDataModel={};\n search:SupplierBalancesSearchModel={};\n ngOnInit(): void {\n this.SupplierBalancesService.search(this.search)\n .subscribe(data => {\n this.data = data;\n console.log('this.data',this.data)\n this.suppliers = [...data.Details];\n })\n \n }\n Search(){\n this.SupplierBalancesService.search(this.search)\n .subscribe(data => {\n this.data = data;\n })\n }\n exportTable(){\n var data = document.getElementById('contentToConvert');\n data.style.display = 'inline-block';\n html2canvas(data,{}).then(canvas => {\n var imgWidth = 208;\n var pageHeight = 295;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n var heightLeft = imgHeight;\n const contentDataURL = canvas.toDataURL('image/png')\n let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF\n var position = 0;\n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n pdf.save('new-file.pdf'); // Generated PDF\n data.style.display = 'block';\n\n // data.style.display = 'none';\n \n });\n }\n print(){\n let printContents, popupWin;\n printContents = document.getElementById('contentToConvert').innerHTML;\n popupWin = window.open('', '_blank', 'top=0,left=0,height=100%,width=auto');\n popupWin.document.open();\n window.print();\n \n }\n}\n","\n\n
    \n
    \n
    \n
    \n \n
    \n \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n \n \n \n \n
    \n \n \n
    \n {{\" \"}}\n {{\" \"}}\n {{\" \"}}\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    {{ 'Supplier Balances Report' | translate }}

    \n

    {{ today| date:'dd/MM/yyyy' }}

    \n
    {{ 'Future Core' | translate }}
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{ 'Code' | translate }} {{ 'Account Number' | translate }} {{ 'Name' | translate }} {{ 'Balance Before' | translate }} {{ 'Total Purchases' | translate }} {{ 'Total Returned' | translate }} {{ 'Net Purchases' | translate }} {{ 'Total Payments' | translate }}{{ 'Settlements' | translate }}{{ 'Balance' | translate }}
    {{item.Code}}{{item.AccountNumber}}{{lang==='ar-EG'?item.NameAr:item.NameEn}}{{item.BalanceBefore}}{{item.TotalPurchases}}{{item.TotalReturned}}{{item.NetPurchases}}{{item.TotalPayments}}{{item.Settlements}}{{item.Balance}}
    {{ 'Total' | translate }} {{data.BalanceBefore}}{{data.TotalPurchases}}{{data.TotalReturned}}{{data.NetPurchases}}{{data.TotalPayments}}{{data.Settlements}}{{data.Balance}}
    \n \n
    \n \n
    \n
    \n
    ","import { environment } from './../../../../../environments/environment';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { SupplierBalancesSearchModel } from './models/supplier-balances-search.model';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SupplierBalancesService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n search(search:SupplierBalancesSearchModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}SupplierBalances/Search`,search,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n}\r\n ","import { SuppliersDirectoryDataModel } from './../../models/suppliers-directory-data.model';\nimport { Component, OnInit } from '@angular/core';\nimport { SuppliersDirectoryService } from '../../suppliers-directory.service';\nimport { SuppliersDirectorySearchModel } from '../../models/suppliers-directory-search.model';\nimport html2canvas from 'html2canvas';\nimport jspdf from 'jspdf';\nimport { CountryServes } from 'src/app/invoices/suppliers/serves/countryServes';\nimport { CountryModel } from 'src/app/invoices/suppliers/model/countrymodel';\n\n@Component({\n selector: 'suppliers-directory',\n templateUrl: 'suppliers-directory.component.html',\n styleUrls: ['suppliers-directory.component.scss']\n})\nexport class SuppliersDirectoryComponent implements OnInit{\n declare lang: any;\n today:Date=new Date();\n list:SuppliersDirectoryDataModel[]=[];\n liabilities:SuppliersDirectoryDataModel[]=[];\n PropertyRights:SuppliersDirectoryDataModel[]=[];\n employees=[];\n nodeList:SuppliersDirectoryDataModel[]=[];\n countries:CountryModel[]=[];\n constructor(private SuppliersDirectoryService:SuppliersDirectoryService,private countryService:CountryServes){\n this.lang = localStorage.getItem('theme_lang');\n }\n TotalAssets = 0;\n Totalliabilities = 0;\n TotalPropertyRights = 0;\n data:SuppliersDirectoryDataModel[]=[];\n assets:SuppliersDirectoryDataModel[]=[];\n search:SuppliersDirectorySearchModel={};\n supplierTypes:[\n {Id:'0',Name:'All'},\n {Id:'1',Name:'Bussiness'},\n {Id:'2',Name:'Person'},\n {Id:'3',Name:'Foreign'},\n\n]\n ngOnInit(): void {\n this.countryService.getAll()\n .subscribe(result => {\n this.countries = result;\n })\n this.SuppliersDirectoryService.search(this.search)\n .subscribe(data => {\n this.data = data;\n this.assets = data;\n })\n \n }\n Search(){\n this.SuppliersDirectoryService.search(this.search)\n .subscribe(data => {\n this.data = data;\n })\n }\n exportTable(){\n var data = document.getElementById('contentToConvert');\n data.style.display = 'inline-block';\n html2canvas(data,{}).then(canvas => {\n var imgWidth = 208;\n var pageHeight = 295;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n var heightLeft = imgHeight;\n const contentDataURL = canvas.toDataURL('image/png')\n let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF\n var position = 0;\n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n pdf.save('new-file.pdf'); // Generated PDF\n data.style.display = 'block';\n\n // data.style.display = 'none';\n \n });\n }\n print(){\n let printContents, popupWin;\n printContents = document.getElementById('contentToConvert').innerHTML;\n popupWin = window.open('', '_blank', 'top=0,left=0,height=100%,width=auto');\n popupWin.document.open();\n window.print();\n \n }\n}\n","\n\n
    \n
    \n
    \n
    \n \n
    \n
    \n \n \n \n \n \n \n
    \n
    \n \n \n \n \n \n
    \n \n
    \n {{\" \"}}\n {{\" \"}}\n {{\" \"}}\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    {{ 'Suppliers Directory' | translate }}

    \n

    {{ today| date:'dd/MM/yyyy' }}

    \n
    {{ 'Future Core' | translate }}
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{ 'Code' | translate }} {{ 'Name' | translate }} {{ 'Address' | translate }}{{ 'Phone' | translate }}{{ 'Postal Code' | translate }}
    {{item.Code}}{{lang==='ar-EG' ? item.NameAr : item.NameEn}}{{item.Address}}{{item.Phone}}{{item.PostalCode}}
    \n \n
    \n \n
    \n
    \n
    ","import { environment } from './../../../../../environments/environment';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { SuppliersDirectorySearchModel } from './models/suppliers-directory-search.model';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SuppliersDirectoryService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n search(search:SuppliersDirectorySearchModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}SuppliersDirectory/Search`,search,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n}\r\n ","\r\nexport class RequestReceiptItemModel {\r\n Id?: number;\r\n Code?: number;\r\n RequestReceiptId?: number;\r\n RequestReceiptCode?: number;\r\n ItemId?: number;\r\n ItemNameAr?: string;\r\n ItemNameEn?: string;\r\n UnitId?: number;\r\n UnitNameAr?: string;\r\n UnitNameEn?: string;\r\n Quantity?: number;\r\n UnitCost?: number;\r\n TotalPrice?: number;\r\n MaxQuantity?: number;\r\n constructor(obj?: RequestReceiptItemModel) {\r\n obj = obj ? obj : {};\r\n this.Id = obj.Id ? obj.Id : 0;\r\n this.Code = obj.Code ? obj.Code : 0;\r\n this.RequestReceiptId = obj.RequestReceiptId ? obj.RequestReceiptId : 0;\r\n this.RequestReceiptCode = obj.RequestReceiptCode ? obj.RequestReceiptCode : 0;\r\n this.ItemId = obj.ItemId ? obj.ItemId : null;\r\n this.ItemNameAr = obj.ItemNameAr ? obj.ItemNameAr : '';\r\n this.ItemNameEn = obj.ItemNameEn ? obj.ItemNameEn : '';\r\n this.UnitId = obj.UnitId ? obj.UnitId : null;\r\n this.UnitNameAr = obj.UnitNameAr ? obj.UnitNameAr : '';\r\n this.UnitNameEn = obj.UnitNameEn ? obj.UnitNameEn : '';\r\n this.Quantity = obj.Quantity ? obj.Quantity : null;\r\n this.UnitCost = obj.UnitCost ? obj.UnitCost : null;\r\n this.TotalPrice = obj.TotalPrice ? obj.TotalPrice : 0;\r\n this.MaxQuantity = obj.MaxQuantity ? obj.MaxQuantity : null;\r\n }\r\n\r\n}","import { RequestReceiptItemModel } from \"src/app/views/purchases/request-receipt/RequestReceiptItemModel\";\r\n\r\n \r\nexport class RequestReceiptModel {\r\n Id?: number;\r\n Code?: number;\r\n PurchaseOrderId?: number;\r\n PurchaseOrderCode?: number;\r\n SupplierId?: number;\r\n SupplierNameAr?: string;\r\n SupplierNameEn?: string;\r\n CompanyDataId?: number;\r\n BranchId?: number;\r\n BranchNameAr?: string;\r\n BranchNameEn?: string;\r\n StoreDataId?: number;\r\n StoreNameAr?: string;\r\n StoreNameEn?: string;\r\n Year?: number;\r\n Month?: number;\r\n Date?: Date;\r\n Description?: string;\r\n TotalValue?: number;\r\n IsPosted?: boolean;\r\n Items?: RequestReceiptItemModel [];\r\n Lang?:string;\r\n\r\n constructor(obj?: RequestReceiptModel) {\r\n obj = obj ? obj : {};\r\n this.Id = obj.Id ? obj.Id : 0;\r\n this.Code = obj.Code ? obj.Code : 0;\r\n this.PurchaseOrderId = obj.PurchaseOrderId ? obj.PurchaseOrderId : 0;\r\n this.PurchaseOrderCode = obj.PurchaseOrderCode ? obj.PurchaseOrderCode : 0;\r\n this.SupplierId = obj.SupplierId ? obj.SupplierId : 0;\r\n this.SupplierNameAr = obj.SupplierNameAr ? obj.SupplierNameAr : '';\r\n this.SupplierNameEn = obj.SupplierNameEn ? obj.SupplierNameEn : '';\r\n this.CompanyDataId = obj.CompanyDataId ? obj.CompanyDataId : 0;\r\n this.BranchId = obj.BranchId ? obj.BranchId : 0;\r\n this.BranchNameAr = obj.BranchNameAr ? obj.BranchNameAr : '';\r\n this.BranchNameEn = obj.BranchNameEn ? obj.BranchNameEn : '';\r\n this.StoreDataId = obj.StoreDataId ? obj.StoreDataId : 0;\r\n this.StoreNameAr = obj.StoreNameAr ? obj.StoreNameAr : '';\r\n this.StoreNameEn = obj.StoreNameEn ? obj.StoreNameEn : '';\r\n this.Year = obj.Year ? obj.Year : 0;\r\n this.Month = obj.Month ? obj.Month : 0;\r\n this.Date = obj.Date ? obj.Date : new Date();\r\n this.Description = obj.Description ? obj.Description : '';\r\n this.TotalValue = obj.TotalValue ? obj.TotalValue : 0;\r\n this.IsPosted = obj.IsPosted ? obj.IsPosted : false;\r\n this.Items = obj.Items ? obj.Items : [];\r\n this.Lang = obj.Lang ? obj.Lang : '';\r\n\r\n }\r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { RequestReceiptModel } from \"./RequestReceiptModel\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RequestReceiptService {\r\n constructor(private http: HttpClient) {\r\n\r\n }\r\n\r\n debugData: RequestReceiptModel [] = [];\r\n // debugData: RequestReceiptModel [] = [\r\n // {\r\n // Id:1, PurchaseOrderHeaderId:1, SupplierId:1, Code:1, CompanyDataId:0, BranchesDataId:0, StoreDataId:2, \r\n // Year:2021, Month:1, Date:new Date(2021, 0, 13), Description:\"desc1\\ntest1\\n1\", TotalValue:5,\r\n // IsPosted:false,\r\n // Footers: [\r\n // {Id:1, RequestReceiptHeaderId:1, ItemsHeaderId:1, UnitTypeId:1, Quantity:1, Price:1, Value:1},\r\n // {Id:2, RequestReceiptHeaderId:1, ItemsHeaderId:2, UnitTypeId:2, Quantity:2, Price:2, Value:4},\r\n // ]\r\n // },\r\n // {\r\n // Id:2, PurchaseOrderHeaderId:2, SupplierId:2, Code:2, CompanyDataId:0, BranchesDataId:0, StoreDataId:3, \r\n // Year:2022, Month:2, Date:new Date(2022, 1, 13), Description:\"desc2\\ntest2\\n2\", TotalValue:25,\r\n // IsPosted:true,\r\n // Footers: [\r\n // {Id:3, RequestReceiptHeaderId:2, ItemsHeaderId:1, UnitTypeId:2, Quantity:3, Price:3, Value:9},\r\n // {Id:4, RequestReceiptHeaderId:2, ItemsHeaderId:2, UnitTypeId:1, Quantity:4, Price:4, Value:16},\r\n // ]\r\n // }\r\n // ];\r\n debugMode: boolean = false;\r\n\r\n baseUrl = environment.baseApiUrl;\r\n // baseUrl = 'http://localhost:60289/';\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}RequestReceipt/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getAllWithItems(): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}RequestReceipt/GetAllWithItems`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData.find(x=>x.Id==id))\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}RequestReceipt/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getByIdWithItems(id:number): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData.find(x=>x.Id==id))\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}RequestReceipt/GetByIdWithItems/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: RequestReceiptModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.push(payload);\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}RequestReceipt/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insertWithItems(payload: RequestReceiptModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.push(payload);\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}RequestReceipt/InsertWithItems`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n update(payload: RequestReceiptModel): Observable {\r\n if(this.debugMode){\r\n this.debugData[this.debugData.findIndex(x=>x.Id==payload.Id)] = payload;\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}RequestReceipt/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n updateWithItems(payload: RequestReceiptModel): Observable {\r\n if(this.debugMode){\r\n this.debugData[this.debugData.findIndex(x=>x.Id==payload.Id)] = payload;\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}RequestReceipt/UpdateWithItems`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n delete(payload: RequestReceiptModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==payload.Id),1);\r\n return of(true)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}RequestReceipt/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n deleteList(payload: RequestReceiptModel []): Observable {\r\n if(this.debugMode){\r\n payload.forEach(element => {\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==element.Id),1);\r\n });\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}RequestReceipt/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n}\r\n","import { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { TableEngine } from 'src/app/invoices/TableEngine'\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from 'src/app/views/app/aio/shared/side-popup/side-popup.component';\nimport { Observable, of, Subscription } from 'rxjs';\n\nimport { NgSelectComponent } from '@ng-select/ng-select';\n\nimport { RequestReceiptModel } from \"./RequestReceiptModel\";\nimport { RequestReceiptService } from \"./RequestReceiptService\";\nimport { RequestReceiptItemModel } from \"./RequestReceiptItemModel\";\n\nimport { CodingUnitModel } from \"src/app/invoices/coding-units/CodingUnitModel\";\nimport { CodingUnitService } from 'src/app/invoices/coding-units/CodingUnitService';\nimport { StoreDataService } from \"src/app/views/purchases/purchase-orders/StoreDataService\";\nimport { SupplierModel } from \"src/app/views/purchases/purchase-orders/SupplierModel\";\nimport { SupplierService } from \"src/app/views/purchases/purchase-orders/SupplierService\";\n// import { PaymentMethodModel } from \"src/app/views/purchases/purchase-orders/PaymentMethodModel\";\n// import { PaymentMethodService } from \"src/app/views/purchases/purchase-orders/PaymentMethodService\";\nimport { formatDate } from '@angular/common';\nimport { StoreDataModel } from '../purchase-orders/StoreDataModel';\nimport { PurchaseOrderService } from '../purchase-orders/PurchaseOrderService';\nimport { PurchaseOrderModel } from '../purchase-orders/PurchaseOrderModel';\nimport { ConfigPurchasesService } from '../config-purchases/ConfigPurchasesService';\nimport { ConfigPurchasesModel } from '../config-purchases/ConfigPurchasesModel';\nimport { StoreItemsService } from 'src/app/Invintory/store-items-service.service';\n\n\n\n\n@Component({\n selector: 'app-request-receipt',\n templateUrl: './request-receipt.component.html',\n styleUrls: ['./request-receipt.component.scss']\n})\nexport class RequestReceiptComponent {\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n\n //Enable debugMode to make API modules return static data from within the service class\n debugMode: boolean = false;\n\n constructor(private formBuilder: FormBuilder, private modelService: RequestReceiptService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private itemService: StoreItemsService,\n private storeDataService: StoreDataService, private codingUnitService: CodingUnitService,\n private supplierService: SupplierService, private purchaseOrderService: PurchaseOrderService,\n private configPurchasesService: ConfigPurchasesService\n ) {\n }\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n tableView: any = true;\n\n\n translationName: string = 'RequestReceipt'\n\n sortableKeys = [];\n searchableKeys = ['Date'];\n\n modelObject: RequestReceiptModel = new RequestReceiptModel();\n\n ogData: RequestReceiptModel[] = [];\n\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n //Code: new FormControl(),\n PurchaseOrderId: new FormControl(),\n // SupplierId: new FormControl(),\n // CompanyDataId: new FormControl(),\n // //BranchId: new FormControl(),\n // StoreDataId: new FormControl(),\n // Date: new FormControl(),\n // TotalValue: new FormControl(),\n // IsPosted: new FormControl(),\n // Description: new FormControl(),\n // Items: new FormControl(),\n });\n\n\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n if (this.debugMode) {\n this.enableDebugOnAllServices();\n }\n\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'RequestReceiptCode', property: 'Code' };\n this.sortableKeys = [\n { label: 'RequestReceiptDate', property: 'Date' },\n { label: 'RequestReceiptStoreName', property: this.lang === 'ar-EG' ? 'StoreNameAr':'StoreNameEn' },\n { label: 'RequestReceiptPurchaseOrder', property: 'PurchaseOrderCode' },\n { label: 'RequestReceiptTotalValue', property: 'TotalValue' },\n { label: 'RequestReceiptSupplier', property: this.lang === 'ar-EG' ? 'SupplierNameAr':'SupplierNameEn' },\n { label: 'RequestReceiptCode', property: 'Code' },\n { label: 'RequestReceiptIsPosted', property: 'IsPosted' },\n \n \n ];\n\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n this.loadServices();\n }\n\n\n enableDebugOnAllServices() {\n //this.modelService.debugMode = true;\n // this.itemService.debugMode = true;\n //this.codingUnitService.debugMode = true;\n //this.storeDataService.debugMode = true;\n //this.supplierService.debugMode = true;\n //this.purchaseOrderService.debugMode = true;\n\n }\n\n\n lastCode = 0;\n showModal(Id, action) {\n console.log(\"entered showModal\");\n \n this.newRequestReceiptItem = {};\n\n this.requestReceiptItemForm = this.createRequestReceiptItemForm(this.newRequestReceiptItem, this.formBuilder);\n\n if (action === 'Add') {\n this.addedItemList = [];\n this.newRequestReceiptItemInternalId = 0;\n if(this.configPurchases.EnableAutoRequestReceiptCodes==true){\n this.lastCode = this.configPurchases.StartingRequestReceiptCode;\n for (let index = 0; index < this.tableEngine.ogData.length; index++) {\n if(this.tableEngine.ogData.findIndex(x=>x.Code == this.lastCode) >= 0)\n { this.lastCode++; console.log(this.lastCode);\n } \n else { break; }\n }\n }else{\n //this.lastCode = this.tableEngine.ogData.length>0?this.tableEngine.ogData[this.tableEngine.ogData.length - 1].Code + 1:0;\n this.lastCode = 0;\n }\n this.modelObject.Code = this.lastCode;\n this.checkCode();\n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n }\n else if (action === 'Edit') {\n this.modelService.getByIdWithItems(Id).subscribe(\n detailedObject => {\n console.log(\"detailed object\", detailedObject);\n \n let targetIndex = this.tableEngine.ogData.findIndex(i => i.Id === Id);\n this.tableEngine.ogData[targetIndex] = detailedObject;\n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder)\n \n this.lastCode = this.tableEngine.modelObject.Code\n \n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n this.tableView = false;\n\n this.addedItemList = [];\n this.addedItemList = [...this.modelObject.Items];\n\n this.calculateTotalItemValue();\n }\n )\n }\n else if (action === 'Info') {\n console.log(\"entered info\");\n this.modelService.getByIdWithItems(Id).subscribe(\n detailedObject => {\n console.log(\"detailed object\", detailedObject);\n \n let targetIndex = this.tableEngine.ogData.findIndex(i => i.Id === Id);\n this.tableEngine.ogData[targetIndex] = detailedObject;\n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder)\n \n this.lastCode = this.tableEngine.modelObject.Code\n \n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n this.tableView = false;\n\n this.addedItemList = [];\n this.addedItemList = [...this.modelObject.Items];\n\n this.calculateTotalItemValue();\n } \n )\n }\n this.tableView = false;\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n console.log((action + \" object\"), this.modelObject);\n\n this.addedItemList.forEach(element => {\n element.MaxQuantity = element.Quantity;\n console.log(element.MaxQuantity);\n \n });\n\n this.calculateTotalItemValue();\n\n console.log(\"modelObject after entering edit\", this.modelObject);\n }\n\n createForm(modelObject, formBuilder): FormGroup {\n return formBuilder.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n PurchaseOrderId: [modelObject.PurchaseOrderId, Validators.compose([Validators.required])],\n // SupplierId: [modelObject.SupplierId, Validators.compose([Validators.required])],\n // StoreDataId: [modelObject.StoreDataId, Validators.compose([Validators.required])],\n // //BranchId: [modelObject.BranchId, Validators.compose([Validators.required])],\n // Date: [modelObject.Date?modelObject.Date.toString().slice(0, 10):modelObject.Date, Validators.compose([Validators.required])],\n // Description: [modelObject.Description],\n // IsPosted: [modelObject.IsPosted, Validators.compose([Validators.required])],\n\n // Items: [modelObject.Items],\n });\n }\n\n addObject() {\n this.currentAction = 'loading';\n \n let tempList: RequestReceiptItemModel[] = [];\n let tempItem: RequestReceiptItemModel;\n let debugId = 0;\n for (let index = 0; index < this.addedItemList.length; index++) {\n tempItem = new RequestReceiptItemModel();\n tempItem = this.addedItemList[index]\n tempItem.Id = this.debugMode ? debugId : 0;\n tempItem.RequestReceiptId = 0;\n tempList.push(tempItem)\n\n debugId++;\n }\n \n //let lastId = this.tableEngine.ogData.length>0?this.tableEngine.ogData[this.tableEngine.ogData.length - 1].Id:0;\n //\n this.modelObject = new RequestReceiptModel();\n \n //this.modelObject.Id = this.debugMode ? lastId + 1 : 0;\n this.modelObject.Id = 0;\n this.modelObject.PurchaseOrderId = this.purchaseOrderHeader.Id;\n this.modelObject.PurchaseOrderCode = this.purchaseOrderHeader.Code;\n\n this.modelObject.Code = this.lastCode;\n this.modelObject.SupplierId = this.purchaseOrderHeader.SupplierId;\n this.modelObject.SupplierNameAr = this.purchaseOrderHeader.SupplierNameAr;\n this.modelObject.SupplierNameEn = this.purchaseOrderHeader.SupplierNameEn;\n this.modelObject.StoreDataId = this.purchaseOrderHeader.StoreDataId;\n this.modelObject.StoreNameAr = this.purchaseOrderHeader.StoreNameAr;\n this.modelObject.StoreNameEn = this.purchaseOrderHeader.StoreNameEn;\n this.modelObject.BranchId = this.getStoreDataById(this.modelObject.StoreDataId).BranchId;\n this.modelObject.BranchNameAr = this.purchaseOrderHeader.BranchNameAr;\n this.modelObject.BranchNameEn = this.purchaseOrderHeader.BranchNameEn;\n this.modelObject.Lang = this.lang;\n let date = new Date(this.purchaseOrderHeader.Date);\n this.modelObject.Date = date;\n this.modelObject.Month = date.getMonth();\n this.modelObject.Year = date.getFullYear();\n\n this.modelObject.Description = this.purchaseOrderHeader.Description;\n this.modelObject.IsPosted = this.purchaseOrderHeader.IsPosted;\n this.modelObject.Items = tempList;\n this.modelObject.TotalValue = this.calculateTotalItemValue();\n\n\n console.log(this.modelObject);\n this.executeAddObject();\n }\n\n executeAddObject() {\n this.modelService.insertWithItems(this.modelObject).subscribe(result => {\n if (result === true || result > 0) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n if (this.sideModalRef === undefined) {\n if (this.smallModal != undefined) {\n this.tableEngine.smallModal.hide();\n }\n else {\n this.tableView = this.prevAction === 'AddThenNew' ? false : true;\n\n this.prevAction = '';\n }\n }\n else {\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n\n if(this.prevAction != 'AddThenNew'){\n this.goBack();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n\n editObject() {\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n\n let tempList: RequestReceiptItemModel[] = [];\n let tempItem: RequestReceiptItemModel;\n let debugId = 1;\n for (let index = 0; index < this.addedItemList.length; index++) {\n tempItem = new RequestReceiptItemModel();\n tempItem = this.addedItemList[index]\n //tempItem.Id = this.debugMode ? debugId : 0;\n tempItem.Id = 0;\n\n tempItem.RequestReceiptId = this.modelObject.Id;\n tempList.push(tempItem)\n\n debugId++;\n }\n console.log(\"edited item list\",tempList);\n \n\n //this.calculateTotalItemValue();\n\n let tempObj = JSON.parse(JSON.stringify(this.modelObject));\n console.log(\"Original Object\", this.modelObject);\n console.log(\"Temp Object\", tempObj);\n \n \n let date = new Date(this.modelObject.Date);\n tempObj.Date = date;\n\n tempObj.Items = tempList;\n\n tempObj.Id = this.modelObject.Id;\n\n tempObj.Code = this.lastCode;\n tempObj.SupplierId = this.modelObject.SupplierId;\n tempObj.StoreDataId = this.modelObject.StoreDataId;\n tempObj.BranchId = this.modelObject.BranchId;;\n\n tempObj.Description = this.modelObject.Description;\n tempObj.IsPosted = this.modelObject.IsPosted;\n \n tempObj.TotalValue = this.calculateTotalItemValue();\n\n console.log(\"editedObject\", tempObj);\n this.executeEditObject(tempObj);\n }\n\n executeEditObject(Object) {\n\n\n this.modelService.updateWithItems(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n\n if (this.sideModalRef === undefined) {\n if (this.smallModal != undefined) {\n this.tableEngine.smallModal.hide();\n }\n else {\n this.tableView = true;\n }\n }\n else {\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n \n this.goBack();\n\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n SearchFrom: Date = null;\n SearchTo: Date = null;\n\n clearSearch() {\n this.SearchFrom = null;\n this.SearchTo = null;\n }\n\n prevAction = '';\n addAndNew() {\n this.prevAction = 'AddThenNew';\n this.addObject();\n this.showModal(null, 'Add');\n }\n\n configPurchases = new ConfigPurchasesModel();\n loadServices() {\n this.currentAction = 'loading';\n\n this.supplierService.getAll().subscribe(\n supplierData => {\n this.supplierList = supplierData;\n\n this.codingUnitService.getAll().subscribe(\n codingUnitData => {\n this.codingUnitList = codingUnitData;\n\n this.itemService.getAll().subscribe(\n itemData => {\n this.itemList = itemData;\n\n this.storeDataService.getAll().subscribe(\n storeData => {\n this.storeDataList = storeData;\n\n this.purchaseOrderService.getAll().subscribe(\n purchaseOrderData => {\n this.purchaseOrderList = purchaseOrderData;\n\n this.configPurchasesService.getFirst().subscribe(\n configPurchasesData => {\n this.configPurchases = configPurchasesData;\n \n this.tableEngine.loadData();\n }\n )\n }\n )\n }\n )\n }\n )\n }\n )\n }\n )\n\n\n }\n \n addedItemList: RequestReceiptItemModel[] = [];\n codingUnitList: CodingUnitModel[] = [];\n itemList: any[] = [];\n storeDataList: StoreDataModel[] = [];\n supplierList: SupplierModel[] = [];\n purchaseOrderList: PurchaseOrderModel[] = [];\n\n getItemById(Id: any): any {\n return this.itemList.find(i => i.Id === Id);\n }\n getUnityById(Id: any): any {\n return this.codingUnitList.find(i => i.Id === Id);\n }\n getStoreDataById(Id: any): any {\n return this.storeDataList.find(i => i.Id === Id);\n }\n getSupplierById(Id: any): any {\n return this.supplierList.find(i => i.Id === Id);\n }\n getPurchaseOrderById(Id: any): any {\n return this.purchaseOrderList.find(i => i.Id === Id);\n }\n\n requestReceiptItemForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n ItemId: new FormControl(),\n //UnitId: new FormControl(),\n Quantity: new FormControl(),\n UnitCost: new FormControl(),\n //TotalPrice: new FormControl(),\n });\n createRequestReceiptItemForm(requestReceiptItemObject, formBuilder): FormGroup {\n return formBuilder.group({\n Id: [requestReceiptItemObject.Id >= 0 ? requestReceiptItemObject.Id : 0],\n ItemId: [Validators.compose([Validators.required])],\n Quantity: [Validators.compose([Validators.required, Validators.pattern(/^([1-9]+)([0-9])*(\\.[0-9]+)?$/)])],\n UnitCost: [Validators.compose([Validators.required, Validators.pattern(/^([1-9]+)([0-9])*(\\.[0-9]+)?$/)])],\n });\n }\n newRequestReceiptItem: RequestReceiptItemModel = new RequestReceiptItemModel();\n newRequestReceiptItemInternalId = 0;\n\n addRequestReceiptItem(): any {\n let temp = new RequestReceiptItemModel({\n Id: this.newRequestReceiptItemInternalId,\n ItemId: this.requestReceiptItemForm.getRawValue().ItemsHeaderId,\n UnitId: this.newRequestReceiptItem.UnitId,\n Quantity: this.requestReceiptItemForm.getRawValue().Quantity,\n UnitCost: this.requestReceiptItemForm.getRawValue().UnitCost,\n TotalPrice: this.requestReceiptItemForm.getRawValue().UnitCost * this.requestReceiptItemForm.getRawValue().Quantity,\n });\n this.addedItemList = this.addedItemList.concat(temp)\n this.newRequestReceiptItemInternalId = this.newRequestReceiptItemInternalId + 1;\n\n\n this.newRequestReceiptItem = new RequestReceiptItemModel();\n\n \n this.requestReceiptItemForm = this.createRequestReceiptItemForm(this.newRequestReceiptItem, this.formBuilder);\n \n this.calculateTotalItemValue();\n }\n removeRequestReceiptItem(Id: any): any {\n\n let index = this.addedItemList.findIndex(x => x.Id === Id);\n this.addedItemList.splice(index, 1);\n\n this.calculateTotalItemValue();\n }\n // changeItem(): any {\n\n // this.newRequestReceiptItem.ItemsHeaderId = this.requestReceiptItemForm.getRawValue().ItemsHeaderId;\n // this.newRequestReceiptItem.UnitTypeId = this.getItemById(this.requestReceiptItemForm.getRawValue().ItemsHeaderId).CodingUnitId;\n\n // this.calculateTotalItemValue();\n // }\n currentTotal = 0;\n calculateTotalItemValue() {\n console.log(\"calculating\");\n \n let total = 0;\n this.addedItemList.forEach(item => {\n if(item.Quantity > item.MaxQuantity){\n item.Quantity = item.MaxQuantity\n }\n item.TotalPrice = item.Quantity * item.UnitCost;\n total += item.TotalPrice;\n });\n this.currentTotal = total;\n console.log(this.currentTotal);\n return total;\n }\n goBack(){\n console.log(\"back\");\n \n this.modelObject = {};\n //this.createForm(this.modelObject, this.formBuilder);\n this.addedItemList = [];\n this.currentTotal = 0;\n this.newRequestReceiptItem = {};\n this.purchaseOrderHeader = {};\n this.currentAction = \"\";\n this.tableView = true;\n\n console.log(this.modelObject);\n console.log(this.lastCode);\n }\n purchaseOrderHeader: PurchaseOrderModel = new PurchaseOrderModel();\n changePurchaseOrderHeader(){\n this.addedItemList = [];\n\n this.purchaseOrderHeader = this.getPurchaseOrderById(this.mainForm.getRawValue().PurchaseOrderId?this.mainForm.getRawValue().PurchaseOrderId:this.modelObject.PurchaseOrderId);\n \n this.purchaseOrderService.getByIdWithItems(this.purchaseOrderHeader.Id).subscribe(\n detailedObject => { \n this.purchaseOrderHeader = {...detailedObject};\n this.modelObject = JSON.parse(JSON.stringify(detailedObject));\n this.addedItemList = JSON.parse(JSON.stringify(detailedObject.Items));\n console.log(this.modelObject);\n console.log(this.addedItemList);\n this.addedItemList.forEach(element => {\n element.MaxQuantity = element.Quantity;\n console.log(element.MaxQuantity);\n \n });\n this.calculateTotalItemValue();\n }\n );\n }\n\n //lastCode = 0;\n codeWasChecked = false;\n checkCode() : boolean{\n if(!(this.lastCode > 0)){\n this.codeWasChecked = false;\n console.log(\"bad code\", this.lastCode);\n \n return this.codeWasChecked;\n }\n this.configPurchasesService.checkRequestReceiptCode(this.lastCode).subscribe(\n result => {\n this.codeWasChecked = result;\n }\n );\n console.log(\"code availability:\",this.codeWasChecked);\n \n return this.codeWasChecked;\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n\n prepChangeSort(sortKey) {\n this.SearchFrom = null;\n this.SearchTo = null;\n \n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n\n}\n","\n\n\n
    \n
    \n
    \n\n
    \n \n \n \n \n
    \n
    \n\n
    \n\n
    \n \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    0)\">\n {{\"RequestReceiptCodeRequired\" | translate}}
    \n
    \n {{\"RequestReceiptCodeAlreadyTaken\" | translate}}
    \n
    \n\n
    \n\n
    \n \n
    \n \n \n {{purchaseOrder.Code}}\n \n
    \n \n
    \n {{\"RequestReceiptPurchaseOrderRequired\" | translate}}
    \n \n
    \n\n
    \n\n
    \n\n
    \n\n\n\n
    \n \n \n \n \n \n
    \n\n
    \n\n\n
    \n \n \n \n \n \n
    \n\n
    \n\n\n
    \n \n \n \n \n \n
    \n\n\n\n
    \n\n
    \n\n
    \n
    \n \n \n \n \n \n
    \n
    \n\n
    \n\n
    \n
    \n \n \n \n \n
    \n
    \n\n
    \n\n \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{\"RequestReceiptItemName\" | translate}}{{\"RequestReceiptItemUnit\" | translate}}{{\"RequestReceiptItemPrice\" | translate}}{{\"RequestReceiptItemQuantity\" | translate}}{{\"RequestReceiptItemValue\" | translate}}
    \n \n \n {{obj.ItemId>0?(lang==='ar-EG'?obj.ItemNameAr:obj.ItemNameEn):\"None\"|translate}}\n \n {{obj.UnitId>0?(lang==='ar-EG'?obj.UnitNameAr:obj.UnitNameEn):\"None\"|translate}}\n \n {{obj.UnitCost}}\n \n \n\n
    0)\">\n {{\"RequestReceiptItemQuantityRequired\" | translate}}
    \n
    \n {{obj.Quantity}}\n
    \n
    \n {{obj.Quantity * obj.UnitCost}}\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n {{\"RequestReceiptTotalValue\" | translate}}\n
    \n {{currentTotal>0?currentTotal:0}}\n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n \n  \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n \n
    \n
    1 && \n tableEngine.deletionList.length === tableEngine.ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n\n
    \n \n\n\n
    \n\n
    \n
    \n
    \n
    \n \n \n \n\n \n \n\n\n \n \n\n\n \n \n\n\n \n \n\n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n \n \n \n {{\"RequestReceiptCode\" | translate}}\n \n \n \n \n {{\"RequestReceiptSupplier\" | translate}}\n \n \n \n \n {{\"RequestReceiptDate\" | translate}}\n \n \n \n \n {{\"RequestReceiptStoreName\" | translate}}\n \n \n \n \n {{\"RequestReceiptTotalValue\" | translate}}\n \n \n \n \n {{\"RequestReceiptIsPosted\" | translate}}\n \n\n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • \n {{item}}
  • \n
    \n
    \n
    \n\n
    \n
    \n \n \n
    \n
    {{obj.Code}}\n {{lang==='ar-EG'?obj.SupplierNameAr:obj.SupplierNameEn}}\n {{obj.Date | date:\"dd/MM/yyyy\"}}\n {{lang==='ar-EG'?obj.StoreNameAr:obj.StoreNameEn}}\n {{obj.TotalValue}}\n {{(obj.IsPosted?\"RequestReceiptIsPostedTrue\":\"RequestReceiptIsPostedFalse\")\n | translate}}\n\n \n \n \n \n \n \n
    \n
    \n
    \n \n
    \n\n \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n\n
     
    \n\n\n
     
    \n\n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","export class ReturnPurchaseItemModel {\r\n Id?: number;\r\n Code?: number;\r\n ReturnPurchaseId?: number;\r\n ReturnPurchaseCode?: number;\r\n ItemId?: number;\r\n ItemNameAr?: string;\r\n ItemNameEn?: string;\r\n UnitId?: number;\r\n UnitNameAr?: string;\r\n UnitNameEn?: string;\r\n UnitCost?: number;\r\n Quantity?: number;\r\n TotalPrice?: number;\r\n DiscountIsRate?: boolean;\r\n DiscountValue?: number;\r\n NetPrice?: number;\r\n TaxValue?: number;\r\n GrossPrice?: number;\r\n MaxQuantity?: number;\r\n TaxId?: number;\r\n constructor(obj?: ReturnPurchaseItemModel) {\r\n obj = obj ? obj : {};\r\n this.Id = obj.Id ? obj.Id : 0;\r\n this.Code = obj.Code ? obj.Code : 0;\r\n this.ReturnPurchaseId = obj.ReturnPurchaseId ? obj.ReturnPurchaseId : 0;\r\n this.TaxId = obj.TaxId ? obj.TaxId : 0;\r\n this.ReturnPurchaseCode = obj.ReturnPurchaseCode ? obj.ReturnPurchaseCode : 0;\r\n this.ItemId = obj.ItemId ? obj.ItemId : 0;\r\n this.ItemNameAr = obj.ItemNameAr ? obj.ItemNameAr : '';\r\n this.ItemNameEn = obj.ItemNameEn ? obj.ItemNameEn : '';\r\n this.UnitId = obj.UnitId ? obj.UnitId : 0;\r\n this.UnitNameAr = obj.UnitNameAr ? obj.UnitNameAr : '';\r\n this.UnitNameEn = obj.UnitNameEn ? obj.UnitNameEn : '';\r\n this.UnitCost = obj.UnitCost ? obj.UnitCost : 0;\r\n this.Quantity = obj.Quantity ? obj.Quantity : 0;\r\n this.TotalPrice = obj.TotalPrice ? obj.TotalPrice : 0;\r\n this.DiscountIsRate = obj.DiscountIsRate ? obj.DiscountIsRate : false;\r\n this.DiscountValue = obj.DiscountValue ? obj.DiscountValue : 0;\r\n this.NetPrice = obj.NetPrice ? obj.NetPrice : 0;\r\n this.TaxValue = obj.TaxValue ? obj.TaxValue : 0;\r\n this.GrossPrice = obj.GrossPrice ? obj.GrossPrice : 0;\r\n this.MaxQuantity = obj.MaxQuantity ? obj.MaxQuantity : null;\r\n }\r\n\r\n}","import { ReturnPurchaseItemModel } from \"./ReturnPurchaseItemModel\";\r\n\r\nexport class ReturnPurchaseModel {\r\n Id?: number;\r\n Code?: number;\r\n PurchaseInvoiceId?: number;\r\n PurchaseInvoiceCode?: number;\r\n SupplierId?: number;\r\n SupplierNameAr?: string;\r\n SupplierNameEn?: string;\r\n PaymentMethodId?: number;\r\n PaymentMethodNameAr?: string;\r\n PaymentMethodNameEn?: string;\r\n CompanyDataId?: number;\r\n BranchId?: number;\r\n BranchNameAr?: string;\r\n BranchNameEn?: string;\r\n //StoreDataId?: number;\r\n //StoreNameAr?: string;\r\n //StoreNameEn?: string;\r\n Barcode?: string;\r\n Year?: number;\r\n Month?: number;\r\n Date?: Date;\r\n Description?: string;\r\n TotalItemPrices?: number;\r\n TotalItemDiscounts?: number;\r\n TotalItemNetPrices?: number;\r\n TotalItemTaxes?: number;\r\n TotalItemGrossPrices?: number;\r\n IsPosted?: boolean;\r\n Items?: ReturnPurchaseItemModel [];\r\n constructor(obj?: ReturnPurchaseModel) {\r\n obj = obj ? obj : {};\r\n this.Id = obj.Id ? obj.Id : 0;\r\n this.Code = obj.Code ? obj.Code : 0;\r\n this.PurchaseInvoiceId = obj.PurchaseInvoiceId ? obj.PurchaseInvoiceId : 0;\r\n this.PurchaseInvoiceCode = obj.PurchaseInvoiceCode ? obj.PurchaseInvoiceCode : 0;\r\n this.SupplierId = obj.SupplierId ? obj.SupplierId : 0;\r\n this.SupplierNameAr = obj.SupplierNameAr ? obj.SupplierNameAr : '';\r\n this.SupplierNameEn = obj.SupplierNameEn ? obj.SupplierNameEn : '';\r\n this.PaymentMethodId = obj.PaymentMethodId ? obj.PaymentMethodId : 0;\r\n this.PaymentMethodNameAr = obj.PaymentMethodNameAr ? obj.PaymentMethodNameAr : '';\r\n this.PaymentMethodNameEn = obj.PaymentMethodNameEn ? obj.PaymentMethodNameEn : '';\r\n this.CompanyDataId = obj.CompanyDataId ? obj.CompanyDataId : 0;\r\n this.BranchId = obj.BranchId ? obj.BranchId : 0;\r\n this.BranchNameAr = obj.BranchNameAr ? obj.BranchNameAr : '';\r\n this.BranchNameEn = obj.BranchNameEn ? obj.BranchNameEn : '';\r\n //this.StoreDataId = obj.StoreDataId ? obj.StoreDataId : 0;\r\n //this.StoreNameAr = obj.StoreNameAr ? obj.StoreNameAr : '';\r\n //this.StoreNameEn = obj.StoreNameEn ? obj.StoreNameEn : '';\r\n this.Barcode = obj.Barcode ? obj.Barcode : '';\r\n this.Year = obj.Year ? obj.Year : 0;\r\n this.Month = obj.Month ? obj.Month : 0;\r\n this.Date = obj.Date ? obj.Date : new Date();\r\n this.Description = obj.Description ? obj.Description : '';\r\n this.TotalItemPrices = obj.TotalItemPrices ? obj.TotalItemPrices : 0;\r\n this.TotalItemDiscounts = obj.TotalItemDiscounts ? obj.TotalItemDiscounts : 0;\r\n this.TotalItemNetPrices = obj.TotalItemNetPrices ? obj.TotalItemNetPrices : 0;\r\n this.TotalItemTaxes = obj.TotalItemTaxes ? obj.TotalItemTaxes : 0;\r\n this.TotalItemGrossPrices = obj.TotalItemGrossPrices ? obj.TotalItemGrossPrices : 0;\r\n this.IsPosted = obj.IsPosted ? obj.IsPosted : false;\r\n this.Items = obj.Items ? obj.Items : [];\r\n }\r\n \r\n }\r\n ","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ReturnPurchaseModel } from \"./ReturnPurchaseModel\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ReturnPurchaseService {\r\n constructor(private http: HttpClient) {\r\n\r\n }\r\n\r\n debugData: ReturnPurchaseModel [] = [];\r\n // debugData: ReturnPurchaseModel [] = [\r\n // {\r\n // Id:1, InvoicePurchasesHeaderId:1, SuppliersDataId:1, Code:1, CompanyDataId:0, BranchesDataId:0, BarcodeInvoice: \"\", PaymentTypeId:1,\r\n // Year:2021, Month:1, Date:new Date(2021, 0, 13), Description:\"desc1\\ntest1\\n1\", TotalItemsValue:5, TotalItemsDiscounts:1, TotalItemsAfterDisc:1,\r\n // TotalItemsTaxs: 1, NetItemsValue: 1,\r\n // IsPosted:false,\r\n // Footers: [\r\n // {Id:1, ReturnPurchasesHeaderId:1, ItemsHeaderId:1, ItemsUnitId:1, Quantity:1, UnitPrice:1, ItemValue:1, DiscountTypeId:1, \r\n // DiscountValue: 1, ItemValAfterDiscount: 1, TaxableTypeId: 1, TaxValue: 1, ItemNetValue:1},\r\n // {Id:2, ReturnPurchasesHeaderId:1, ItemsHeaderId:2, ItemsUnitId:2, Quantity:2, UnitPrice:2, ItemValue:2, DiscountTypeId:2, \r\n // DiscountValue: 2, ItemValAfterDiscount: 2, TaxableTypeId: 2, TaxValue: 2, ItemNetValue:2},\r\n // ]\r\n // },\r\n // {\r\n // Id:2, InvoicePurchasesHeaderId:2, SuppliersDataId:2, Code:2, CompanyDataId:0, BranchesDataId:0, BarcodeInvoice: \"\", PaymentTypeId:2,\r\n // Year:2022, Month:2, Date:new Date(2022, 1, 13), Description:\"desc2\\ntest2\\n2\", TotalItemsValue:5, TotalItemsDiscounts:2, TotalItemsAfterDisc:2,\r\n // TotalItemsTaxs: 2, NetItemsValue: 2,\r\n // IsPosted:true,\r\n // Footers: [\r\n // {Id: 3, ReturnPurchasesHeaderId: 2, ItemsHeaderId: 2, ItemsUnitId: 2, Quantity: 3, UnitPrice: 3, ItemValue: 3, DiscountTypeId: 3, \r\n // DiscountValue: 3, ItemValAfterDiscount: 3, TaxableTypeId: 3, TaxValue: 3, ItemNetValue: 3},\r\n // {Id: 4, ReturnPurchasesHeaderId: 2, ItemsHeaderId: 1, ItemsUnitId: 1, Quantity: 4, UnitPrice: 4, ItemValue: 4, DiscountTypeId: 4, \r\n // DiscountValue: 4, ItemValAfterDiscount: 4, TaxableTypeId: 4, TaxValue: 4, ItemNetValue: 4},\r\n // ]\r\n // },\r\n // ];\r\n debugMode: boolean = false;\r\n\r\n baseUrl = environment.baseApiUrl;\r\n // baseUrl = 'http://localhost:60289/';\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}ReturnPurchase/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getAllWithItems(): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}ReturnPurchase/GetAllWithItems`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData.find(x=>x.Id==id))\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}ReturnPurchase/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getByIdWithItems(id:number): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData.find(x=>x.Id==id))\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}ReturnPurchase/GetByIdWithItems/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: ReturnPurchaseModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.push(payload);\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}ReturnPurchase/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insertWithItems(payload: ReturnPurchaseModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.push(payload);\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}ReturnPurchase/InsertWithItems`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n update(payload: ReturnPurchaseModel): Observable {\r\n if(this.debugMode){\r\n this.debugData[this.debugData.findIndex(x=>x.Id==payload.Id)] = payload;\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}ReturnPurchase/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n updateWithItems(payload: ReturnPurchaseModel): Observable {\r\n if(this.debugMode){\r\n this.debugData[this.debugData.findIndex(x=>x.Id==payload.Id)] = payload;\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}ReturnPurchase/UpdateWithItems`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n delete(payload: ReturnPurchaseModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==payload.Id),1);\r\n return of(true)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}ReturnPurchase/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n deleteList(payload: ReturnPurchaseModel []): Observable {\r\n if(this.debugMode){\r\n payload.forEach(element => {\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==element.Id),1);\r\n });\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}ReturnPurchase/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n}\r\n","import { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { TableEngine } from 'src/app/invoices/TableEngine'\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from 'src/app/views/app/aio/shared/side-popup/side-popup.component';\nimport { Observable, of, Subscription } from 'rxjs';\n\nimport { NgSelectComponent } from '@ng-select/ng-select';\n\nimport { ReturnPurchaseModel } from \"./ReturnPurchaseModel\";\nimport { ReturnPurchaseService } from \"./ReturnPurchaseService\";\nimport { ReturnPurchaseItemModel } from \"./ReturnPurchaseItemModel\";\nimport { CodingUnitModel } from \"src/app/invoices/coding-units/CodingUnitModel\";\nimport { CodingUnitService } from 'src/app/invoices/coding-units/CodingUnitService';\nimport { StoreDataService } from \"src/app/views/purchases/purchase-orders/StoreDataService\";\nimport { SupplierModel } from \"src/app/views/purchases/purchase-orders/SupplierModel\";\nimport { SupplierService } from \"src/app/views/purchases/purchase-orders/SupplierService\";\nimport { formatDate } from '@angular/common';\nimport { StoreDataModel } from '../purchase-orders/StoreDataModel';\nimport { PurchaseInvoiceService } from '../invoice-purchase/PurchaseInvoiceService';\nimport { PurchaseInvoiceModel } from '../invoice-purchase/PurchaseInvoiceModel';\nimport { PaymentMethodModel } from '../invoice-purchase/PaymentMethodModel';\nimport { PaymentMethodService } from '../invoice-purchase/PaymentMethodService';\nimport { ConfigPurchasesService } from '../config-purchases/ConfigPurchasesService';\nimport { ConfigPurchasesModel } from '../config-purchases/ConfigPurchasesModel';\nimport { StoreItemsService } from 'src/app/Invintory/store-items-service.service';\n\n\n\n@Component({\n selector: 'app-return-purchases',\n templateUrl: './return-purchases.component.html',\n styleUrls: ['./return-purchases.component.scss']\n})\nexport class ReturnPurchasesComponent {\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n\n //Enable debugMode to make API modules return static data from within the service class\n debugMode: boolean = false;\n\n constructor(private formBuilder: FormBuilder, private modelService: ReturnPurchaseService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private itemService: StoreItemsService, private paymentMethodService: PaymentMethodService,\n private codingUnitService: CodingUnitService,\n private supplierService: SupplierService, private purchaseInvoiceService: PurchaseInvoiceService,\n private configPurchasesService: ConfigPurchasesService\n ) {\n }\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n tableView: any = true;\n\n\n translationName: string = 'ReturnPurchase'\n\n sortableKeys = [];\n searchableKeys = ['Date'];\n\n modelObject: ReturnPurchaseModel = new ReturnPurchaseModel();\n\n ogData: ReturnPurchaseModel[] = [];\n\n Footers?: ReturnPurchaseItemModel[];\n mainForm: FormGroup = new FormGroup({\n //Id: new FormControl(),\n PurchaseInvoiceId: new FormControl(),\n //PaymentMethodId: new FormControl(),\n });\n\n\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n if (this.debugMode) {\n this.enableDebugOnAllServices();\n }\n\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'ReturnPurchaseCode', property: 'Code' };\n this.sortableKeys = [\n { label: 'ReturnPurchaseDate', property: 'Date' },\n { label: 'ReturnPurchaseStoreName', property: this.lang === 'ar-EG' ? 'StoreNameAr':'StoreNameEn' },\n { label: 'ReturnPurchasePurchaseInvoiceHeader', property: 'RequestReceiptCode' },\n { label: 'ReturnPurchaseTotalValue', property: 'TotalItemGrossPrices' },\n { label: 'ReturnPurchaseSupplier', property: this.lang === 'ar-EG' ? 'SupplierNameAr':'SupplierNameEn' },\n { label: 'ReturnPurchaseCode', property: 'Code' },\n { label: 'ReturnPurchaseIsPosted', property: 'IsPosted' },\n ];\n\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n this.loadServices();\n }\n\n\n enableDebugOnAllServices() {\n //this.modelService.debugMode = true;\n // this.itemService.debugMode = true;\n //this.codingUnitService.debugMode = true;\n //this.storeDataService.debugMode = true;\n //this.supplierService.debugMode = true;\n //this.purchaseInvoiceService.debugMode = true;\n //this.paymentMethodService.debugMode = true;\n }\n\n\n lastCode = 0;\n showModal(Id, action) {\n console.log(\"entered showModal\");\n\n if (action === 'Add') {\n this.addedItemList = [];\n if(this.configPurchases.EnableAutoReturnRequestCodes==true){\n this.lastCode = this.configPurchases.StartingReturnRequestCode;\n for (let index = 0; index < this.tableEngine.ogData.length; index++) {\n if(this.tableEngine.ogData.findIndex(x=>x.Code == this.lastCode) >= 0)\n { this.lastCode++; console.log(this.lastCode);\n } \n else { break; }\n }\n }else{\n //this.lastCode = this.tableEngine.ogData.length>0?this.tableEngine.ogData[this.tableEngine.ogData.length - 1].Code + 1:0;\n this.lastCode = 0;\n }\n this.modelObject.Code = this.lastCode;\n this.checkCode();\n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder)\n }\n else if (action === 'Edit') {\n this.modelService.getByIdWithItems(Id).subscribe(\n detailedObject => {\n console.log(\"detailed object\", detailedObject);\n \n let targetIndex = this.tableEngine.ogData.findIndex(i => i.Id === Id);\n this.tableEngine.ogData[targetIndex] = detailedObject;\n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder)\n \n this.lastCode = this.tableEngine.modelObject.Code\n \n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n this.tableView = false;\n\n this.addedItemList = [];\n this.addedItemList = [...this.modelObject.Items];\n\n this.calculateTotalItemValue();\n }\n )\n }\n else if (action === 'Info') {\n console.log(\"entered info\");\n this.modelService.getByIdWithItems(Id).subscribe(\n detailedObject => {\n console.log(\"detailed object\", detailedObject);\n \n let targetIndex = this.tableEngine.ogData.findIndex(i => i.Id === Id);\n this.tableEngine.ogData[targetIndex] = detailedObject;\n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder)\n \n this.lastCode = this.tableEngine.modelObject.Code\n \n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n this.tableView = false;\n\n this.addedItemList = [];\n this.addedItemList = [...this.modelObject.Items];\n\n this.calculateTotalItemValue();\n } \n )\n }\n this.tableView = false;\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n console.log((action + \" object\"), this.modelObject);\n\n this.addedItemList.forEach(element => {\n element.MaxQuantity = element.Quantity;\n console.log(element.MaxQuantity);\n \n });\n\n this.calculateTotalItemValue();\n\n console.log(\"modelObject after entering edit\", this.modelObject);\n }\n\n createForm(modelObject, formBuilder): FormGroup {\n return formBuilder.group({\n Id: [modelObject.Id >= 0 ? modelObject.Id : 0],\n PurchaseInvoiceId: [modelObject.PurchaseInvoiceId, Validators.compose([Validators.required])],\n //PaymentMethodId: [modelObject.PaymentMethodId, Validators.compose([Validators.required])],\n });\n }\n\n addObject() {\n this.currentAction = 'loading';\n \n let tempList: ReturnPurchaseItemModel[] = [];\n let tempItem: ReturnPurchaseItemModel;\n let debugId = 0;\n for (let index = 0; index < this.addedItemList.length; index++) {\n tempItem = new ReturnPurchaseItemModel();\n tempItem = this.addedItemList[index];\n tempItem.Id = this.debugMode ? debugId : 0;\n tempItem.ReturnPurchaseId = 0;\n tempList.push(tempItem)\n\n debugId++;\n }\n \n //let lastId = this.tableEngine.ogData.length>0?this.tableEngine.ogData[this.tableEngine.ogData.length - 1].Id:0;\n //\n this.modelObject = new PurchaseInvoiceModel();\n \n //this.modelObject.Id = this.debugMode ? lastId + 1 : 0;\n this.modelObject.Id = 0;\n this.modelObject.PurchaseInvoiceId = this.purchaseInvoiceHeader.Id;\n this.modelObject.PurchaseInvoiceCode = this.purchaseInvoiceHeader.Code;\n\n this.modelObject.PaymentMethodId = this.purchaseInvoiceHeader.PaymentMethodId;\n this.modelObject.PaymentMethodNameAr = this.purchaseInvoiceHeader.PaymentMethodNameAr;\n this.modelObject.PaymentMethodNameEn = this.purchaseInvoiceHeader.PaymentMethodNameEn;\n \n this.modelObject.Code = this.lastCode;\n this.modelObject.SupplierId = this.purchaseInvoiceHeader.SupplierId;\n this.modelObject.SupplierNameAr = this.purchaseInvoiceHeader.SupplierNameAr;\n this.modelObject.SupplierNameEn = this.purchaseInvoiceHeader.SupplierNameEn;\n //this.modelObject.StoreDataId = this.purchaseInvoiceHeader.StoreDataId;\n //this.modelObject.StoreNameAr = this.purchaseInvoiceHeader.StoreNameAr;\n //this.modelObject.StoreNameEn = this.purchaseInvoiceHeader.StoreNameEn;\n this.modelObject.BranchId = this.purchaseInvoiceHeader.BranchId;\n this.modelObject.BranchNameAr = this.purchaseInvoiceHeader.BranchNameAr;\n this.modelObject.BranchNameEn = this.purchaseInvoiceHeader.BranchNameEn;\n\n let date = new Date(this.purchaseInvoiceHeader.Date);\n this.modelObject.Date = date;\n this.modelObject.Month = date.getMonth();\n this.modelObject.Year = date.getFullYear();\n\n this.modelObject.Description = this.purchaseInvoiceHeader.Description;\n this.modelObject.IsPosted = this.purchaseInvoiceHeader.IsPosted;\n this.modelObject.Items = tempList;\n\n this.modelObject.TotalItemGrossPrices = this.calculateTotalItemValue();\n this.modelObject.TotalItemDiscounts = this.currentDiscounts;\n this.modelObject.TotalItemNetPrices = this.currentAfterDiscounts;\n this.modelObject.TotalItemPrices = this.currentBaseValues;\n this.modelObject.TotalItemTaxes = this.currentTaxes;\n\n\n console.log(this.modelObject);\n this.executeAddObject();\n }\n\n executeAddObject() {\n this.modelService.insertWithItems(this.modelObject).subscribe(result => {\n if (result === true || result > 0) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n if (this.sideModalRef === undefined) {\n if (this.smallModal != undefined) {\n this.tableEngine.smallModal.hide();\n }\n else {\n this.tableView = this.prevAction === 'AddThenNew' ? false : true;\n\n this.prevAction = '';\n }\n }\n else {\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n\n if(this.prevAction != 'AddThenNew'){\n this.goBack();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n\n editObject() {\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n\n let tempList: ReturnPurchaseItemModel[] = [];\n let tempItem: ReturnPurchaseItemModel;\n let debugId = 1;\n for (let index = 0; index < this.addedItemList.length; index++) {\n tempItem = new ReturnPurchaseItemModel();\n tempItem = this.addedItemList[index]\n //tempItem.Id = this.debugMode ? debugId : 0;\n tempItem.Id = 0;\n\n tempItem.ReturnPurchaseId = this.modelObject.Id;\n tempList.push(tempItem)\n\n debugId++;\n }\n \n //this.calculateTotalItemValue();\n\n let tempObj = JSON.parse(JSON.stringify(this.modelObject));\n console.log(\"Original Object\", this.modelObject);\n console.log(\"Temp Object\", tempObj);\n \n let date = new Date(this.modelObject.Date);\n tempObj.Date = date;\n\n\n //let paymentMehod = this.getPaymentMethodById(this.mainForm.getRawValue().PaymentMethodId);\n tempObj.PaymentMethodId = this.modelObject.PaymentMethodId;\n tempObj.PaymentMethodNameAr = this.modelObject.PaymentMethodNameAr;\n tempObj.PaymentMethodNameEn = this.modelObject.PaymentMethodNameEn;\n\n tempObj.Items = tempList;\n\n tempObj.Id = this.modelObject.Id;\n\n tempObj.Code = this.lastCode;\n tempObj.SupplierId = this.modelObject.SupplierId;\n //tempObj.StoreDataId = this.modelObject.StoreDataId;\n tempObj.BranchId = this.modelObject.BranchId;;\n\n tempObj.Description = this.modelObject.Description;\n tempObj.IsPosted = this.modelObject.IsPosted;\n \n tempObj.TotalValue = this.calculateTotalItemValue();\n tempObj.TotalItemDiscounts = this.currentDiscounts;\n tempObj.TotalItemNetPrices = this.currentAfterDiscounts;\n tempObj.TotalItemPrices = this.currentBaseValues;\n tempObj.TotalItemTaxes = this.currentTaxes;\n\n console.log(\"editedObject\", tempObj);\n this.executeEditObject(tempObj);\n }\n\n executeEditObject(Object) {\n\n\n this.modelService.updateWithItems(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n\n if (this.sideModalRef === undefined) {\n if (this.smallModal != undefined) {\n this.tableEngine.smallModal.hide();\n }\n else {\n this.tableView = true;\n }\n }\n else {\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n \n this.goBack();\n\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n SearchFrom: Date = null;\n SearchTo: Date = null;\n\n clearSearch() {\n this.SearchFrom = null;\n this.SearchTo = null;\n }\n\n prevAction = '';\n addAndNew() {\n this.prevAction = 'AddThenNew';\n this.addObject();\n this.showModal(null, 'Add');\n }\n\n configPurchases = new ConfigPurchasesModel();\n loadServices() {\n this.currentAction = 'loading';\n\n this.supplierService.getAll().subscribe(\n supplierData => {\n this.supplierList = supplierData;\n\n this.codingUnitService.getAll().subscribe(\n codingUnitData => {\n this.codingUnitList = codingUnitData;\n\n this.itemService.getAll().subscribe(\n itemData => {\n this.itemList = itemData;\n\n //this.storeDataService.getAll().subscribe(\n //storeData => {\n //this.storeDataList = storeData;\n this.purchaseInvoiceService.getAll().subscribe(\n purchaseInvoiceData => {\n this.purchaseInvoiceList = purchaseInvoiceData;\n\n this.paymentMethodService.getAll().subscribe(\n paymentMethodData => {\n this.paymentMethodList = paymentMethodData;\n \n this.configPurchasesService.getFirst().subscribe(\n configPurchasesData => {\n this.configPurchases = configPurchasesData;\n \n this.tableEngine.loadData();\n }\n )\n }\n )\n }\n )\n // }\n // )\n }\n )\n }\n )\n }\n )\n\n\n }\n \n addedItemList: ReturnPurchaseItemModel[] = [];\n codingUnitList: CodingUnitModel[] = [];\n itemList: any[] = [];\n //storeDataList: StoreDataModel[] = [];\n supplierList: SupplierModel[] = [];\n purchaseInvoiceList: PurchaseInvoiceModel[] = [];\n paymentMethodList: PaymentMethodModel[] = [];\n\n getItemById(Id: any): any {\n return this.itemList.find(i => i.Id === Id);\n }\n getUnityById(Id: any): any {\n return this.codingUnitList.find(i => i.Id === Id);\n }\n // getStoreDataById(Id: any): any {\n // return this.storeDataList.find(i => i.StoreId === Id);\n // }\n getSupplierById(Id: any): any {\n return this.supplierList.find(i => i.Id === Id);\n }\n getPurchaseInvoiceById(Id: any): any {\n return this.purchaseInvoiceList.find(i => i.Id === Id);\n }\n getPaymentMethodById(Id: any): any {\n return this.paymentMethodList.find(i => i.Id === Id);\n }\n\n removeReturnPurchaseItem(Id: any): any {\n\n let index = this.addedItemList.findIndex(x => x.Id === Id);\n this.addedItemList.splice(index, 1);\n\n this.calculateTotalItemValue();\n }\n\n currentBaseValues = 0;\n currentDiscounts = 0;\n currentAfterDiscounts = 0;\n currentTaxes = 0;\n currentTotal = 0;\n\n badValue = false;\n calculateTotalItemValue() {\n this.badValue = false;\n\n console.log(\"calculating\");\n\n let basevalues = 0;\n let discounts = 0;\n let afterDiscounts = 0;\n let taxes = 0;\n let total = 0;\n this.addedItemList.forEach(item => {\n if(item.Quantity > item.MaxQuantity){\n item.Quantity = item.MaxQuantity;\n }\n \n item.TotalPrice = item.Quantity * item.UnitCost;\n basevalues += item.TotalPrice;\n \n item.NetPrice = item.TotalPrice - item.DiscountValue;\n discounts += item.DiscountValue;\n afterDiscounts += item.NetPrice;\n \n item.GrossPrice = item.NetPrice + item.TaxValue;\n taxes += item.TaxValue;\n\n total += item.GrossPrice;\n if(item.DiscountValue == null || item.DiscountValue < 0 \n || item.TaxValue == null || item.TaxValue < 0\n || item.Quantity == null || item.Quantity <= 0\n || item.GrossPrice < 0)\n {\n this.badValue = true;\n }\n\n //console.log(item.Quantity);\n //console.log(item.DiscountValue);\n //console.log(item.TaxValue);\n \n });\n this.currentBaseValues = basevalues;\n this.currentDiscounts = discounts;\n this.currentAfterDiscounts = afterDiscounts;\n this.currentTaxes = taxes;\n this.currentTotal = total;\n //console.log(this.currentTotal);\n\n return total;\n }\n goBack(){\n console.log(\"back\");\n \n this.modelObject = {};\n //this.createForm(this.modelObject, this.formBuilder);\n this.addedItemList = [];\n this.currentTotal = 0;\n this.purchaseInvoiceHeader = {};\n this.currentAction = \"\";\n this.tableView = true;\n\n console.log(this.modelObject);\n console.log(this.lastCode);\n }\n purchaseInvoiceHeader: PurchaseInvoiceModel = new PurchaseInvoiceModel();\n changePurchaseInvoiceHeader(){\n this.addedItemList = [];\n\n this.purchaseInvoiceHeader = this.getPurchaseInvoiceById(this.mainForm.getRawValue().PurchaseInvoiceId?this.mainForm.getRawValue().PurchaseInvoiceId:this.modelObject.PurchaseInvoiceId);\n \n this.purchaseInvoiceService.getByIdWithItems(this.purchaseInvoiceHeader.Id).subscribe(\n detailedObject => { \n this.purchaseInvoiceHeader = {...detailedObject};\n this.modelObject = JSON.parse(JSON.stringify(detailedObject));\n this.addedItemList = [];\n this.purchaseInvoiceHeader.Items.forEach(element => {\n element.MaxQuantity = element.Quantity;\n console.log(element.MaxQuantity);\n let tempItem = new ReturnPurchaseItemModel({\n Id: element.Id,\n ItemId: element.ItemId,\n ItemNameAr: element.ItemNameAr,\n ItemNameEn: element.ItemNameEn,\n UnitId: element.UnitId,\n UnitNameAr: element.UnitNameAr,\n UnitNameEn: element.UnitNameEn,\n Quantity: element.Quantity,\n UnitCost: element.UnitCost,\n MaxQuantity: element.Quantity,\n TaxValue : element.TaxValue,\n TaxId:element.TaxId\n })\n this.addedItemList.push(tempItem);\n });\n console.log(this.modelObject);\n console.log(this.addedItemList);\n this.calculateTotalItemValue();\n }\n );\n }\n\n \n\n //lastCode = 0;\n codeWasChecked = false;\n checkCode() : boolean{\n if(!(this.lastCode > 0)){\n this.codeWasChecked = false;\n console.log(\"bad code\", this.lastCode);\n \n return this.codeWasChecked;\n }\n this.configPurchasesService.checkReturnPurchaseCode(this.lastCode).subscribe(\n result => {\n this.codeWasChecked = result;\n }\n );\n console.log(\"code availability:\",this.codeWasChecked);\n \n return this.codeWasChecked;\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n\n prepChangeSort(sortKey) {\n this.SearchFrom = null;\n this.SearchTo = null;\n \n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n\n}\n","\n\n\n
    \n
    \n
    \n\n
    \n \n \n \n \n
    \n
    \n\n
    \n\n
    \n \n \n
    \n\n
    \n\n
    \n \n
    \n \n \n {{purchaseInvoice.Code}}\n \n
    \n \n
    \n {{\"ReturnPurchasePurchaseInvoiceRequired\" | translate}}
    \n \n
    \n\n
    \n\n
    \n \n \n \n \n \n
    \n\n
    \n\n
    \n\n
    \n\n\n\n
    \n \n \n\n \n
    \n\n
    \n\n\n \n\n\n
    \n \n \n \n
    \n\n\n\n
    \n\n
    \n\n
    \n
    \n \n \n \n
    \n
    \n\n
    \n\n
    \n
    \n \n \n \n
    \n
    \n\n
    \n\n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{\"ReturnPurchaseItemName\" | translate}}{{\"ReturnPurchaseItemUnit\" | translate}}{{\"ReturnPurchaseItemPrice\" | translate}}{{\"ReturnPurchaseItemQuantity\" | translate}}{{\"ReturnPurchaseItemDiscount\" | translate}}{{\"ReturnPurchaseItemTax\" | translate}}{{\"ReturnPurchaseItemValue\" | translate}}
    \n \n \n {{obj.ItemId>0?(lang==='ar-EG'?obj.ItemNameAr:obj.ItemNameEn):\"None\"|translate}}\n \n {{obj.UnitId>0?(lang==='ar-EG'?obj.UnitNameAr:obj.UnitNameEn):\"None\"|translate}}\n \n {{obj.UnitCost}}\n \n 0) || obj.Quantity===null?'form-control bad-value':'form-control'\"\n placeholder='{{\"ReturnPurchaseItemQuantity\" | translate}}'>\n\n \n
    \n {{obj.Quantity}}\n
    \n
    \n =0) || obj.DiscountValue===null?'form-control bad-value':'form-control'\"\n [(ngModel)]=\"obj.DiscountValue\" style=\"width: 150px; margin: 0px;\"\n [ngModelOptions]=\"{standalone: true}\"\n placeholder='{{\"ReturnPurchaseItemDiscountValue\" | translate}}'>\n\n \n
    \n {{obj.DiscountValue}}\n
    \n
    \n =0) || obj.TaxValue===null?'form-control bad-value':'form-control'\"\n [(ngModel)]=\"obj.TaxValue\" style=\"width: 150px; margin: 0px;\"\n [ngModelOptions]=\"{standalone: true}\"\n placeholder='{{\"ReturnPurchaseItemTaxValue\" | translate}}'>\n \n
    \n {{obj.TaxValue}}\n
    \n
    \n {{(obj.GrossPrice)}}\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n {{\"ReturnPurchaseTotalValue\" | translate}}\n
    \n {{currentTotal}}\n
    {{\"ReturnPurchaseInvalidTotal\" | translate}}
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n  \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n tableEngine.deletionList.length === tableEngine.ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n\n
    \n \n\n\n
    \n\n
    \n
    \n
    \n
    \n \n \n \n\n \n \n\n\n \n \n\n\n \n \n\n\n \n\n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n\n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n \n \n \n {{\"ReturnPurchaseCode\" | translate}}\n \n \n \n \n {{\"ReturnPurchaseSupplier\" | translate}}\n \n \n \n \n {{\"ReturnPurchaseDate\" | translate}}\n \n \n \n \n {{\"ReturnPurchaseTotalValue\" | translate}}\n \n \n \n \n {{\"ReturnPurchaseIsPosted\" | translate}}\n \n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • {{item}}
  • \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    {{obj.Code}}\n {{lang==='ar-EG'?obj.SupplierNameAr:obj.SupplierNameEn}}\n {{obj.Date | date:\"dd/MM/yyyy\"}}{{obj.TotalItemGrossPrices}}\n {{(obj.IsPosted?\"ReturnPurchaseIsPostedTrue\":\"ReturnPurchaseIsPostedFalse\")\n | translate}}\n\n \n \n \n \n \n \n
    \n
    \n
    \n \n
    \n\n \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n\n
     
    \n\n
    \n\n \n
    \n\n
     
    \n\n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { environment } from 'src/environments/environment';\nimport { NotificationType, NotificationsService } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\nimport { FileUploader } from 'ng2-file-upload';\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'upload-invoice-purchase-file',\n templateUrl: 'upload-invoice-purchase-file.component.html',\n styleUrls: ['upload-invoice-purchase-file.component.scss']\n})\nexport class UploadInvoicePurchaseFileComponent implements OnInit {\n public PurchaseInvoice: FileUploader;\n public hasDragOver = false;\n \n @Input()\n public editmode = false;\n \n @Input()\n public url = '';\n \n @Output()\n public urlChange = new EventEmitter();\n declare lang: any;\n \n constructor(private translate: TranslateService, private notifications: NotificationsService) {\n this.lang = localStorage.getItem('theme_lang');\n\n this.PurchaseInvoice = new FileUploader({\n url: environment.baseApiUrl+'PurchaseInvoice/UploadFile',\n disableMultipart: false,\n autoUpload: true\n });\n \n this.PurchaseInvoice.response.subscribe(res => {\n // Upload returns a JSON with the image ID\n if(res != null && res != \"\" && res != undefined){\n this.url = environment.apiUrl+ '/Resources/PurchaseInvoiceFiles/' + JSON.parse(res);\n this.urlChange.emit(this.url);\n }\n else{\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessUpload\"))\n }\n },error =>{\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedUpload\"))\n });\n }\n \n public fileOver(e: any): void {\n \n this.hasDragOver = e;\n }\n \n ngOnInit() {\n \n }\n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n }\n ","
    \n \n \n \n \n
    \n ","import { Component, OnInit } from '@angular/core';\nimport { PurchaseInvoiceService } from '../invoice-purchase/PurchaseInvoiceService';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport html2canvas from 'html2canvas';\nimport jspdf from 'jspdf';\n\n@Component({\n selector: 'view-purchase-invoice',\n templateUrl: 'view-purchase-invoice.component.html',\n styleUrls: ['view-purchase-invoice.component.scss']\n})\nexport class ViewPurchaseInvoiceComponent implements OnInit {\n declare lang: any;\n Id = 0;\n constructor( \n private invoiceService: PurchaseInvoiceService,\n private route: ActivatedRoute,\n public router:Router\n ){\n this.lang = localStorage.getItem('theme_lang');\n this.Id = + route.snapshot.paramMap.get('Id');\n \n }\n invoice:any={};\n ngOnInit(): void {\n this.invoiceService.getByIdWithItems(this.Id)\n .subscribe(result =>{\n this.invoice = result;\n console.log('invoice',result);\n })\n }\n\n openForExport = false;\n exportTable(){\n debugger;\n this.openForExport = true;\n var data = document.getElementById('contentToConvert');\n data.style.display = 'inline-block';\n html2canvas(data,{}).then(canvas => {\n var imgWidth = 208;\n var pageHeight = 295;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n var heightLeft = imgHeight;\n const contentDataURL = canvas.toDataURL('image/png')\n let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF\n var position = 0;\n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n pdf.save('new-file.pdf'); // Generated PDF\n data.style.display = 'block';\n\n // data.style.display = 'none';\n \n });\n }\n print(){\n let printContents, popupWin;\n printContents = document.getElementById('contentToConvert').innerHTML;\n popupWin = window.open('', '_blank', 'top=0,left=0,height=100%,width=auto');\n popupWin.document.open();\n window.print();\n \n }\n}\n","
    \n
    \n
    \n \n {{\" \"}}\n {{\" \"}}\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n

    119 مصر حلوان الزراعي - الدور الثالث - المعادي - مصر\n
    +2 022525495\n

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

    {{'Invoice From : '|translate}}

    \n

    {{lang==='ar-EG'?invoice.SupplierNameAr:invoice.SupplierNameEn}}

    \n
    \n
    \n

    {{'Purchase Invoice Number'|translate}} : # {{invoice.Code}}

    \n

    {{invoice.Date|date:'dd/MM/yyyy'}}

    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{'Item'|translate}}{{'Quantity'|translate}}{{'Price'|translate}}{{'Discount'|translate}}{{'Total'|translate}}
    {{lang==='ar-EG'?item.ItemNameAr:item.ItemNameEn}}{{item.Quantity| number}}{{item.UnitCost| number}}{{item.DiscountValue| number}}{{item.NetPrice| number}}
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{'Subtotal'|translate}} :{{invoice.TotalItemNetPrices| number}}
    {{'Taxes'|translate}} :{{invoice.TotalItemTaxes | number}}
    {{'Discount'|translate}} :{{invoice.TotalItemDiscounts| number}}
    {{'Total'|translate}} :{{invoice.TotalItemGrossPrices| number}}
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n ","import { CashierSessionModel } from \"../cashier-sessions/CashierSessionModel\";\r\n\r\nexport class CashRegisterModel {\r\n Id?: number;\r\n Code?: number;\r\n BranchId?: number;\r\n BranchNameAr?: string;\r\n BranchNameEn?: string;\r\n Sessions?: CashierSessionModel [];\r\n LastDailyRevenue?: number;\r\n LastMonthlyRevenue?: number;\r\n LastAnnualRevenue?: number;\r\n TotalRevenue?: number;\r\n LastActivityDate?: Date;\r\n LastUserId?: number;\r\n LastUserNameAr?: string;\r\n LastUserNameEn?: string;\r\n constructor(obj?: CashRegisterModel) {\r\n obj = obj ? obj : {};\r\n this.Id = obj.Id ? obj.Id : 0;\r\n this.Code = obj.Code ? obj.Code : 0;\r\n this.BranchId = obj.BranchId ? obj.BranchId : 0;\r\n this.BranchNameAr = obj.BranchNameAr ? obj.BranchNameAr : '';\r\n this.BranchNameEn = obj.BranchNameEn ? obj.BranchNameEn : '';\r\n this.Sessions = obj.Sessions ? obj.Sessions : [];\r\n this.LastDailyRevenue = obj.LastDailyRevenue ? obj.LastDailyRevenue : 0;\r\n this.LastMonthlyRevenue = obj.LastMonthlyRevenue ? obj.LastMonthlyRevenue : 0;\r\n this.LastAnnualRevenue = obj.LastAnnualRevenue ? obj.LastAnnualRevenue : 0;\r\n this.TotalRevenue = obj.TotalRevenue ? obj.TotalRevenue : 0;\r\n this.LastActivityDate = obj.LastActivityDate ? obj.LastActivityDate : new Date();\r\n this.LastUserId = obj.LastUserId ? obj.LastUserId : 0;\r\n this.LastUserNameAr = obj.LastUserNameAr ? obj.LastUserNameAr : '';\r\n this.LastUserNameEn = obj.LastUserNameEn ? obj.LastUserNameEn : '';\r\n }\r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { CashRegisterModel } from \"./CashRegisterModel\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CashRegisterService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n debugData: CashRegisterModel [] = [\r\n ];\r\n // debugData: CashRegisterModel [] = [\r\n // {\r\n // Id:1, Code:1001, BranchId:1, BranchNameAr:\"فرع القاهرة\", BranchNameEn:\"Cairo Branch\", LastActivityDate:new Date(2021, 0, 13),\r\n // LastUserId: 1, LastUserNameAr: \"احمد سعيد\", LastUserNameEn:\"Ahmad Saeed\",\r\n // LastDailyRevenue:100, LastMonthlyRevenue: 1000, LastAnnualRevenue:10000, TotalRevenue: 100000\r\n // },\r\n // {\r\n // Id:2, Code:1002, BranchId:2, BranchNameAr:\"فرع السعودية\", BranchNameEn:\"Saudi Branch\", LastActivityDate:new Date(2022, 1, 13),\r\n // LastUserId: 2, LastUserNameAr: \"محمد فيصل\", LastUserNameEn:\"Mohamad Faysal\",\r\n // LastDailyRevenue:200, LastMonthlyRevenue: 2000, LastAnnualRevenue:20000, TotalRevenue: 200000\r\n // },\r\n // ];\r\n debugMode: boolean = false;\r\n\r\n baseUrl = environment.baseApiUrl;\r\n // baseUrl = 'http://localhost:60289/';\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}RestaurantsCashRegister/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData.find(x=>x.Id==id))\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}RestaurantsCashRegister/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: CashRegisterModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.push(payload);\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}RestaurantsCashRegister/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: CashRegisterModel): Observable {\r\n if(this.debugMode){\r\n this.debugData[this.debugData.findIndex(x=>x.Id==payload.Id)] = payload;\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}RestaurantsCashRegister/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: CashRegisterModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==payload.Id),1);\r\n return of(true)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}RestaurantsCashRegister/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: CashRegisterModel []): Observable {\r\n if(this.debugMode){\r\n payload.forEach(element => {\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==element.Id),1);\r\n });\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}RestaurantsCashRegister/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { TableEngine } from '../../../invoices/TableEngine'\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from '../../app/aio/shared/side-popup/side-popup.component';\nimport { Observable, of, Subscription } from 'rxjs';\n\nimport { NgSelectComponent } from '@ng-select/ng-select';\n\nimport { DatePipe, formatDate } from '@angular/common';\n\n\nimport { CashRegisterService } from \"./CashRegisterService\";\nimport { CashRegisterModel } from \"./CashRegisterModel\";\n\nimport { BranchService } from '../../../invoices/branches/BranchService';\nimport { BranchModel } from '../../../invoices/branches/BranchModel';\n\n\nimport { CashierStaffModel } from '../cashier-staff/CashierStaffModel';\nimport { CashierStaffService } from '../cashier-staff/CashierStaffService';\nimport { ConfigPoSService } from '../config-pos-general/ConfigPoSService';\nimport { ConfigPoSModel } from '../config-pos-general/ConfigPoSModel';\nimport { ListPageHeaderComponent } from 'src/app/containers/pages/list-page-header/list-page-header.component';\n\n\n\n\n@Component({\n selector: 'app-cashier-machines',\n templateUrl: './cashier-machines.component.html',\n styleUrls: ['./cashier-machines.component.scss']\n})\nexport class RestaurantsCashRegistersComponent {\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n\n //Enable debugMode to make API modules return static data from within the service class\n debugMode: boolean = false;\n\n constructor(private formBuilder: FormBuilder, private modelService: CashRegisterService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private branchService: BranchService, private cashierStaffService: CashierStaffService, \n private datePipe: DatePipe, private configPoSService: ConfigPoSService,\n ) {\n }\n\n\n listHeader = new ListPageHeaderComponent();\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n tableView: any = true;\n\n translationName: string = 'CashRegister'\n\n sortableKeys = [];\n searchableKeys = ['LastActivityDate'];\n\n modelObject: CashRegisterModel = new CashRegisterModel();\n\n ogData: CashRegisterModel[] = [];\n \n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n BranchId: new FormControl(),\n });\n\n\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) public delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n if (this.debugMode) {\n this.enableDebugOnAllServices();\n }\n\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'CashRegisterCode', property: 'Code' };\n this.sortableKeys = [\n { label: 'CashRegisterCode', property: 'Code' },\n { label: 'CashRegisterBranch', property: this.lang === 'ar-EG' ? 'BranchNameAr' : 'BranchNameEn' },\n { label: 'CashRegisterLastActivityDate', property: 'LastActivityDate' },\n { label: 'CashRegisterLastDailyRevenue', property: 'LastDailyRevenue' },\n { label: 'CashRegisterLastMonthlyRevenue', property: 'LastMonthlyRevenue' },\n { label: 'CashRegisterLastAnnualRevenue', property: 'LastAnnualRevenue' },\n { label: 'CashRegisterTotalRevenue', property: 'TotalRevenue' },\n { label: 'CashRegisterLastUserName', property: this.lang === 'ar-EG' ? 'LastUserNameAr' : 'LastUserNameEn' },\n ];\n\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n\n this.loadServices();\n }\n\n\n enableDebugOnAllServices() {\n //this.modelService.debugMode = true;\n // this.branchService.debugMode = true;\n // this.cashierStaffService.debugMode = true;\n }\n\n lastCode = 0;\n codeWasChecked = false;\n checkCode() : boolean{\n if(!(this.lastCode > 0)){\n this.codeWasChecked = false;\n console.log(\"bad code\", this.lastCode);\n \n return this.codeWasChecked;\n }\n this.configPoSService.checkCashierCode(this.lastCode).subscribe(\n result => {\n this.codeWasChecked = result;\n }\n );\n console.log(\"code availability:\",this.codeWasChecked);\n \n return this.codeWasChecked;\n }\n showModal(Id, action) {\n if (action === 'Add') {\n //this.lastCode = this.tableEngine.ogData.length>0?this.tableEngine.ogData[this.tableEngine.ogData.length - 1].Code:0;\n this.lastCode = this.configPoS.StartingCodeCashRegisiters;\n for (let index = 0; index < this.tableEngine.ogData.length; index++) {\n if(this.tableEngine.ogData.findIndex(x=>x.Code == this.lastCode) >= 0)\n { this.lastCode++ } \n else { break; }\n }\n this.checkCode();\n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder);\n }\n else if (action === 'Edit') {\n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder);\n this.lastCode = this.tableEngine.modelObject.Code\n }\n else if (action === 'Info') {\n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder);\n this.lastCode = this.tableEngine.modelObject.Code\n }\n this.tableView = false;\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n console.log((action + \" object\"), this.modelObject);\n\n \n console.log(\"modelObject after entering edit\", this.modelObject);\n }\n currentDate='';\n currentExpirationDate='';\n createForm(modelObject, formBuilder): FormGroup {\n \n return formBuilder.group({\n BranchId: [modelObject.BranchId, Validators.compose([Validators.required])],\n });\n }\n\n addObject() {\n this.currentAction = 'loading';\n\n let lastId = this.tableEngine.ogData.length>0?this.tableEngine.ogData[this.tableEngine.ogData.length - 1].Id:0;\n\n let branch: BranchModel = this.getBranchById(this.mainForm.getRawValue().BranchId);\n\n this.modelObject = new CashRegisterModel();\n \n this.modelObject.Id = this.debugMode ? lastId + 1 : 0;\n this.modelObject.Code = this.lastCode;\n this.modelObject.BranchId = branch.Id;\n this.modelObject.BranchNameAr = branch.NameAr;\n this.modelObject.BranchNameEn = branch.NameEn;\n \n this.executeAddObject();\n }\n\n executeAddObject() {\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true || result > 0) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n if (this.sideModalRef === undefined) {\n if (this.smallModal != undefined) {\n this.tableEngine.smallModal.hide();\n }\n else {\n this.tableView = this.prevAction === 'AddThenNew' ? false : true;\n \n //this.prevAction = '';\n }\n }\n else {\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n \n if(this.prevAction != 'AddThenNew'){\n this.goBack();\n }\n else{\n this.prevAction = '';\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n\n editObject() {\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n\n let branch: BranchModel = this.getBranchById(this.mainForm.getRawValue().BranchId);\n // let tempObj = new CashRegisterModel({\n // Id: this.modelObject.Id,\n // Code: this.modelObject.Code,\n // BranchId: branch.Id,\n // BranchNameAr: branch.NameAr,\n // BranchNameEn: branch.NameEn\n // });\n let tempObj = new CashRegisterModel();\n tempObj.Id =this.modelObject.Id;\n tempObj.Code = this.lastCode;\n tempObj.BranchId = branch.Id;\n tempObj.BranchNameAr = branch.NameAr;\n tempObj.BranchNameEn = branch.NameEn;\n tempObj.LastDailyRevenue = this.modelObject.LastDailyRevenue;\n tempObj.LastMonthlyRevenue = this.modelObject.LastMonthlyRevenue;\n tempObj.LastAnnualRevenue = this.modelObject.LastAnnualRevenue;\n tempObj.TotalRevenue = this.modelObject.TotalRevenue;\n tempObj.LastActivityDate = this.modelObject.LastActivityDate;\n tempObj.LastUserId = this.modelObject.LastUserId;\n tempObj.LastUserNameAr = this.modelObject.LastUserNameAr;\n tempObj.LastUserNameEn = this.modelObject.LastUserNameEn;\n this.executeEditObject(tempObj);\n console.log(\"saved object\", tempObj);\n \n }\n\n executeEditObject(Object) {\n\n\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n\n if (this.sideModalRef === undefined) {\n if (this.smallModal != undefined) {\n this.tableEngine.smallModal.hide();\n }\n else {\n this.tableView = true;\n }\n }\n else {\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n \n this.goBack();\n \n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n SearchFrom: Date = null;\n SearchTo: Date = null;\n\n clearSearch() {\n this.SearchFrom = null;\n this.SearchTo = null;\n }\n\n prevAction = '';\n addAndNew() {\n this.prevAction = 'AddThenNew';\n this.addObject();\n this.showModal(null, 'Add');\n }\n\n configPoS = new ConfigPoSModel();\n loadServices() {\n this.currentAction = 'loading';\n\n this.configPoSService.getFirst().subscribe(\n configPoSData => {\n this.configPoS = configPoSData;\n this.branchService.getAll().subscribe(\n branchData => {\n this.branchList = branchData;\n \n this.cashierStaffService.getAll().subscribe(\n cashierStaffData => {\n this.cashierStaffList = cashierStaffData;\n this.tableEngine.loadData();\n }\n )\n }\n )\n }\n );\n\n\n }\n \n branchList: BranchModel[] = [];\n cashierStaffList: CashierStaffModel[] = [];\n getBranchById(Id: any): any {\n return this.branchList.find(i => i.Id === Id);\n }\n getCashierStaffById(Id: any): any {\n return this.cashierStaffList.find(i => i.Id === Id);\n }\n\n goBack(){\n console.log(\"back\");\n \n this.modelObject = {};\n this.currentAction = \"\";\n this.tableView = true;\n\n \n console.log(this.modelObject);\n console.log(this.lastCode);\n }\n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepChangeSort(sortKey) {\n this.SearchFrom = null;\n this.SearchTo = null;\n \n \n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n\n getFormattedDate(dateString: any){\n let splitDate: number[] = dateString.toString().split(\"/\");\n\n return new Date(splitDate[2], splitDate[1]-1, splitDate[0])\n }\n ///////////////////////////////////////////////////////\n \n displayMode = 'list';\n changeDisplayMode(mode): void {\n this.displayMode = mode;\n }\n itemsPerPageChange(perPage: number): void {\n this.tableEngine.paginateData(perPage, 1)\n }\n}\n","\n\n\n\n\n
    \n
    \n
    \n\n
    \n \n \n \n \n
    \n
    \n\n
    \n\n\n
    \n \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    0)\">\n {{\"CashRegisterCodeRequired\" | translate}}
    \n
    \n {{\"CasherStaffCodeAlreadyTaken\" | translate}}
    \n
    \n\n
    \n\n
    \n\n
    \n
    \n \n
    \n \n \n {{lang==='ar-EG'?branch.NameAr:branch.NameEn}}\n \n
    \n \n
    \n {{\"CashRegisterBranchIdRequired\" | translate}}
    \n \n
    \n
    \n
    \n\n
    \n
    \n
    \n\n
    \n
    \n
    \n \n  \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n tableEngine.deletionList.length === tableEngine.ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n\n\n\n
    \n\n
    \n\n
    \n
    \n
    \n
    \n \n \n \n\n \n \n\n\n \n \n\n\n \n \n\n\n \n \n\n\n\n\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n \n \n \n {{\"CashRegisterCode\" | translate}}\n \n \n \n \n {{\"CashRegisterBranch\" | translate}}\n \n \n \n \n {{\"CashRegisterLastActivityDate\" | translate}}\n \n \n \n \n {{\"CashRegisterLastUserName\" | translate}}\n \n \n \n \n {{\"CashRegisterTotalRevenue\" | translate}}\n \n\n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • \n {{item}}\n
  • \n
    \n
    \n
    \n\n
    \n
    \n \n \n
    \n
    {{obj.Code}}{{lang==='ar-EG'?obj.BranchNameAr:obj.BranchNameEn}}{{obj.LastActivityDate | date:\"dd/MM/yyyy\"}}{{obj.LastUserId>0?(lang==='ar-EG'?obj.LastUserNameAr:obj.LastUserNameEn):\"None\" | translate}}{{obj.TotalRevenue.toFixed(2)}}\n \n \n \n \n \n
    \n\n
    \n
    \n \n
    \n\n \n \n \n \n
    \n
    \n
    \n\n\n
    \n
    \n\n
    \n
    \n
    \n\n
    \n\n
     
    \n\n\n
     
    \n\n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","export class CashierOrderItemModel{\r\n Id?:number;\r\n Code?:number; //new\r\n CashierOrderId?:number;\r\n CashierOrderCode?:number; //new\r\n ItemId?:number;\r\n ItemNameAr?:string;\r\n ItemNameEn?:string;\r\n RestaurantCategoryId?:number;\r\n CategoryName?:string;\r\n UnitCost?:number;\r\n Quantity?:number;\r\n TotalPrice?:number;\r\n DiscountValue?:number;\r\n DiscountIsRate?:boolean;\r\n NetPrice?:number;\r\n AddedValueTax?:number;\r\n GrossPrice?:number;\r\n Note?:string;\r\n constructor(obj?:CashierOrderItemModel){\r\n obj = obj? obj:{};\r\n this.Id = obj.Id? obj.Id:0;\r\n this.Code = obj.Code? obj.Code:0; //new\r\n this.CashierOrderId = obj.CashierOrderId? obj.CashierOrderId:0;\r\n this.CashierOrderCode = obj.CashierOrderCode? obj.CashierOrderCode:0; //new\r\n this.ItemId = obj.ItemId? obj.ItemId:0;\r\n this.ItemNameAr = obj.ItemNameAr? obj.ItemNameAr:'';\r\n this.ItemNameEn = obj.ItemNameEn? obj.ItemNameEn:'';\r\n this.RestaurantCategoryId = obj.RestaurantCategoryId? obj.RestaurantCategoryId:0;\r\n this.CategoryName = obj.CategoryName? obj.CategoryName:'';\r\n this.UnitCost = obj.UnitCost? obj.UnitCost:0;\r\n this.Quantity = obj.Quantity? obj.Quantity:0;\r\n this.TotalPrice = obj.TotalPrice? obj.TotalPrice:0;\r\n this.DiscountValue = obj.DiscountValue? obj.DiscountValue:0;\r\n this.DiscountIsRate = obj.DiscountIsRate? obj.DiscountIsRate:true;\r\n this.NetPrice = obj.NetPrice? obj.NetPrice:0;\r\n this.AddedValueTax = obj.AddedValueTax? obj.AddedValueTax:0;\r\n this.GrossPrice = obj.GrossPrice? obj.GrossPrice:0;\r\n this.Note = obj.Note? obj.Note:'';\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { CashierOrderItemModel } from \"./CashierOrderItemModel\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CashierOrderItemService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n \r\n debugData: CashierOrderItemModel [] = [];\r\n // debugData: CashierOrderItemModel [] = [\r\n \r\n // { Id:1, Code:1001, CashierOrderId: 1, CashierOrderCode:1001, ItemId:1, ItemNameAr: \"منتج 1\", ItemNameEn: \"Item 1\", \r\n // UnitId:1, UnitNameAr:\"وحدة 1\", UnitNameEn:\"Unit 1\", Note:\"item\\ndescription\\n1\", \r\n // UnitCost:1000, Quantity:1, TotalPrice:1000, DiscountValue:1, DiscountIsRate:true, NetPrice:990,\r\n // AddedValueTax:138.6, GrossPrice: 1128.6 },\r\n\r\n // { Id:2, Code:1002, CashierOrderId: 1, CashierOrderCode:1001, ItemId:2, ItemNameAr: \"منتج 2\", ItemNameEn: \"Item 2\", \r\n // UnitId:2, UnitNameAr:\"وحدة 2\", UnitNameEn:\"Unit 2\", Note:\"item\\ndescription\\n2\", \r\n // UnitCost:1000, Quantity:2, TotalPrice:2000, DiscountValue:2, DiscountIsRate:true, NetPrice:1960,\r\n // AddedValueTax:274.4, GrossPrice: 2234.4 },\r\n\r\n // { Id:3, Code:1003, CashierOrderId: 2, CashierOrderCode:1002, ItemId:2, ItemNameAr: \"منتج 2\", ItemNameEn: \"Item 2\", \r\n // UnitId:2, UnitNameAr:\"وحدة 1\", UnitNameEn:\"Unit 1\", Note:\"item\\ndescription\\n3\", \r\n // UnitCost:1000, Quantity:3, TotalPrice:3000, DiscountValue:3, DiscountIsRate:true, NetPrice:2910,\r\n // AddedValueTax:407.4, GrossPrice: 3317.4 },\r\n\r\n // { Id:4, Code:1004, CashierOrderId: 2, CashierOrderCode:1002, ItemId:1, ItemNameAr: \"منتج 1\", ItemNameEn: \"Item 1\", \r\n // UnitId:1, UnitNameAr:\"وحدة 2\", UnitNameEn:\"Unit 2\", Note:\"item\\ndescription\\n4\", \r\n // UnitCost:1000, Quantity:4, TotalPrice:4000, DiscountValue:4, DiscountIsRate:true, NetPrice:3840,\r\n // AddedValueTax:537.6, GrossPrice: 4377.6 },\r\n // ];\r\n debugMode: boolean = false;\r\n\r\n baseUrl = environment.baseApiUrl;\r\n // baseUrl = 'http://localhost:60289/';\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}RestaurantsCashierOrderItem/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n getById(id:number): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData.find(x=>x.Id==id))\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}RestaurantsCashierOrderItem/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n insert(payload: CashierOrderItemModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.push(payload);\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}RestaurantsCashierOrderItem/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: CashierOrderItemModel): Observable {\r\n if(this.debugMode){\r\n this.debugData[this.debugData.findIndex(x=>x.Id==payload.Id)] = payload;\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}RestaurantsCashierOrderItem/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: CashierOrderItemModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==payload.Id),1);\r\n return of(true)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}RestaurantsCashierOrderItem/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: CashierOrderItemModel []): Observable {\r\n if(this.debugMode){\r\n payload.forEach(element => {\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==element.Id),1);\r\n });\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}RestaurantsCashierOrderItem/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","\r\nimport { CashierOrderItemModel } from \"./CashierOrderItemModel\";\r\nexport class CashierOrderModel{\r\n Id?:number;\r\n Code?:number;\r\n SessionId?:number;\r\n SessionCode?:number;\r\n CashRegisterId?:number;\r\n CashRegisterCode?:number;\r\n CashRegisterBranchId?:number;\r\n CashRegisterBranchNameAr?:string;\r\n CashRegisterBranchNameEn?:string;\r\n CashierId?:number;\r\n CashierNameAr?:string;\r\n CashierNameEn?:string;\r\n ClientId?:number;\r\n ClientNameAr?:string;\r\n ClientNameEn?:string;\r\n ModifiedDate?:Date;\r\n Note?:string;\r\n IsRefund?:boolean;\r\n Status?:string;\r\n Items?:CashierOrderItemModel[];\r\n ItemTotalPrices?:number;\r\n ItemTotalDiscounts?:number;\r\n ItemTotalNetPrices?:number;\r\n ItemTotalTaxes?:number;\r\n ItemTotalGrossPrices?:number;\r\n TotalValue?:number;\r\n OrderDiscountValue?: number;\r\n OrderDiscountIsRate?: boolean;\r\n PaymentMethodId?:number;\r\n PaymentMethodAr?:string;\r\n PaymentMethodEn?:string;\r\n CounterCashBeforeCheckout?:number;\r\n CounterCashAfterCheckout?:number;\r\n PaidAmount?:number;\r\n ChangeGiven?:number;\r\n constructor(obj?:CashierOrderModel){\r\n obj = obj? obj:{};\r\n this.Id = obj.Id? obj.Id:0;\r\n this.Code = obj.Code? obj.Code:0;\r\n this.SessionId = obj.SessionId? obj.SessionId:0;\r\n this.SessionCode = obj.SessionCode? obj.SessionCode:0;\r\n this.CashRegisterId = obj.CashRegisterId? obj.CashRegisterId:0;\r\n this.CashRegisterCode = obj.CashRegisterCode? obj.CashRegisterCode:0;\r\n this.CashRegisterBranchId = obj.CashRegisterBranchId? obj.CashRegisterBranchId:0;\r\n this.CashRegisterBranchNameAr = obj.CashRegisterBranchNameAr? obj.CashRegisterBranchNameAr:'';\r\n this.CashRegisterBranchNameEn = obj.CashRegisterBranchNameEn? obj.CashRegisterBranchNameEn:'';\r\n this.CashierId = obj.CashierId? obj.CashierId:0;\r\n this.CashierNameAr = obj.CashierNameAr? obj.CashierNameAr:'';\r\n this.CashierNameEn = obj.CashierNameEn? obj.CashierNameEn:'';\r\n this.ClientId = obj.ClientId? obj.ClientId:0;\r\n this.ClientNameAr = obj.ClientNameAr? obj.ClientNameAr:'';\r\n this.ClientNameEn = obj.ClientNameEn? obj.ClientNameEn:'';\r\n this.ModifiedDate = obj.ModifiedDate? obj.ModifiedDate:new Date();\r\n this.Note = obj.Note? obj.Note:'';\r\n this.IsRefund = obj.IsRefund? obj.IsRefund:false;\r\n this.Status = obj.Status? obj.Status: '';\r\n this.Items = obj.Items? obj.Items:[];\r\n this.ItemTotalPrices = obj.ItemTotalPrices? obj.ItemTotalPrices:0;\r\n this.ItemTotalDiscounts = obj.ItemTotalDiscounts? obj.ItemTotalDiscounts:0;\r\n this.ItemTotalNetPrices = obj.ItemTotalNetPrices? obj.ItemTotalNetPrices:0;\r\n this.ItemTotalTaxes = obj.ItemTotalTaxes? obj.ItemTotalTaxes:0;\r\n this.ItemTotalGrossPrices = obj.ItemTotalGrossPrices? obj.ItemTotalGrossPrices:0;\r\n this.TotalValue = obj.TotalValue? obj.TotalValue:0;\r\n this.OrderDiscountValue = obj.OrderDiscountValue? obj.OrderDiscountValue:0;\r\n this.OrderDiscountIsRate = obj.OrderDiscountIsRate? obj.OrderDiscountIsRate:false;\r\n this.PaymentMethodId = obj.PaymentMethodId? obj.PaymentMethodId:0;\r\n this.PaymentMethodAr = obj.PaymentMethodAr? obj.PaymentMethodAr:'';\r\n this.PaymentMethodEn = obj.PaymentMethodEn? obj.PaymentMethodEn:'';\r\n this.CounterCashBeforeCheckout = obj.CounterCashBeforeCheckout? obj.CounterCashBeforeCheckout:0;\r\n this.CounterCashAfterCheckout = obj.CounterCashAfterCheckout? obj.CounterCashAfterCheckout:0;\r\n this.PaidAmount = obj.PaidAmount? obj.PaidAmount:0;\r\n this.ChangeGiven = obj.ChangeGiven? obj.ChangeGiven:0;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { CashierOrderModel } from \"./CashierOrderModel\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CashierOrderService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n \r\n debugData: CashierOrderModel [] = [];\r\n // debugData: CashierOrderModel [] = [\r\n // {\r\n // Id:1, Code:1001, Note:\"desc1\\nOrder1\\n1\", Status:'Complete', \r\n // CashierId:1, CashierNameAr:\"احمد سعيد\", CashierNameEn:\"Ahmad Saeed\", \r\n // ClientId:1, ClientNameAr:'احمد', ClientNameEn:'Ahmad', IsRefund:false,\r\n // ModifiedDate: new Date(2021, 0, 13), SessionId:1, SessionCode:1001, CashRegisterId:1, CashRegisterCode:1001,\r\n // CashRegisterBranchId:1, CashRegisterBranchNameAr:\"فرع القاهرة\", CashRegisterBranchNameEn:\"Cairo Branch\",\r\n \r\n // Items: [\r\n // { Id:1, Code:1001, CashierOrderId: 1, CashierOrderCode:1001, ItemId:1, ItemNameAr: \"منتج 1\", ItemNameEn: \"Item 1\", \r\n // UnitId:1, UnitNameAr:\"وحدة 1\", UnitNameEn:\"Unit 1\", Note:\"item\\ndescription\\n1\", \r\n // UnitCost:1000, Quantity:1, TotalPrice:1000, DiscountValue:1, DiscountIsRate:true, NetPrice:990,\r\n // AddedValueTax:138.6, GrossPrice: 1128.6 },\r\n\r\n // { Id:2, Code:1002, CashierOrderId: 1, CashierOrderCode:1001, ItemId:2, ItemNameAr: \"منتج 2\", ItemNameEn: \"Item 2\", \r\n // UnitId:2, UnitNameAr:\"وحدة 2\", UnitNameEn:\"Unit 2\", Note:\"item\\ndescription\\n2\", \r\n // UnitCost:1000, Quantity:2, TotalPrice:2000, DiscountValue:2, DiscountIsRate:true, NetPrice:1960,\r\n // AddedValueTax:274.4, GrossPrice: 2234.4 },\r\n // ],\r\n\r\n // ItemTotalPrices:3000, ItemTotalDiscounts:50, ItemTotalNetPrices: 2950, \r\n // ItemTotalTaxes:413, ItemTotalGrossPrices: 3363, TotalValue:3363,\r\n\r\n // PaymentMethodId:1, PaymentMethodAr: \"كاش\", PaymentMethodEn:\"Cash\",\r\n // CounterCashBeforeCheckout:1000, CounterCashAfterCheckout: 4363,\r\n // PaidAmount: 3400, ChangeGiven:37,\r\n // },\r\n\r\n // {\r\n // Id:2, Code:1002, Note:\"desc2\\nOrder2\\n2\", Status:'In-Delivery',\r\n // CashierId:2, CashierNameAr:\"محمد فيصل\", CashierNameEn:\"Mohamad Faysal\", \r\n // ClientId:2, ClientNameAr:'فواز', ClientNameEn:'Fawaz', IsRefund:false,\r\n // ModifiedDate: new Date(2022, 1, 13), SessionId:2, SessionCode:1002, CashRegisterId:2, CashRegisterCode:1002,\r\n // CashRegisterBranchId:2, CashRegisterBranchNameAr:\"فرع السعودية\", CashRegisterBranchNameEn:\"Saudi Branch\",\r\n \r\n // Items: [\r\n // { Id:3, CashierOrderId: 2, ItemId:2, ItemNameAr: \"منتج 2\", ItemNameEn: \"Item 2\", \r\n // UnitId:2, UnitNameAr:\"وحدة 1\", UnitNameEn:\"Unit 1\", Note:\"item\\ndescription\\n3\", \r\n // UnitCost:1000, Quantity:3, TotalPrice:3000, DiscountValue:3, DiscountIsRate:true, NetPrice:2910,\r\n // AddedValueTax:407.4, GrossPrice: 3317.4 },\r\n\r\n // { Id:4, CashierOrderId: 2, ItemId:1, ItemNameAr: \"منتج 1\", ItemNameEn: \"Item 1\", \r\n // UnitId:1, UnitNameAr:\"وحدة 2\", UnitNameEn:\"Unit 2\", Note:\"item\\ndescription\\n4\", \r\n // UnitCost:1000, Quantity:4, TotalPrice:4000, DiscountValue:4, DiscountIsRate:true, NetPrice:3840,\r\n // AddedValueTax:537.6, GrossPrice: 4377.6 },\r\n // ],\r\n\r\n // ItemTotalPrices:7000, ItemTotalDiscounts:250, ItemTotalNetPrices: 6750, \r\n // ItemTotalTaxes:945, ItemTotalGrossPrices: 7695, \r\n // OrderDiscountValue:0, OrderDiscountIsRate:false, TotalValue:7695,\r\n\r\n // PaymentMethodId:1, PaymentMethodAr: \"كاش\", PaymentMethodEn:\"Cash\",\r\n // //CounterCashBeforeCheckout:2000, CounterCashAfterCheckout: 9695,\r\n // CounterCashBeforeCheckout:2000, CounterCashAfterCheckout: 2000,\r\n // PaidAmount: 7700, ChangeGiven:5,\r\n // },\r\n \r\n // ];\r\n debugMode: boolean = false;\r\n\r\n baseUrl = environment.baseApiUrl;\r\n // baseUrl = 'http://localhost:60289/';\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}RestaurantsCashierOrder/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getAllWithItems(): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}RestaurantsCashierOrder/GetAllWithItems`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData.find(x=>x.Id==id))\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}RestaurantsCashierOrder/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getByIdWithItems(id:number): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData.find(x=>x.Id==id))\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}RestaurantsCashierOrder/GetByIdWithItems/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: CashierOrderModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.push(payload);\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}RestaurantsCashierOrder/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insertWithItems(payload: CashierOrderModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.push(payload);\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}RestaurantsCashierOrder/InsertWithItems`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: CashierOrderModel): Observable {\r\n if(this.debugMode){\r\n this.debugData[this.debugData.findIndex(x=>x.Id==payload.Id)] = payload;\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}RestaurantsCashierOrder/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: CashierOrderModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==payload.Id),1);\r\n return of(true)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}RestaurantsCashierOrder/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: CashierOrderModel []): Observable {\r\n if(this.debugMode){\r\n payload.forEach(element => {\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==element.Id),1);\r\n });\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}RestaurantsCashierOrder/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { TableEngine } from '../../../invoices/TableEngine'\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from '../../app/aio/shared/side-popup/side-popup.component';\nimport { Observable, of, Subscription } from 'rxjs';\n\nimport { NgSelectComponent } from '@ng-select/ng-select';\n\nimport { DatePipe, formatDate } from '@angular/common';\n\n\nimport { CashierOrderService } from \"./CashierOrderService\";\nimport { CashierOrderModel } from \"./CashierOrderModel\";\n\nimport { BranchModel } from '../../../invoices/branches/BranchModel';\nimport { CashRegisterModel } from '../cashier-machines/CashRegisterModel';\nimport { StaffModel } from '../../../invoices/staff/StaffModel';\nimport { CashierStaffModel } from '../cashier-staff/CashierStaffModel';\nimport { ItemModel } from \"../../../invoices/items/ItemModel\";\nimport { CodingUnitModel } from \"../../../invoices/coding-units/CodingUnitModel\";\nimport { ClientModel } from \"../../../invoices/clients/ClientModel\";\nimport html2canvas from 'html2canvas';\nimport jsPDF from 'jspdf';\nimport { ListPageHeaderComponent } from 'src/app/containers/pages/list-page-header/list-page-header.component';\n\n\n\n\n@Component({\n selector: 'app-cashier-orders',\n templateUrl: './cashier-orders.component.html',\n styleUrls: ['./cashier-orders.component.scss']\n})\nexport class RestaurantsCashierOrdersComponent {\n // ////////////////////////////////////////////////////////////////////////////\n // // VARYING :\n // // Modify per similar component.\n // ////////////////////////////////////////////////////////////////////////////\n\n //Enable debugMode to make API modules return static data from within the service class\n debugMode: boolean = false;\n\n constructor(private formBuilder: FormBuilder, private modelService: CashierOrderService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private datePipe: DatePipe,\n ) {\n }\n\n\n listHeader = new ListPageHeaderComponent();\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n tableView: any = true;\n\n translationName: string = 'CashierOrder'\n\n sortableKeys = [];\n searchableKeys = ['CreateDateTime'];\n\n modelObject: CashierOrderModel = new CashierOrderModel();\n\n ogData: CashierOrderModel[] = [];\n \n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n // StaffId: new FormControl(),\n // BranchId: new FormControl(),\n });\n\n\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n if (this.debugMode) {\n this.enableDebugOnAllServices();\n }\n\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'CashierOrderName', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' };\n this.sortableKeys = [\n { label: 'CashierOrderCode', property: 'Code' },\n { label: 'CashierOrderDate', property: 'Date' },\n { label: 'CashierOrderCashierName', property: this.lang === 'ar-EG' ? 'CashierNameAr' : 'CashierNameEn' },\n { label: 'CashierOrderClientName', property: this.lang === 'ar-EG' ? 'ClientNameAr' : 'ClientNameEn' },\n { label: 'CashierOrderIsRefund', property: 'IsRefund' },\n { label: 'CashierOrderStatus', property: 'Status' },\n { label: 'CashierOrderTotalValue', property: 'TotalValue' },\n ];\n\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n\n this.loadServices();\n }\n\n\n enableDebugOnAllServices() {\n //this.modelService.debugMode = true;\n }\n\n lastCode = 0;\n showModal(Id, action) {\n // if (action === 'Add') {\n // this.lastCode = this.tableEngine.ogData.length>0?this.tableEngine.ogData[this.tableEngine.ogData.length - 1].Code:0;\n // this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder);\n // }\n // else if (action === 'Edit') {\n // this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder);\n // }\n //else if (action === 'Info') {\n if (action === 'Info') {\n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder);\n }\n this.tableView = false;\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n console.log((action + \" object\"), this.modelObject);\n\n \n console.log(\"modelObject after entering edit\", this.modelObject);\n }\n \n createForm(modelObject, formBuilder): FormGroup {\n \n return formBuilder.group({\n });\n }\n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n SearchFrom: Date = null;\n SearchTo: Date = null;\n\n clearSearch() {\n this.SearchFrom = null;\n this.SearchTo = null;\n }\n\n prevAction = '';\n\n loadServices() {\n this.currentAction = 'loading';\n\n this.tableEngine.loadData();\n\n\n }\n\n goBack(){\n console.log(\"back\");\n \n this.modelObject = {};\n this.currentAction = \"\";\n this.tableView = true;\n\n \n console.log(this.modelObject);\n console.log(this.lastCode);\n }\n\n\n printing = false;\n printingDate = new Date();\n exportTable(){\n this.printing = true;\n this.printingDate = new Date();\n\n var data = document.getElementById('printingTest');\n let align = data.style.textAlign;\n data.style.textAlign = 'justify';\n html2canvas(data,{}).then(canvas => {\n var imgWidth = 208;\n var pageHeight = 295;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n var heightLeft = imgHeight;\n const contentDataURL = canvas.toDataURL('image/png')\n let pdf = new jsPDF('p', 'mm', 'a4'); // A4 size page of PDF\n var position = 0;\n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n pdf.save('report.pdf'); // Generated PDF\n\n this.printing = false;\n data.style.textAlign = align;\n //data.style.display = 'none';\n });\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepChangeSort(sortKey) {\n this.SearchFrom = null;\n this.SearchTo = null;\n \n \n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n\n getFormattedDate(dateString: any){\n let splitDate: number[] = dateString.toString().split(\"/\");\n\n return new Date(splitDate[2], splitDate[1]-1, splitDate[0])\n }\n \n // ///////////////////////////////////////////////////////\n \n displayMode = 'list';\n changeDisplayMode(mode): void {\n this.displayMode = mode;\n }\n itemsPerPageChange(perPage: number): void {\n this.tableEngine.paginateData(perPage, 1)\n }\n}\n","\n\n\n\n\n
    \n
    \n
    \n\n
    \n \n \n
    \n
    \n
    \n \n \n \n
    \n \n
    \n\n
    \n
    \n \n \n
    \n\n
    \n\n
    \n \n \n
    \n\n
    \n\n
    \n \n \n
    \n\n
    \n\n
    \n\n
    \n
    \n \n \n
    \n\n
    \n\n
    \n \n \n
    \n\n
    \n\n
    \n \n \n
    \n\n
    \n\n
    \n\n
    \n
    \n \n \n
    \n\n
    \n\n
    \n \n \n
    \n\n
    \n\n
    \n\n
    \n
    \n \n \n \n
    \n
    \n\n
    \n
    \n\n \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{\"CashierOrderItemName\" | translate}}{{\"CashierOrderItemUnit\" | translate}}{{\"CashierOrderItemUnitCost\" | translate}}{{\"CashierOrderItemQuantity\" | translate}}{{\"CashierOrderItemTotalPrice\" | translate}}{{\"CashierOrderItemDiscountValue\" | translate}}{{\"CashierOrderItemNetPrice\" | translate}}{{\"CashierOrderItemTotalTaxValues\" | translate}}{{\"CashierOrderItemGrossPrice\" | translate}}{{\"CashierOrderItemNote\" | translate}}
    \n {{obj.ItemId>0?(lang==='ar-EG'?obj.ItemNameAr:obj.ItemNameEn):\"None\"|translate}}\n \n {{obj.UnitId>0?(lang==='ar-EG'?obj.UnitNameAr:obj.UnitNameEn):\"None\"|translate}}\n \n {{obj.UnitCost.toFixed(2)}}\n \n {{obj.Quantity.toFixed(2)}}\n \n {{obj.TotalPrice.toFixed(2)}}\n \n {{obj.DiscountValue.toFixed(2)}}{{obj.DiscountIsRate?'%':''}}\n \n {{obj.NetPrice.toFixed(2)}}\n \n {{obj.AddedValueTax.toFixed(2)}}\n \n {{obj.GrossPrice.toFixed(2)}}\n \n {{obj.Note}}\n
    \n
    \n
    \n
    \n
    \n
    \n\n\n
    \n\n
    \n
    \n \n \n
    \n\n
    \n\n
    \n \n \n
    \n\n
    \n\n\n
    \n\n
    \n\n
    \n \n \n
    \n\n
    \n\n
    \n \n \n
    \n\n
    \n\n\n
    \n\n
    \n\n
    \n \n \n
    \n\n
    \n\n
    \n \n \n
    \n
    \n\n\n
    \n\n
    \n\n
    \n \n \n
    \n\n
    \n\n
    \n \n \n
    \n
    \n\n\n
    \n\n
    \n\n
    \n \n \n
    \n\n
    \n\n
    \n \n \n
    \n
    \n\n
    \n
    \n
    \n
    \n\n\n
    \n\n
    \n\n
    \n
    \n
    \n
    \n \n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n \n \n {{\"CashierOrderCode\" | translate}}\n \n \n \n \n {{\"CashierOrderDate\" | translate}}\n \n \n \n \n {{\"CashierOrderCashierName\" | translate}}\n \n \n \n \n {{\"CashierOrderClientName\" | translate}}\n \n \n \n \n {{\"CashierOrderIsRefund\" | translate}}\n \n \n \n \n {{\"CashierOrderStatus\" | translate}}\n \n \n \n \n {{\"CashierOrderTotalValue\" | translate}}\n \n\n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • \n {{item}}\n
  • \n
    \n
    \n
    \n\n
    {{obj.Code}}{{obj.ModifiedDate | date:\"dd/MM/yyyy - hh:mm:ssa\"}}{{obj.CashierId>0?(lang==='ar-EG'?obj.CashierNameAr:obj.CashierNameEn):\"None\" | translate}}{{obj.ClientId>0?(lang==='ar-EG'?obj.ClientNameAr:obj.ClientNameEn):'NoClient' | translate}}{{obj.IsRefund?(\"CashierOrderIsRefundTrue\"|translate):(\"CashierOrderIsRefundFalse\"|translate)}}{{obj.Status}}{{obj.TotalValue.toFixed(2)}}\n \n
    \n\n
    \n
    \n \n
    \n\n \n \n \n \n
    \n
    \n
    \n\n\n
    \n
    \n\n
    \n
    \n
    \n\n
    \n\n
     
    \n\n\n
     
    \n\n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","\r\nimport { CashierOrderModel } from \"../cashier-orders/CashierOrderModel\";\r\nexport class CashierSessionModel{\r\n Id?:number;\r\n Code?:number;\r\n CashierId?:number;\r\n CashierNameAr?:string;\r\n CashierNameEn?:string;\r\n CashRegisterId?:number;\r\n CashRegisterCode?:number;\r\n CashRegisterBranchId?:number;\r\n CashRegisterBranchNameAr?:string;\r\n CashRegisterBranchNameEn?:string;\r\n Active?:boolean;\r\n StartTime?:Date;\r\n EndTime?:Date;\r\n StartingCash?:number;\r\n StartingNote?:string;\r\n Orders?:CashierOrderModel[];\r\n OrderCount?:number;\r\n RefundCount?:number;\r\n SessionTotal?:number;\r\n LeaveCash?:number;\r\n LeaveNote?:string;\r\n LeaveBill025?:number;\r\n LeaveBill05?:number;\r\n LeaveBill1?:number;\r\n LeaveBill5?:number;\r\n LeaveBill10?:number;\r\n LeaveBill20?:number;\r\n LeaveBill50?:number;\r\n LeaveBill100?:number;\r\n LeaveBill200?:number;\r\n HasOrdersInDelivery?:boolean;\r\n WorkShiftId?:number; //new\r\n WorkShiftNameAr?:string; //new\r\n WorkShiftNameEn?:string; //new\r\n WorkShiftFrom?:Date; //new\r\n WorkShiftTo?:Date; //new\r\n constructor(obj?:CashierSessionModel){\r\n obj = obj? obj:{};\r\n this.Id = obj.Id? obj.Id:0;\r\n this.Code = obj.Code? obj.Code:0;\r\n this.CashierId = obj.CashierId? obj.CashierId:0;\r\n this.CashierNameAr = obj.CashierNameAr? obj.CashierNameAr:'';\r\n this.CashierNameEn = obj.CashierNameEn? obj.CashierNameEn:'';\r\n this.CashRegisterId = obj.CashRegisterId? obj.CashRegisterId:0;\r\n this.CashRegisterCode = obj.CashRegisterCode? obj.CashRegisterCode:0;\r\n this.CashRegisterBranchId = obj.CashRegisterBranchId? obj.CashRegisterBranchId:0;\r\n this.CashRegisterBranchNameAr = obj.CashRegisterBranchNameAr? obj.CashRegisterBranchNameAr:'';\r\n this.CashRegisterBranchNameEn = obj.CashRegisterBranchNameEn? obj.CashRegisterBranchNameEn:'';\r\n this.Active = obj.Active? obj.Active:false;\r\n this.StartTime = obj.StartTime? obj.StartTime:new Date();\r\n this.EndTime = obj.EndTime? obj.EndTime:new Date();\r\n this.StartingCash = obj.StartingCash? obj.StartingCash:0;\r\n this.StartingNote = obj.StartingNote? obj.StartingNote:'';\r\n this.Orders = obj.Orders? obj.Orders:[];\r\n this.OrderCount = obj.OrderCount? obj.OrderCount:0;\r\n this.RefundCount = obj.RefundCount? obj.RefundCount:0;\r\n this.SessionTotal = obj.SessionTotal? obj.SessionTotal:0;\r\n this.LeaveCash = obj.LeaveCash? obj.LeaveCash:0;\r\n this.LeaveNote = obj.LeaveNote? obj.LeaveNote:'';\r\n this.LeaveBill025 = obj.LeaveBill025? obj.LeaveBill025:0;\r\n this.LeaveBill05 = obj.LeaveBill05? obj.LeaveBill05:0;\r\n this.LeaveBill1 = obj.LeaveBill1? obj.LeaveBill1:0;\r\n this.LeaveBill5 = obj.LeaveBill5? obj.LeaveBill5:0;\r\n this.LeaveBill10 = obj.LeaveBill10? obj.LeaveBill10:0;\r\n this.LeaveBill20 = obj.LeaveBill20? obj.LeaveBill20:0;\r\n this.LeaveBill50 = obj.LeaveBill50? obj.LeaveBill50:0;\r\n this.LeaveBill100 = obj.LeaveBill100? obj.LeaveBill100:0;\r\n this.LeaveBill200 = obj.LeaveBill200? obj.LeaveBill200:0;\r\n this.HasOrdersInDelivery = obj.HasOrdersInDelivery? obj.HasOrdersInDelivery:false;\r\n this.WorkShiftId = obj.WorkShiftId? obj.WorkShiftId:0;\r\n this.WorkShiftNameAr = obj.WorkShiftNameAr? obj.WorkShiftNameAr:'';\r\n this.WorkShiftNameEn = obj.WorkShiftNameEn? obj.WorkShiftNameEn:'';\r\n this.WorkShiftFrom = obj.WorkShiftFrom? obj.WorkShiftFrom:new Date();\r\n this.WorkShiftTo = obj.WorkShiftTo? obj.WorkShiftTo:new Date();\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { CashierSessionModel } from \"./CashierSessionModel\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CashierSessionService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n currentSession = new CashierSessionModel();\r\n \r\n debugData: CashierSessionModel [] = []\r\n // debugData: CashierSessionModel [] = [\r\n // {\r\n // Id:1, Code:1001, StartingNote:\"desc1\\nOrder1\\n1\", StartingCash:1000, Active:false,\r\n // CashierId:1, CashierNameAr:\"احمد سعيد\", CashierNameEn:\"Ahmad Saeed\", \r\n // StartTime: new Date(2021, 0, 13, 9, 0, 0), EndTime: new Date(2021, 0, 13, 17, 0, 0),\r\n // CashRegisterId:1, CashRegisterCode:1001, \r\n // CashRegisterBranchId:1, CashRegisterBranchNameAr:\"فرع القاهرة\", CashRegisterBranchNameEn:\"Cairo Branch\",\r\n \r\n // Orders: [{\r\n // Id:1, Code:1001, Note:\"desc1\\nOrder1\\n1\", Status:'Complete',\r\n // CashierNameAr:\"احمد سعيد\", CashierNameEn:\"Ahmad Saeed\", \r\n // ClientId:1, ClientNameAr:'احمد', ClientNameEn:'Ahmad', IsRefund:false,\r\n // ModifiedDate: new Date(2021, 0, 13), SessionId:1, SessionCode:1001, CashRegisterId:1, CashRegisterCode:1001,\r\n // CashRegisterBranchId:1, CashRegisterBranchNameAr:\"فرع القاهرة\", CashRegisterBranchNameEn:\"Cairo Branch\",\r\n \r\n // Items: [\r\n // { Id:1, CashierOrderId: 1, ItemId:1, ItemNameAr: \"منتج 1\", ItemNameEn: \"Item 1\", \r\n // UnitId:1, UnitNameAr:\"وحدة 1\", UnitNameEn:\"Unit 1\", Note:\"item\\ndescription\\n1\", \r\n // UnitCost:1000, Quantity:1, TotalPrice:1000, DiscountValue:1, DiscountIsRate:true, NetPrice:990,\r\n // AddedValueTax:138.6, GrossPrice: 1128.6 },\r\n \r\n // { Id:2, CashierOrderId: 1, ItemId:2, ItemNameAr: \"منتج 2\", ItemNameEn: \"Item 2\", \r\n // UnitId:2, UnitNameAr:\"وحدة 2\", UnitNameEn:\"Unit 2\", Note:\"item\\ndescription\\n2\", \r\n // UnitCost:1000, Quantity:2, TotalPrice:2000, DiscountValue:2, DiscountIsRate:true, NetPrice:1960,\r\n // AddedValueTax:274.4, GrossPrice: 2234.4 },\r\n // ],\r\n \r\n // ItemTotalPrices:3000, ItemTotalDiscounts:50, ItemTotalNetPrices: 2950, \r\n // ItemTotalTaxes:413, ItemTotalGrossPrices: 3363, TotalValue:3363,\r\n \r\n // PaymentMethodId:1, PaymentMethodAr: \"كاش\", PaymentMethodEn:\"Cash\",\r\n // CounterCashBeforeCheckout:1000, CounterCashAfterCheckout: 4363,\r\n // PaidAmount: 3400, ChangeGiven:37,\r\n // }\r\n // ],\r\n\r\n // OrderCount:1, RefundCount:0, SessionTotal: 3363,\r\n // LeaveCash:4363, LeaveNote:\"good\\nday\\n1\",\r\n // WorkShiftId:1, WorkShiftNameAr:\"الصباح\", WorkShiftNameEn:\"الصباح\",\r\n // WorkShiftFrom: new Date(2021, 0, 13, 9, 0, 0), WorkShiftTo: new Date(2021, 0, 13, 17, 0, 0),\r\n // },\r\n // {\r\n // Id:2, Code:1002, StartingNote:\"desc2\\nOrder2\\n2\", StartingCash:2000, Active:false,\r\n // CashierId:2, CashierNameAr:\"محمد فيصل\", CashierNameEn:\"Mohamad Faysal\", \r\n // StartTime: new Date(2022, 1, 13, 15, 0, 0), EndTime: new Date(2022, 1, 13, 23, 0, 0),\r\n // CashRegisterId:2, CashRegisterCode:1002, \r\n // CashRegisterBranchId:2, CashRegisterBranchNameAr:\"فرع السعودية\", CashRegisterBranchNameEn:\"Saudi Branch\",\r\n \r\n // Orders: [\r\n // {\r\n // Id:2, Code:1002, Note:\"desc2\\nOrder2\\n2\", Status:'In-Delivery',\r\n // CashierId:2, CashierNameAr:\"محمد فيصل\", CashierNameEn:\"Mohamad Faysal\", \r\n // ClientId:2, ClientNameAr:'فواز', ClientNameEn:'Fawaz', IsRefund:false,\r\n // ModifiedDate: new Date(2022, 1, 13), SessionId:2, SessionCode:1002, CashRegisterId:2, CashRegisterCode:1002,\r\n // CashRegisterBranchId:2, CashRegisterBranchNameAr:\"فرع السعودية\", CashRegisterBranchNameEn:\"Saudi Branch\",\r\n \r\n // Items: [\r\n // { Id:3, CashierOrderId: 2, ItemId:2, ItemNameAr: \"منتج 2\", ItemNameEn: \"Item 2\", \r\n // UnitId:2, UnitNameAr:\"وحدة 1\", UnitNameEn:\"Unit 1\", Note:\"item\\ndescription\\n3\", \r\n // UnitCost:1000, Quantity:3, TotalPrice:3000, DiscountValue:3, DiscountIsRate:true, NetPrice:2910,\r\n // AddedValueTax:407.4, GrossPrice: 3317.4 },\r\n \r\n // { Id:4, CashierOrderId: 2, ItemId:1, ItemNameAr: \"منتج 1\", ItemNameEn: \"Item 1\", \r\n // UnitId:1, UnitNameAr:\"وحدة 2\", UnitNameEn:\"Unit 2\", Note:\"item\\ndescription\\n4\", \r\n // UnitCost:1000, Quantity:4, TotalPrice:4000, DiscountValue:4, DiscountIsRate:true, NetPrice:3840,\r\n // AddedValueTax:537.6, GrossPrice: 4377.6 },\r\n // ],\r\n \r\n // ItemTotalPrices:7000, ItemTotalDiscounts:250, ItemTotalNetPrices: 6750, \r\n // ItemTotalTaxes:945, ItemTotalGrossPrices: 7695, \r\n // OrderDiscountValue:0, OrderDiscountIsRate:false, TotalValue:7695,\r\n \r\n // PaymentMethodId:1, PaymentMethodAr: \"كاش\", PaymentMethodEn:\"Cash\",\r\n // //CounterCashBeforeCheckout:2000, CounterCashAfterCheckout: 9695,\r\n // CounterCashBeforeCheckout:2000, CounterCashAfterCheckout: 2000,\r\n // PaidAmount: 7700, ChangeGiven:5\r\n // },\r\n // ],\r\n\r\n // OrderCount:1, RefundCount:0, SessionTotal: 2000,\r\n // LeaveCash:2000, LeaveNote:\"good\\nday\\n2\",\r\n // WorkShiftId:2, WorkShiftNameAr:\"المساء\", WorkShiftNameEn:\"المساء\",\r\n // WorkShiftFrom: new Date(2021, 0, 13, 17, 0, 0), WorkShiftTo: new Date(2021, 0, 14, 2, 0, 0)\r\n // },\r\n // ];\r\n debugMode: boolean = false;\r\n\r\n baseUrl = environment.baseApiUrl;\r\n // baseUrl = 'http://localhost:60289/';\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n console.log(this.debugData);\r\n \r\n if(this.debugMode){\r\n return of(this.debugData)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}RestaurantsCashierSession/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getAllWithOrders(): Observable {\r\n console.log(this.debugData);\r\n \r\n if(this.debugMode){\r\n return of(this.debugData)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}RestaurantsCashierSession/GetAllWithOrders`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData.find(x=>x.Id==id))\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}RestaurantsCashierSession/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getByIdWithOrders(id:number): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData.find(x=>x.Id==id))\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}RestaurantsCashierSession/GetByIdWithOrders/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: CashierSessionModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.push(payload);\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}RestaurantsCashierSession/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insertWithOrders(payload: CashierSessionModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.push(payload);\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}RestaurantsCashierSession/InsertWithOrders`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n update(payload: CashierSessionModel): Observable {\r\n if(this.debugMode){\r\n this.debugData[this.debugData.findIndex(x=>x.Id==payload.Id)] = payload;\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}RestaurantsCashierSession/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: CashierSessionModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==payload.Id),1);\r\n return of(true)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}RestaurantsCashierSession/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: CashierSessionModel []): Observable {\r\n if(this.debugMode){\r\n payload.forEach(element => {\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==element.Id),1);\r\n });\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}RestaurantsCashierSession/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { ListPageHeaderComponent } from 'src/app/containers/pages/list-page-header/list-page-header.component';\nimport { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { TableEngine } from '../../../invoices/TableEngine'\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from '../../app/aio/shared/side-popup/side-popup.component';\nimport { Observable, of, Subscription } from 'rxjs';\n\nimport { NgSelectComponent } from '@ng-select/ng-select';\n\nimport { DatePipe, formatDate } from '@angular/common';\n\n\nimport { CashierSessionModel } from \"./CashierSessionModel\";\nimport { CashierSessionService } from \"./CashierSessionService\";\n\nimport { CashierOrderModel } from \"../cashier-orders/CashierOrderModel\";\nimport { BranchModel } from '../../../invoices/branches/BranchModel';\nimport { CashRegisterModel } from '../cashier-machines/CashRegisterModel';\nimport { StaffModel } from '../../../invoices/staff/StaffModel';\nimport { CashierStaffModel } from '../cashier-staff/CashierStaffModel';\nimport { ItemModel } from \"../../../invoices/items/ItemModel\";\nimport { CodingUnitModel } from \"../../../invoices/coding-units/CodingUnitModel\";\nimport { ClientModel } from \"../../../invoices/clients/ClientModel\";\n\n\n\n\n@Component({\n selector: 'app-cashier-sessions',\n templateUrl: './cashier-sessions.component.html',\n styleUrls: ['./cashier-sessions.component.scss']\n})\nexport class RestaurantsCashierSessionsComponent {\n // ////////////////////////////////////////////////////////////////////////////\n // // VARYING :\n // // Modify per similar component.\n // ////////////////////////////////////////////////////////////////////////////\n\n //Enable debugMode to make API modules return static data from within the service class\n debugMode: boolean = false;\n\n constructor(private formBuilder: FormBuilder, private modelService: CashierSessionService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private datePipe: DatePipe,\n ) {\n }\n\n\n listHeader = new ListPageHeaderComponent();\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n tableView: any = true;\n\n translationName: string = 'CashierSession'\n\n sortableKeys = [];\n searchableKeys = ['StartTime'];\n\n modelObject: CashierSessionModel = new CashierSessionModel();\n\n ogData: CashierSessionModel[] = [];\n \n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n // StaffId: new FormControl(),\n // BranchId: new FormControl(),\n });\n\n\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective = null;\n @ViewChild('orderItemsModal', { static: true }) orderItemsModal: ModalDirective;\n \n formPresentationModal: any;\n ngOnInit(): void {\n if (this.debugMode) {\n this.enableDebugOnAllServices();\n }\n\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'CashierSessionName', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' };\n this.sortableKeys = [\n { label: 'CashierSessionCode', property: 'Code' },\n { label: 'CashierSessionCashierName', property: this.lang === 'ar-EG' ? 'CashierNameAr' : 'CashierNameEn' },\n { label: 'CashierSessionBranchName', property: this.lang === 'ar-EG' ? 'BranchNameAr' : 'BranchNameEn' },\n { label: 'CashierSessionCashRegisterCode', property: 'CashRegisterCode' },\n { label: 'CashierSessionStartTime', property: 'StartTime' },\n { label: 'CashierSessionEndTime', property: 'EndTime' },\n { label: 'CashierSessionOrderCount', property: 'OrderCount' },\n { label: 'CashierSessionRefundCount', property: 'RefundCount' },\n { label: 'CashierSessionSessionTotal', property: 'SessionTotal' },\n ];\n\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n\n this.loadServices();\n }\n\n\n enableDebugOnAllServices() {\n //this.modelService.debugMode = true;\n }\n\n lastCode = 0;\n showModal(Id, action) {\n // if (action === 'Add') {\n // this.lastCode = this.tableEngine.ogData.length>0?this.tableEngine.ogData[this.tableEngine.ogData.length - 1].Code:0;\n // this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder);\n // }\n // else if (action === 'Edit') {\n // this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder);\n // }\n //else if (action === 'Info') {\n if (action === 'Info') {\n this.modelService.getByIdWithOrders(Id).subscribe(\n detailedObject => {\n let targetIndex = this.tableEngine.ogData.findIndex(i => i.Id === Id);\n console.log(detailedObject);\n console.log(this.tableEngine.ogData.find(i => i.Id === Id));\n this.tableEngine.ogData[targetIndex] = detailedObject;\n console.log(this.tableEngine.ogData.find(i => i.Id === Id));\n \n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder);\n \n this.tableView = false;\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n console.log((action + \" object\"), this.modelObject);\n \n \n console.log(\"modelObject after entering edit\", this.modelObject);\n }\n )\n }\n }\n \n createForm(modelObject, formBuilder): FormGroup {\n \n return formBuilder.group({\n });\n }\n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n SearchFrom: Date = null;\n SearchTo: Date = null;\n\n clearSearch() {\n this.SearchFrom = null;\n this.SearchTo = null;\n }\n\n prevAction = '';\n\n loadServices() {\n this.currentAction = 'loading';\n\n this.tableEngine.loadData();\n\n\n }\n\n viewedOrder: CashierOrderModel = new CashierOrderModel();\n showOrderItemsModal(order: CashierOrderModel){\n this.viewedOrder = order;\n this.orderItemsModal.show();\n }\n\n goBack(){\n console.log(\"back\");\n \n this.modelObject = {};\n this.currentAction = \"\";\n this.tableView = true;\n\n \n console.log(this.modelObject);\n console.log(this.lastCode);\n }\n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepChangeSort(sortKey) {\n this.SearchFrom = null;\n this.SearchTo = null;\n \n \n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n\n getFormattedDate(dateString: any){\n let splitDate: number[] = dateString.toString().split(\"/\");\n\n return new Date(splitDate[2], splitDate[1]-1, splitDate[0])\n }\n // ///////////////////////////////////////////////////////\n \n displayMode = 'list';\n changeDisplayMode(mode): void {\n this.displayMode = mode;\n }\n itemsPerPageChange(perPage: number): void {\n this.tableEngine.paginateData(perPage, 1)\n }\n}\n","\n\n\n
    \n
    \n
    \n
    \n

    \n {{\"CashierSessionOrders\" | translate}}

    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{\"CashierOrderItemName\" | translate}}{{\"CashierOrderItemUnit\" | translate}}{{\"CashierOrderItemUnitCost\" | translate}}{{\"CashierOrderItemQuantity\" | translate}}{{\"CashierOrderItemTotalPrice\" | translate}}{{\"CashierOrderItemDiscountValue\" | translate}}{{\"CashierOrderItemNetPrice\" | translate}}{{\"CashierOrderItemTotalTaxValues\" | translate}}{{\"CashierOrderItemGrossPrice\" | translate}}{{\"CashierOrderItemNote\" | translate}}
    \n {{obj.ItemId>0?(lang==='ar-EG'?obj.ItemNameAr:obj.ItemNameEn):\"None\"|translate}}\n \n {{obj.UnitId>0?(lang==='ar-EG'?obj.UnitNameAr:obj.UnitNameEn):\"None\"|translate}}\n \n {{obj.UnitCost.toFixed(2)}}\n \n {{obj.Quantity.toFixed(2)}}\n \n {{obj.TotalPrice.toFixed(2)}}\n \n {{obj.DiscountValue.toFixed(2)}}{{obj.DiscountIsRate?'%':''}}\n \n {{obj.NetPrice.toFixed(2)}}\n \n {{obj.AddedValueTax.toFixed(2)}}\n \n {{obj.GrossPrice.toFixed(2)}}\n \n {{obj.Note}}\n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n\n
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n\n
    \n\n
    \n \n \n
    \n\n
    \n\n
    \n
    \n
    \n \n \n
    \n\n
    \n\n
    \n \n \n
    \n\n
    \n\n
    \n \n \n
    \n
    \n\n
    \n\n
    \n
    \n \n \n
    \n\n
    \n\n
    \n \n \n
    \n\n
    \n\n
    \n\n
    \n
    \n \n \n \n
    \n
    \n\n
    \n
    \n\n \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{\"CashierOrderCode\" | translate}}{{\"CashierOrderClientName\" | translate}}{{\"CashierOrderDate\" | translate}}{{\"CashierOrderItems\" | translate}}{{\"CashierOrderIsRefund\" | translate}}{{\"CashierOrderStatus\" | translate}}{{\"CashierOrderItemTotalNetPrices\" | translate}}{{\"CashierOrderItemTotalTaxes\" | translate}}{{\"CashierOrderTotalValue\" | translate}}{{\"CashierOrderPaymentMethod\" | translate}}{{\"CashierOrderNote\" | translate}}
    \n {{obj.Id>0?(lang==='ar-EG'?obj.Code:obj.Code):\"None\"|translate}}\n \n {{obj.ClientId>0?(lang==='ar-EG'?obj.ClientNameAr:obj.ClientNameEn):\"None\"|translate}}\n \n {{obj.ModifiedDate | date:\"dd/MM/yyyy - HH:mm:ss\"}}\n \n 0)\"\n id=\"showOrderItems\" class=\"btn btn-secondary\"\n (click)=\"showOrderItemsModal(obj)\"\n style=\"font-weight: bold; width: 65px; height: 25px; font-size: 12px; text-align: center; padding: 2px;\">\n {{\"Show\" | translate}}\n \n {{obj.IsRefund?(\"CashierOrderIsRefundTrue\"|translate):(\"CashierOrderIsRefundFalse\"|translate)}}\n \n {{obj.Status | translate}}\n \n {{obj.ItemTotalNetPrices.toFixed(2)}}\n \n {{obj.ItemTotalTaxes.toFixed(2)}}\n \n {{obj.TotalValue.toFixed(2)}}\n \n {{obj.PaymentMethodId>0?(lang==='ar-EG'?obj.PaymentMethodAr:obj.PaymentMethodEn):\"None\"|translate}}\n \n {{obj.Note}}\n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n\n
    \n
    \n \n \n
    \n\n
    \n\n
    \n \n \n
    \n\n
    \n\n
    \n \n \n
    \n
    \n\n
    \n\n
    \n
    \n \n \n
    \n\n
    \n\n
    \n \n \n
    \n\n
    \n\n
    \n\n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n
    \n\n
    \n\n
    \n
    \n
    \n
    \n \n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n \n \n {{\"CashierSessionCode\" | translate}}\n \n \n \n \n {{\"CashierSessionCashierName\" | translate}}\n \n \n \n \n {{\"CashierSessionBranchName\" | translate}}\n \n \n \n \n {{\"CashierSessionCashRegisterCode\" | translate}}\n \n \n \n \n {{\"CashierSessionStartTime\" | translate}}\n \n \n \n \n {{\"CashierSessionEndTime\" | translate}}\n \n \n \n \n {{\"CashierSessionOrderCount\" | translate}}\n \n \n \n \n {{\"CashierSessionRefundCount\" | translate}}\n \n \n \n \n {{\"CashierSessionSessionTotal\" | translate}}\n \n\n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • \n {{item}}\n
  • \n
    \n
    \n
    \n\n
    {{obj.Code}}{{obj.CashierId>0?(lang==='ar-EG'?obj.CashierNameAr:obj.CashierNameEn):\"None\" | translate}}{{obj.CashRegisterBranchId>0?(lang==='ar-EG'?obj.CashRegisterBranchNameAr:obj.CashRegisterBranchNameEn):\"None\" | translate}}{{obj.CashRegisterCode}}{{obj.StartTime | date:\"dd/MM/yyyy - hh:mma\"}}{{(!(obj.Active)?(obj.EndTime | date:\"dd/MM/yyyy - hh:mma\"):('None'|translate))}}{{obj.OrderCount}}{{obj.RefundCount}}{{obj.SessionTotal.toFixed(2)}}\n \n
    \n\n
    \n
    \n \n
    \n\n \n \n \n \n
    \n
    \n
    \n\n\n
    \n
    \n\n
    \n
    \n
    \n\n
    \n\n
     
    \n\n\n
     
    \n\n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { CashierSessionModel } from \"../cashier-sessions/CashierSessionModel\";\r\n\r\nexport class CashierStaffModel {\r\n Id?: number;\r\n Code?:number; //new\r\n StaffId?:number;\r\n NameAr?: string;\r\n NameEn?: string;\r\n Email?:string;\r\n Role?:string;\r\n BranchId?: number;\r\n BranchNameAr?: string;\r\n BranchNameEn?: string;\r\n LastRegisterId?:number;\r\n LastRegisterCode?:number;\r\n LastRegisterBranchNameAr?:string; //new\r\n LastRegisterBranchNameEn?:string; //new\r\n Sessions?: CashierSessionModel []; //new\r\n\r\n constructor(obj?: CashierStaffModel) {\r\n obj = obj ? obj : {};\r\n this.Id = obj.Id ? obj.Id : 0;\r\n this.Code = obj.Code ? obj.Code : 0;\r\n this.StaffId = obj.StaffId ? obj.StaffId : 0;\r\n this.NameAr = obj.NameAr ? obj.NameAr : '';\r\n this.NameEn = obj.NameEn ? obj.NameEn : '';\r\n this.Email = obj.Email ? obj.Email : '';\r\n this.Role = obj.Role ? obj.Role : '';\r\n this.BranchId = obj.BranchId ? obj.BranchId : 0;\r\n this.BranchNameAr = obj.BranchNameAr ? obj.BranchNameAr : '';\r\n this.BranchNameEn = obj.BranchNameEn ? obj.BranchNameEn : '';\r\n this.LastRegisterId = obj.LastRegisterId ? obj.LastRegisterId : 0;\r\n this.LastRegisterCode = obj.LastRegisterCode ? obj.LastRegisterCode : 0;\r\n this.LastRegisterBranchNameAr = obj.LastRegisterBranchNameAr ? obj.LastRegisterBranchNameAr : '';\r\n this.LastRegisterBranchNameEn = obj.LastRegisterBranchNameEn ? obj.LastRegisterBranchNameEn : '';\r\n this.Sessions = obj.Sessions ? obj.Sessions : [];\r\n }\r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { CashierStaffModel } from \"./CashierStaffModel\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CashierStaffService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n debugData: CashierStaffModel [] = []\r\n // debugData: CashierStaffModel [] = [\r\n // {\r\n // Id:1, Code:1001, StaffId:1, NameAr:\"احمد سعيد\", NameEn:\"Ahmad Saeed\", Role:\"Cashier\", Email:\"AhmadSaeed10@gmail.com\",\r\n // BranchId:1, BranchNameAr:\"فرع القاهرة\", BranchNameEn:\"Cairo Branch\", \r\n // LastRegisterId:1, LastRegisterCode:1001, LastRegisterBranchNameAr:\"فرع القاهرة\", LastRegisterBranchNameEn:\"Cairo Branch\",\r\n // },\r\n // {\r\n // Id:2, Code:1002, StaffId:2, NameAr:\"محمد فيصل\", NameEn:\"Mohamad Faysal\", Role:\"Cashier\", Email:\"MohamadFaysal20@gmail.com\",\r\n // BranchId:2, BranchNameAr:\"فرع السعودية\", BranchNameEn:\"Saudi Branch\", \r\n // LastRegisterId:2, LastRegisterCode:1002, LastRegisterBranchNameAr:\"فرع السعودية\", LastRegisterBranchNameEn:\"Saudi Branch\",\r\n // },\r\n // ];\r\n debugMode: boolean = false;\r\n\r\n baseUrl = environment.baseApiUrl;\r\n // baseUrl = 'http://localhost:60289/';\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}RestaurantsCashier/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData.find(x=>x.Id==id))\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}RestaurantsCashier/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: CashierStaffModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.push(payload);\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}RestaurantsCashier/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: CashierStaffModel): Observable {\r\n if(this.debugMode){\r\n this.debugData[this.debugData.findIndex(x=>x.Id==payload.Id)] = payload;\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}RestaurantsCashier/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: CashierStaffModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==payload.Id),1);\r\n return of(true)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}RestaurantsCashier/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: CashierStaffModel []): Observable {\r\n if(this.debugMode){\r\n payload.forEach(element => {\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==element.Id),1);\r\n });\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}RestaurantsCashier/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { TableEngine } from '../../../invoices/TableEngine'\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from '../../app/aio/shared/side-popup/side-popup.component';\nimport { Observable, of, Subscription } from 'rxjs';\n\nimport { NgSelectComponent } from '@ng-select/ng-select';\n\nimport { DatePipe, formatDate } from '@angular/common';\n\n\nimport { CashierStaffService } from \"./CashierStaffService\";\nimport { CashierStaffModel } from \"./CashierStaffModel\";\n\nimport { BranchService } from '../../../invoices/branches/BranchService';\nimport { BranchModel } from '../../../invoices/branches/BranchModel';\nimport { CashRegisterService } from '../cashier-machines/CashRegisterService';\nimport { CashRegisterModel } from '../cashier-machines/CashRegisterModel';\nimport { StaffService } from '../../../invoices/staff/StaffService';\nimport { StaffModel } from '../../../invoices/staff/StaffModel';\nimport { ConfigPoSService } from '../config-pos-general/ConfigPoSService';\nimport { ConfigPoSModel } from '../config-pos-general/ConfigPoSModel';\nimport { ListPageHeaderComponent } from 'src/app/containers/pages/list-page-header/list-page-header.component';\n\n\n\n\n@Component({\n selector: 'app-cashier-staff',\n templateUrl: './cashier-staff.component.html',\n styleUrls: ['./cashier-staff.component.scss']\n})\nexport class RestaurantsCashierStaffComponent {\n // ////////////////////////////////////////////////////////////////////////////\n // // VARYING :\n // // Modify per similar component.\n // ////////////////////////////////////////////////////////////////////////////\n\n //Enable debugMode to make API modules return static data from within the service class\n debugMode: boolean = false;\n\n constructor(private formBuilder: FormBuilder, private modelService: CashierStaffService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private branchService: BranchService, private CashRegisterService: CashRegisterService, \n private staffService: StaffService, private configPoSService: ConfigPoSService,\n private datePipe: DatePipe,\n ) {\n }\n\n\n listHeader = new ListPageHeaderComponent();\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n tableView: any = true;\n\n translationName: string = 'CashierStaff'\n\n sortableKeys = [];\n searchableKeys = ['NameAr', 'NameEn'];\n\n modelObject: CashierStaffModel = new CashierStaffModel();\n\n ogData: CashierStaffModel[] = [];\n \n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n StaffId: new FormControl(),\n BranchId: new FormControl(),\n });\n\n\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n if (this.debugMode) {\n this.enableDebugOnAllServices();\n }\n\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'CashierStaffCode', property: 'Code' };\n this.sortableKeys = [\n { label: 'CashierStaffCode', property: 'Code' },\n { label: 'CashierStaffName', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' },\n { label: 'CashierStaffBranch', property: this.lang === 'ar-EG' ? 'BranchNameAr' : 'BranchNameEn' },\n { label: 'CashierStaffRole', property: 'Role' },\n { label: 'CashierStaffEmail', property: 'Email' },\n { label: 'CashierStaffLastRegister', property: 'LastRegisterCode' },\n ];\n\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n\n this.loadServices();\n }\n\n\n enableDebugOnAllServices() {\n //this.modelService.debugMode = true;\n // this.branchService.debugMode = true;\n // this.staffService.debugMode = true;\n }\n\n lastCode = 0;\n codeWasChecked = false;\n checkCode() : boolean{\n if(!(this.lastCode > 0)){\n this.codeWasChecked = false;\n console.log(\"bad code\", this.lastCode);\n \n return this.codeWasChecked;\n }\n this.configPoSService.checkCashierCode(this.lastCode).subscribe(\n result => {\n this.codeWasChecked = result;\n }\n );\n console.log(\"code availability:\",this.codeWasChecked);\n \n return this.codeWasChecked;\n }\n showModal(Id, action) {\n if (action === 'Add') {\n //this.lastCode = this.tableEngine.ogData.length>0?this.tableEngine.ogData[this.tableEngine.ogData.length - 1].Code:0;\n this.lastCode = this.configPoS.StartingCodeCashiers;\n for (let index = 0; index < this.tableEngine.ogData.length; index++) {\n if(this.tableEngine.ogData.findIndex(x=>x.Code == this.lastCode) >= 0)\n { this.lastCode++ } \n else { break; }\n }\n this.checkCode();\n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder);\n }\n else if (action === 'Edit') {\n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder);\n this.lastCode = this.tableEngine.modelObject.Code\n }\n else if (action === 'Info') {\n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder);\n this.lastCode = this.tableEngine.modelObject.Code\n }\n this.tableView = false;\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n console.log((action + \" object\"), this.modelObject);\n\n \n console.log(\"modelObject after entering edit\", this.modelObject);\n }\n currentDate='';\n currentExpirationDate='';\n createForm(modelObject, formBuilder): FormGroup {\n \n return formBuilder.group({\n BranchId: [modelObject.BranchId, Validators.compose([Validators.required])],\n StaffId: [modelObject.StaffId, Validators.compose([Validators.required])],\n });\n }\n\n addObject() {\n this.currentAction = 'loading';\n\n let lastId = this.tableEngine.ogData.length>0?this.tableEngine.ogData[this.tableEngine.ogData.length - 1].Id:0;\n\n let branch: BranchModel = this.getBranchById(this.mainForm.getRawValue().BranchId);\n let staff: StaffModel = this.getStaffById(this.mainForm.getRawValue().StaffId);\n\n this.modelObject = new CashierStaffModel();\n \n this.modelObject.Id = this.debugMode ? lastId + 1 : 0;\n this.modelObject.Code = this.lastCode;\n this.modelObject.StaffId = staff.Id;\n this.modelObject.NameAr = staff.NameAr;\n this.modelObject.NameEn = staff.NameEn;\n this.modelObject.Email = staff.Email;\n this.modelObject.Role = staff.Role;\n this.modelObject.BranchId = branch.Id;\n this.modelObject.BranchNameAr = branch.NameAr;\n this.modelObject.BranchNameEn = branch.NameEn;\n \n this.executeAddObject();\n }\n\n executeAddObject() {\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true || result > 0) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n if (this.sideModalRef === undefined) {\n if (this.smallModal != undefined) {\n this.tableEngine.smallModal.hide();\n }\n else {\n this.tableView = this.prevAction === 'AddThenNew' ? false : true;\n \n this.prevAction = '';\n }\n }\n else {\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n \n if(this.prevAction != 'AddThenNew'){\n this.goBack();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n\n editObject() {\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n\n let branch: BranchModel = this.getBranchById(this.mainForm.getRawValue().BranchId);\n let staff: StaffModel = this.getStaffById(this.mainForm.getRawValue().StaffId);\n // let tempObj = new CashierStaffModel({\n // Id: this.modelObject.Id,\n // Code: this.modelObject.Code,\n // BranchId: branch.Id,\n // BranchNameAr: branch.NameAr,\n // BranchNameEn: branch.NameEn\n // });\n let tempObj = new CashierStaffModel();\n tempObj.Id =this.modelObject.Id;\n tempObj.Code = this.lastCode;\n tempObj.StaffId = staff.Id;\n tempObj.NameAr = staff.NameAr;\n tempObj.NameEn = staff.NameEn;\n tempObj.Role = staff.Role;\n tempObj.Email = staff.Email;\n tempObj.BranchId = branch.Id;\n tempObj.BranchNameAr = branch.NameAr;\n tempObj.BranchNameEn = branch.NameEn;\n tempObj.LastRegisterId = this.modelObject.LastRegisterId;\n tempObj.LastRegisterCode = this.modelObject.LastRegisterCode;\n this.executeEditObject(tempObj);\n console.log(\"saved object\", tempObj);\n \n }\n\n executeEditObject(Object) {\n\n\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n\n if (this.sideModalRef === undefined) {\n if (this.smallModal != undefined) {\n this.tableEngine.smallModal.hide();\n }\n else {\n this.tableView = true;\n }\n }\n else {\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n \n this.goBack();\n \n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n SearchFrom: Date = null;\n SearchTo: Date = null;\n\n clearSearch() {\n this.SearchFrom = null;\n this.SearchTo = null;\n }\n\n prevAction = '';\n addAndNew() {\n this.prevAction = 'AddThenNew';\n this.addObject();\n this.showModal(null, 'Add');\n }\n\n configPoS = new ConfigPoSModel();\n loadServices() {\n this.currentAction = 'loading';\n\n this.configPoSService.getFirst().subscribe(\n configPoSData => {\n this.configPoS = configPoSData;\n this.branchService.getAll().subscribe(\n branchData => {\n this.branchList = branchData;\n\n this.staffService.getAll().subscribe(\n staffData => {\n this.staffList = staffData;\n this.tableEngine.loadData();\n }\n )\n }\n )\n }\n );\n\n\n }\n \n branchList: BranchModel[] = [];\n staffList: StaffModel[] = [];\n getBranchById(Id: any): any {\n return this.branchList.find(i => i.Id === Id);\n }\n getStaffById(Id: any): any {\n console.log(\"staff:\",Id);\n //console.log(this.staffList);\n \n //console.log(this.mainForm.getRawValue().StaffId);\n //console.log(this.mainForm.getRawValue().BranchId);\n \n \n \n return this.staffList.find(i => i.Id === Id);\n }\n\n\n goBack(){\n console.log(\"back\");\n \n this.modelObject = {};\n this.currentAction = \"\";\n this.tableView = true;\n\n \n console.log(this.modelObject);\n console.log(this.lastCode);\n }\n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepChangeSort(sortKey) {\n this.SearchFrom = null;\n this.SearchTo = null;\n \n \n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n\n getFormattedDate(dateString: any){\n let splitDate: number[] = dateString.toString().split(\"/\");\n\n return new Date(splitDate[2], splitDate[1]-1, splitDate[0])\n }\n // ///////////////////////////////////////////////////////\n \n displayMode = 'list';\n changeDisplayMode(mode): void {\n this.displayMode = mode;\n }\n itemsPerPageChange(perPage: number): void {\n this.tableEngine.paginateData(perPage, 1)\n }\n}\n","\n\n\n\n\n
    \n
    \n
    \n\n
    \n \n \n \n \n
    \n
    \n\n
    \n\n
    \n \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    0)\">\n {{\"CashierStaffCodeRequired\" | translate}}
    \n
    \n {{\"CasherStaffCodeAlreadyTaken\" | translate}}
    \n
    \n\n
    \n\n
    \n
    \n \n
    \n \n \n {{lang==='ar-EG'?staff.NameAr:staff.NameEn}}\n \n
    \n \n
    \n {{\"CashierStaffStaffIdRequired\" | translate}}
    \n \n
    \n\n
    \n\n
    \n \n \n
    \n\n
    \n\n
    \n \n \n
    \n\n
    \n\n
    \n\n
    \n
    \n \n
    \n \n \n {{branch.Id>0?(lang==='ar-EG'?branch.NameAr:branch.NameEn):\"None\" | translate}}\n \n
    \n \n
    \n {{\"CashierStaffBranchIdRequired\" | translate}}
    \n \n
    \n
    \n
    \n\n
    \n
    \n
    \n\n
    \n
    \n
    \n \n  \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n
    \n
    \n
    1 && \n tableEngine.deletionList.length === tableEngine.ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n\n\n\n
    \n\n
    \n\n
    \n
    \n
    \n
    \n \n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n \n \n \n {{\"CashierStaffCode\" | translate}}\n \n \n \n \n {{\"CashierStaffName\" | translate}}\n \n \n \n \n {{\"CashierStaffBranch\" | translate}}\n \n \n \n \n {{\"CashierStaffRole\" | translate}}\n \n \n \n \n {{\"CashierStaffEmail\" | translate}}\n \n \n \n \n {{\"CashierStaffLastRegister\" | translate}}\n \n\n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • \n {{item}}\n
  • \n
    \n
    \n
    \n\n
    \n
    \n \n \n
    \n
    {{obj.Code}}{{lang==='ar-EG'?obj.NameAr:obj.NameEn}}{{lang==='ar-EG'?obj.BranchNameAr:obj.BranchNameEn}}{{obj.Role}}{{obj.Email}}{{obj.LastRegisterCode>0?obj.LastRegisterCode:'None'|translate}}\n \n \n \n \n \n
    \n\n
    \n
    \n \n
    \n\n \n \n \n \n
    \n
    \n
    \n\n\n
    \n
    \n\n
    \n
    \n
    \n\n
    \n\n
     
    \n\n\n
     
    \n\n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","export class CashierWorkShiftModel {\r\n Id?: number;\r\n Code?: number;\r\n Name?: string;\r\n From?: Date;\r\n To?: Date;\r\n constructor(obj?: CashierWorkShiftModel) {\r\n obj = obj ? obj : {};\r\n this.Id = obj.Id ? obj.Id : 0;\r\n this.Code = obj.Code ? obj.Code : 0;\r\n this.Name = obj.Name ? obj.Name : '';\r\n this.From = obj.From ? obj.From : new Date();\r\n this.To = obj.To ? obj.To : new Date();\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { CashierWorkShiftModel } from \"./CashierWorkShiftModel\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CashierWorkShiftService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n debugData: CashierWorkShiftModel [] = []\r\n // debugData: CashierWorkShiftModel [] = [\r\n // {\r\n // Id:1, Code:1001, Name:\"الصباح\",\r\n // From: new Date(2021, 0, 13, 9, 0, 0), To: new Date(2021, 0, 13, 17, 0, 0),\r\n // },\r\n // {\r\n // Id:2, Code:1002, Name:\"المساء\",\r\n // From: new Date(2021, 0, 13, 17, 0, 0), To: new Date(2021, 0, 14, 2, 0, 0),\r\n // },\r\n // ];\r\n debugMode: boolean = false;\r\n\r\n baseUrl = environment.baseApiUrl;\r\n // baseUrl = 'http://localhost:60289/';\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}RestaurantsCashierWorkShift/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData.find(x=>x.Id==id))\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}RestaurantsCashierWorkShift/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: CashierWorkShiftModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.push(payload);\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}RestaurantsCashierWorkShift/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: CashierWorkShiftModel): Observable {\r\n if(this.debugMode){\r\n this.debugData[this.debugData.findIndex(x=>x.Id==payload.Id)] = payload;\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}RestaurantsCashierWorkShift/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: CashierWorkShiftModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==payload.Id),1);\r\n return of(true)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}RestaurantsCashierWorkShift/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: CashierWorkShiftModel []): Observable {\r\n if(this.debugMode){\r\n payload.forEach(element => {\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==element.Id),1);\r\n });\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}RestaurantsCashierWorkShift/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { TableEngine } from '../../../invoices/TableEngine'\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from '../../app/aio/shared/side-popup/side-popup.component';\nimport { Observable, of, Subscription } from 'rxjs';\n\nimport { NgSelectComponent } from '@ng-select/ng-select';\n\nimport { DatePipe, formatDate } from '@angular/common';\n\n\nimport { CashierWorkShiftService } from \"./CashierWorkShiftService\";\nimport { CashierWorkShiftModel } from \"./CashierWorkShiftModel\";\nimport { ConfigPoSService } from '../config-pos-general/ConfigPoSService';\nimport { ConfigPoSModel } from '../config-pos-general/ConfigPoSModel';\nimport { ListPageHeaderComponent } from 'src/app/containers/pages/list-page-header/list-page-header.component';\n\n@Component({\n selector: 'app-cashier-work-shifts',\n templateUrl: './cashier-work-shifts.component.html',\n styleUrls: ['./cashier-work-shifts.component.scss']\n})\nexport class RestaurantsCashierWorkShiftsComponent {\n // ////////////////////////////////////////////////////////////////////////////\n // // VARYING :\n // // Modify per similar component.\n // ////////////////////////////////////////////////////////////////////////////\n\n //Enable debugMode to make API modules return static data from within the service class\n debugMode: boolean = false;\n\n constructor(private formBuilder: FormBuilder, private modelService: CashierWorkShiftService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private datePipe: DatePipe, private configPoSService: ConfigPoSService,\n ) {\n }\n\n\n listHeader = new ListPageHeaderComponent();\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n tableView: any = true;\n\n translationName: string = 'CashierWorkShift'\n\n sortableKeys = [];\n searchableKeys = ['Code'];\n\n modelObject: CashierWorkShiftModel = new CashierWorkShiftModel();\n\n ogData: CashierWorkShiftModel[] = [];\n \n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Name: new FormControl(),\n From: new FormControl(),\n To: new FormControl(),\n });\n\n\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n if (this.debugMode) {\n this.enableDebugOnAllServices();\n }\n\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'CashierWorkShiftCode', property: 'Code' };\n this.sortableKeys = [\n { label: 'CashierWorkShiftCode', property: 'Code' },\n { label: 'CashierWorkShiftName', property: 'Name' },\n { label: 'CashierWorkShiftFrom', property: 'From' },\n { label: 'CashierWorkShiftTo', property: 'To' },\n ];\n\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n\n this.loadServices();\n }\n\n\n enableDebugOnAllServices() {\n //this.modelService.debugMode = true;\n }\n\n lastCode = 0;\n codeWasChecked = false;\n checkCode() : boolean{\n if(!(this.lastCode > 0)){\n this.codeWasChecked = false;\n console.log(\"bad code\", this.lastCode);\n \n return this.codeWasChecked;\n }\n this.configPoSService.checkWorkShiftCode(this.lastCode).subscribe(\n result => {\n this.codeWasChecked = result;\n }\n );\n console.log(\"code availability:\",this.codeWasChecked);\n \n return this.codeWasChecked;\n }\n showModal(Id, action) {\n if (action === 'Add') {\n //this.lastCode = this.tableEngine.ogData.length>0?this.tableEngine.ogData[this.tableEngine.ogData.length - 1].Code:0;\n this.lastCode = this.configPoS.StartingCodeWorkShifts;\n for (let index = 0; index < this.tableEngine.ogData.length; index++) {\n if(this.tableEngine.ogData.findIndex(x=>x.Code == this.lastCode) >= 0)\n { this.lastCode++ } \n else { break; }\n }\n this.checkCode();\n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder);\n }\n else if (action === 'Edit') {\n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder);\n this.lastCode = this.tableEngine.modelObject.Code\n }\n else if (action === 'Info') {\n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder);\n this.lastCode = this.tableEngine.modelObject.Code\n }\n this.tableView = false;\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n console.log((action + \" object\"), this.modelObject);\n\n \n console.log(\"modelObject after entering edit\", this.modelObject);\n }\n currentDate='';\n currentExpirationDate='';\n createForm(modelObject, formBuilder): FormGroup {\n \n return formBuilder.group({\n Name: [modelObject.Name, Validators.compose([Validators.required])],\n From: [modelObject.From, Validators.compose([Validators.required])],\n To: [modelObject.To, Validators.compose([Validators.required])],\n });\n }\n\n addObject() {\n this.currentAction = 'loading';\n\n let lastId = this.tableEngine.ogData.length>0?this.tableEngine.ogData[this.tableEngine.ogData.length - 1].Id:0;\n this.modelObject = new CashierWorkShiftModel();\n this.modelObject.Id = this.debugMode ? lastId + 1 : 0;\n this.modelObject.Code = this.lastCode;\n let timezoneOffset = (new Date()).getTimezoneOffset();\n let FromUTC = new Date(this.mainForm.getRawValue().From)\n FromUTC = new Date(FromUTC.setTime(FromUTC.getTime() - (timezoneOffset * 60 * 1000)));\n let ToUTC = new Date(this.mainForm.getRawValue().To)\n ToUTC = new Date(ToUTC.setTime(ToUTC.getTime() - (timezoneOffset * 60 * 1000)));\n //console.log(\"timezone\", timezoneOffset);\n //console.log(\"now + timezone\", new Date((new Date()).setTime(new Date().getTime() - (timezoneOffset * 60 * 1000))));\n //console.log(\"now normal\", new Date());\n \n \n // console.log(\"og\",this.mainForm.getRawValue().From);\n // console.log(\"utc\",this.mainForm.getRawValue().From.toUTCString());\n // console.log(\"locale\",this.mainForm.getRawValue().From.toLocaleString());\n // console.log(\"utc to locale\",this.mainForm.getRawValue().From.toUTCString().toLocaleString());\n // console.log(FromUTC);\n \n this.modelObject.Name = this.mainForm.getRawValue().Name;\n this.modelObject.From = FromUTC;\n this.modelObject.To = ToUTC;\n let test = new Date()\n //test.setUTCHours(this.mainForm.getRawValue().From.getUTCHours());\n //console.log(test);\n \n \n this.executeAddObject();\n }\n\n executeAddObject() {\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true || result > 0) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n if (this.sideModalRef === undefined) {\n if (this.smallModal != undefined) {\n this.tableEngine.smallModal.hide();\n }\n else {\n this.tableView = this.prevAction === 'AddThenNew' ? false : true;\n \n this.prevAction = '';\n }\n }\n else {\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n \n if(this.prevAction != 'AddThenNew'){\n this.goBack();\n }\n }\n else {\n console.log(result);\n \n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n\n editObject() {\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n let tempObj = new CashierWorkShiftModel();\n tempObj.Id =this.modelObject.Id;\n tempObj.Code = this.lastCode;\n console.log(new Date());\n console.log(this.mainForm.getRawValue().From);\n let timezoneOffset = (new Date()).getTimezoneOffset();\n let FromUTC = new Date(this.mainForm.getRawValue().From)\n FromUTC = new Date(FromUTC.setTime(FromUTC.getTime() - (timezoneOffset * 60 * 1000)));\n let ToUTC = new Date(this.mainForm.getRawValue().To)\n ToUTC = new Date(ToUTC.setTime(ToUTC.getTime() - (timezoneOffset * 60 * 1000)));\n tempObj.Name = this.mainForm.getRawValue().Name;\n tempObj.From = FromUTC;\n tempObj.To = ToUTC;\n this.executeEditObject(tempObj);\n console.log(\"saved object\", tempObj);\n \n }\n\n executeEditObject(Object) {\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n\n if (this.sideModalRef === undefined) {\n if (this.smallModal != undefined) {\n this.tableEngine.smallModal.hide();\n }\n else {\n this.tableView = true;\n }\n }\n else {\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n \n this.goBack();\n \n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n SearchFrom: Date = null;\n SearchTo: Date = null;\n\n clearSearch() {\n this.SearchFrom = null;\n this.SearchTo = null;\n }\n\n prevAction = '';\n addAndNew() {\n this.prevAction = 'AddThenNew';\n this.addObject();\n this.showModal(null, 'Add');\n }\n\n configPoS = new ConfigPoSModel();\n loadServices() {\n this.currentAction = 'loading';\n this.configPoSService.getFirst().subscribe(\n configPoSData => {\n this.configPoS = configPoSData;\n this.tableEngine.loadData();\n }\n )\n }\n\n goBack(){\n console.log(\"back\");\n \n this.modelObject = {};\n this.currentAction = \"\";\n this.tableView = true;\n\n \n console.log(this.modelObject);\n console.log(this.lastCode);\n }\n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepChangeSort(sortKey) {\n this.SearchFrom = null;\n this.SearchTo = null;\n \n \n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n\n getFormattedDate(dateString: any){\n let splitDate: number[] = dateString.toString().split(\"/\");\n\n return new Date(splitDate[2], splitDate[1]-1, splitDate[0])\n }\n // ///////////////////////////////////////////////////////\n \n displayMode = 'list';\n changeDisplayMode(mode): void {\n this.displayMode = mode;\n }\n itemsPerPageChange(perPage: number): void {\n this.tableEngine.paginateData(perPage, 1)\n }\n}\n","\n\n\n\n\n
    \n
    \n
    \n\n
    \n \n \n \n \n
    \n
    \n\n
    \n\n
    \n \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    0)\">\n {{\"CashierWorkShiftCodeRequired\" | translate}}
    \n
    \n {{\"CasherStaffCodeAlreadyTaken\" | translate}}
    \n
    \n\n
    \n\n
    \n\n
    \n\n
    \n \n
    \n \n
    \n \n
    \n {{\"CashierWorkShiftNameRequired\" | translate}}
    \n \n
    \n
    \n\n
    \n\n
    \n
    \n \n
    \n \n \n \n
    \n \n
    \n {{\"CashierWorkShiftFromRequired\" | translate}}
    \n \n
    \n\n
    \n\n
    \n \n
    \n \n \n \n
    \n \n
    \n {{\"CashierWorkShiftToRequired\" | translate}}
    \n \n
    \n
    \n
    \n\n
    \n
    \n
    \n\n
    \n
    \n
    \n \n  \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n
    \n
    \n
    1 && \n tableEngine.deletionList.length === tableEngine.ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n\n\n\n
    \n\n
    \n\n
    \n
    \n
    \n
    \n \n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n \n \n \n {{\"CashierWorkShiftCode\" | translate}}\n \n \n \n \n {{\"CashierWorkShiftName\" | translate}}\n \n \n \n \n {{\"CashierWorkShiftFrom\" | translate}}\n \n \n \n \n {{\"CashierWorkShiftTo\" | translate}}\n \n\n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • \n {{item}}\n
  • \n
    \n
    \n
    \n\n
    \n
    \n \n \n
    \n
    {{obj.Code}}{{obj.Name}}{{obj.From | date:\"hh:mma\"}}{{obj.To | date:\"hh:mma\"}}\n \n \n \n \n \n
    \n\n
    \n
    \n \n
    \n\n \n \n \n \n
    \n
    \n
    \n\n\n
    \n
    \n\n
    \n
    \n
    \n\n
    \n\n
     
    \n\n\n
     
    \n\n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { filter } from 'rxjs/operators';\nimport { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { TableEngine } from '../../../invoices/TableEngine'\nimport { ModalDirective, ModalOptions } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from '../../app/aio/shared/side-popup/side-popup.component';\n\nimport { ClientService } from \"../../../invoices/clients/ClientService\";\nimport { ClientModel } from \"../../../invoices/clients/ClientModel\";\nimport { DatePipe, formatDate } from '@angular/common';\nimport { PaymentMethodModel } from \"../../purchases/purchase-orders/PaymentMethodModel\";\nimport { PaymentMethodService } from \"../../purchases/purchase-orders/PaymentMethodService\";\nimport { CashierOrderModel } from \"../cashier-orders/CashierOrderModel\";\nimport { CashierSessionModel } from \"../cashier-sessions/CashierSessionModel\";\nimport { CashierOrderService } from \"../cashier-orders/CashierOrderService\";\nimport { CashierOrderItemService } from '../cashier-orders/CashierOrderItemService';\nimport { CashierOrderItemModel } from '../cashier-orders/CashierOrderItemModel';\nimport { CashierSessionService } from '../cashier-sessions/CashierSessionService';\nimport { CashRegisterService } from '../cashier-machines/CashRegisterService';\nimport { Router } from '@angular/router';\nimport { DateAdapter } from '@angular/material/core';\n\n\nimport html2canvas from 'html2canvas';\nimport jspdf from 'jspdf';\nimport { ConfigPoSService } from '../config-pos-general/ConfigPoSService';\nimport { ConfigPoSModel } from '../config-pos-general/ConfigPoSModel';\nimport { ListPageHeaderComponent } from 'src/app/containers/pages/list-page-header/list-page-header.component';\nimport { RestaurantMenuItemService } from '../restaurant-menu-item/RestaurantMenuItemService';\nimport { RestaurantMenuItemModel } from '../restaurant-menu-item/RestaurantMenuItemModel';\nimport { RestaurantCategoryModel } from './../restaurant-category/RestaurantCategoryModel';\nimport { RestaurantCategoryService } from './../restaurant-category/RestaurantCategoryService';\n\n@Component({\n selector: 'app-cashier',\n templateUrl: './cashier.component.html',\n styleUrls: ['./cashier.component.scss']\n})\nexport class RestaurantsCashierComponent {\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n\n //Enable debugMode to make API modules return static data from within the service class\n debugMode: boolean = false;\n\n constructor(private formBuilder: FormBuilder, private modelService: CashierOrderService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private itemService: RestaurantMenuItemService, private datePipe: DatePipe, private paymentMethodService: PaymentMethodService,\n private clientService: ClientService, private categoryService: RestaurantCategoryService, \n private sessionService: CashierSessionService, private cashRegisterService: CashRegisterService,\n private cashierOrderService: CashierOrderService, private cashierOrderItemService: CashierOrderItemService,\n private configPoSService: ConfigPoSService,\n private _router: Router\n //private cashierOrderService: CashierOrderService,\n ) {\n }\n\n\n listHeader = new ListPageHeaderComponent();\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n tableView: any = false;\n\n translationName: string = 'CashierOrder'\n\n sortableKeys = [];\n searchableKeys = ['NameAr', 'NameEn'];\n\n modelObject: CashierSessionModel = new CashierSessionModel();\n\n ogData: CashierSessionModel[] = [];\n\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n\n @ViewChild('infoModal', { static: true }) infoModal: ModalDirective;\n @ViewChild('orderModal', { static: true }) orderModal: ModalDirective;\n @ViewChild('printModal', { static: true }) printModal: ModalDirective;\n @ViewChild('refundModal', { static: true }) refundModal: ModalDirective;\n @ViewChild('itemNoteModal', { static: true }) itemNoteModal: ModalDirective;\n @ViewChild('clientModal', { static: true }) clientModal: ModalDirective;\n @ViewChild('endSessionModal', { static: true }) endSessionModal: ModalDirective;\n //@ViewChild('sessionOrdersModal', { static: true }) sessionOrdersModal: ModalDirective;\n @ViewChild('orderItemsModal', { static: true }) orderItemsModal: ModalDirective;\n @ViewChild('orderStatusModal', { static: true }) orderStatusModal: ModalDirective;\n @ViewChild('orderStatusReminderModal', { static: true }) orderStatusReminderModal: ModalDirective;\n \n ngOnInit(): void {\n this.printOrder = new CashierOrderModel();\n if (!(this.sessionService.currentSession.Id>0)){\n this._router.navigate(['app/aio/restaurant']);\n }\n else{\n if(this.currentSession.Orders){\n console.log(this.currentSession);\n \n }else{\n this.currentSession.Orders = [];\n }\n }\n if (this.debugMode) {\n this.enableDebugOnAllServices();\n }\n\n this.currentSession = this.sessionService.currentSession;\n\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'ItemName', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' },\n this.sortableKeys = [\n { label: 'ItemName', property: this.lang === 'ar-EG' ? 'NameAr' : 'NameEn' },\n ];\n\n\n this.tableEngine.loadTableEngine(this.itemList, this.itemService, this.modelObject,\n this.searchableKeys, this.sortableKeys, null, this.translationName, this.itemOrder,\n null, null, null, this.lang\n )\n\n this.loadServices();\n\n this.tableEngine.itemsPerPage = 999999999;\n this.tableEngine.currentPage = 1;\n\n }\n\n\n enableDebugOnAllServices() {\n //this.modelService.debugMode = true;\n // this.clientService.debugMode = true;\n // this.paymentMethodService.debugMode = true;\n // this.itemService.debugMode = true;\n // this.codingUnitService.debugMode = true;\n //this.sessionService.debugMode = true;\n //this.cashRegisterService.debugMode = true;\n }\n\n viewedOrder: CashierOrderModel = new CashierOrderModel;\n printOrder: CashierOrderModel = new CashierOrderModel;\n showModal(modal:any, action:any){\n //this.currentOrder.IsRefund=(action==\"Refund\")?true:false;\n this.calculateTotalCashierOrderValue();\n if((action=='Info'||action=='Note')&&!(this.currentItem.Id>0)){\n return;\n }\n if((action=='Order') || (action=='Refund')){\n if(!(this.currentOrder.Items.length>0)){\n return;\n }\n else {\n this.tempPaidAmount = 0;\n this.tempChangeGiven = 0;\n this.currentOrder.IsRefund = action=='Refund'?true:false;\n this.currentOrder.PaymentMethodId = this.configPoS.DefaultPaymentMethodId;\n this.currentOrder.Status = null;\n }\n }\n\n if((action=='SessionOrders')){\n this.tableView = true;\n return;\n }\n\n if((action == 'ExitTableView')){\n this.tableView = false;\n return;\n }\n\n if((modal == this.orderStatusModal)){\n this.viewedOrder = action;\n this.tempOrderStatus = this.viewedOrder.Status;\n //this.exportTable();\n }\n \n\n if((modal == this.endSessionModal)){\n this.tempChangeGiven = 0;\n this.tempPaidAmount = 0;\n //this.endingSession = true;\n this.tempSessionEndCash = { Amount:0, \n Bill05:0, Bill025:0, Bill1:0, Bill5:0, Bill10:0, Bill20:0, Bill50:0, Bill100:0, Bill200:0,\n BillTotal:0};\n this.calculateSessionTotal();\n }\n modal.show();\n }\n showOrderItemsModal(order: CashierOrderModel){\n this.viewedOrder = order;\n this.showModal(this.orderItemsModal, 'ShowItems');\n }\n currentSession: CashierSessionModel = new CashierSessionModel({\n //Id:1, Code:1001, CashierId:1, CashierNameAr: \"محمد احمد\", CashierNameEn: \"Mohamad Ahmad\", StartingCash: 1000, LeaveCash:1000\n })\n currentItem: CashierOrderItemModel = new CashierOrderItemModel();\n currentOrder: CashierOrderModel = new CashierOrderModel({\n Id:1,\n PaymentMethodId:null,\n Status:'Complete'\n });\n\n lastSessionCode = 0;\n orderItemInternalId = 1\n\n addOrderItem(ItemId: number){\n let foundItem = this.currentOrder.Items.find(x=>x.ItemId==ItemId);\n if(foundItem){\n foundItem.Quantity += 1;\n this.calculateTotalCashierOrderValue();\n return;\n }\n let item: RestaurantMenuItemModel = this.getItemById(ItemId);\n let category = this.getCategoryById(item.CategoryId);\n let temp = new CashierOrderItemModel();\n temp.Id = this.orderItemInternalId;\n temp.CashierOrderId = this.currentOrder.Id;\n temp.ItemId = ItemId;\n temp.ItemNameAr = item.Name;\n temp.ItemNameEn = item.Name;\n temp.RestaurantCategoryId = item.CategoryId;\n temp.CategoryName = category.Name;\n temp.UnitCost = item.Cost;\n temp.Quantity = 1;\n temp.NetPrice = temp.UnitCost;\n temp.AddedValueTax = Number((temp.NetPrice * 0.14).toFixed(2));\n temp.GrossPrice = item.Cost + temp.AddedValueTax;\n\n this.currentOrder.Items = this.currentOrder.Items.concat(temp)\n this.orderItemInternalId += 1;\n\n console.log(temp);\n \n this.calculateTotalCashierOrderValue();\n }\n\n removeOrderItem(Id: number){\n let index = this.currentOrder.Items.findIndex(x => x.Id === Id);\n this.currentOrder.Items.splice(index, 1);\n this.currentItem = new CashierOrderItemModel();\n\n this.calculateTotalCashierOrderValue();\n }\n\n selectOrderItem(Id: number){\n this.currentItem = this.currentItem == this.currentOrder.Items.find(x => x.Id === Id)?\n new CashierOrderItemModel():\n this.currentOrder.Items.find(x => x.Id === Id);\n }\n deselectItem(){\n this.currentItem = new CashierOrderItemModel();\n }\n\n currentMode: string = 'Qty'\n lastMode: string = ''\n lastButton: string = ''\n quantityLimit = 999;\n priceLimit = 999999;\n //discountLimit = 100;\n setMode(mode:string){\n this.lastButton = '';\n this.lastMode = '';\n this.currentMode = mode;\n }\n modifyItem(mode:string, button:any){\n if(this.currentOrder.Items.length==0 || !(this.currentItem.Id>0)){\n return;\n }\n \n switch(button){\n case '.':{\n let val = mode=='Qty'?this.currentItem.Quantity:(mode=='Price'?this.currentItem.UnitCost:this.currentItem.DiscountValue);\n if(val.toString().includes('.')){\n this.lastMode = mode;\n return;\n }\n this.lastMode = mode;\n this.lastButton = button;\n return;\n }\n case '+/-':{\n this.currentItem.UnitCost = -this.currentItem.UnitCost;\n this.calculateTotalCashierOrderValue();\n this.lastMode = mode;\n this.lastButton = button;\n return;\n }\n case 'Del':{\n let val = mode=='Qty'?this.currentItem.Quantity:(mode=='Price'?this.currentItem.UnitCost:this.currentItem.DiscountValue);\n if(val==0){\n this.removeOrderItem(this.currentItem.Id);\n return;\n }\n else{\n if(val.toString().length==1){\n val = 0;\n }\n else{\n val = Number(val.toString().slice(0,-1));\n }\n if(mode=='Qty'){this.currentItem.Quantity=val}\n else if(mode=='Price'){this.currentItem.UnitCost=val}\n else {this.currentItem.DiscountValue=val};\n }\n this.calculateTotalCashierOrderValue();\n return;\n }\n }\n\n\n switch(mode){\n case 'Qty': {//Quantity\n if(this.lastMode==mode){\n let quantity = this.currentItem.Quantity.toString();\n if(this.lastButton=='.'){\n console.log(\"adding after (.)\");\n \n this.currentItem.Quantity = Number(quantity.concat(\".\"+button));\n console.log(\"number conversion\",Number(quantity.concat(\".\"+button)));\n \n }\n else if(this.currentItem.Quantity {\n item.TotalPrice = item.UnitCost * item.Quantity;\n totalItemPrices += item.TotalPrice;\n\n totalItemDiscounts += item.DiscountValue*item.TotalPrice/100;\n item.NetPrice = item.TotalPrice - (item.DiscountValue*item.TotalPrice/100);\n totalItemNetPrices += item.NetPrice;\n\n item.AddedValueTax = item.NetPrice * 0.14;\n totalItemTaxes += Number(item.AddedValueTax.toFixed(2));\n\n item.GrossPrice = item.NetPrice + item.AddedValueTax;\n totalItemGrossPrices += item.GrossPrice;\n });\n \n\n //let finalDiscountValue = this.mainForm.getRawValue().DiscountValue;\n //let finalDiscountIsRate = this.mainForm.getRawValue().DiscountIsRate;\n //let finalCashierOrderDiscount = finalDiscountIsRate?finalDiscountValue*totalItemGrossPrices/100:finalDiscountValue;\n //totalAfterCashierOrderDiscount = totalItemGrossPrices - finalCashierOrderDiscount;\n \n this.currentOrder.ItemTotalPrices = totalItemPrices;\n this.currentOrder.ItemTotalDiscounts = totalItemDiscounts;\n this.currentOrder.ItemTotalNetPrices = totalItemNetPrices;\n this.currentOrder.ItemTotalTaxes = totalItemTaxes;\n this.currentOrder.ItemTotalGrossPrices = totalItemGrossPrices;\n this.currentOrder.TotalValue = totalItemGrossPrices;\n \n //this.currentTotalAfterCashierOrderDiscount = totalAfterCashierOrderDiscount;\n \n return totalCashierOrderValue;\n}\n\nlastOrderCode=0;\nrefund(){\n this.currentOrder.IsRefund = true;\n this.addOrder();\n}\naddOrder(){\n if(this.currentOrder.IsRefund){\n this.currentOrder.Items.forEach(item => {\n item.UnitCost = -item.UnitCost;\n });\n }\n if(this.currentOrder.Status=='In-Delivery'){\n this.currentSession.HasOrdersInDelivery = true;\n }\n this.calculateTotalCashierOrderValue();\n //let nextOrderCode = this.configPoSService.getNextCode(this.configPoS.StartingCodeOrders, this.cashierOrderList);\n this.currentOrder.Code = this.lastOrderCode;\n \n\n this.currentOrder.SessionId = this.currentSession.Id;\n this.currentOrder.SessionCode = this.currentSession.Code;\n this.currentOrder.CashRegisterId = this.currentSession.CashRegisterId;\n this.currentOrder.CashRegisterCode = this.currentSession.CashRegisterCode;\n let paymentMethod = this.paymentMethodList.find(x=>x.Id = this.currentOrder.PaymentMethodId);\n this.currentOrder.PaymentMethodAr = paymentMethod.NameAr;\n this.currentOrder.PaymentMethodEn = paymentMethod.NameEn;\n this.currentOrder.Note = this.tempOrderNote;\n this.currentOrder.PaidAmount = this.tempPaidAmount;\n this.currentOrder.ChangeGiven = this.tempChangeGiven;\n\n this.currentOrder.ClientId = this.currentOrder.ClientId>0?this.currentOrder.ClientId:this.configPoS.DefaultClientId;\n this.currentOrder.CashierId = this.currentSession.CashierId;\n this.currentOrder.CashRegisterBranchId = this.currentSession.CashRegisterBranchId;\n this.currentOrder.CounterCashBeforeCheckout = this.currentSession.LeaveCash;\n this.currentOrder.CounterCashAfterCheckout = \n this.currentSession.LeaveCash + this.currentOrder.PaidAmount - this.currentOrder.ChangeGiven;\n\n this.cashierOrderService.insertWithItems(this.currentOrder).subscribe(result => {\n if (result === true || result > 0) {\n this.printOrder = this.currentOrder;\n\n //this.tableEngine.loadData();\n this.currentSession.Orders = this.currentSession.Orders.concat(this.currentOrder);\n this.calculateSessionTotal();\n\n this.tempPaidAmount = 0;\n this.tempChangeGiven = 0;\n\n let id = this.currentOrder.Id;\n this.currentOrder = new CashierOrderModel({Id:id+1});\n this.lastButton = '';\n this.lastMode = '';\n this.currentMode = 'Qty';\n //this.lastOrderCode += 1;\n\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAddedOrder\"));\n\n this.orderModal.hide();\n //this.refundModal.hide();\n\n\n this.updateSession();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAddingOrder\"));\n }\n })\n}\n\ncalculateSessionTotal(){\n this.currentSession.HasOrdersInDelivery = false;\n this.currentSession.LeaveCash = 0;\n this.currentSession.SessionTotal = 0;\n this.currentSession.OrderCount = 0;\n this.currentSession.RefundCount = 0;\n this.currentSession.Orders.forEach(order => {\n if(order.Status=='Complete'){\n this.currentSession.LeaveCash += order.TotalValue;\n this.currentSession.SessionTotal += order.TotalValue;\n this.currentSession.OrderCount += order.IsRefund?0:1;\n this.currentSession.RefundCount += order.IsRefund?1:0;\n }\n if(order.Status=='In-Delivery'){\n this.currentSession.HasOrdersInDelivery = true;\n }\n });\n}\nendingSession: boolean = false;\ntempSessionEndNote='';\ncloseEndSessionModal(){\n this.endingSession = false;\n this.endSessionModal.hide();\n}\n\nendSession(){\n this.printOrder = new CashierOrderModel();\n this.endingSession = true;\n this.updateSession();\n}\n\nupdateSession() {\n\n this.currentAction = 'loading';\n \n let tempOrderList: CashierOrderModel[] = [];\n let tempOrder: CashierOrderModel;\n for (let index = 0; index < this.currentSession.Orders.length; index++) {\n tempOrder = new CashierOrderItemModel();\n tempOrder = this.currentSession.Orders[index];\n tempOrder.Id = this.debugMode ? this.currentSession.Orders[index].Id : 0;\n this.currentSession.HasOrdersInDelivery = (tempOrder.Status=='In-Delivery')?true:this.currentSession.HasOrdersInDelivery;\n tempOrderList.push(tempOrder);\n }\n\n //let lastId = this.tableEngine.ogData.length>0?this.tableEngine.ogData[this.tableEngine.ogData.length - 1].Id:0;\n\n //this.modelObject = new CashierSessionModel();\n \n //this.currentSession.Id = this.debugMode ? lastId + 1 : 0;\n \n //this.currentSession.Code = this.lastSessionCode + 1;\n console.log(this.lastSessionCode);\n this.currentSession.Orders = tempOrderList;\n \n \n this.calculateSessionTotal();\n\n let tempLeaveCash = this.currentSession.LeaveCash;\n if(this.endingSession){\n this.currentSession.LeaveCash = this.tempSessionEndCash.BillTotal;\n this.currentSession.LeaveBill025 = this.tempSessionEndCash.Bill025;\n this.currentSession.LeaveBill05 = this.tempSessionEndCash.Bill05;\n this.currentSession.LeaveBill1 = this.tempSessionEndCash.Bill1;\n this.currentSession.LeaveBill5 = this.tempSessionEndCash.Bill5;\n this.currentSession.LeaveBill10 = this.tempSessionEndCash.Bill10;\n this.currentSession.LeaveBill20 = this.tempSessionEndCash.Bill20;\n this.currentSession.LeaveBill50 = this.tempSessionEndCash.Bill50;\n this.currentSession.LeaveBill100 = this.tempSessionEndCash.Bill100;\n this.currentSession.LeaveBill200 = this.tempSessionEndCash.Bill200;\n \n let timezoneOffset = (new Date()).getTimezoneOffset();\n let nowUTC = new Date()\n nowUTC = new Date(nowUTC.setTime(nowUTC.getTime() - (timezoneOffset * 60 * 1000)));\n this.currentSession.LeaveNote = this.tempSessionEndNote;\n this.currentSession.EndTime = nowUTC;\n this.currentSession.Active = !this.endingSession;\n }\n else{\n this.currentSession.LeaveCash = 0;\n }\n\n this.executeUpdateSession();\n this.currentSession.LeaveCash = tempLeaveCash;\n }\n\n executeUpdateSession() {\n this.sessionService.update(this.currentSession).subscribe(result => {\n if (result === true) {\n //this.tableEngine.loadData();\n //NEW\n this.sessionService.getByIdWithOrders(this.currentSession.Id).subscribe(newResult => {\n if (newResult === true || newResult.Id > 0) {\n this.currentSession = newResult;\n if(this.printOrder.Id>0){\n console.log(this.currentSession.Orders);\n console.log(this.printOrder);\n \n this.printOrder = this.currentSession.Orders[this.currentSession.Orders.length-1];\n console.log(this.printOrder);\n if(!this.tableView && !this.endingSession){\n this.showModal(this.printModal, '');\n }\n }\n this.currentAction = '';\n //this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyUpdatedCashierSession\"));\n if(this.endingSession){\n this.goBack();\n this._router.navigate(['app/aio/restaurant']);\n }\n else{\n this.endSessionModal.hide();\n this.orderStatusModal.hide();\n }\n } \n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedLoadingUpdate\"));\n this.currentAction = '';\n }\n }\n );\n }\n else {\n this.endingSession = false;\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedUpdate\"));\n this.currentAction = '';\n }\n })\n }\n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n\n prevAction = '';\n configPoS: ConfigPoSModel = new ConfigPoSModel();\n\n loadServices() {\n this.currentAction = 'loading';\n\n this.clientService.getAll().subscribe(\n clientData => {\n this.clientList = clientData;\n\n this.categoryService.getAll().subscribe(\n categoryData => {\n this.categoryList = categoryData;\n this.activeCategories = this.activeCategories.concat([...categoryData]);\n console.log(this.activeCategories);\n \n\n this.itemService.getAll().subscribe(\n itemData => {\n this.itemList = itemData;\n // this.activeItems = [...itemData];\n\n this.paymentMethodService.getAll().subscribe(\n paymentMethodData => {\n this.paymentMethodList = paymentMethodData;\n console.log('this.paymentMethodList',this.paymentMethodList)\n this.configPoSService.getFirst().subscribe(\n configPoSData => {\n this.configPoS = configPoSData;\n this.lastSessionCode = this.configPoS.StartingCodeSessions;\n this.lastOrderCode = this.configPoS.StartingCodeOrders;\n \n this.tableEngine.loadData();\n if(this.currentSession.Orders.length>0){\n this.orderStatusReminderModal.config = new ModalOptions();\n this.showModal(this.orderStatusReminderModal, 'Reminder');\n }\n\n this.tempClientId = this.configPoS.DefaultClientId;\n }\n )\n }\n )\n }\n )\n }\n )\n }\n )\n\n\n }\n \n categoryList: RestaurantCategoryModel[] = [];\n itemList: RestaurantMenuItemModel[] = [];\n clientList: ClientModel[] = [];\n paymentMethodList: PaymentMethodModel [] = [];\n \n getItemById(Id: any): any {\n return this.itemList.find(i => i.Id === Id);\n }\n getCategoryById(Id: any): any {\n return this.categoryList.find(i => i.Id === Id);\n }\n getClientById(Id: any): any {\n return this.clientList.find(i => i.Id === Id);\n }\n\n currentTotalItemPrices = 0;\n currentTotalItemDiscounts = 0;\n currentTotalItemNetPrices = 0;\n currentTotalItemTaxes = 0;\n currentTotalItemGrossPrices = 0;\n currentTotalAfterCashierOrderDiscount = 0;\n currentTotalCashierOrderValue = 0;\n\n goBack(){\n console.log(\"back\");\n \n this.modelObject = {};\n this.currentSession = new CashierSessionModel();\n this.sessionService.currentSession = new CashierSessionModel();\n this.currentOrder = new CashierOrderModel();\n\n this.currentTotalItemPrices = 0;\n this.currentTotalItemNetPrices = 0;\n this.currentTotalItemDiscounts = 0;\n this.currentTotalItemGrossPrices = 0;\n this.currentTotalItemTaxes = 0;\n this.currentTotalAfterCashierOrderDiscount = 0;\n this.currentTotalCashierOrderValue = 0;\n\n this.currentAction = \"\";\n this.tableView = true;\n\n \n console.log(this.modelObject);\n console.log(this.lastSessionCode);\n }\n\n tempNote = '';\n tempOrderNote = '';\n tempOrderStatus = '';\n setOrderItemNote(){\n this.currentItem.Note = this.tempNote;\n this.itemNoteModal.hide();\n }\n\n setOrderStatus(){\n let oldStatus = this.viewedOrder.Status;\n this.viewedOrder.Status = this.tempOrderStatus;\n this.calculateSessionTotal();\n //this.orderStatusModal.hide();\n this.viewedOrder.Status = oldStatus;\n }\n\n applyOrderStatusUpdate(){\n this.viewedOrder.Status = this.tempOrderStatus;\n this.calculateSessionTotal();\n this.cashierOrderService.update(this.viewedOrder).subscribe(result => {\n if (result === true || result > 0) {\n //this.tableEngine.loadData();\n //this.currentSession.Orders = this.currentSession.Orders.concat(this.currentOrder);\n this.calculateSessionTotal();\n\n this.tempPaidAmount = 0;\n this.tempChangeGiven = 0;\n\n let id = this.currentOrder.Id;\n this.currentOrder = new CashierOrderModel({Id:id+1});\n this.lastButton = '';\n this.lastMode = '';\n this.currentMode = 'Qty';\n //this.lastOrderCode += 1;\n\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyUpdatedOrder\"));\n\n this.orderModal.hide();\n //this.refundModal.hide();\n\n this.updateSession();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedUpdatingOrder\"));\n }\n })\n }\n tempClientId = null;\n setOrderClient(){\n console.log(this.tempClientId);\n if(this.tempClientId>0){\n let client = this.getClientById(this.tempClientId);\n this.currentOrder.ClientId = client.Id;\n this.currentOrder.ClientNameAr = client.NameAr;\n this.currentOrder.ClientNameEn = client.NameEn;\n }\n else{\n this.currentOrder.ClientId = 0;\n }\n this.clientModal.hide();\n }\n\n tempSessionEndCash = \n { Amount:0, \n Bill05:0, Bill025:0, Bill1:0, Bill5:0, Bill10:0, Bill20:0, Bill50:0, Bill100:0, Bill200:0,\n BillTotal:0};\n\n updateBills(){\n this.tempSessionEndCash.Bill05 = this.tempSessionEndCash.Bill05>0?this.tempSessionEndCash.Bill05:0;\n this.tempSessionEndCash.Bill025 = this.tempSessionEndCash.Bill025>0?this.tempSessionEndCash.Bill025:0;\n this.tempSessionEndCash.Bill1 = this.tempSessionEndCash.Bill1>0?this.tempSessionEndCash.Bill1:0;\n this.tempSessionEndCash.Bill5 = this.tempSessionEndCash.Bill5>0?this.tempSessionEndCash.Bill5:0;\n this.tempSessionEndCash.Bill10 = this.tempSessionEndCash.Bill10>0?this.tempSessionEndCash.Bill10:0;\n this.tempSessionEndCash.Bill20 = this.tempSessionEndCash.Bill20>0?this.tempSessionEndCash.Bill20:0;\n this.tempSessionEndCash.Bill50 = this.tempSessionEndCash.Bill50>0?this.tempSessionEndCash.Bill50:0;\n this.tempSessionEndCash.Bill100 = this.tempSessionEndCash.Bill100>0?this.tempSessionEndCash.Bill100:0;\n this.tempSessionEndCash.Bill200 = this.tempSessionEndCash.Bill200>0?this.tempSessionEndCash.Bill200:0;\n\n this.tempSessionEndCash.BillTotal = \n this.tempSessionEndCash.Bill05 * 0.5 + this.tempSessionEndCash.Bill025 * 0.25 + \n this.tempSessionEndCash.Bill1 + this.tempSessionEndCash.Bill5 * 5 +\n this.tempSessionEndCash.Bill10 * 10 + this.tempSessionEndCash.Bill20 * 20 + \n this.tempSessionEndCash.Bill50 * 50 + this.tempSessionEndCash.Bill100 * 100 +\n this.tempSessionEndCash.Bill200 * 200;\n \n console.log(\"actual end cash\", this.tempSessionEndCash.BillTotal);\n \n }\n\n tempPaidAmount = 0;\n tempChangeGiven = 0;\n checkValue(value:any, action:any){\n value = value>0?value:0;\n if(action=='CheckEndSession'){\n this.tempChangeGiven = this.tempPaidAmount-this.currentOrder.ItemTotalGrossPrices;\n }\n }\n\n openForExport = false;\n exportTable(){\n this.openForExport = true;\n // TableUtil.exportToPdf(\"ExampleTable\");\n var data = document.getElementById('contentToConvert');\n data.style.display = 'inline-block';\n // html2canvas.useCORS = true;\n html2canvas(data,{}).then(canvas => {\n // Few necessary setting options\n var imgWidth = 208;\n var pageHeight = 295;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n var heightLeft = imgHeight;\n const contentDataURL = canvas.toDataURL('image/png')\n let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF\n var position = 0;\n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n pdf.save('new-file.pdf'); // Generated PDF\n data.style.display = 'none';\n \n this.printModal.hide();\n });\n }\n categoryId = 0;\nchangeCategory(){\n if(this.categoryId==0){\n this.activeItems = [...this.itemList]; \n }\n else{\n let categoryItems: RestaurantMenuItemModel[] = this.itemList.filter(x=>x.CategoryId==this.categoryId);\n this.activeItems = [...categoryItems];\n }\n}\nactiveItems : RestaurantMenuItemModel[] = [];\nactiveCategories : RestaurantCategoryModel[] = [{Id:0,Name:'All'}];\n // exportTable(){\n // var data = document.getElementById('printingTest');\n // data.style.display = 'inline-block';\n // html2canvas(data,{}).then(canvas => {\n // var imgWidth = 208;\n // var pageHeight = 295;\n // var imgHeight = canvas.height * imgWidth / canvas.width;\n // var heightLeft = imgHeight;\n // const contentDataURL = canvas.toDataURL('image/png')\n // let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF\n // var position = 0;\n // pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n // pdf.save('new-file.pdf'); // Generated PDF\n // data.style.display = 'none';\n \n // });\n // }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n //\n ///////////////////////////////////////////////////////\n // itemsPerPageChange(perPage: number): void {\n // this.tableEngine.paginateData(perPage, 1)\n // }\n}\n","\n
    \n
    \n
    \n
    \n

    \n {{\"CashierSessionOrders\" | translate}}

    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{\"CashierOrderCode\" | translate}}{{\"CashierOrderClientName\" | translate}}{{\"CashierOrderDate\" | translate}}{{\"CashierOrderItems\" | translate}}{{\"CashierOrderIsRefund\" | translate}}{{\"CashierOrderStatus\" | translate}}{{\"CashierOrderItemTotalNetPrices\" | translate}}{{\"CashierOrderItemTotalTaxes\" | translate}}{{\"CashierOrderTotalValue\" | translate}}{{\"CashierOrderPaymentMethod\" | translate}}{{\"CashierOrderNote\" | translate}}
    {{\"CashierSessionOrdersEmpty\"|translate}}
    \n {{obj.Id>0?(lang==='ar-EG'?obj.Code:obj.Code):\"None\"|translate}}\n \n {{obj.ClientId>0?(lang==='ar-EG'?obj.ClientNameAr:obj.ClientNameEn):\"NoClient\"|translate}}\n \n {{obj.ModifiedDate | date:\"dd/MM/yyyy - HH:mm:ss\"}}\n \n 0)\"\n id=\"showOrderItems\" class=\"btn btn-secondary\"\n (click)=\"showOrderItemsModal(obj)\"\n style=\"font-weight: bold; width: 65px; height: 25px; font-size: 12px; text-align: center; padding: 2px;\">\n {{\"Show\" | translate}}\n \n {{obj.IsRefund?(\"CashierOrderIsRefundTrue\"|translate):(\"CashierOrderIsRefundFalse\"|translate)}}\n \n {{obj.Status | translate}}\n \n {{obj.ItemTotalNetPrices.toFixed(2)}}\n \n {{obj.ItemTotalTaxes.toFixed(2)}}\n \n {{obj.TotalValue.toFixed(2)}}\n \n {{obj.PaymentMethodId>0?(lang==='ar-EG'?obj.PaymentMethodAr:obj.PaymentMethodEn):\"None\"|translate}}\n \n {{obj.Note}}\n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n

    \n {{\"CashierOrderItems\" | translate}}

    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{\"CashierOrderItemName\" | translate}}{{\"CashierOrderItemUnitCost\" | translate}}{{\"CashierOrderItemQuantity\" | translate}}{{\"CashierOrderItemTotalPrice\" | translate}}{{\"CashierOrderItemDiscountValue\" | translate}}{{\"CashierOrderItemNetPrice\" | translate}}{{\"CashierOrderItemTotalTaxValues\" | translate}}{{\"CashierOrderItemGrossPrice\" | translate}}{{\"CashierOrderItemNote\" | translate}}
    \n {{obj.ItemId>0?(lang==='ar-EG'?obj.ItemNameAr:obj.ItemNameEn):\"None\"|translate}}\n \n {{obj.UnitCost.toFixed(2)}}\n \n {{obj.Quantity.toFixed(2)}}\n \n {{obj.TotalPrice.toFixed(2)}}\n \n {{obj.DiscountValue.toFixed(2)}}{{obj.DiscountIsRate?'%':''}}\n \n {{obj.NetPrice.toFixed(2)}}\n \n {{obj.AddedValueTax.toFixed(2)}}\n \n {{obj.GrossPrice.toFixed(2)}}\n \n {{obj.Note}}\n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n

    \n {{\"CashierOrderItemInfo\" | translate}}

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

    \n {{(currentOrder.IsRefund?\"CashierRefundSummary\":\"CashierOrderSummary\") | translate}}

    \n
    \n
    \n \n
    \n\n
    \n\n
    \n \n \n \n
    \n
    \n
    \n \n \n \n
    \n
    \n
    \n \n \n \n
    \n\n
    \n\n
    \n\n
    \n\n
    \n \n \n \n \n
    \n
    \n
    \n \n \n \n \n
    \n\n
    \n\n
    \n\n
    \n\n
    \n \n \n \n {{lang==='ar-EG'?paymentMethod.NameAr:paymentMethod.NameEn}}\n \n \n
    \n
    \n
    \n \n \n \n {{\"CashierOrderComplete\"|translate}}\n \n \n {{\"CashierOrderDelivery\"|translate}}\n \n \n
    \n\n
    \n\n
    \n\n
    \n \n \n \n
    \n\n
    \n
    \n \n \n
    \n \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n

    \n {{\"CashierOrderSummary\" | translate}}

    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{\"CashierOrderItemName\" | translate}}{{\"CashierOrderItemUnitCost\" | translate}}{{\"CashierOrderItemQuantity\" | translate}}{{\"CashierOrderItemTotalPrice\" | translate}}{{\"CashierOrderItemDiscountValue\" | translate}}{{\"CashierOrderItemNetPrice\" | translate}}{{\"CashierOrderItemTotalTaxValues\" | translate}}{{\"CashierOrderItemGrossPrice\" | translate}}{{\"CashierOrderItemNote\" | translate}}
    \n {{obj.ItemId>0?(lang==='ar-EG'?obj.ItemNameAr:obj.ItemNameEn):\"None\"|translate}}\n \n {{obj.UnitCost.toFixed(2)}}\n \n {{obj.Quantity.toFixed(2)}}\n \n {{obj.TotalPrice.toFixed(2)}}\n \n {{obj.DiscountValue.toFixed(2)}}{{obj.DiscountIsRate?'%':''}}\n \n {{obj.NetPrice.toFixed(2)}}\n \n {{obj.AddedValueTax.toFixed(2)}}\n \n {{obj.GrossPrice.toFixed(2)}}\n \n {{obj.Note}}\n
    \n \n
    \n \n \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n

    \n {{\"CashierOrderItemNote\" | translate}}

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

    \n {{\"CashierEndSession\" | translate}}

    \n
    \n
    \n \n
    \n
    \n \n \n \n
    \n\n
    \n
    \n \n \n
    \n
    \n\n
    \n \n \n \n
    \n
    \n
    \n \n \n \n
    \n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n\n
    \n \n \n \n
    \n
    \n
    \n \n \n \n
    \n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n\n
    \n \n \n \n
    \n
    \n
    \n \n \n \n
    \n
    \n
    \n \n \n \n
    \n
    \n\n
    \n\n
    \n \n \n \n \n
    \n
    \n \n \n \n
    \n
    \n
    \n {{\"CashierSessionHasOrdersInDelivery\" | translate}}
    \n
    \n \n \n
    \n
    \n \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n

    \n {{\"CashierOrderClient\" | translate}}

    \n
    \n
    \n
    \n \n \n \n {{lang==='ar-EG'?client.NameAr:client.NameEn}}\n \n \n \n
    \n \n \n
    \n \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n

    \n {{\"CashierOrderStatus\" | translate}}

    \n
    \n
    \n
    \n \n \n \n {{\"CashierOrderComplete\"|translate}}\n \n \n {{\"CashierOrderDelivery\"|translate}}\n \n \n {{\"CashierOrderCancelled\"|translate}}\n \n \n \n
    \n \n \n
    \n \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n

    \n {{\"CashierOrderStatusReminder\" | translate}}

    \n
    \n
    \n
    \n \n
    \n \n
    \n \n
    \n
    \n
    \n\n
    \n
    \n
    \n {{\"CashierName\" | translate}} : {{currentSession.CashierId>0?(lang==='ar-EG'?currentSession.CashierNameAr:currentSession.CashierNameEn):\"CashierNameError\"|translate}}\n
    \n
    \n
    \n \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n \n\n \n \n \n \n \n \n \n \n \n \n
    \n\n
    \n
    \n\n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n\n
    \n
    \n
    \n
    \n
    \n\n \n \n \n \n \n \n \n
    \n\n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n {{\"CashierSessionOrders\"|translate}}
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{\"CashierOrderCode\" | translate}}{{\"CashierOrderClientName\" | translate}}{{\"CashierOrderDate\" | translate}}{{\"CashierOrderItems\" | translate}}{{\"CashierOrderIsRefund\" | translate}}{{\"CashierOrderStatus\" | translate}}{{\"CashierOrderItemTotalNetPrices\" | translate}}{{\"CashierOrderItemTotalTaxes\" | translate}}{{\"CashierOrderTotalValue\" | translate}}{{\"CashierOrderPaymentMethod\" | translate}}{{\"CashierOrderNote\" | translate}}
    {{\"CashierSessionOrdersEmpty\"|translate}}
    \n {{obj.Id>0?(lang==='ar-EG'?obj.Code:obj.Code):\"None\"|translate}}\n \n {{obj.ClientId>0?(lang==='ar-EG'?obj.ClientNameAr:obj.ClientNameEn):\"NoClient\"|translate}}\n \n {{obj.ModifiedDate | date:\"dd/MM/yyyy - HH:mm:ss\"}}\n \n 0)\"\n id=\"showOrderItems\" class=\"btn btn-secondary\"\n (click)=\"showOrderItemsModal(obj)\"\n style=\"font-weight: bold; width: 65px; height: 25px; font-size: 12px; text-align: center; padding: 2px;\">\n {{\"Show\" | translate}}\n \n {{obj.IsRefund?(\"CashierOrderIsRefundTrue\"|translate):(\"CashierOrderIsRefundFalse\"|translate)}}\n \n \n \n {{obj.Status | translate}}\n \n {{obj.ItemTotalNetPrices.toFixed(2)}}\n \n {{obj.ItemTotalTaxes.toFixed(2)}}\n \n {{obj.TotalValue.toFixed(2)}}\n \n {{obj.PaymentMethodId>0?(lang==='ar-EG'?obj.PaymentMethodAr:obj.PaymentMethodEn):\"None\"|translate}}\n \n {{obj.Note}}\n
    \n \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n \n
     
    \n \n \n
     
    \n \n
    \n
    \n
    \n
    \n\n
    \n \n
    \n
    \n\n
    \n
    \n
    \n
    \n \n \n {{category.Name}}\n \n \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{\"CashierItemImage\" | translate}}{{\"CashierItemName\" | translate}}{{\"CashierItemPrice\" | translate}}{{\"CashierItemGrossPrice\" | translate}}
    \n \n \n {{lang==='ar-EG'?obj.Name:obj.Name}}\n \n {{obj.Cost.toFixed(2)}}\n \n {{(obj.Cost*0.14+obj.Cost).toFixed(2)}}\n
    \n
    \n
    \n
    \n\n
    \n \n \n
    \n
    \n
    \n {{\"CashierOrderItemInfo\"|translate}}\n
    \n
    \n {{\"CashierOrderRefund\"|translate}}\n
    \n
    \n {{\"CashierOrderItemNote\"|translate}}\n
    \n
    \n
    \n
    \n
    \n
    {{\"CashierOrderClientName\"|translate}}
    \n\n
    \n \n
    \n\n \n
    \n
    \n {{\"CashierOrderProceed\"|translate}}\n
    \n
    \n\n
    \n \n
    \n
    {{'CashierQty'|translate}}
    \n
    7
    \n
    8
    \n
    9
    \n
    \n
    \n
    {{'CashierPrice'|translate}}
    \n
    4
    \n
    5
    \n
    6
    \n
    \n
    \n
    {{'CashierDsc'|translate}}
    \n
    1
    \n
    2
    \n
    3
    \n
    \n
    \n
    حذف
    \n
    +/-
    \n
    0
    \n
    .
    \n
    \n
    \n
    \n
    \n \n
    \n\n
    \n
    \n
    \n\n\n\n\n","export class ConfigPoSModel {\r\n Id?: number;\r\n Code?: number;\r\n DefaultClientId?: number;\r\n DefaultTemplateId?: number;\r\n DefaultPaymentMethodId?: number;\r\n EnableDiscountLimit?: boolean;\r\n DiscountLimit?: number;\r\n EnableAutoCodes?: boolean;\r\n StartingCode?: number;\r\n EnableAutoCodesForCashRegisiters?: boolean;\r\n StartingCodeCashRegisiters?: number;\r\n EnableAutoCodesForCashiers?: boolean;\r\n StartingCodeCashiers?: number;\r\n EnableAutoCodesForWorkShifts?: boolean;\r\n StartingCodeWorkShifts?: number;\r\n StartingCodeOrders?: number;\r\n StartingCodeSessions?: number;\r\n EnableAutoCodesForMenuItems?: boolean;\r\n StartingCodeMenuItems?: number;\r\n EnableAutoCodesForCategories?: boolean;\r\n StartingCodeCategories?: number;\r\n ActivePaymentMethods?: string;\r\n ActiveItems?: string;\r\n EnableDigitButtons?: boolean;\r\n EnableItemImages?: boolean;\r\n EnableAccountingPerInvoice?: boolean;\r\n EnableAddingItemsViaSerial?: boolean;\r\n EnableDelayedPayment?: boolean;\r\n EnableAutoSettlement?: boolean;\r\n DefaultEarningsAccountId?: number;\r\n DefaultLossesAccountId?: number;\r\n constructor(obj?: ConfigPoSModel) {\r\n obj = obj ? obj : {};\r\n this.Id = obj.Id ? obj.Id : 0;\r\n this.Code = obj.Code ? obj.Code : 0;\r\n this.DefaultClientId = obj.DefaultClientId ? obj.DefaultClientId : 0;\r\n this.DefaultTemplateId = obj.DefaultTemplateId ? obj.DefaultTemplateId : 0;\r\n this.DefaultPaymentMethodId = obj.DefaultPaymentMethodId ? obj.DefaultPaymentMethodId : 0;\r\n this.EnableDiscountLimit = obj.EnableDiscountLimit ? obj.EnableDiscountLimit : false;\r\n this.DiscountLimit = obj.DiscountLimit ? obj.DiscountLimit : 0;\r\n this.EnableAutoCodesForCashRegisiters = obj.EnableAutoCodesForCashRegisiters ? obj.EnableAutoCodesForCashRegisiters : false;\r\n this.StartingCodeCashRegisiters = obj.StartingCodeCashRegisiters ? obj.StartingCodeCashRegisiters : 0;\r\n this.EnableAutoCodesForCashiers = obj.EnableAutoCodesForCashiers ? obj.EnableAutoCodesForCashiers : false;\r\n this.StartingCodeCashiers = obj.StartingCodeCashiers ? obj.StartingCodeCashiers : 0;\r\n this.EnableAutoCodesForWorkShifts = obj.EnableAutoCodesForWorkShifts ? obj.EnableAutoCodesForWorkShifts : false;\r\n this.StartingCodeWorkShifts = obj.StartingCodeWorkShifts ? obj.StartingCodeWorkShifts : 0;\r\n this.StartingCodeOrders = obj.StartingCodeOrders ? obj.StartingCodeOrders : 0;\r\n this.StartingCodeSessions = obj.StartingCodeSessions ? obj.StartingCodeSessions : 0;\r\n this.EnableAutoCodesForMenuItems = obj.EnableAutoCodesForMenuItems ? obj.EnableAutoCodesForMenuItems : false;\r\n this.StartingCodeMenuItems = obj.StartingCodeMenuItems ? obj.StartingCodeMenuItems : 0;\r\n this.EnableAutoCodesForCategories = obj.EnableAutoCodesForCategories ? obj.EnableAutoCodesForCategories : false;\r\n this.StartingCodeCategories = obj.StartingCodeCategories ? obj.StartingCodeCategories : 0;\r\n this.ActivePaymentMethods = obj.ActivePaymentMethods ? obj.ActivePaymentMethods : '';\r\n this.ActiveItems = obj.ActiveItems ? obj.ActiveItems : '';\r\n this.EnableDigitButtons = obj.EnableDigitButtons ? obj.EnableDigitButtons : false;\r\n this.EnableItemImages = obj.EnableItemImages ? obj.EnableItemImages : false;\r\n this.EnableAccountingPerInvoice = obj.EnableAccountingPerInvoice ? obj.EnableAccountingPerInvoice : false;\r\n this.EnableAddingItemsViaSerial = obj.EnableAddingItemsViaSerial ? obj.EnableAddingItemsViaSerial : false;\r\n this.EnableDelayedPayment = obj.EnableDelayedPayment ? obj.EnableDelayedPayment : false;\r\n this.EnableAutoSettlement = obj.EnableAutoSettlement ? obj.EnableAutoSettlement : false;\r\n this.DefaultEarningsAccountId = obj.DefaultEarningsAccountId ? obj.DefaultEarningsAccountId : 0;\r\n this.DefaultLossesAccountId = obj.DefaultLossesAccountId ? obj.DefaultLossesAccountId : 0;\r\n }\r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ConfigPoSModel } from \"./ConfigPoSModel\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConfigPoSService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n debugData: ConfigPoSModel [] = []\r\n // debugData: ConfigPoSModel [] = [\r\n // {\r\n // Id:1, Code:1001, DefaultClientId:0, DefaultTemplateId:0, DefaultPaymentMethodId:0, EnableDiscountLimit:false, \r\n // DiscountLimit:0, EnableAutoCodes:false, StartingCode:0, ActivePaymentMethods:'1,2', ActiveItems:'1,2', EnableDigitButtons:false, \r\n // EnableItemImages:false, EnableAccountingPerInvoice:false, EnableAddingItemsViaSerial:false, EnableDelayedPayment:false, \r\n // EnableAutoSettlement:false, DefaultEarningsAccountId:0, DefaultLossesAccountId:0,\r\n // }\r\n // ];\r\n debugMode: boolean = false;\r\n\r\n baseUrl = environment.baseApiUrl;\r\n // baseUrl = 'http://localhost:60289/';\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getFirst(): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}RestaurantsConfigPoS/GetFirst`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n update(payload: ConfigPoSModel): Observable {\r\n if(this.debugMode){\r\n this.debugData[this.debugData.findIndex(x=>x.Id==payload.Id)] = payload;\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}RestaurantsConfigPoS/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n checkCashierCode(code:number): Observable {\r\n // if(this.debugMode){\r\n // return of(this.debugData.find(x=>x.Code==code)?false:true)\r\n // }\r\n return this.http\r\n .get(`${this.baseUrl}RestaurantsConfigPoS/CheckCashierCode/${code}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n checkOrderCode(code:number): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}RestaurantsConfigPoS/CheckOrderCode/${code}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n checkSessionCode(code:number): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}RestaurantsConfigPoS/CheckSessionCode/${code}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n checkCashRegisterCode(code:number): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}RestaurantsConfigPoS/CheckCashRegisterCode/${code}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n checkWorkShiftCode(code:number): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}RestaurantsConfigPoS/CheckWorkShiftCode/${code}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n checkCategoryCode(code:number): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}RestaurantsConfigPoS/CheckCategoryCode/${code}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n checkMenuItemCode(code:number): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}RestaurantsConfigPoS/CheckMenuItemCode/${code}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n\r\n \r\n\r\n // getNextCode(startingCode:any, list:any) : number{\r\n // let code = startingCode;\r\n // for (let index = 0; index < list.length; index++) {\r\n // const element = list[index];\r\n // if(list.find(x=>x.Code==code)){\r\n // code += 1;\r\n // }\r\n // else{\r\n // return code;\r\n // }\r\n // }\r\n // return code;\r\n // }\r\n}\r\n","import { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { TableEngine } from '../../../invoices/TableEngine'\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from '../../app/aio/shared/side-popup/side-popup.component';\nimport { Observable, of, Subscription } from 'rxjs';\n\nimport { NgSelectComponent } from '@ng-select/ng-select';\n\nimport { DatePipe, formatDate } from '@angular/common';\n\n\nimport { ConfigPoSService } from \"./ConfigPoSService\";\nimport { ConfigPoSModel } from \"./ConfigPoSModel\";\nimport { ClientService } from '../../../invoices/clients/ClientService';\nimport { PaymentMethodService } from '../../purchases/purchase-orders/PaymentMethodService';\nimport { ClientModel } from '../../../invoices/clients/ClientModel';\nimport { Router } from '@angular/router';\nimport { ListPageHeaderComponent } from 'src/app/containers/pages/list-page-header/list-page-header.component';\nimport { RestaurantMenuItemService } from '../restaurant-menu-item/RestaurantMenuItemService';\n\n@Component({\n selector: 'app-config-pos-general',\n templateUrl: './config-pos-general.component.html',\n styleUrls: ['./config-pos-general.component.scss']\n})\nexport class RestaurantsConfigPosGeneralComponent {\n // ////////////////////////////////////////////////////////////////////////////\n // // VARYING :\n // // Modify per similar component.\n // ////////////////////////////////////////////////////////////////////////////\n\n //Enable debugMode to make API modules return static data from within the service class\n debugMode: boolean = false;\n\n constructor(private formBuilder: FormBuilder, private modelService: ConfigPoSService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private datePipe: DatePipe, private clientService: ClientService, private paymentMethodService: PaymentMethodService,\n private itemService: RestaurantMenuItemService, private _router: Router\n ) {\n }\n\n listHeader = new ListPageHeaderComponent();\n translationName: string = 'ConfigPoS'\n\n modelObject: ConfigPoSModel = new ConfigPoSModel();\n\n declare lang: any;\n ngOnInit(): void {\n if (this.debugMode) {\n this.enableDebugOnAllServices();\n }\n this.lang = localStorage.getItem('theme_lang');\n this.loadServices();\n }\n\n currentAction = '';\n\n clientList = [];\n paymentMethodList = [];\n itemList = [];\n loadServices() {\n this.currentAction = 'loading';\n \n\n this.clientService.getAll().subscribe(\n clientData => {\n this.clientList = clientData;\n\n this.itemService.getAll().subscribe(\n itemData => {\n this.itemList = itemData;\n \n this.paymentMethodService.getAll().subscribe(\n paymentMethodData => {\n this.paymentMethodList = paymentMethodData;\n this.loadModelObject();\n }\n )\n }\n )\n }\n )\n }\n\n loadModelObject(){\n this.currentAction = 'loading';\n this.modelService.getFirst().subscribe(\n config => {\n this.modelObject = config;\n this.mainForm = this.createForm(this.modelObject, this.formBuilder);\n this.currentAction = '';\n \n this.toggleInput(this.mainForm.getRawValue().EnableAutoCodesForCashiers, this.mainForm.get('StartingCodeCashiers'));\n this.toggleInput(this.mainForm.getRawValue().EnableAutoCodesForCashRegisiters, this.mainForm.get('StartingCodeCashRegisiters'));\n this.toggleInput(this.mainForm.getRawValue().EnableAutoCodesForWorkShifts, this.mainForm.get('StartingCodeWorkShifts'));\n }\n )\n }\n\n enableDebugOnAllServices() {\n //this.modelService.debugMode = true;\n // this.clientService.debugMode = true;\n // this.itemService.debugMode = true;\n // this.paymentMethodService.debugMode = true;\n }\n\n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n DefaultClientId: new FormControl(),\n //DefaultTemplateId: new FormControl(),\n DefaultPaymentMethodId: new FormControl(),\n //EnableDiscountLimit: new FormControl(),\n DiscountLimit: new FormControl(),\n EnableAutoCodesForCashRegisiters: new FormControl(),\n StartingCodeCashRegisiters: new FormControl(),\n EnableAutoCodesForCashiers: new FormControl(),\n StartingCodeCashiers: new FormControl(),\n EnableAutoCodesForWorkShifts: new FormControl(),\n StartingCodeWorkShifts: new FormControl(),\n StartingCodeOrders: new FormControl(),\n StartingCodeSessions: new FormControl(),\n //ActivePaymentMethods: new FormControl(),\n //ActiveItems: new FormControl(),\n //EnableDigitButtons: new FormControl(),\n //EnableItemImages: new FormControl(),\n //EnableAccountingPerInvoice: new FormControl(),\n //EnableAddingItemsViaSerial: new FormControl(),\n //EnableDelayedPayment: new FormControl(),\n //EnableAutoSettlement: new FormControl(),\n //DefaultEarningsAccountId: new FormControl(),\n //DefaultLossesAccountId: new FormControl(),\n });\n\n createForm(modelObject, formBuilder): FormGroup {\n \n return formBuilder.group({\n DefaultClientId: [modelObject.DefaultClientId, Validators.compose([Validators.required])],\n //DefaultTemplateId: [modelObject.DefaultTemplateId, Validators.compose([Validators.required])],\n DefaultPaymentMethodId: [modelObject.DefaultPaymentMethodId, Validators.compose([Validators.required])],\n //EnableDiscountLimit: [modelObject.EnableDiscountLimit, Validators.compose([Validators.required])],\n DiscountLimit: [modelObject.DiscountLimit, Validators.compose([Validators.required])],\n EnableAutoCodesForCashRegisiters: [modelObject.EnableAutoCodesForCashRegisiters, Validators.compose([Validators.required])],\n StartingCodeCashRegisiters: [modelObject.StartingCodeCashRegisiters, Validators.compose([Validators.required])],\n EnableAutoCodesForCashiers: [modelObject.EnableAutoCodesForCashiers, Validators.compose([Validators.required])],\n StartingCodeCashiers: [modelObject.StartingCodeCashiers, Validators.compose([Validators.required])],\n EnableAutoCodesForWorkShifts: [modelObject.EnableAutoCodesForWorkShifts, Validators.compose([Validators.required])],\n StartingCodeWorkShifts: [modelObject.StartingCodeWorkShifts, Validators.compose([Validators.required])],\n StartingCodeOrders: [modelObject.StartingCodeOrders, Validators.compose([Validators.required])],\n StartingCodeSessions: [modelObject.StartingCodeSessions, Validators.compose([Validators.required])],\n //ActivePaymentMethods: [modelObject.ActivePaymentMethods, Validators.compose([Validators.required])],\n //ActiveItems: [modelObject.ActiveItems, Validators.compose([Validators.required])],\n //EnableDigitButtons: [modelObject.EnableDigitButtons, Validators.compose([Validators.required])],\n //EnableItemImages: [modelObject.EnableItemImages, Validators.compose([Validators.required])],\n //EnableAccountingPerInvoice: [modelObject.EnableAccountingPerInvoice, Validators.compose([Validators.required])],\n //EnableAddingItemsViaSerial: [modelObject.EnableAddingItemsViaSerial, Validators.compose([Validators.required])],\n //EnableDelayedPayment: [modelObject.EnableDelayedPayment, Validators.compose([Validators.required])],\n //EnableAutoSettlement: [modelObject.EnableAutoSettlement, Validators.compose([Validators.required])],\n //DefaultEarningsAccountId: [modelObject.DefaultEarningsAccountId],\n //DefaultLossesAccountId: [modelObject.DefaultLossesAccountId],\n });\n }\n\n editObject() {\n this.currentAction = 'loading';\n let tempObj = new ConfigPoSModel();\n tempObj.Id =this.modelObject.Id;\n tempObj.Code = this.modelObject.Code;\n tempObj.DefaultClientId = this.mainForm.getRawValue().DefaultClientId;\n tempObj.DefaultPaymentMethodId = this.mainForm.getRawValue().DefaultPaymentMethodId;\n tempObj.DiscountLimit = this.mainForm.getRawValue().DiscountLimit;\n tempObj.EnableAutoCodesForCashRegisiters = this.mainForm.getRawValue().EnableAutoCodesForCashRegisiters;\n tempObj.StartingCodeCashRegisiters = this.mainForm.getRawValue().StartingCodeCashRegisiters;\n tempObj.EnableAutoCodesForCashiers = this.mainForm.getRawValue().EnableAutoCodesForCashiers;\n tempObj.StartingCodeCashiers = this.mainForm.getRawValue().StartingCodeCashiers;\n tempObj.EnableAutoCodesForWorkShifts = this.mainForm.getRawValue().EnableAutoCodesForWorkShifts;\n tempObj.StartingCodeWorkShifts = this.mainForm.getRawValue().StartingCodeWorkShifts;\n tempObj.StartingCodeOrders = this.mainForm.getRawValue().StartingCodeOrders;\n tempObj.StartingCodeSessions = this.mainForm.getRawValue().StartingCodeSessions;\n this.executeEditObject(tempObj);\n console.log(\"saved object\", tempObj);\n }\n\n executeEditObject(Object) {\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.currentAction = '';\n this.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n this.goBack();\n }\n else {\n this.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n toggleInput(state:any, input:any){\n if(state == false){\n input.disable();\n }\n else{\n input.enable();\n }\n console.log(state);\n console.log(input);\n }\n\n setDiscountLimit(){\n let value = this.mainForm.getRawValue().DiscountLimit > 100 ? 100 : this.mainForm.getRawValue().DiscountLimit;\n this.mainForm.controls.DiscountLimit.setValue(value);\n }\n\n toastSuccess(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Success, { timeOut: 3000, showProgressBar: true });\n }\n toastError(toastHeader: string, toastBody: string): void {\n this.notifications.create(toastHeader, toastBody,\n NotificationType.Error, { timeOut: 3000, showProgressBar: true });\n }\n\n goBack(){\n this.modelObject = {};\n this.currentAction = \"\";\n this._router.navigate(['app/aio/Points-Of-Sale/Config']); \n }\n}\n","
    \n
    \n
    \n\n
    \n \n \n
    \n
    \n\n
    \n\n
    \n \n \n \n {{lang==='ar-EG'?client.NameAr:client.NameEn}}\n \n
    \n\n
    \n\n
    \n \n \n \n {{lang==='ar-EG'?paymentMethod.NameAr:paymentMethod.NameEn}}\n \n
    \n\n
    \n\n
    \n\n
    \n\n
    \n \n
    \n \n
    \n
    \n {{\"ConfigPoSDiscountLimitRequired\" | translate}}
    \n \n
    \n \n
    \n\n
    \n\n
    \n
    \n \n
    \n \n \n \n
    \n
    \n {{\"ConfigPoSEnableAutoCodesForCashiersRequired\" | translate}}
    \n \n
    \n\n
    \n\n
    \n \n
    \n \n \n
    \n
    \n {{\"ConfigPoSEnableAutoCodesForCashRegisitersRequired\" | translate}}
    \n \n
    \n\n
    \n\n
    \n \n
    \n \n \n
    \n
    \n {{\"ConfigPoSEnableAutoCodesForWorkShiftsRequired\" | translate}}
    \n \n
    \n \n
    \n\n
    \n\n
    \n
    \n \n
    \n \n
    \n
    \n {{\"ConfigPoSStartingCashiersCodeRequired\" | translate}}
    \n \n
    \n\n
    \n\n
    \n \n
    \n \n
    \n
    \n {{\"ConfigPoSStartingCashRegisitersCodeRequired\" | translate}}
    \n \n
    \n\n
    \n\n
    \n \n
    \n \n
    \n
    \n {{\"ConfigPoSStartingWorkShiftsCodeRequired\" | translate}}
    \n \n
    \n
    \n\n
    \n\n
    \n
    \n \n
    \n \n
    \n
    \n {{\"ConfigPoSStartingSessionsCodeRequired\" | translate}}
    \n \n
    \n\n
    \n\n
    \n \n
    \n \n
    \n
    \n {{\"ConfigPoSStartingOrdersCodeRequired\" | translate}}
    \n \n
    \n
    \n
    \n\n
    \n
    \n
    ","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-config-pos',\n templateUrl: './config-pos.component.html',\n styleUrls: ['./config-pos.component.scss']\n})\nexport class RestaurantsConfigPosComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
    \n
    \n
    \n \n
    \n
    \n \n
    \n \n
    \n
    \n\n","import { DatePipe } from '@angular/common';\nimport { Component, OnInit, Renderer2, ViewChild } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationsService } from 'angular2-notifications';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { config } from 'rxjs';\nimport { TableEngine } from '../../../invoices/TableEngine';\nimport { CashRegisterModel } from '../cashier-machines/CashRegisterModel';\nimport { CashRegisterService } from '../cashier-machines/CashRegisterService';\nimport { CashierOrderModel } from '../cashier-orders/CashierOrderModel';\nimport { CashierOrderService } from '../cashier-orders/CashierOrderService';\nimport { CashierSessionModel } from '../cashier-sessions/CashierSessionModel';\nimport { CashierSessionService } from '../cashier-sessions/CashierSessionService';\nimport { CashierStaffModel } from '../cashier-staff/CashierStaffModel';\nimport { CashierStaffService } from '../cashier-staff/CashierStaffService';\nimport { CashierWorkShiftModel } from '../cashier-work-shifts/CashierWorkShiftModel';\nimport { CashierWorkShiftService } from '../cashier-work-shifts/CashierWorkShiftService';\nimport { ConfigPoSModel } from '../config-pos-general/ConfigPoSModel';\nimport { ConfigPoSService } from '../config-pos-general/ConfigPoSService';\n\n@Component({\n selector: 'app-pos-portal',\n templateUrl: './pos-portal.component.html',\n styleUrls: ['./pos-portal.component.scss']\n})\nexport class RestaurantsPosPortalComponent implements OnInit {\n\n //Enable debugMode to make API modules return static data from within the service class\n debugMode: boolean = false;\n\n constructor(private formBuilder: FormBuilder, private modelService: CashierSessionService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private datePipe: DatePipe, private cashierStaffService: CashierStaffService, private cashierWorkShiftService: CashierWorkShiftService,\n private cashRegisterService: CashRegisterService, private cashierSessionService: CashierSessionService,\n private cashierOrderService: CashierOrderService,\n private configPoSService: ConfigPoSService,\n private _router: Router\n ) {\n }\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n declare lang: any;\n currentAction = '';\n\n @ViewChild('cashierLoginModal', { static: true }) cashierLoginModal: ModalDirective;\n ngOnInit(): void {\n if (this.debugMode) {\n this.enableDebugOnAllServices();\n }\n this.lang = localStorage.getItem('theme_lang');\n this.loadServices();\n }\n\n enableDebugOnAllServices() {\n //this.modelService.debugMode = true;\n //this.cashRegisterService.debugMode = true;\n //this.cashierSessionService.debugMode = true;\n //this.cashierStaffService.debugMode = true;\n //this.cashierWorkShiftService.debugMode = true;\n }\n\n cashierStaffList: CashierStaffModel[] = [];\n cashRegisterList: CashRegisterModel[] = [];\n cashierWorkShiftList: CashierWorkShiftModel[] = [];\n cashierOrderList: CashierOrderModel[] = [];\n cashierSessionList: CashierSessionModel[] = [];\n configPoS: ConfigPoSModel = new ConfigPoSModel();\n loadServices() {\n debugger;\n this.currentAction = 'loading';\n\n this.configPoSService.getFirst().subscribe(\n configPoSData => {\n this.configPoS = configPoSData;\n\n this.cashierStaffService.getAll().subscribe(\n cashierStaffData => {\n this.cashierStaffList = cashierStaffData;\n \n this.cashierSessionService.getAll().subscribe(\n cashierSessionData => {\n this.cashierSessionList = cashierSessionData;\n \n this.cashRegisterService.getAll().subscribe(\n cashRegisterData => {\n this.cashRegisterList = cashRegisterData;\n \n this.cashierWorkShiftService.getAll().subscribe(\n cashierWorkShiftData => {\n this.cashierWorkShiftList = cashierWorkShiftData;\n \n this.cashierOrderService.getAll().subscribe(\n cashierOrderData => {\n this.cashierOrderList = cashierOrderData;\n \n this.currentAction = '';\n }\n )\n }\n )\n }\n )\n }\n )\n }\n )\n }\n )\n\n\n }\n\n cashierStaffId = null;\n cashierWorkShiftId = null;\n cashRegisterId = null;\n startingNote = '';\n startingCash = 0;\n checkActiveSessions() {\n debugger;\n let counter = 0;\n if(this.cashierSessionList.length > 0){\n this.cashierSessionList.forEach(session => {\n counter += 1;\n if (session.Active) {\n this.cashierSessionService.getByIdWithOrders(session.Id).subscribe(\n result => {\n this.cashierSessionService.currentSession = result;\n \n console.log(this.cashierSessionService.currentSession);\n if (!this.cashierSessionService.currentSession.Orders) {\n this.cashierSessionService.currentSession.Orders = [];\n }\n this._router.navigate(['app/aio/restaurant/Cashier-Screen']);\n \n return;\n })\n }\n else {\n if (counter >= this.cashierSessionList.length) {\n this.cashierLoginModal.show();\n this.currentAction = '';\n }\n }\n console.log(this.cashierSessionService.currentSession.Id);\n console.log(counter);\n });\n }\n else{\n this.cashierLoginModal.show();\n this.currentAction = '';\n }\n\n }\n\n startSession() {\n this.currentAction = 'loading';\n if (this.cashierSessionService.currentSession.Id > 0) {\n console.log(this.cashierSessionService.currentSession);\n if (!this.cashierSessionService.currentSession.Orders) {\n this.cashierSessionService.currentSession.Orders = [];\n }\n this.currentAction = '';\n this._router.navigate(['app/aio/restaurant/Cashier-Screen']);\n }\n else {\n this.checkActiveSessions();\n }\n }\n\n LogIntoSession() {\n let lastSession = this.cashierSessionList.length > 0 ? this.cashierSessionList[this.cashierSessionList.length - 1] : new CashierSessionModel();\n\n let reverseSessionList = this.cashierSessionList.slice().reverse();\n let lastSessionOnMachine = reverseSessionList.find(x => x.CashRegisterId == this.cashRegisterId);\n if (!lastSessionOnMachine){\n lastSessionOnMachine = new CashierSessionModel();\n }\n\n if(lastSessionOnMachine.Id>0){\n this.cashierSessionService.getByIdWithOrders(lastSessionOnMachine.Id).subscribe(result => {\n if (result && (result === true || result.Id > 0)) {\n \n lastSessionOnMachine = result;\n this.cashierSessionService.currentSession = new CashierSessionModel();\n this.cashierSessionService.currentSession.Id = this.debugMode ? lastSession.Id + 1 : 0;\n //let nextSessionCode = this.configPoSService.getNextCode(this.configPoS.StartingCodeSessions, this.cashierSessionList);\n //this.cashierSessionService.currentSession.Code = this.debugMode ? lastSession.Code + 1 : 0;\n this.cashierSessionService.currentSession.Code = this.configPoS.StartingCodeSessions;\n \n if (lastSessionOnMachine.HasOrdersInDelivery) {\n let newOrderId = this.cashierSessionService.debugMode?1:0;\n let newOrderCode = this.configPoS.StartingCodeOrders;\n this.cashierSessionService.currentSession.HasOrdersInDelivery = true;\n if (lastSessionOnMachine.Orders) {\n lastSessionOnMachine.Orders.forEach(order => {\n if (order.Status == 'In-Delivery') {\n order.Id = newOrderId;\n //let nextOrderCode = this.configPoSService.getNextCode(this.configPoS.StartingCodeSessions, this.cashierSessionList);\n order.Code = this.debugMode ? newOrderCode : 0;\n newOrderCode += this.cashierSessionService.debugMode?1:0;\n newOrderId += this.cashierSessionService.debugMode?1:0;\n this.cashierSessionService.currentSession.Orders = this.cashierSessionService.currentSession.Orders.concat(order);\n }\n });\n } else {\n lastSessionOnMachine.Orders = [];\n }\n }\n \n this.insertAndStartSession();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedLogin\"));\n this.currentAction = '';\n }\n })\n }\n else{\n this.insertAndStartSession();\n }\n console.log(\"sessions\", reverseSessionList);\n\n console.log(\"last session\", lastSessionOnMachine);\n\n\n }\n\n\n insertAndStartSession(){\n \n let cashier = this.cashierStaffList.find(x => x.Id === this.cashierStaffId);\n let machine = this.cashRegisterList.find(x => x.Id === this.cashRegisterId);\n let workShift = this.cashierWorkShiftList.find(x => x.Id === this.cashierWorkShiftId);\n\n if (!this.cashierSessionService.currentSession.Orders) {\n this.cashierSessionService.currentSession.Orders = [];\n }\n\n this.cashierSessionService.currentSession.StartTime = new Date();\n this.cashierSessionService.currentSession.StartingCash = this.startingCash;\n this.cashierSessionService.currentSession.StartingNote = this.startingNote;\n this.cashierSessionService.currentSession.CashierId = this.cashierStaffId;\n this.cashierSessionService.currentSession.WorkShiftId = this.cashierWorkShiftId;\n this.cashierSessionService.currentSession.CashierNameAr = cashier.NameAr;\n this.cashierSessionService.currentSession.CashierNameEn = cashier.NameEn;\n this.cashierSessionService.currentSession.CashRegisterId = this.cashRegisterId;\n this.cashierSessionService.currentSession.CashRegisterCode = machine.Code;\n this.cashierSessionService.currentSession.CashRegisterBranchId = machine.BranchId;\n this.cashierSessionService.currentSession.CashRegisterBranchNameAr = machine.BranchNameAr;\n this.cashierSessionService.currentSession.CashRegisterBranchNameEn = machine.BranchNameEn;\n this.cashierSessionService.currentSession.Active = true;\n\n console.log(this.cashierSessionService.currentSession);\n this.cashierSessionService.insertWithOrders(this.cashierSessionService.currentSession).subscribe(result => {\n if (result === true || result > 0) {\n console.log(\"result\",result);\n \n //this.tableEngine.loadData();\n this.cashierSessionService.getByIdWithOrders(result).subscribe(newResult => {\n if (newResult === true || newResult.Id > 0) {\n this.cashierSessionService.currentSession = newResult;\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyLoggedIn\"));\n this._router.navigate(['app/aio/restaurants/Cashier-Screen']);\n }\n else{\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedLogin\"));\n this.currentAction = '';\n }\n });\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedLogin\"));\n this.currentAction = '';\n }\n })\n }\n}\n","\n
    \n
    \n
    \n
    \n

    \n {{\"CashierLogin\" | translate}}

    \n
    \n
    \n
    \n \n \n \n {{lang==='ar-EG'?cashierStaff.NameAr:cashierStaff.NameEn}}\n \n \n
    \n\n
    \n \n \n \n {{lang==='ar-EG'?cashRegister.BranchNameAr:cashRegister.BranchNameEn}} - {{cashRegister.Code}}\n \n \n
    \n \n
    \n \n \n
    = 0)\" class=\"messages text-danger\">\n {{\"CashierStartCashRequired\" | translate}}
    \n \n
    \n\n
    \n \n \n \n {{cashierWorkShift.Name}}\n \n \n
    \n\n
    \n \n \n \n
    \n\n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n\n","export class RestaurantCategoryModel {\r\n Id?: number;\r\n Code?: number;\r\n Name?: string;\r\n //Items?: RestaurantMenuItem [];\r\n constructor(obj?: RestaurantCategoryModel) {\r\n obj = obj ? obj : {};\r\n this.Id = obj.Id ? obj.Id : 0;\r\n this.Code = obj.Code ? obj.Code : 0;\r\n this.Name = obj.Name ? obj.Name : '';\r\n //this.Items = obj.Items ? obj.Items : [];\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { RestaurantCategoryModel } from \"./RestaurantCategoryModel\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RestaurantCategoryService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n debugData: RestaurantCategoryModel [] = []\r\n debugMode: boolean = false;\r\n\r\n baseUrl = environment.apiUrl;\r\n // baseUrl = 'http://localhost:60289/';\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}/RestaurantCategory/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData.find(x=>x.Id==id))\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}/RestaurantCategory/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: RestaurantCategoryModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.push(payload);\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}/RestaurantCategory/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: RestaurantCategoryModel): Observable {\r\n if(this.debugMode){\r\n this.debugData[this.debugData.findIndex(x=>x.Id==payload.Id)] = payload;\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}/RestaurantCategory/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: RestaurantCategoryModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==payload.Id),1);\r\n return of(true)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}/RestaurantCategory/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: RestaurantCategoryModel []): Observable {\r\n if(this.debugMode){\r\n payload.forEach(element => {\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==element.Id),1);\r\n });\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}/RestaurantCategory/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from '../../app/aio/shared/side-popup/side-popup.component';\nimport { Observable, of, Subscription } from 'rxjs';\n\nimport { NgSelectComponent } from '@ng-select/ng-select';\n\nimport { DatePipe, formatDate } from '@angular/common';\n\n\nimport { RestaurantCategoryService } from \"./RestaurantCategoryService\";\nimport { RestaurantCategoryModel } from \"./RestaurantCategoryModel\";\nimport { ConfigPoSService } from '../../restaurants/config-pos-general/ConfigPoSService';\nimport { ConfigPoSModel } from '../../restaurants/config-pos-general/ConfigPoSModel';\nimport { ListPageHeaderComponent } from 'src/app/containers/pages/list-page-header/list-page-header.component';\nimport { TableEngine } from '../../app/aio/shared/TableEngine';\n\n@Component({\n selector: 'app-restaurant-category',\n templateUrl: './restaurant-category.component.html',\n styleUrls: ['./restaurant-category.component.scss']\n})\nexport class RestaurantCategoryComponent {\n // ////////////////////////////////////////////////////////////////////////////\n // // VARYING :\n // // Modify per similar component.\n // ////////////////////////////////////////////////////////////////////////////\n\n //Enable debugMode to make API modules return static data from within the service class\n debugMode: boolean = true;\n\n constructor(private formBuilder: FormBuilder, private modelService: RestaurantCategoryService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private datePipe: DatePipe, private configPoSService: ConfigPoSService\n ) {\n }\n\n\n listHeader = new ListPageHeaderComponent();\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n tableView: any = true;\n\n translationName: string = 'RestaurantCategory'\n\n sortableKeys = [];\n searchableKeys = ['Name'];\n\n modelObject: RestaurantCategoryModel = new RestaurantCategoryModel();\n\n ogData: RestaurantCategoryModel[] = [];\n \n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Name: new FormControl(),\n });\n\n\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n if (this.debugMode) {\n this.enableDebugOnAllServices();\n }\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'RestaurantCategoryCode', property: 'Code' };\n this.sortableKeys = [\n { label: 'RestaurantCategoryCode', property: 'Code' },\n { label: 'RestaurantCategoryName', property: 'Name' },\n ];\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n\n this.loadServices();\n }\n\n enableDebugOnAllServices() {\n //this.modelService.debugMode = true;\n }\n\n lastCode = 0;\n codeWasChecked = false;\n checkCode() : boolean{\n if(!(this.lastCode > 0)){\n this.codeWasChecked = false;\n console.log(\"bad code\", this.lastCode);\n \n return this.codeWasChecked;\n }\n this.configPoSService.checkCategoryCode(this.lastCode).subscribe(\n result => {\n this.codeWasChecked = result;\n }\n );\n console.log(\"code availability:\",this.codeWasChecked);\n return this.codeWasChecked;\n }\n\n showModal(Id, action) {\n if (action === 'Add') {\n //this.lastCode = this.tableEngine.ogData.length>0?this.tableEngine.ogData[this.tableEngine.ogData.length - 1].Code:0;\n this.lastCode = this.configPoS.StartingCodeWorkShifts;\n for (let index = 0; index < this.tableEngine.ogData.length; index++) {\n if(this.tableEngine.ogData.findIndex(x=>x.Code == this.lastCode) >= 0)\n { this.lastCode++ } \n else { break; }\n }\n this.checkCode();\n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder);\n }\n else if (action === 'Edit') {\n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder);\n this.lastCode = this.tableEngine.modelObject.Code\n }\n else if (action === 'Info') {\n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder);\n this.lastCode = this.tableEngine.modelObject.Code\n }\n this.tableView = false;\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n console.log((action + \" object\"), this.modelObject);\n console.log(\"modelObject after entering edit\", this.modelObject);\n }\n currentDate='';\n currentExpirationDate='';\n createForm(modelObject, formBuilder): FormGroup {\n return formBuilder.group({\n Name: [modelObject.Name, Validators.compose([Validators.required])],\n });\n }\n\n addObject() {\n this.currentAction = 'loading';\n let lastId = this.tableEngine.ogData.length>0?this.tableEngine.ogData[this.tableEngine.ogData.length - 1].Id:0;\n this.modelObject = new RestaurantCategoryModel();\n this.modelObject.Id = this.debugMode ? lastId + 1 : 0;\n this.modelObject.Code = this.lastCode;\n this.modelObject.Name = this.mainForm.getRawValue().Name;\n this.executeAddObject();\n }\n\n executeAddObject() {\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true || result > 0) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n if (this.sideModalRef === undefined) {\n if (this.smallModal != undefined) {\n this.tableEngine.smallModal.hide();\n }\n else {\n this.tableView = this.prevAction === 'AddThenNew' ? false : true;\n \n this.prevAction = '';\n }\n }\n else {\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n \n if(this.prevAction != 'AddThenNew'){\n this.goBack();\n }\n }\n else {\n console.log(result);\n \n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n\n editObject() {\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n let tempObj = new RestaurantCategoryModel();\n tempObj.Id =this.modelObject.Id;\n tempObj.Code = this.lastCode;\n tempObj.Name = this.mainForm.getRawValue().Name;\n console.log(\"saved object\", tempObj);\n this.executeEditObject(tempObj);\n }\n\n executeEditObject(Object) {\n console.log(\"applying edit\");\n \n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n\n if (this.sideModalRef === undefined) {\n if (this.smallModal != undefined) {\n this.tableEngine.smallModal.hide();\n }\n else {\n this.tableView = true;\n }\n }\n else {\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n \n this.goBack();\n \n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n SearchFrom: Date = null;\n SearchTo: Date = null;\n\n clearSearch() {\n this.SearchFrom = null;\n this.SearchTo = null;\n }\n\n prevAction = '';\n addAndNew() {\n this.prevAction = 'AddThenNew';\n this.addObject();\n this.showModal(null, 'Add');\n }\n\n configPoS = new ConfigPoSModel();\n loadServices() {\n this.currentAction = 'loading';\n this.configPoSService.getFirst().subscribe(\n configPoSData => {\n this.configPoS = configPoSData;\n this.tableEngine.loadData();\n }\n )\n }\n\n goBack(){\n console.log(\"back\");\n \n this.modelObject = {};\n this.currentAction = \"\";\n this.tableView = true;\n\n \n console.log(this.modelObject);\n console.log(this.lastCode);\n }\n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepChangeSort(sortKey) {\n this.SearchFrom = null;\n this.SearchTo = null;\n \n \n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n\n getFormattedDate(dateString: any){\n let splitDate: number[] = dateString.toString().split(\"/\");\n\n return new Date(splitDate[2], splitDate[1]-1, splitDate[0])\n }\n // ///////////////////////////////////////////////////////\n \n displayMode = 'list';\n changeDisplayMode(mode): void {\n this.displayMode = mode;\n }\n itemsPerPageChange(perPage: number): void {\n this.tableEngine.paginateData(perPage, 1)\n }\n}\n","\n\n\n\n\n
    \n
    \n
    \n\n
    \n \n \n \n \n
    \n
    \n\n
    \n\n
    \n \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    0)\">\n {{\"RestaurantCategoryCodeRequired\" | translate}}
    \n
    \n {{\"RestaurantCategoryCodeAlreadyTaken\" | translate}}
    \n
    \n\n
    \n\n
    \n\n
    \n\n
    \n \n
    \n \n
    \n \n
    \n {{\"RestaurantCategoryNameRequired\" | translate}}
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n \n  \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n
    \n
    \n
    1 && \n tableEngine.deletionList.length === tableEngine.ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n\n\n\n
    \n\n
    \n\n
    \n
    \n
    \n
    \n \n \n \n\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n \n \n \n {{\"RestaurantCategoryCode\" | translate}}\n \n \n \n \n {{\"RestaurantCategoryName\" | translate}}\n \n\n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • \n {{item}}\n
  • \n
    \n
    \n
    \n\n
    \n
    \n \n \n
    \n
    {{obj.Code}}{{obj.Name}}\n \n \n \n \n \n
    \n\n
    \n
    \n \n
    \n\n \n \n \n \n
    \n
    \n
    \n\n\n
    \n
    \n\n
    \n
    \n
    \n\n
    \n\n
     
    \n\n\n
     
    \n\n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","export class RestaurantMenuItemModel {\r\n Id?: number;\r\n Code?: number;\r\n Name?: string;\r\n CategoryId?: number;\r\n CategoryName?: string;\r\n Cost?: number;\r\n ImageUrl?: string;\r\n constructor(obj?: RestaurantMenuItemModel) {\r\n obj = obj ? obj : {};\r\n this.Id = obj.Id ? obj.Id : 0;\r\n this.Code = obj.Code ? obj.Code : 0;\r\n this.Name = obj.Name ? obj.Name : '';\r\n this.CategoryId = obj.CategoryId ? obj.CategoryId : 0;\r\n this.CategoryName = obj.CategoryName ? obj.CategoryName : '';\r\n this.Cost = obj.Cost ? obj.Cost : 0;\r\n this.ImageUrl = obj.ImageUrl ? obj.ImageUrl : '';\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { RestaurantMenuItemModel } from \"./RestaurantMenuItemModel\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RestaurantMenuItemService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n debugData: RestaurantMenuItemModel [] = []\r\n debugMode: boolean = false;\r\n\r\n baseUrl = environment.apiUrl;\r\n // baseUrl = 'http://localhost:60289/';\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}/RestaurantMenuItem/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData.find(x=>x.Id==id))\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}/RestaurantMenuItem/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: RestaurantMenuItemModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.push(payload);\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}/RestaurantMenuItem/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: RestaurantMenuItemModel): Observable {\r\n if(this.debugMode){\r\n this.debugData[this.debugData.findIndex(x=>x.Id==payload.Id)] = payload;\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}/RestaurantMenuItem/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: RestaurantMenuItemModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==payload.Id),1);\r\n return of(true)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}/RestaurantMenuItem/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: RestaurantMenuItemModel []): Observable {\r\n if(this.debugMode){\r\n payload.forEach(element => {\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==element.Id),1);\r\n });\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}/RestaurantMenuItem/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from '../../app/aio/shared/side-popup/side-popup.component';\nimport { Observable, of, Subscription } from 'rxjs';\n\nimport { NgSelectComponent } from '@ng-select/ng-select';\n\nimport { DatePipe, formatDate } from '@angular/common';\n\n\nimport { RestaurantMenuItemService } from \"./RestaurantMenuItemService\";\nimport { RestaurantMenuItemModel } from \"./RestaurantMenuItemModel\";\nimport { ConfigPoSService } from '../../restaurants/config-pos-general/ConfigPoSService';\nimport { ConfigPoSModel } from '../../restaurants/config-pos-general/ConfigPoSModel';\nimport { RestaurantCategoryService } from '../restaurant-category/RestaurantCategoryService';\nimport { RestaurantCategoryModel } from '../restaurant-category/RestaurantCategoryModel';\nimport { ListPageHeaderComponent } from 'src/app/containers/pages/list-page-header/list-page-header.component';\nimport { TableEngine } from '../../app/aio/shared/TableEngine';\n\n@Component({\n selector: 'app-restaurant-menu-item',\n templateUrl: './restaurant-menu-item.component.html',\n styleUrls: ['./restaurant-menu-item.component.scss']\n})\nexport class RestaurantMenuItemComponent {\n // ////////////////////////////////////////////////////////////////////////////\n // // VARYING :\n // // Modify per similar component.\n // ////////////////////////////////////////////////////////////////////////////\n\n //Enable debugMode to make API modules return static data from within the service class\n debugMode: boolean = true;\n\n constructor(private formBuilder: FormBuilder, private modelService: RestaurantMenuItemService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private datePipe: DatePipe, private configPoSService: ConfigPoSService, private restaurantCategoryService: RestaurantCategoryService\n ) {\n }\n\n\n listHeader = new ListPageHeaderComponent();\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n tableView: any = true;\n\n translationName: string = 'RestaurantMenuItem'\n\n sortableKeys = [];\n searchableKeys = ['Name'];\n\n modelObject: RestaurantMenuItemModel = new RestaurantMenuItemModel();\n\n ogData: RestaurantMenuItemModel[] = [];\n \n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Name: new FormControl(),\n Cost: new FormControl(),\n CategoryId: new FormControl(),\n });\n\n\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n public editEnabled = true;\n public picurl: string ='';\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n if (this.debugMode) {\n this.enableDebugOnAllServices();\n }\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'RestaurantMenuItemCode', property: 'Code' };\n this.sortableKeys = [\n { label: 'RestaurantMenuItemCode', property: 'Code' },\n { label: 'RestaurantMenuItemName', property: 'Name' },\n { label: 'RestaurantMenuItemCost', property: 'Cost' },\n { label: 'RestaurantMenuItemCategoryName', property: 'CategoryName' },\n ];\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n\n this.loadServices();\n }\n clear(){\n this.picurl = '';\n }\n enableDebugOnAllServices() {\n //this.modelService.debugMode = true;\n }\n\n lastCode = 0;\n codeWasChecked = false;\n checkCode() : boolean{\n if(!(this.lastCode > 0)){\n this.codeWasChecked = false;\n console.log(\"bad code\", this.lastCode);\n \n return this.codeWasChecked;\n }\n this.configPoSService.checkMenuItemCode(this.lastCode).subscribe(\n result => {\n this.codeWasChecked = result;\n }\n );\n console.log(\"code availability:\",this.codeWasChecked);\n return this.codeWasChecked;\n }\n\n showModal(Id, action) {\n if (action === 'Add') {\n //this.lastCode = this.tableEngine.ogData.length>0?this.tableEngine.ogData[this.tableEngine.ogData.length - 1].Code:0;\n this.lastCode = this.configPoS.StartingCodeWorkShifts;\n for (let index = 0; index < this.tableEngine.ogData.length; index++) {\n if(this.tableEngine.ogData.findIndex(x=>x.Code == this.lastCode) >= 0)\n { this.lastCode++ } \n else { break; }\n }\n this.checkCode();\n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder);\n }\n else if (action === 'Edit') {\n this.picurl = this.modelObject.ImageUrl;\n\n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder);\n this.lastCode = this.tableEngine.modelObject.Code\n }\n else if (action === 'Info') {\n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder);\n this.picurl = this.modelObject.ImageUrl;\n this.lastCode = this.tableEngine.modelObject.Code\n }\n this.tableView = false;\n this.modelObject = this.tableEngine.modelObject;\n this.picurl = this.modelObject.ImageUrl;\n this.mainForm = this.tableEngine.mainForm;\n console.log((action + \" object\"), this.modelObject);\n console.log(\"modelObject after entering edit\", this.modelObject);\n }\n currentDate='';\n currentExpirationDate='';\n createForm(modelObject, formBuilder): FormGroup {\n return formBuilder.group({\n Name: [modelObject.Name, Validators.compose([Validators.required])],\n CategoryId: [modelObject.CategoryId, Validators.compose([Validators.required])],\n Cost: [modelObject.Cost, Validators.compose([Validators.required])],\n });\n }\n\n addObject() {\n debugger;\n this.currentAction = 'loading';\n let lastId = this.tableEngine.ogData.length>0?this.tableEngine.ogData[this.tableEngine.ogData.length - 1].Id:0;\n this.modelObject = new RestaurantMenuItemModel();\n this.modelObject.Id = this.debugMode ? lastId + 1 : 0;\n this.modelObject.Code = this.lastCode;\n this.modelObject.Name = this.mainForm.getRawValue().Name;\n this.modelObject.CategoryId = this.mainForm.getRawValue().CategoryId;\n this.modelObject.Cost = this.mainForm.getRawValue().Cost;\n this.modelObject.ImageUrl = this.picurl;\n this.executeAddObject();\n }\n\n executeAddObject() {\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true || result > 0) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n if (this.sideModalRef === undefined) {\n if (this.smallModal != undefined) {\n this.tableEngine.smallModal.hide();\n }\n else {\n this.tableView = this.prevAction === 'AddThenNew' ? false : true;\n \n this.prevAction = '';\n }\n }\n else {\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n \n if(this.prevAction != 'AddThenNew'){\n this.goBack();\n }\n }\n else {\n console.log(result);\n \n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n\n editObject() {\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n let tempObj = new RestaurantMenuItemModel();\n tempObj.Id =this.modelObject.Id;\n tempObj.Code = this.lastCode;\n tempObj.Name = this.mainForm.getRawValue().Name;\n tempObj.CategoryId = this.mainForm.getRawValue().CategoryId;\n tempObj.Cost = this.mainForm.getRawValue().Cost;\n tempObj.ImageUrl = this.picurl;\n console.log(\"saved object\", tempObj);\n this.executeEditObject(tempObj);\n }\n\n executeEditObject(Object) {\n console.log(\"applying edit\");\n \n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n\n if (this.sideModalRef === undefined) {\n if (this.smallModal != undefined) {\n this.tableEngine.smallModal.hide();\n }\n else {\n this.tableView = true;\n }\n }\n else {\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n \n this.goBack();\n \n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n SearchFrom: Date = null;\n SearchTo: Date = null;\n\n clearSearch() {\n this.SearchFrom = null;\n this.SearchTo = null;\n }\n\n prevAction = '';\n addAndNew() {\n this.prevAction = 'AddThenNew';\n this.addObject();\n this.showModal(null, 'Add');\n }\n\n configPoS = new ConfigPoSModel();\n restaurantCategoryList: RestaurantCategoryModel[] = [];\n loadServices() {\n this.currentAction = 'loading';\n this.configPoSService.getFirst().subscribe(\n configPoSData => {\n this.configPoS = configPoSData;\n this.restaurantCategoryService.getAll().subscribe(\n restaurantCategoryData => {\n this.restaurantCategoryList = restaurantCategoryData;\n this.tableEngine.loadData();\n }\n )\n }\n )\n }\n\n goBack(){\n console.log(\"back\");\n \n this.modelObject = {};\n this.currentAction = \"\";\n this.tableView = true;\n\n \n console.log(this.modelObject);\n console.log(this.lastCode);\n }\n\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepChangeSort(sortKey) {\n this.SearchFrom = null;\n this.SearchTo = null;\n \n \n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n\n getFormattedDate(dateString: any){\n let splitDate: number[] = dateString.toString().split(\"/\");\n\n return new Date(splitDate[2], splitDate[1]-1, splitDate[0])\n }\n // ///////////////////////////////////////////////////////\n \n displayMode = 'list';\n changeDisplayMode(mode): void {\n this.displayMode = mode;\n }\n itemsPerPageChange(perPage: number): void {\n this.tableEngine.paginateData(perPage, 1)\n }\n}\n","\n\n\n\n\n
    \n
    \n
    \n\n
    \n \n \n \n \n
    \n
    \n\n
    \n\n
    \n \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    0)\">\n {{\"RestaurantMenuItemCodeRequired\" | translate}}
    \n
    \n {{\"RestaurantMenuItemCodeAlreadyTaken\" | translate}}
    \n
    \n\n
    \n\n
    \n\n
    \n\n
    \n \n
    \n \n
    \n \n
    \n {{\"RestaurantMenuItemNameRequired\" | translate}}
    \n \n
    \n\n
    \n\n
    \n \n
    \n \n \n {{category.Name}}\n \n
    \n \n
    \n {{\"RestaurantMenuItemCategoryNameRequired\" | translate}}
    \n \n
    \n
    \n\n
    \n\n
    \n\n
    \n \n
    \n \n
    \n \n
    \n {{\"RestaurantMenuItemCostRequired\" | translate}}
    \n \n
    \n
    \n
    \n
    \n

    {{'Upload Image'|translate}}

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

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n \n
    \n
    \n
    1 && \n tableEngine.deletionList.length === tableEngine.ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n\n\n\n
    \n\n
    \n\n
    \n
    \n
    \n
    \n \n \n \n\n \n \n\n \n \n\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n \n \n \n {{\"RestaurantMenuItemCode\" | translate}}\n \n \n \n \n {{\"RestaurantMenuItemName\" | translate}}\n \n \n \n \n {{\"RestaurantMenuItemCategoryName\" | translate}}\n \n \n \n \n {{\"RestaurantMenuItemCategoryCost\" | translate}}\n \n\n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • \n {{item}}\n
  • \n
    \n
    \n
    \n\n
    \n
    \n \n \n
    \n
    {{obj.Code}}{{obj.Name}}{{obj.CategoryName}}{{obj.Cost}}\n \n \n \n \n \n
    \n\n
    \n
    \n \n
    \n\n \n \n \n \n
    \n
    \n
    \n\n\n
    \n
    \n\n
    \n
    \n
    \n\n
    \n\n
     
    \n\n\n
     
    \n\n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { environment } from 'src/environments/environment';\nimport { TranslateService } from '@ngx-translate/core';\nimport { FileUploader } from 'ng2-file-upload';\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'upload-item-image',\n templateUrl: 'upload-image.component.html',\n styleUrls: ['upload-image.component.scss']\n})\nexport class UploadItemImageComponent implements OnInit {\n public uploader: FileUploader;\n hasDragOver = false;\n \n @Input()\n editmode = false;\n \n @Input()\n url = '';\n \n @Output()\n urlChange = new EventEmitter();\n currentLang : any = 'ar';\n \n constructor(public translate : TranslateService) {\n this.uploader = new FileUploader({\n url: environment.baseApiUrl+'RestaurantMenuItem/UploadImage',\n disableMultipart: false,\n autoUpload: true,\n \n });\n \n this.uploader.response.subscribe(res => {\n // Upload returns a JSON with the image ID\n debugger;\n if(res != null && res != \"\" && res != undefined){\n this.url = environment.apiUrl+'/'+ res;\n this.urlChange.emit(this.url);\n }\n else{\n \n }\n });\n }\n \n public fileOver(e: any): void {\n \n this.hasDragOver = e;\n }\n \n ngOnInit() {\n }\n \n }\n ","
    \n \n \n \n \n
    \n ","import { QuotationFileModel } from \"./QuotationFileModel\";\r\nimport { QuotationItemModel } from \"./QuotationItemModel\";\r\nimport { QuotationServiceModel } from \"./QuotationServiceModel\";\r\n\r\nexport class QuotationDetailsModel {\r\n Id?: number;\r\n Code?: number;\r\n Date?: Date;\r\n ClientId?: number;\r\n ClientNameAr?: string;\r\n ClientNameEn?: string;\r\n DiscountValue?: number;\r\n DiscountIsRate?: boolean;\r\n ShippingFees?: number;\r\n ShippingAddress1?: string;\r\n ShippingAddress2?: string;\r\n Description?: string;\r\n Items?: QuotationItemModel[];\r\n TotalItemPrices?: number; //base prices, without taxes or discounts\r\n TotalItemDiscounts?: number;\r\n TotalItemNetPrices?: number;\r\n TotalItemTaxes?: number;\r\n TotalItemGrossPrices?: number; //final prices\r\n Services?: QuotationServiceModel[];\r\n TotalServices?: number;\r\n TotalQuotationValue?: number;\r\n Files?: QuotationFileModel[];\r\n\r\n constructor(obj?: QuotationDetailsModel) {\r\n obj = obj ? obj : {};\r\n this.Id = obj.Id ? obj.Id : 0;\r\n this.Code = obj.Code ? obj.Code : 0;\r\n this.Date = obj.Date ? obj.Date : new Date();\r\n this.ClientId = obj.ClientId ? obj.ClientId : 0;\r\n this.ClientNameAr = obj.ClientNameAr ? obj.ClientNameAr : '';\r\n this.ClientNameEn = obj.ClientNameEn ? obj.ClientNameEn : '';\r\n this.DiscountValue = obj.DiscountValue ? obj.DiscountValue : 0;\r\n this.DiscountIsRate = obj.DiscountIsRate ? obj.DiscountIsRate : true;\r\n this.ShippingFees = obj.ShippingFees ? obj.ShippingFees : 0;\r\n this.ShippingAddress1 = obj.ShippingAddress1 ? obj.ShippingAddress1 : '';\r\n this.ShippingAddress2 = obj.ShippingAddress2 ? obj.ShippingAddress2 : '';\r\n this.Description = obj.Description ? obj.Description : '';\r\n this.Items = obj.Items ? obj.Items : [];\r\n this.TotalItemPrices = obj.TotalItemPrices ? obj.TotalItemPrices : 0;\r\n this.TotalItemDiscounts = obj.TotalItemDiscounts ? obj.TotalItemDiscounts : 0;\r\n this.TotalItemNetPrices = obj.TotalItemNetPrices ? obj.TotalItemNetPrices : 0;\r\n this.TotalItemTaxes = obj.TotalItemTaxes ? obj.TotalItemTaxes : 0;\r\n this.TotalItemGrossPrices = obj.TotalItemGrossPrices ? obj.TotalItemGrossPrices : 0;\r\n this.Services = obj.Services ? obj.Services : [];\r\n this.TotalServices = obj.TotalServices ? obj.TotalServices : 0;\r\n this.TotalQuotationValue = obj.TotalQuotationValue ? obj.TotalQuotationValue : 0;\r\n this.Files = obj.Files ? obj.Files : [];\r\n }\r\n\r\n}","export class QuotationFileModel {\r\n Id?: number;\r\n QuotationId?: number;\r\n FileUrl?: string;\r\n\r\n constructor(obj?: QuotationFileModel) {\r\n obj = obj ? obj : {};\r\n this.Id = obj.Id ? obj.Id : 0;\r\n this.QuotationId = obj.QuotationId ? obj.QuotationId : 0;\r\n this.FileUrl = obj.FileUrl ? obj.FileUrl : '';\r\n }\r\n\r\n}","import { QuotationItemTaxModel } from \"./QuotationItemTaxModel\";\r\n\r\nexport class QuotationItemModel {\r\n Id?: number;\r\n QuotationId ?: number;\r\n\r\n ItemId?: number;\r\n ItemNameAr?: string;\r\n ItemNameEn?: string;\r\n\r\n UnitId?: number;\r\n UnitNameAr?: string;\r\n UnitNameEn?: string;\r\n\r\n Description?: string;\r\n\r\n UnitCost?: number;\r\n Quantity?: number;\r\n TotalPrice?: number;\r\n\r\n DiscountValue?: number;\r\n DiscountIsRate?: boolean;\r\n NetPrice?: number;\r\n\r\n Taxes?: QuotationItemTaxModel[];\r\n TotalTaxValues?: number;\r\n GrossPrice?: number;\r\n\r\n\r\n constructor(obj?: QuotationItemModel) {\r\n obj = obj ? obj : {};\r\n \r\n this.Id = obj.Id ? obj.Id : 0;\r\n this.QuotationId = obj.QuotationId ? obj.QuotationId : 0;\r\n\r\n this.ItemId = obj.ItemId ? obj.ItemId : 0;\r\n this.ItemNameAr = obj.ItemNameAr ? obj.ItemNameAr : '';\r\n this.ItemNameEn = obj.ItemNameEn ? obj.ItemNameEn : '';\r\n\r\n this.UnitId = obj.UnitId ? obj.UnitId : 0;\r\n this.UnitNameAr = obj.UnitNameAr ? obj.UnitNameAr : '';\r\n this.UnitNameEn = obj.UnitNameEn ? obj.UnitNameEn : '';\r\n\r\n this.Description = obj.Description ? obj.Description : '';\r\n\r\n this.UnitCost = obj.UnitCost ? obj.UnitCost : 0;\r\n this.Quantity = obj.Quantity ? obj.Quantity : 0;\r\n this.TotalPrice = obj.TotalPrice ? obj.TotalPrice : 0;\r\n\r\n this.DiscountValue = obj.DiscountValue ? obj.DiscountValue : 0;\r\n this.DiscountIsRate = obj.DiscountIsRate ? obj.DiscountIsRate : true;\r\n this.NetPrice = obj.NetPrice ? obj.NetPrice : 0;\r\n\r\n this.Taxes = obj.Taxes ? obj.Taxes : [];\r\n this.TotalTaxValues = obj.TotalTaxValues ? obj.TotalTaxValues : 0;\r\n this.GrossPrice = obj.GrossPrice ? obj.GrossPrice : 0;\r\n }\r\n\r\n}","export class QuotationItemTaxModel {\r\n Id?: number;\r\n QuotationItemId?: number;\r\n TaxId?: number;\r\n TaxNameAr?: string;\r\n TaxNameEn?: string;\r\n TaxIsRate?: boolean;\r\n TaxValue?: number; \r\n\r\n constructor(obj?: QuotationItemTaxModel) {\r\n obj = obj ? obj : {};\r\n this.Id = obj.Id ? obj.Id : 0;\r\n this.QuotationItemId = obj.QuotationItemId ? obj.QuotationItemId : 0;\r\n this.TaxId = obj.TaxId ? obj.TaxId : 0;\r\n this.TaxNameAr = obj.TaxNameAr ? obj.TaxNameAr : '';\r\n this.TaxNameEn = obj.TaxNameEn ? obj.TaxNameEn : '';\r\n this.TaxIsRate = obj.TaxIsRate ? obj.TaxIsRate : true;\r\n this.TaxValue = obj.TaxValue ? obj.TaxValue : 0;\r\n }\r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { QuotationModel } from \"./QuotationModel\";\r\nimport { QuotationDetailsModel } from './QuotationDetailsModel';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class QuotationService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n debugData: QuotationDetailsModel [] = [\r\n {\r\n Id:1, Code:1001, Date:new Date(2021, 0, 13),\r\n ClientId:1, ClientNameAr:'احمد', ClientNameEn:'Ahmad', ShippingAddress1: \"address11\", ShippingAddress2:\"adderss12\",\r\n Description:\"desc1\\nquotation1\\n1\",\r\n Items: [\r\n { Id:1, QuotationId: 1, ItemId:1, ItemNameAr: \"منتج 1\", ItemNameEn: \"Item 1\", \r\n UnitId:1, UnitNameAr:\"وحدة 1\", UnitNameEn:\"Unit 1\", Description:\"item\\ndescription\\n1\", \r\n UnitCost:1000, Quantity:1, TotalPrice:1000, DiscountValue:1, DiscountIsRate:false, NetPrice:999,\r\n Taxes:[\r\n { Id:1, QuotationItemId: 1, TaxId: 1, TaxNameAr: \"ضريبة 1\", TaxNameEn: \"Tax 1\", TaxIsRate:true, TaxValue:5 },\r\n { Id:2, QuotationItemId: 1, TaxId: 2, TaxNameAr: \"ضريبة 2\", TaxNameEn: \"Tax 2\", TaxIsRate:false, TaxValue:200 },\r\n ],\r\n TotalTaxValues:249.95, GrossPrice: 1248.95 },\r\n\r\n { Id:2, QuotationId: 1, ItemId:2, ItemNameAr: \"منتج 2\", ItemNameEn: \"Item 2\", \r\n UnitId:2, UnitNameAr:\"وحدة 2\", UnitNameEn:\"Unit 2\", Description:\"item\\ndescription\\n2\", \r\n UnitCost:1000, Quantity:2, TotalPrice:2000, DiscountValue:2, DiscountIsRate:true, NetPrice:1960,\r\n Taxes:[\r\n { Id:3, QuotationItemId: 2, TaxId: 2, TaxNameAr: \"ضريبة 2\", TaxNameEn: \"Tax 2\", TaxIsRate:false, TaxValue:200 },\r\n { Id:4, QuotationItemId: 2, TaxId: 3, TaxNameAr: \"ضريبة 3\", TaxNameEn: \"Tax 3\", TaxIsRate:true, TaxValue:10 },\r\n ],\r\n TotalTaxValues:396, GrossPrice: 2356 },\r\n ],\r\n TotalItemPrices: 3000, TotalItemDiscounts: 41, TotalItemNetPrices: 2959, TotalItemTaxes: 645.95,\r\n TotalItemGrossPrices: 3604.95,\r\n Services: [\r\n { Id: 1, QuotationId: 1, NameAr: \"خدمة تحويل فودافون كاش\", NameEn:\"Vodafone Cash fee\", Value: 5, IsRate: false },\r\n { Id: 2, QuotationId: 1, NameAr: \"كارتة طريق الرحاب\", NameEn:\"Al-Rihab road toll\", Value: 200, IsRate: false },\r\n ],\r\n TotalServices: 205, DiscountValue:100, DiscountIsRate: false, ShippingFees: 1000,\r\n TotalQuotationValue: 4109.95,\r\n Files: [\r\n {Id: 1, QuotationId: 1, FileUrl: \"ID-Card.pdf\"},\r\n {Id: 2, QuotationId: 1, FileUrl: \"Vodafone-Cash-Transfer-Image.jpg\"},\r\n ],\r\n },\r\n\r\n {\r\n Id:2, Code:1002, Date:new Date(2022, 1, 13),\r\n ClientId:2, ClientNameAr:'فواز', ClientNameEn:'Fawaz', ShippingAddress1: \"address21\", ShippingAddress2:\"adderss22\",\r\n Description:\"desc2\\nquotation2\\n2\",\r\n Items: [\r\n { Id:3, QuotationId: 2, ItemId:2, ItemNameAr: \"منتج 2\", ItemNameEn: \"Item 2\", \r\n UnitId:2, UnitNameAr:\"وحدة 2\", UnitNameEn:\"Unit 2\", Description:\"item\\ndescription\\n3\", \r\n UnitCost:1000, Quantity:3, TotalPrice:3000, DiscountValue:3, DiscountIsRate:true, NetPrice:2910,\r\n Taxes:[\r\n { Id:3, QuotationItemId: 3, TaxId: 3, TaxNameAr: \"ضريبة 3\", TaxNameEn: \"Tax 3\", TaxIsRate:true, TaxValue:10 },\r\n { Id:4, QuotationItemId: 3, TaxId: 1, TaxNameAr: \"ضريبة 1\", TaxNameEn: \"Tax 1\", TaxIsRate:true, TaxValue:5 },\r\n ],\r\n TotalTaxValues:436.5, GrossPrice: 3346.5 },\r\n\r\n { Id:4, QuotationId: 2, ItemId:1, ItemNameAr: \"منتج 1\", ItemNameEn: \"Item 1\", \r\n UnitId:1, UnitNameAr:\"وحدة 1\", UnitNameEn:\"Unit 1\", Description:\"item\\ndescription\\n4\", \r\n UnitCost:1000, Quantity:4, TotalPrice:4000, DiscountValue:4, DiscountIsRate:false, NetPrice:3996,\r\n Taxes:[\r\n { Id:5, QuotationItemId: 4, TaxId: 1, TaxNameAr: \"ضريبة 1\", TaxNameEn: \"Tax 1\", TaxIsRate:true, TaxValue:5 },\r\n { Id:6, QuotationItemId: 4, TaxId: 2, TaxNameAr: \"ضريبة 2\", TaxNameEn: \"Tax 2\", TaxIsRate:false, TaxValue:200 },\r\n ],\r\n TotalTaxValues:399.8, GrossPrice: 4395.8 },\r\n ],\r\n TotalItemPrices: 7000, TotalItemDiscounts: 94, TotalItemNetPrices: 6906, TotalItemTaxes: 836.3,\r\n TotalItemGrossPrices: 7742.3,\r\n Services: [\r\n { Id: 3, QuotationId: 2, NameAr: \"غرامة تأخر استلام\", NameEn:\"Waiting fee\", Value: 100, IsRate: false },\r\n ],\r\n TotalServices: 100, DiscountValue:200, DiscountIsRate: false, ShippingFees: 2000,\r\n TotalQuotationValue: 9642.3,\r\n Files: [\r\n {Id: 3, QuotationId: 2, FileUrl: \"Contract1.pdf\"},\r\n {Id: 4, QuotationId: 2, FileUrl: \"Contract2.pdf\"},\r\n ],\r\n },\r\n \r\n ];\r\n debugMode: boolean = false;\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}Quotation/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n if(this.debugMode){\r\n return of(this.debugData.find(x=>x.Id==id))\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}Quotation/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: QuotationModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.push(payload);\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}Quotation/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: QuotationModel): Observable {\r\n if(this.debugMode){\r\n this.debugData[this.debugData.findIndex(x=>x.Id==payload.Id)] = payload;\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}Quotation/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: QuotationModel): Observable {\r\n if(this.debugMode){\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==payload.Id),1);\r\n return of(true)\r\n }\r\n return this.http\r\n .get(`${this.baseUrl}Quotation/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: QuotationModel []): Observable {\r\n if(this.debugMode){\r\n payload.forEach(element => {\r\n this.debugData.splice(this.debugData.findIndex(x=>x.Id==element.Id),1);\r\n });\r\n return of(true)\r\n }\r\n return this.http\r\n .post(`${this.baseUrl}Quotation/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","export class QuotationServiceModel {\r\n Id?: number;\r\n QuotationId?: number;\r\n NameAr?: string;\r\n NameEn?: string;\r\n Value?: number;\r\n IsRate?: boolean;\r\n\r\n constructor(obj?: QuotationServiceModel) {\r\n obj = obj ? obj : {};\r\n this.Id = obj.Id ? obj.Id : 0;\r\n this.QuotationId = obj.QuotationId ? obj.QuotationId : 0;\r\n this.NameAr = obj.NameAr ? obj.NameAr : '';\r\n this.NameEn = obj.NameEn ? obj.NameEn : '';\r\n this.Value = obj.Value ? obj.Value : 0;\r\n this.IsRate = obj.IsRate ? obj.IsRate : false;\r\n }\r\n\r\n}","import { Component, HostBinding, Renderer2, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { NotificationsService, NotificationType } from 'angular2-notifications';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { ModalDirective } from 'ngx-bootstrap/modal';\nimport { SidePopupComponent } from '../../app/aio/shared/side-popup/side-popup.component';\nimport { Observable, of, Subscription } from 'rxjs';\n\nimport { NgSelectComponent } from '@ng-select/ng-select';\n\nimport { QuotationDetailsModel } from \"./QuotationDetailsModel\";\nimport { QuotationService } from \"./QuotationService\";\nimport { QuotationItemModel } from \"./QuotationItemModel\";\nimport { QuotationFileModel } from \"./QuotationFileModel\";\nimport { QuotationServiceModel } from \"./QuotationServiceModel\";\n\nimport { ClientModel } from \"../../invoice/clients/ClientModel\";\n//import { StoreDataService } from \"../../purchases/purchase-orders/StoreDataService\";\n//import { SupplierModel } from \"../../purchases/purchase-orders/SupplierModel\";\n// import { PaymentMethodModel } from \"src/app/views/purchases/purchase-orders/PaymentMethodModel\";\n// import { PaymentMethodService } from \"src/app/views/purchases/purchase-orders/PaymentMethodService\";\nimport { DatePipe, formatDate } from '@angular/common';\n//import { StoreDataModel } from '../../purchases/purchase-orders/StoreDataModel';\nimport { QuotationItemTaxModel } from './QuotationItemTaxModel';\nimport { ItemService } from 'src/app/invoices/items/ItemService';\nimport { ClientService } from 'src/app/invoices/clients/ClientService';\nimport { TaxTypesService } from 'src/app/invoices/tax-types/TaxTypesService';\nimport { CodingUnitService } from 'src/app/invoices/coding-units/CodingUnitService';\nimport { ListPageHeaderComponent } from 'src/app/containers/pages/list-page-header/list-page-header.component';\nimport { TableEngine } from '../../app/aio/shared/TableEngine';\nimport { CodingUnitModel } from 'src/app/invoices/coding-units/CodingUnitModel';\nimport { ItemModel } from 'src/app/invoices/items/ItemModel';\nimport { TaxTypesModel } from 'src/app/invoices/tax-types/TaxTypesModel';\nimport { StoreItemsService } from 'src/app/Invintory/store-items-service.service';\nimport { StoreItemsModel } from 'src/app/Invintory/models/StoreItemsModel';\n\n\n\n\n@Component({\n selector: 'app-quotations',\n templateUrl: './quotations.component.html',\n styleUrls: ['./quotations.component.scss']\n})\nexport class QuotationsComponent {\n ////////////////////////////////////////////////////////////////////////////\n // VARYING :\n // Modify per similar component.\n ////////////////////////////////////////////////////////////////////////////\n\n //Enable debugMode to make API modules return static data from within the service class\n debugMode: boolean = true;\n\n constructor(private formBuilder: FormBuilder, private modelService: QuotationService, private renderer: Renderer2,\n private notifications: NotificationsService, private translate: TranslateService,\n private itemService: StoreItemsService, private datePipe: DatePipe,\n private clientService: ClientService, private codingUnitService: CodingUnitService,\n private taxTypeService: TaxTypesService,\n ) {\n }\n\n\n listHeader = new ListPageHeaderComponent();\n\n tableEngine = new TableEngine(this.translate, this.notifications);\n currentScreen: any = 'Table';\n tableView: any = true;\n\n translationName: string = 'Quotation'\n\n sortableKeys = [];\n searchableKeys = ['Date'];\n\n modelObject: QuotationDetailsModel = new QuotationDetailsModel();\n\n ogData: QuotationDetailsModel[] = [];\n \n mainForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n Date: new FormControl(),\n ClientId: new FormControl(),\n ShippingFees: new FormControl(),\n ShippingAddress1: new FormControl(),\n ShippingAddress2: new FormControl(),\n Description: new FormControl(),\n DiscountValue: new FormControl(),\n DiscountIsRate: new FormControl(),\n });\n\n\n declare lang: any;\n declare itemOrder: any;\n currentAction = '';\n savedPage = 0;\n currentPage = 1;\n deletionList: any[] = [];\n\n @ViewChild('sideModalRef', { static: true }) sideModalRef: SidePopupComponent = null;\n @ViewChild('delModal', { static: true }) delModal: ModalDirective;\n @ViewChild('smallModal', { static: true }) smallModal: ModalDirective = null;\n formPresentationModal: any;\n ngOnInit(): void {\n if (this.debugMode) {\n this.enableDebugOnAllServices();\n }\n\n this.lang = localStorage.getItem('theme_lang');\n this.itemOrder = { label: 'QuotationCode', property: 'Code' };\n this.sortableKeys = [\n { label: 'QuotationCode', property: 'Code' },\n { label: 'QuotationDate', property: 'Date' },\n { label: 'QuotationClientName', property: this.lang === 'ar-EG' ? 'ClientNameAr' : 'ClientNameEn' },\n { label: 'QuotationShippingAddress1', property: 'ShippingAddress1' },\n { label: 'QuotationShippingAddress2', property: 'ShippingAddress2' },\n { label: 'QuotationTotalQuotationValue', property: 'TotalQuotationValue' },\n ];\n\n\n this.tableEngine.loadTableEngine(this.ogData, this.modelService, this.modelObject,\n this.searchableKeys, this.sortableKeys, this.mainForm, this.translationName, this.itemOrder,\n this.sideModalRef, this.delModal, this.smallModal, this.lang\n )\n\n this.loadServices();\n }\n\n\n enableDebugOnAllServices() {\n this.modelService.debugMode = false;\n // this.clientService.debugMode = true;\n // this.taxTypeService.debugMode = true;\n // this.itemService.debugMode = true;\n //this.codingUnitService.debugMode = true;\n //this.storeDataService.debugMode = true;\n //this.supplierService.debugMode = true;\n\n }\n\n lastCode = 0;\n showModal(Id, action) {\n console.log(\"Items\",this.itemList);\n console.log(\"Units\",this.codingUnitList);\n \n this.newQuotationItem = {};\n this.newQuotationItem.Taxes = [];\n this.newQuotationItemTax = {};\n this.newQuotationFile = {};\n this.newQuotationService = {};\n\n this.quotationItemForm = this.createQuotationItemForm(this.newQuotationItem, this.formBuilder);\n this.quotationItemTaxForm = this.createQuotationItemTaxForm(this.newQuotationItem, this.formBuilder);\n this.quotationServiceForm = this.createQuotationServiceForm(this.newQuotationItem, this.formBuilder);\n\n if (action === 'Add') {\n this.addedItemList = [];\n this.addedServiceList = [];\n this.addedFileList = [];\n this.newQuotationItemInternalId = 0;\n this.newQuotationItemTaxInternalId = 0;\n this.newQuotationServiceInternalId = 0;\n this.newQuotationFileInternalId = 0;\n this.lastCode = this.tableEngine.ogData.length>0?this.tableEngine.ogData[this.tableEngine.ogData.length - 1].Code:0;\n \n this.tableEngine.showAddNewModalRef(this.createForm, this.formBuilder);\n }\n else if (action === 'Edit') {\n this.addedItemList = [];\n this.addedServiceList = [];\n this.addedFileList = [];\n\n this.addedItemList = [...this.tableEngine.ogData.find(i => i.Id === Id).Items];\n this.addedServiceList = [...this.tableEngine.ogData.find(i => i.Id === Id).Services];\n this.addedFileList = [...this.tableEngine.ogData.find(i => i.Id === Id).Files];\n \n this.tableEngine.showEditModalRef(Id, this.createForm, this.formBuilder);\n }\n else if (action === 'Info') {\n this.addedItemList = [];\n this.addedServiceList = [];\n this.addedFileList = [];\n\n this.addedItemList = [...this.tableEngine.ogData.find(i => i.Id === Id).Items];\n this.addedServiceList = [...this.tableEngine.ogData.find(i => i.Id === Id).Services];\n this.addedFileList = [...this.tableEngine.ogData.find(i => i.Id === Id).Files];\n\n this.tableEngine.showInfoModalRef(Id, this.createForm, this.formBuilder);\n }\n this.tableView = false;\n this.modelObject = this.tableEngine.modelObject;\n this.mainForm = this.tableEngine.mainForm;\n console.log((action + \" object\"), this.modelObject);\n\n this.calculateTotalQuotationValue();\n \n console.log(\"modelObject after entering edit\", this.modelObject);\n }\n currentDate='';\n createForm(modelObject, formBuilder): FormGroup {\n \n return formBuilder.group({\n Date: [modelObject.Date?modelObject.Date.toISOString().slice(0, 10) :modelObject.Date, Validators.compose([Validators.required])],\n ClientId: [modelObject.ClientId, Validators.compose([Validators.required])],\n ShippingFees: [modelObject.ShippingFees, Validators.compose([Validators.required, Validators.pattern(/^([0-9]+)([0-9])*(\\.[0-9]+)?$/)])],\n ShippingAddress1: [modelObject.ShippingAddress1, Validators.compose([Validators.required])],\n ShippingAddress2: [modelObject.ShippingAddress2],\n Description: [modelObject.Description],\n DiscountValue: [modelObject.DiscountValue, Validators.compose([Validators.required, Validators.pattern(/^([0-9]+)([0-9])*(\\.[0-9]+)?$/)])],\n DiscountIsRate: [modelObject.DiscountIsRate],\n });\n }\n\n addObject() {\ndebugger;\n this.currentAction = 'loading';\n \n let tempItemList: QuotationItemModel[] = [];\n let tempItem: QuotationItemModel;\n let itemDebugId = 0;\n let taxDebugId = 0;\n for (let index = 0; index < this.addedItemList.length; index++) {\n tempItem = new QuotationItemModel();\n tempItem = this.addedItemList[index];\n tempItem.Id = this.debugMode ? itemDebugId : 0;\n tempItem.QuotationId = 0;\n tempItemList.push(tempItem); \n\n itemDebugId++;\n \n let tempTaxList: QuotationItemTaxModel[] = [];\n let tempTax: QuotationItemTaxModel;\n for (let taxIndex = 0; taxIndex < this.addedItemList[index].Taxes.length; taxIndex++) {\n tempTax = new QuotationItemTaxModel();\n tempTax = this.addedItemList[index].Taxes[taxIndex];\n tempTax.Id = this.debugMode ? taxDebugId : 0;\n tempTax.QuotationItemId = 0;\n tempTaxList.push(tempTax);\n \n taxDebugId++;``\n }\n }\n \n let tempServiceList: QuotationServiceModel[] = [];\n let tempService: QuotationServiceModel;\n let serviceDebugId = 0;\n for (let index = 0; index < this.addedServiceList.length; index++) {\n tempService = new QuotationServiceModel();\n tempService = this.addedServiceList[index];\n tempService.Id = this.debugMode ? serviceDebugId : 0;\n tempService.QuotationId = 0;\n tempServiceList.push(tempService);\n\n serviceDebugId++;\n }\n\n \n let tempFileList: QuotationFileModel[] = [];\n let tempFile: QuotationFileModel;\n let fileDebugId = 0;\n for (let index = 0; index < this.addedFileList.length; index++) {\n tempFile = new QuotationFileModel();\n tempFile = this.addedFileList[index];\n tempFile.Id = this.debugMode ? fileDebugId : 0;\n tempFile.QuotationId = 0;\n tempFileList.push(tempFile);\n\n fileDebugId++;\n }\n let lastId = this.tableEngine.ogData.length>0?this.tableEngine.ogData[this.tableEngine.ogData.length - 1].Id:0;\n\n this.modelObject = new QuotationDetailsModel();\n \n this.modelObject.Id = this.debugMode ? lastId + 1 : 0;\n \n this.modelObject.Code = this.lastCode + 1;\n console.log(this.lastCode);\n \n \n this.modelObject.ClientId = this.mainForm.getRawValue().ClientId;\n let date = new Date(this.mainForm.getRawValue().Date);\n\n this.modelObject.Date = date;\n this.modelObject.ShippingFees = this.mainForm.getRawValue().ShippingFees;\n this.modelObject.ShippingAddress2 = this.mainForm.getRawValue().ShippingAddress2;\n this.modelObject.ShippingAddress1 = this.mainForm.getRawValue().ShippingAddress1;\n this.modelObject.DiscountValue = this.mainForm.getRawValue().DiscountValue;\n this.modelObject.DiscountIsRate = this.mainForm.getRawValue().DiscountIsRate;\n\n this.modelObject.Description = this.mainForm.getRawValue().Description;\n this.modelObject.Items = tempItemList;\n this.modelObject.Services = tempServiceList;\n this.modelObject.Files = tempFileList;\n\n this.modelObject.TotalQuotationValue = this.calculateTotalQuotationValue();\n\n this.modelObject.TotalItemPrices = this.currentTotalItemPrices;\n this.modelObject.TotalItemDiscounts = this.currentTotalItemDiscounts;\n this.modelObject.TotalItemNetPrices = this.currentTotalItemNetPrices;\n this.modelObject.TotalItemTaxes = this.currentTotalItemTaxes;\n this.modelObject.TotalItemGrossPrices = this.currentTotalItemGrossPrices;\n this.modelObject.TotalServices = this.currentTotalServices;\n\n\n this.executeAddObject();\n }\n\n executeAddObject() {\n this.modelService.insert(this.modelObject).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyAdded\"));\n if (this.sideModalRef === undefined) {\n if (this.smallModal != undefined) {\n this.tableEngine.smallModal.hide();\n }\n else {\n this.tableView = this.prevAction === 'AddThenNew' ? false : true;\n \n this.prevAction = '';\n }\n }\n else {\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n \n if(this.prevAction != 'AddThenNew'){\n this.goBack();\n }\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedAdd\"));\n this.currentAction = '';\n }\n })\n }\n\n editObject() {\n this.currentAction = 'loading';\n this.tableEngine.savedPage = this.tableEngine.currentPage;\n\n\n let tempItemList: QuotationItemModel[] = [];\n let tempItem: QuotationItemModel;\n let itemDebugId = 1;\n let taxDebugId = 0;\n for (let index = 0; index < this.addedItemList.length; index++) {\n tempItem = new QuotationItemModel();\n tempItem = this.addedItemList[index];\n tempItem.Id = this.debugMode ? itemDebugId : 0;\n tempItem.QuotationId = 0;\n tempItemList.push(tempItem);\n\n itemDebugId++;\n \n let tempTaxList: QuotationItemTaxModel[] = [];\n let tempTax: QuotationItemTaxModel;\n for (let taxIndex = 0; taxIndex < this.addedItemList[index].Taxes.length; taxIndex++) {\n tempTax = new QuotationItemTaxModel();\n tempTax = this.addedItemList[index].Taxes[taxIndex];\n tempTax.Id = this.debugMode ? taxDebugId : 0;\n tempTax.QuotationItemId = 0;\n tempTaxList.push(tempTax);\n \n taxDebugId++;``\n }\n }\n \n let tempServiceList: QuotationServiceModel[] = [];\n let tempService: QuotationServiceModel;\n let serviceDebugId = 1;\n for (let index = 0; index < this.addedServiceList.length; index++) {\n tempService = new QuotationServiceModel();\n tempService = this.addedServiceList[index];\n tempService.Id = this.debugMode ? serviceDebugId : 0;\n tempService.QuotationId = 0;\n tempServiceList.push(tempService);\n\n serviceDebugId++;\n }\n\n \n let tempFileList: QuotationFileModel[] = [];\n let tempFile: QuotationFileModel;\n let fileDebugId = 1;\n for (let index = 0; index < this.addedFileList.length; index++) {\n tempFile = new QuotationFileModel();\n tempFile = this.addedFileList[index];\n tempFile.Id = this.debugMode ? fileDebugId : 0;\n tempFile.QuotationId = 0;\n tempFileList.push(tempFile);\n\n fileDebugId++;\n }\n \n \n\n\n\n //this.calculateTotalItemValue();\n //let newString = new DatePipe('en-US').transform(this.mainForm.getRawValue().Date, 'dd/MM/yyyy');\n //console.log(\"newstring\", newString);\n \n //let date: Date = this.getFormattedDate(new DatePipe('en-US').transform(this.mainForm.getRawValue().Date, 'dd/MM/yyyy'));\n let date = new Date(this.mainForm.getRawValue().Date);\n let tempObj = new QuotationDetailsModel({\n Id: this.modelObject.Id,\n Code: this.modelObject.Code,\n ClientId: this.mainForm.getRawValue().ClientId,\n ShippingFees: this.mainForm.getRawValue().ShippingFees,\n ShippingAddress1: this.mainForm.getRawValue().ShippingAddress1,\n ShippingAddress2: this.mainForm.getRawValue().ShippingAddress2,\n DiscountValue: this.mainForm.getRawValue().DiscountValue,\n DiscountIsRate: this.mainForm.getRawValue().DiscountIsRate,\n Date: date,\n Description: this.mainForm.getRawValue().Description,\n\n Items: tempItemList,\n Services: tempServiceList,\n Files: tempFileList,\n \n TotalQuotationValue: this.calculateTotalQuotationValue(),\n\n TotalItemPrices: this.currentTotalItemPrices,\n TotalItemDiscounts: this.currentTotalItemDiscounts,\n TotalItemNetPrices: this.currentTotalItemNetPrices,\n TotalItemTaxes: this.currentTotalItemTaxes,\n TotalItemGrossPrices: this.currentTotalItemGrossPrices,\n TotalServices: this.currentTotalServices,\n\n });\n this.executeEditObject(tempObj);\n console.log(\"saved object\", tempObj);\n \n }\n\n executeEditObject(Object) {\n\n\n this.modelService.update(Object).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.toastSuccess(this.translate.instant(\"Success\"), this.translate.instant(\"SuccessfullyEdited\"));\n\n if (this.sideModalRef === undefined) {\n if (this.smallModal != undefined) {\n this.tableEngine.smallModal.hide();\n }\n else {\n this.tableView = true;\n }\n }\n else {\n this.tableEngine.sideModalRef.modalRef.hide();\n }\n \n this.goBack();\n \n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedEdit\"));\n this.currentAction = '';\n }\n })\n }\n\n //Deletion methods:\n //Customize if needed.\n //Pass the target object as parameter if the target API can only delete singular objects and not lists.\n deleteObject() {\n this.savedPage = this.currentPage;\n //prevent multiclicks. re enable after API response\n this.currentAction = 'loading';\n this.executeDeleteObject();\n }\n\n //Same here...\n executeDeleteObject() {\n this.modelService.deleteList(this.tableEngine.deletionList).subscribe(result => {\n if (result === true) {\n this.tableEngine.loadData();\n this.currentAction = '';\n this.tableEngine.finalizeDeletion();\n }\n else {\n this.tableEngine.toastError(this.translate.instant(\"Error\"), this.translate.instant(\"FailedDelete\"));\n this.currentAction = '';\n }\n })\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // EXCLUSIVE :\n // Specifically for this component.\n ///////////////////////////////\n //Get any additional data here\n SearchFrom: Date = null;\n SearchTo: Date = null;\n\n clearSearch() {\n this.SearchFrom = null;\n this.SearchTo = null;\n }\n\n prevAction = '';\n addAndNew() {\n this.prevAction = 'AddThenNew';\n this.addObject();\n this.showModal(null, 'Add');\n }\n\n loadServices() {\n this.currentAction = 'loading';\n\n this.clientService.getAll().subscribe(\n clientData => {\n this.clientList = clientData;\n\n this.codingUnitService.getAll().subscribe(\n codingUnitData => {\n this.codingUnitList = codingUnitData;\n\n this.itemService.getAll().subscribe(\n itemData => {\n this.itemList = itemData;\n\n this.taxTypeService.getAll().subscribe(\n taxTypeData => {\n this.taxTypeList = taxTypeData;\n\n this.tableEngine.loadData();\n }\n )\n }\n )\n }\n )\n }\n )\n\n\n }\n \n addedItemList: QuotationItemModel[] = [];\n addedServiceList: QuotationServiceModel[] = [];\n addedFileList: QuotationFileModel[] = [];\n codingUnitList: CodingUnitModel[] = [];\n itemList: StoreItemsModel[] = [];\n clientList: ClientModel[] = [];\n taxTypeList: TaxTypesModel[] = [];\n \n getItemById(Id: any): any {\n return this.itemList.find(i => i.Id === Id);\n }\n getUnityById(Id: any): any {\n return this.codingUnitList.find(i => i.Id === Id);\n }\n getTaxTypeById(Id: any): any {\n return this.taxTypeList.find(i => i.Id === Id);\n }\n getClientById(Id: any): any {\n return this.clientList.find(i => i.Id === Id);\n }\n\n quotationItemForm: FormGroup = new FormGroup({\n ItemId: new FormControl(),\n Description: new FormControl(),\n UnitCost: new FormControl(),\n Quantity: new FormControl(),\n DiscountValue: new FormControl(),\n DiscountIsRate: new FormControl(),\n });\n \n quotationItemTaxForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n TaxId: new FormControl(),\n });\n\n quotationServiceForm: FormGroup = new FormGroup({\n Id: new FormControl(),\n NameAr: new FormControl(),\n //NameEn: new FormControl(),\n Value: new FormControl(),\n //IsRate: new FormControl(),\n });\n\n createQuotationItemForm(quotationItemObject, formBuilder): FormGroup {\n return formBuilder.group({\n Id: [quotationItemObject.Id >= 0 ? quotationItemObject.Id : 0],\n ItemId: [null ,Validators.compose([Validators.required])],\n Quantity: [null ,Validators.compose([Validators.required, Validators.pattern(/^([1-9]+)([0-9])*$/)])],\n UnitCost: [null ,Validators.compose([Validators.required, Validators.pattern(/^([0-9]+)([0-9])*(\\.[0-9]+)?$/)])],\n Description: [null],\n DiscountValue: [null ,Validators.compose([ Validators.pattern(/^([0-9]+)([0-9])*(\\.[0-9]+)?$/)])],\n DiscountIsRate: [true],\n });\n }\n \n createQuotationItemTaxForm(quotationItemTaxObject, formBuilder): FormGroup {\n return formBuilder.group({\n Id: [quotationItemTaxObject.Id >= 0 ? quotationItemTaxObject.Id : 0],\n TaxId: [null ,Validators.compose([Validators.required])],\n });\n }\n \n createQuotationServiceForm(quotationServiceObject, formBuilder): FormGroup {\n return formBuilder.group({\n Id: [quotationServiceObject.Id >= 0 ? quotationServiceObject.Id : 0],\n //NameEn: [null , Validators.compose([Validators.required, Validators.minLength(2)])],\n NameAr: [null , Validators.compose([Validators.required, Validators.pattern(/^[\\u0621-\\u064A\\u0660-\\u06690-9]+([\\s]*[\\u0621-\\u064A\\u0660-\\u06690-9]+)*$/)])],\n Value: [null ,Validators.compose([Validators.required, Validators.pattern(/^([0-9]+)([0-9])*(\\.[0-9]+)?$/)])],\n //IsRate: [null ,Validators.compose([Validators.required])],\n });\n }\n newQuotationItem: QuotationItemModel = new QuotationItemModel();\n newQuotationItemInternalId = 0;\n newQuotationItemTax: QuotationItemTaxModel = new QuotationItemTaxModel();\n newQuotationItemTaxInternalId = 0;\n\n newQuotationService: QuotationServiceModel = new QuotationServiceModel();\n newQuotationServiceInternalId = 0;\n \n newQuotationFile: QuotationFileModel = new QuotationFileModel();\n newQuotationFileInternalId = 0;\n\n //items\n addQuotationItem(): any {\n debugger;\n let unitCost = this.quotationItemForm.getRawValue().UnitCost;\n let quantity = this.quotationItemForm.getRawValue().Quantity;\n let totalPrice = unitCost * quantity;\n let discountValue = this.quotationItemForm.getRawValue().DiscountValue;\n let netPrice = this.quotationItemForm.getRawValue().DiscountIsRate? totalPrice - (discountValue * totalPrice / 100) : totalPrice - discountValue;\n let totalTaxValues = 0;\n this.newQuotationItem.Taxes.forEach(tax => {\n totalTaxValues += tax.TaxIsRate ? tax.TaxValue * netPrice / 100 : tax.TaxValue;\n });\n let grossPrice = netPrice + totalTaxValues;\n\n \n let temp = new QuotationItemModel({\n Id: this.newQuotationItemInternalId,\n ItemId: this.quotationItemForm.getRawValue().ItemId,\n ItemNameAr: this.getItemById(this.quotationItemForm.getRawValue().ItemId).NameAr,\n ItemNameEn: this.getItemById(this.quotationItemForm.getRawValue().ItemId).NameEn,\n UnitId: this.newQuotationItem.UnitId,\n UnitNameAr: this.getUnityById(this.newQuotationItem.UnitId).NameAr,\n UnitNameEn: this.getUnityById(this.newQuotationItem.UnitId).NameEn,\n Description: this.quotationItemForm.getRawValue().Description,\n UnitCost: unitCost,\n Quantity: quantity,\n TotalPrice: totalPrice,\n DiscountValue: discountValue,\n //DiscountIsRate: this.quotationItemForm.getRawValue().DiscountIsRate,\n NetPrice: netPrice,\n Taxes: this.newQuotationItem.Taxes,\n TotalTaxValues: totalTaxValues,\n GrossPrice: grossPrice,\n })\n temp.DiscountIsRate=this.quotationItemForm.getRawValue().DiscountIsRate;\n \n console.log(\"saving\",this.quotationItemForm.getRawValue().DiscountIsRate);\n console.log(temp.DiscountIsRate);\n \n this.addedItemList = this.addedItemList.concat(temp)\n console.log(this.addedItemList);\n \n this.newQuotationItemInternalId = this.newQuotationItemInternalId + 1;\n\n this.newQuotationItem = new QuotationItemModel();\n\n \n this.quotationItemForm = this.createQuotationItemForm(this.newQuotationItem, this.formBuilder);\n \n this.calculateTotalQuotationValue();\n }\n removeQuotationItem(Id: any): any {\n\n let index = this.addedItemList.findIndex(x => x.Id === Id);\n this.addedItemList.splice(index, 1);\n\n this.calculateTotalQuotationValue();\n }\n changeItem(): any {\n this.newQuotationItem.ItemId = this.quotationItemForm.getRawValue().ItemsHeaderId;\n this.newQuotationItem.UnitId = this.quotationItemForm.getRawValue().ItemId>0?\n this.getItemById(this.quotationItemForm.getRawValue().ItemId).UnitId:\n 0;\n\n this.calculateItemValues();\n //this.calculateTotalQuotationValue();\n }\n \n //services\n addQuotationService(): any {\n\n let temp = new QuotationServiceModel({\n Id: this.newQuotationServiceInternalId,\n //QuotationId: this.modelObject.Id,\n NameAr: this.quotationServiceForm.getRawValue().NameAr,\n NameEn: this.quotationServiceForm.getRawValue().NameEn,\n Value: this.quotationServiceForm.getRawValue().Value,\n //IsRate: this.quotationServiceForm.getRawValue().IsRate,\n });\n temp.IsRate = this.quotationServiceForm.getRawValue().IsRate;\n \n this.addedServiceList = this.addedServiceList.concat(temp)\n this.newQuotationServiceInternalId = this.newQuotationServiceInternalId + 1;\n\n this.newQuotationService = new QuotationServiceModel();\n\n \n this.quotationServiceForm = this.createQuotationServiceForm(this.newQuotationService, this.formBuilder);\n \n this.calculateTotalQuotationValue();\n }\n removeQuotationService(Id: any): any {\n\n let index = this.addedServiceList.findIndex(x => x.Id === Id);\n this.addedServiceList.splice(index, 1);\n\n this.calculateTotalQuotationValue();\n }\n \n //taxes\n addQuotationItemTax(): any {\n debugger;\n let tax: TaxTypesModel = this.getTaxTypeById(this.quotationItemTaxForm.getRawValue().TaxId);\n let temp = new QuotationItemTaxModel({\n Id: this.newQuotationItemTaxInternalId,\n //QuotationItemId: this.modelObject.Id,\n TaxId: tax.Id,\n TaxNameAr: tax.NameAr,\n TaxNameEn : tax.NameEn,\n //TaxIsRate: tax.IsRate,\n TaxValue: tax.Percentage,\n })\n temp.TaxIsRate = tax.IsRate;\n\n this.newQuotationItem.Taxes = this.newQuotationItem.Taxes.concat(temp)\n this.newQuotationItemTaxInternalId = this.newQuotationItemTaxInternalId + 1;\n\n this.newQuotationItemTax = new QuotationItemTaxModel();\n\n \n this.quotationItemTaxForm = this.createQuotationItemTaxForm(this.newQuotationItemTax, this.formBuilder);\n \n this.calculateItemValues()\n //this.calculateTotalQuotationValue();\n }\n removeQuotationItemTax(Id: any): any {\n\n let index = this.newQuotationItem.Taxes.findIndex(x => x.Id === Id);\n this.newQuotationItem.Taxes.splice(index, 1);\n\n this.calculateItemValues()\n //this.calculateTotalQuotationValue();\n }\n changeTax(): any {\n debugger;\n let tax: TaxTypesModel = this.getTaxTypeById(this.quotationItemTaxForm.getRawValue().TaxId);\n this.newQuotationItemTax.TaxId = tax.Id;\n this.newQuotationItemTax.TaxNameAr = tax.NameAr;\n this.newQuotationItemTax.TaxNameEn = tax.NameEn;\n this.newQuotationItemTax.TaxValue = tax.Percentage;\n this.newQuotationItemTax.TaxIsRate = tax.IsRate;\n\n this.calculateItemValues()\n //this.calculateTotalQuotationValue();\n }\n\n //files\n addedFileUrl: string = '';\n addQuotationFile(): any {\n let temp = new QuotationFileModel({\n Id: this.newQuotationFileInternalId,\n //QuotationId: this.modelObject.Id,\n FileUrl: this.addedFileUrl,\n })\n\n this.addedFileList = this.addedFileList.concat(temp)\n this.newQuotationFileInternalId = this.newQuotationFileInternalId + 1;\n\n this.newQuotationFile = new QuotationFileModel();\n\n //reset form here?\n }\n removeQuotationFile(Id: any): any {\n\n let index = this.addedFileList.findIndex(x => x.Id === Id);\n this.addedFileList.splice(index, 1);\n }\n\n currentTotalItemPrices = 0;\n currentTotalItemDiscounts = 0;\n currentTotalItemNetPrices = 0;\n currentTotalItemTaxes = 0;\n currentTotalItemGrossPrices = 0;\n currentTotalAfterQuotationDiscount = 0;\n currentTotalAfterShippingFees = 0;\n currentTotalServices = 0;\n currentTotalQuotationValue = 0;\n calculateTotalQuotationValue() {\n \n\n console.log(this.addedItemList);\n console.log(\"chagngesD\");\n let value = this.mainForm.getRawValue().DiscountValue;\n if(this.mainForm.getRawValue().DiscountIsRate && value>100){\n value=100;\n this.mainForm.controls.DiscountValue.setValue(value);\n }\n\n console.log(\"entered\");\n console.log();\n \n \n let totalItemPrices = 0;\n let totalItemDiscounts = 0;\n let totalItemNetPrices = 0;\n let totalItemTaxes = 0;\n let totalItemGrossPrices = 0;\n let totalAfterQuotationDiscount = 0;\n let totalAfterShippingFees = 0;\n let totalServices = 0;\n let totalQuotationValue = 0;\n this.addedItemList.forEach(item => {\n item.TotalPrice = item.UnitCost * item.Quantity;\n totalItemPrices += item.TotalPrice;\n\n totalItemDiscounts += item.DiscountIsRate?item.DiscountValue*item.TotalPrice/100:item.DiscountValue;\n item.NetPrice = item.TotalPrice - (item.DiscountIsRate?item.DiscountValue*item.TotalPrice/100:item.DiscountValue);\n totalItemNetPrices += item.NetPrice;\n\n item.TotalTaxValues = 0;\n item.Taxes.forEach(tax => {\n item.TotalTaxValues += (tax.TaxIsRate?(tax.TaxValue*item.NetPrice)/100:tax.TaxValue);\n });\n totalItemTaxes += item.TotalTaxValues;\n\n item.GrossPrice = item.NetPrice + item.TotalTaxValues;\n totalItemGrossPrices += item.GrossPrice;\n });\n\n \n this.addedServiceList.forEach(service => {\n totalServices += (service.IsRate?(service.Value*totalItemGrossPrices)/100:service.Value);\n });\n\n let finalDiscountValue = this.mainForm.getRawValue().DiscountValue;\n let finalDiscountIsRate = this.mainForm.getRawValue().DiscountIsRate;\n let finalQuotationDiscount = finalDiscountIsRate?finalDiscountValue*totalItemGrossPrices/100:finalDiscountValue;\n totalAfterQuotationDiscount = totalItemGrossPrices - finalQuotationDiscount;\n totalAfterShippingFees = totalAfterQuotationDiscount + this.mainForm.getRawValue().ShippingFees;\n totalQuotationValue = totalAfterShippingFees + totalServices;\n \n this.currentTotalItemPrices = totalItemPrices;\n this.currentTotalItemDiscounts = totalItemDiscounts;\n this.currentTotalItemNetPrices = totalItemNetPrices;\n this.currentTotalItemTaxes = totalItemTaxes;\n this.currentTotalItemGrossPrices = totalItemGrossPrices;\n this.currentTotalServices = totalServices;\n this.currentTotalQuotationValue = totalQuotationValue;\n this.currentTotalAfterQuotationDiscount = totalAfterQuotationDiscount;\n this.currentTotalAfterShippingFees = totalAfterShippingFees;\n \n console.log(\"neemo\",totalItemGrossPrices);\n \n return totalQuotationValue;\n \n }\n goBack(){\n console.log(\"back\");\n \n this.modelObject = {};\n this.addedItemList = [];\n this.addedServiceList = [];\n this.addedFileList = [];\n\n this.currentTotalItemPrices = 0;\n this.currentTotalItemNetPrices = 0;\n this.currentTotalItemDiscounts = 0;\n this.currentTotalServices = 0;\n this.currentTotalItemGrossPrices = 0;\n this.currentTotalItemTaxes = 0;\n this.currentTotalAfterQuotationDiscount = 0;\n this.currentTotalAfterShippingFees = 0;\n this.currentTotalQuotationValue = 0;\n\n this.newQuotationItem = {};\n this.newQuotationItem.Taxes = [];\n this.currentAction = \"\";\n this.tableView = true;\n\n \n console.log(this.modelObject);\n console.log(this.lastCode);\n }\n\n calculateItemValues(){\n if(this.quotationItemForm.getRawValue().ItemId>0){\n\n console.log(this.addedItemList);\n console.log(\"chagngesD\");\n let value = this.quotationItemForm.getRawValue().DiscountValue;\n if(this.quotationItemForm.getRawValue().DiscountIsRate && value>100){\n value=100;\n this.quotationItemForm.controls.DiscountValue.setValue(value);\n }\n \n let unitCost = this.quotationItemForm.getRawValue().UnitCost;\n let quantity = this.quotationItemForm.getRawValue().Quantity;\n let totalPrice = unitCost * quantity;\n let discountValue = this.quotationItemForm.getRawValue().DiscountValue;\n let netPrice = this.quotationItemForm.getRawValue().DiscountIsRate? totalPrice - (discountValue * totalPrice / 100) : totalPrice - discountValue;\n let totalTaxValues = 0;\n this.newQuotationItem.Taxes.forEach(tax => {\n totalTaxValues += tax.TaxIsRate ? tax.TaxValue * netPrice / 100 : tax.TaxValue;\n });\n console.log(\"KEEMO\",totalTaxValues);\n \n let grossPrice = netPrice + totalTaxValues;\n \n \n let temp = new QuotationItemModel({\n Id: this.newQuotationItemInternalId,\n ItemId: this.quotationItemForm.getRawValue().ItemId,\n ItemNameAr: this.getItemById(this.quotationItemForm.getRawValue().ItemId).NameAr,\n ItemNameEn: this.getItemById(this.quotationItemForm.getRawValue().ItemId).NameEn,\n UnitId: this.newQuotationItem.UnitId,\n UnitNameAr: this.getUnityById(this.newQuotationItem.UnitId).NameAr,\n UnitNameEn: this.getUnityById(this.newQuotationItem.UnitId).NameEn,\n Description: this.quotationItemForm.getRawValue().Description,\n UnitCost: unitCost,\n Quantity: quantity,\n TotalPrice: totalPrice,\n DiscountValue: discountValue,\n //DiscountIsRate: this.quotationItemForm.getRawValue().DiscountIsRate,\n NetPrice: netPrice,\n Taxes: this.newQuotationItem.Taxes,\n TotalTaxValues: totalTaxValues,\n GrossPrice: grossPrice,\n })\n temp.DiscountIsRate=this.quotationItemForm.getRawValue().DiscountIsRate;\n \n this.newQuotationItem = temp;\n }\n }\n\n test(){\n console.log(this.quotationItemForm.getRawValue().DiscountIsRate);\n }\n ////////////////////////////////////////////////////////////////////////////\n //\n //\n //\n //\n //\n ////////////////////////////////////////////////////////////////////////////\n // CONSTANT :\n // Do not change.\n ///////////////////////////////\n prepChangeSort(sortKey) {\n this.SearchFrom = null;\n this.SearchTo = null;\n \n \n this.tableEngine.changeSort(this.tableEngine.getSort(sortKey));\n this.itemOrder = this.tableEngine.itemOrder;\n }\n\n getFormattedDate(dateString: any){\n let splitDate: number[] = dateString.toString().split(\"/\");\n\n return new Date(splitDate[2], splitDate[1]-1, splitDate[0])\n }\n ///////////////////////////////////////////////////////\n \n displayMode = 'list';\n changeDisplayMode(mode): void {\n this.displayMode = mode;\n }\n itemsPerPageChange(perPage: number): void {\n this.tableEngine.paginateData(perPage, 1)\n }\n}\n","\n\n\n
    \n
    \n
    \n\n
    \n \n \n \n \n
    \n
    \n\n
    \n\n
    \n \n \n
    \n\n
    \n\n
    \n\n
    \n
    \n \n
    \n \n \n {{lang==='ar-EG'?client.NameAr:client.NameEn}}\n \n
    \n \n
    \n {{\"QuotationClientIdRequired\" | translate}}
    \n \n
    \n\n
    \n\n
    \n \n\n 0?'date':'text'\" onfocus=\"(this.type='date')\"\n onblur=\"if(!this.value)this.type='text'\" onchange=\"if(!this.value)this.type='text'\"\n name=\"Date\" class=\"form-control\" formControlName=\"Date\"\n placeholder='{{\"QuotationDate\" | translate}}'>\n \n
    \n {{\"QuotationDateRequired\" | translate}}
    \n \n
    \n\n
    \n\n\n
    \n\n
    \n
    \n \n \n
    \n {{\"QuotationShippingAddress1Required\" | translate}}
    \n \n
    \n\n
    \n\n
    \n \n \n \n
    \n\n
    \n\n
    \n\n
    \n
    \n \n \n \n \n
    \n
    \n\n
    \n
    \n\n \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{\"QuotationItemName\" | translate}}{{\"QuotationItemUnit\" | translate}}{{\"QuotationItemUnitCost\" | translate}}{{\"QuotationItemQuantity\" | translate}}{{\"QuotationItemTotalPrice\" | translate}}{{\"QuotationItemDiscountValue\" | translate}}{{\"QuotationItemNetPrice\" | translate}}{{\"QuotationItemTotalTaxValues\" | translate}}{{\"QuotationItemGrossPrice\" | translate}}
    \n \n \n {{obj.ItemId>0?(lang==='ar-EG'?getItemById(obj.ItemId).Name:getItemById(obj.ItemId).Name):\"None\"|translate}}\n \n {{obj.UnitId>0?(lang==='ar-EG'?getUnityById(obj.UnitId).NameAr:getUnityById(obj.UnitId).NameEn):\"None\"|translate}}\n \n {{obj.UnitCost.toFixed(2)}}\n \n {{obj.Quantity.toFixed(2)}}\n \n {{obj.TotalPrice.toFixed(2)}}\n \n {{obj.DiscountValue.toFixed(2)}}{{obj.DiscountIsRate?'%':''}}\n \n {{obj.NetPrice.toFixed(2)}}\n \n {{obj.TotalTaxValues.toFixed(2)}}\n \n {{obj.GrossPrice.toFixed(2)}}\n
    \n \n \n
    \n
    \n
    \n\n
    \n\n
    \n {{\"QuotationItemId\"\n | translate}}\n \n \n \n {{lang==='ar-EG'?item.Name:item.Name}}\n \n
    \n
    \n {{\"QuotationItemIdRequired\" | translate}}\n
    \n \n
    \n\n
    \n\n
    \n {{\"QuotationItemUnitId\"\n | translate}}\n \n
    \n\n
    \n\n
    \n\n
    \n\n
    \n {{\"QuotationItemUnitCost\"\n | translate}}\n \n \n
    \n {{\"QuotationItemUnitCostRequired\" |\n translate}}
    \n \n
    \n
    \n\n
    \n\n
    \n {{\"QuotationItemQuantity\"\n | translate}}\n \n\n
    \n {{\"QuotationItemQuantityRequired\" |\n translate}}
    \n \n
    \n\n
    \n\n
    \n {{\"QuotationItemTotalPrice\"\n | translate}}\n \n
    \n\n
    \n\n
    \n\n
    \n\n
    \n {{\"QuotationItemDiscountValue\"\n | translate}}\n \n \n
    \n \n \n
    \n {{'ValueIsRate' | translate}}\n
    \n {{\"QuotationItemDiscountValueRequired\" |\n translate}}
    \n \n
    \n
    \n\n
    \n\n
    \n  \n
    \n\n
    \n\n
    \n {{\"QuotationItemNetPrice\"\n | translate}}\n \n
    \n\n
    \n\n
    \n\n
    \n
    \n
    \n
    \n {{\"QuotationItemTaxes\" | translate}}\n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{newQuotationItem.NetPrice>0&&tax.TaxValue>0?\n (tax.TaxIsRate?\n ((newQuotationItem.NetPrice\n * tax.TaxValue /\n 100).toFixed(2))\n :tax.TaxValue.toFixed(2))\n :0}}\n \n \n \n \n\n \n \n \n \n \n \n \n {{newQuotationItem.NetPrice>0&&newQuotationItemTax.TaxValue>0?\n (newQuotationItemTax.TaxIsRate?\n (newQuotationItem.NetPrice\n *\n newQuotationItemTax.TaxValue\n / 100).toFixed(2)\n :newQuotationItemTax.TaxValue)\n :0}}\n \n \n \n \n
    {{\"QuotationItemTaxName\" |\n translate}}{{\"QuotationItemTaxValue\" |\n translate}}{{\"QuotationItemAppliedTaxValue\"\n | translate}}
    \n \n {{lang==='ar-EG'?tax.TaxNameAr:tax.TaxNameEn}}\n \n \n \n {{(tax.TaxValue>0?tax.TaxValue.toFixed(2):0)}}{{tax.TaxIsRate?'%':''}}\n \n
    \n
    \n \n \n {{lang==='ar-EG'?tax.NameAr:tax.NameEn}}\n \n
    \n
    \n \n {{(newQuotationItemTax.TaxId>0?newQuotationItemTax.TaxValue.toFixed(2):0)}}{{newQuotationItemTax.TaxIsRate?'%':''}}\n \n
    \n
    \n
    \n
    \n\n
    \n\n
    \n
    \n  \n
    \n\n
    \n\n
    \n  \n
    \n\n
    \n\n
    \n
    \n {{\"QuotationItemGrossPrice\" | translate}}\n
    \n \n {{newQuotationItem.GrossPrice>0?newQuotationItem.GrossPrice.toFixed(2):0}}\n
    \n \n
    \n \n\n
    \n\n \n \n \n
    \n
    \n
    \n
    \n
    \n\n
    \n\n
    \n
    \n  \n
    \n\n
    \n\n
    \n  \n
    \n\n
    \n
    \n
    \n {{\"QuotationTotalGrossPrices\" | translate}}\n
    \n \n {{currentTotalItemGrossPrices>0?this.currentTotalItemGrossPrices.toFixed(2):0}}\n \n
    \n
    \n
    \n\n\n
    \n\n \n
    \n
    \n
    \n\n
    \n \n
    \n \n
    \n \n \n
    \n {{'ValueIsRate' | translate}}\n
    \n {{\"QuotationDiscountValueRequired\" | translate}}
    \n \n
    \n
    \n\n\n
    \n\n
    \n \n \n
    \n\n\n
    \n\n\n
    \n
    \n  \n
    \n\n
    \n\n
    \n  \n
    \n\n
    \n
    \n
    \n {{\"QuotationTotalAfterDiscount\" | translate}}\n
    \n \n {{this.currentTotalAfterQuotationDiscount>0?this.currentTotalAfterQuotationDiscount.toFixed(2):0}}\n \n
    \n
    \n
    \n
    \n\n\n\n
    \n\n \n
    \n
    \n
    \n\n\n\n
    \n \n
    \n \n
    \n {{\"QuotationShippingFeesRequired\" | translate}}
    \n \n
    \n
    \n\n
    \n\n
    \n
    \n  \n
    \n\n
    \n\n
    \n  \n
    \n\n
    \n
    \n
    \n {{\"QuotationTotalAfterShippingFees\" | translate}}\n
    \n \n {{this.currentTotalAfterShippingFees>0?this.currentTotalAfterShippingFees.toFixed(2):0}}\n \n
    \n
    \n
    \n
    \n\n\n
    \n\n \n\n \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{\"QuotationServiceName\" | translate}}{{\"QuotationServiceValue\" | translate}}
    \n \n \n {{lang==='ar-EG'?obj.NameAr:obj.NameEn}}\n \n {{obj.Value.toFixed(2)}}\n
    \n \n \n \n
    \n {{\"QuotationServiceNameArRequired\" | translate}}
    \n
    \n \n
    \n {{\"QuotationValueRequired\" | translate}}
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n\n\n
    \n
    \n  \n
    \n\n
    \n\n
    \n  \n
    \n\n
    \n
    \n
    \n {{\"QuotationTotalValue\" | translate}}\n
    \n \n {{this.currentTotalQuotationValue>0?this.currentTotalQuotationValue.toFixed(2):0}}\n \n
    \n
    \n
    \n\n
    \n \n \n \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n \n  \n
    \n

    \n {{\"ConfirmDel\"+translationName |\n translate}}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    1 && \n tableEngine.deletionList.length === tableEngine.ogData.length\">\n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n\n\n\n
    \n\n
    \n\n
    \n
    \n
    \n
    \n \n \n \n\n \n \n\n\n \n \n\n\n\n \n \n\n \n \n\n\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n \n \n \n {{\"QuotationCode\" | translate}}\n \n \n \n \n {{\"QuotationDate\" | translate}}\n \n \n \n \n {{\"QuotationClientName\" | translate}}\n \n \n \n \n {{\"QuotationShippingAddress\" | translate}}\n \n \n \n \n {{\"QuotationTotalQuotationValue\" | translate}}\n \n\n
    \n \n {{\"ResultCount\" | translate}}\n \n \n \n
    \n
  • \n {{item}}\n
  • \n
    \n
    \n
    \n\n
    \n
    \n \n \n
    \n
    {{obj.Code}}{{obj.Date | date:\"dd/MM/yyyy\"}}\n {{lang==='ar-EG'?getClientById(obj.ClientId).NameAr:getClientById(obj.ClientId).NameEn}}\n {{obj.ShippingAddress1}}{{obj.TotalQuotationValue.toFixed(2)}}\n \n \n \n \n \n
    \n\n
    \n
    \n \n
    \n\n \n \n \n \n
    \n
    \n
    \n\n\n
    \n
    \n\n
    \n
    \n
    \n\n
    \n\n
     
    \n\n\n
     
    \n\n
    \n
    \n\n
    \n\n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-sales-portal',\n templateUrl: './sales-portal.component.html',\n styleUrls: ['./sales-portal.component.scss']\n})\nexport class SalesPortalComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n\n\n
    \n \n
    \n \n
    \n
    \n
    \n
    \n

    {{\"Quotations\" | translate}}

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

    {{\"Clients\" | translate}}

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

    {{\"Items\" | translate}}

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

    {{\"Invoices\" | translate}}

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

    {{\"CreateInvoice\" | translate}}

    \n
    \n
    \n
    \n
    \n
    \n
    ","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { TaxTypesModel } from './TaxTypesModel';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TaxTypesService {\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n\r\n baseUrl = environment.baseApiUrl;\r\n token = localStorage.getItem(\"token\");\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json; charset=utf-8',\r\n // 'Authorization': \"Bearer \" + token,\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n })\r\n };\r\n getAll(): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}TaxType/GetAll`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n getById(id:number): Observable {\r\n \r\n return this.http\r\n .get(`${this.baseUrl}TaxType/GetById/${id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n insert(payload: TaxTypesModel): Observable {\r\n \r\n return this.http\r\n .post(`${this.baseUrl}TaxType/Insert`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n update(payload: TaxTypesModel): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}TaxType/Update`, payload,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n delete(payload: TaxTypesModel): Observable {\r\n return this.http\r\n .get(`${this.baseUrl}TaxType/Delete/${payload.Id}`,this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n deleteList(payload: TaxTypesModel []): Observable {\r\n return this.http\r\n .post(`${this.baseUrl}TaxType/DeleteList`,JSON.stringify(payload),this.httpOptions)\r\n .pipe(catchError((error: any) => Observable.throw(error => error)));\r\n }\r\n \r\n}\r\n","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { environment } from 'src/environments/environment';\n\n@Component({\n selector: 'app-unauthorized',\n templateUrl: './unauthorized.component.html'\n})\nexport class UnauthorizedComponent implements OnInit, OnDestroy {\n adminRoot = environment.adminRoot;\n\n constructor() { }\n\n ngOnInit(): void {\n document.body.classList.add('background');\n }\n\n ngOnDestroy(): void {\n document.body.classList.remove('background');\n }\n\n}\n","
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    MAGIC IS IN THE DETAILS

    \n

    Yes, it is indeed!

    \n
    \n
    \n \n \n \n
    {{ \"unauthorized.title\" | translate }}
    \n

    \n {{ \"unauthorized.detail\" | translate }}\n

    \n

    401

    \n \n {{ \"pages.go-back-home\" | translate }}\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n","var map = {\n\t\"./aio.dark.bluenavy.scss\": [\n\t\t\"./src/assets/css/sass/themes/aio.dark.bluenavy.scss\",\n\t\t0\n\t],\n\t\"./aio.dark.blueolympic.scss\": [\n\t\t\"./src/assets/css/sass/themes/aio.dark.blueolympic.scss\",\n\t\t1\n\t],\n\t\"./aio.dark.blueyale.scss\": [\n\t\t\"./src/assets/css/sass/themes/aio.dark.blueyale.scss\",\n\t\t2\n\t],\n\t\"./aio.dark.greenlime.scss\": [\n\t\t\"./src/assets/css/sass/themes/aio.dark.greenlime.scss\",\n\t\t3\n\t],\n\t\"./aio.dark.greenmoss.scss\": [\n\t\t\"./src/assets/css/sass/themes/aio.dark.greenmoss.scss\",\n\t\t4\n\t],\n\t\"./aio.dark.greysteel.scss\": [\n\t\t\"./src/assets/css/sass/themes/aio.dark.greysteel.scss\",\n\t\t5\n\t],\n\t\"./aio.dark.orangecarrot.scss\": [\n\t\t\"./src/assets/css/sass/themes/aio.dark.orangecarrot.scss\",\n\t\t6\n\t],\n\t\"./aio.dark.purplemonster.scss\": [\n\t\t\"./src/assets/css/sass/themes/aio.dark.purplemonster.scss\",\n\t\t7\n\t],\n\t\"./aio.dark.redruby.scss\": [\n\t\t\"./src/assets/css/sass/themes/aio.dark.redruby.scss\",\n\t\t8\n\t],\n\t\"./aio.dark.yellowgranola.scss\": [\n\t\t\"./src/assets/css/sass/themes/aio.dark.yellowgranola.scss\",\n\t\t9\n\t],\n\t\"./aio.light.bluenavy.scss\": [\n\t\t\"./src/assets/css/sass/themes/aio.light.bluenavy.scss\",\n\t\t10\n\t],\n\t\"./aio.light.blueolympic.scss\": [\n\t\t\"./src/assets/css/sass/themes/aio.light.blueolympic.scss\",\n\t\t11\n\t],\n\t\"./aio.light.blueyale.scss\": [\n\t\t\"./src/assets/css/sass/themes/aio.light.blueyale.scss\",\n\t\t12\n\t],\n\t\"./aio.light.greenlime.scss\": [\n\t\t\"./src/assets/css/sass/themes/aio.light.greenlime.scss\",\n\t\t13\n\t],\n\t\"./aio.light.greenmoss.scss\": [\n\t\t\"./src/assets/css/sass/themes/aio.light.greenmoss.scss\",\n\t\t14\n\t],\n\t\"./aio.light.greysteel.scss\": [\n\t\t\"./src/assets/css/sass/themes/aio.light.greysteel.scss\",\n\t\t15\n\t],\n\t\"./aio.light.orangecarrot.scss\": [\n\t\t\"./src/assets/css/sass/themes/aio.light.orangecarrot.scss\",\n\t\t16\n\t],\n\t\"./aio.light.purplemonster.scss\": [\n\t\t\"./src/assets/css/sass/themes/aio.light.purplemonster.scss\",\n\t\t17\n\t],\n\t\"./aio.light.redruby.scss\": [\n\t\t\"./src/assets/css/sass/themes/aio.light.redruby.scss\",\n\t\t18\n\t],\n\t\"./aio.light.yellowgranola.scss\": [\n\t\t\"./src/assets/css/sass/themes/aio.light.yellowgranola.scss\",\n\t\t19\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__.t(id, 7);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"./src/assets/css/sass/themes lazy recursive ^\\\\.\\\\/aio\\\\..*\\\\.scss$\";\nmodule.exports = webpackAsyncContext;","\n\nimport { UserRole } from '../app/shared/auth.roles';\n\nexport const environment = {\n production: false,\n\n SCARF_ANALYTICS : false,\n adminRoot: '/app',\n // apiUrl: 'http://92.205.19.224:8082',\n // apiUrl: 'https://localhost:5001',\n apiUrl: 'http://apis.aio.systems',\n \n defaultMenuType: 'menu-default',\n subHiddenBreakpoint: 1440,\n menuHiddenBreakpoint: 768,\n themeColorStorageKey: 'aio-themecolor',\n isMultiColorActive: true,\n //K\n ///////////////////////////////////////////////////////\n basePath: '/app/aio',\n invoicesPath: '/app/invoices',\n accountPath: '/app/accounts',\n membershipsPath: '/app/memberships',\n healthCarePath: '/app/health-care',\n myPharmacyPath: '/app/my-pharmacy',\n myCouncilAndMembers:'/app/council-affairs',\n hrPath: '/app/HR',\n InventoryPath: '/app/inventory',\n // AccountingPath: '/app/invoices',\n // baseApiUrl: 'http://92.205.19.224:8082/api/',\n // baseApiUrl: 'https://localhost:5001/api/',\n baseApiUrl: 'http://apis.aio.systems/api/',\n companyApi: 'defaultapi',\n /*\n Color Options:\n 'light.blueyale', 'light.blueolympic', 'light.bluenavy', 'light.greenmoss',\n 'light.greenlime', 'light.yellowgranola', 'light.greysteel', 'light.orangecarrot',\n 'light.redruby', 'light.purplemonster'\n\n 'dark.blueyale', 'dark.blueolympic', 'dark.bluenavy', 'dark.greenmoss',\n 'dark.greenlime', 'dark.yellowgranola', 'dark.greysteel', 'dark.orangecarrot',\n 'dark.redruby', 'dark.purplemonster'\n */\n defaultColor: 'light.blueyale',\n isDarkSwitchActive: true,\n defaultDirection: 'ltr',\n themeRadiusStorageKey: 'aio-themeradius',\n isAuthGuardActive: true,\n defaultRole: UserRole.Admin,\n firebase: {\n apiKey: 'AIzaSyCqoNLB_jTw4nncO12qR-eDH9gAeWiZVaw',\n authDomain: 'aio-angular-login.firebaseapp.com',\n databaseURL: 'https://aio-angular-login.firebaseio.com',\n projectId: 'aio-angular-login',\n storageBucket: 'aio-angular-login.appspot.com',\n messagingSenderId: '16217062888',\n appId: '1:16217062888:web:6b08232ca0c9662fedb85d',\n measurementId: 'G-8ETT79WRRN'\n }\n};\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\nimport { getThemeColor, setThemeColor } from './app/utils/util';\n\nif (environment.production) {\n enableProdMode();\n}\n\nconst color =\n environment.isMultiColorActive || environment.isDarkSwitchActive\n ? getThemeColor()\n : environment.defaultColor;\n\nimport('./assets/css/sass/themes/aio.' + color + '.scss')\n .then((x) => {\n setThemeColor(color);\n platformBrowserDynamic()\n .bootstrapModule(AppModule)\n .catch((err) => console.error(err));\n })\n .catch(() => {\n setThemeColor(null);\n window.location.reload();\n });\n","/* (ignored) */"]}